You are viewing a potentially older version of this package. View all versions.
360gaggi-LoopStabilizer-1.1.0 icon

LoopStabilizer

Keeps long runs playable: slow motion instead of a slideshow, fewer effects when there are too many of them, fewer missiles, bombs and orbs for the same damage

Date uploaded 3 weeks ago
Version 1.1.0
Download link 360gaggi-LoopStabilizer-1.1.0.zip
Downloads 650
Dependency string 360gaggi-LoopStabilizer-1.1.0

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2117 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2117
Rune580-Risk_Of_Options-2.8.2 icon
Rune580-Risk_Of_Options

A convenient API for adding BepInEx ConfigEntry's to a option menu

Preferred version: 2.8.2
RiskofThunder-HookGenPatcher-1.2.5 icon
RiskofThunder-HookGenPatcher

MMHOOK generation at runtime.

Preferred version: 1.2.5

README

LoopStabilizer

For long runs that end up as a slideshow once the item count gets into the funi numbers. It doesn't touch damage, proc chances or proc chains, it only cuts down on the stuff around them.

Made mostly with AI. Tested over long runs and in multiplayer.

Found a bug? Report it on the gitlab: https://gitlab.com/360gaggi/ror2mods

what it does

  • slow motion instead of a slideshow: when the game can't keep up, vanilla tries to catch up with up to 20 ticks in a single frame, which is exactly what makes it a slideshow. With this mod a frame only gets as many ticks as fit into 50 ms (but at least one) and the game slows down instead. Down to 30% speed, below that it gets as many ticks as it takes to stay there and the FPS drop like in vanilla. Only when the ticks are what is slow though: if it is the drawing, the game keeps its speed
  • effect limit: once there are more effects in a single frame than anyone could tell apart, the rest (and their sounds) are left out. Below the limit nothing changes
  • damage numbers: for every new one vanilla copies all the numbers on screen and back, with thousands of them that alone eats the frame. Here the numbers of a frame go on screen together with one copy, and once there are more than anyone could read in a frame (50) the rest are left out
  • Pocket I.C.B.M.: one missile is fired instead of three and hits three times when it arrives. Same damage numbers and the same rolls for procs, a third of the missiles. Works for everything that fires missiles (ATG, Plasma Shrimp, Disposable Missile Launcher, fireworks, ...)
  • Sticky Bomb: with enough of them every hit attaches a bomb. Here a bomb takes the ones along that get attached to the same enemy within the next quarter of a second and goes off once for each of them. Same damage numbers, far fewer bombs
  • Ceremonial Dagger: the three daggers of a kill go out as one that hits three times, each time with the roll for a crit that dagger would have had
  • XP orbs: they are only there to look at, the XP comes from the server either way. Once more than 60 of them showed up within a second, the orbs of further kills are left out
  • Electric Boomerang: all the ones thrown in the same instant fly the very same path, hundreds of them inside each other. Here only one of them flies and hits once for each of them. Same damage numbers and the same rolls for procs
  • boomerangs (Electric Boomerang, Sawmerang): in vanilla they fly after you until they reach you, with no time limit. Once you are faster than them they never do, so thousands of them end up following you around. Here they give up after 2 seconds on their way back
  • kill chains: what a kill sets off (Gasoline for one) is worked off inside of the hit that killed. In a crowd where everyone dies to the explosion of the one before them, vanilla nests that as deep as there are enemies and crashes at around a hundred. Here a kill that is nested too deep waits for the ones before it, still in the same instant
  • Warbanner: every level up puts one down and vanilla keeps all of them until the stage is over, which ends in hundreds of them on top of each other. Here a new banner takes the place of the older ones standing close to it. Their buff doesn't stack, so there is nothing to lose but clutter
  • orbs (Plasma Shrimp, Sentient Meat Hook, Ukulele and the other lightning): every orb that arrives is a hit that procs them again, late in a run that ends in thousands of hits per tick. The orbs one character sends at the same enemy in the same tick become a single orb with the damage of all of them. Same damage, far fewer hits, but the merged hit only rolls for procs once
  • Plasma Shrimp: fixes vanilla looking the missile effect up in the asset system again for every single missile
  • overlay (F11): FPS, ticks per frame, hits per second, which projectiles there are the most of and so on, to see what is actually going on

settings

In the config file or ingame if you have Risk of Options. All of them apply right away, also in the middle of a run.

  • Limit ticks per frame / Tick time budget: how many milliseconds the ticks of a single frame may take together. Lower is smoother, higher keeps the game at full speed for longer
  • Min game speed (default: 30%): how slow the slow motion may get. 0 lets it get as slow as it needs to
  • Limit effects / Max effects per frame / Max of the same effect per frame / Max XP orbs per second
  • Limit damage numbers / Max damage numbers per frame
  • Merge ICBM missiles
  • Merged missiles hit three times: turn it off and a merged missile hits once with three times the damage instead. Less work for the game, but it only rolls for procs once
  • Merge sticky bombs / Sticky bomb merge time: for how long a bomb takes others along. They go off together with it, so up to this much earlier than on their own. Higher means fewer bombs, but more explosions at the same moment
  • Merge boomerangs
  • Limit boomerangs / Max boomerang return time (vanilla: no limit): boomerangs keep hitting what they fly through on their way back, with a 0 they are gone the moment they turn around and those hits are lost
  • Boomerang limit in real time: counts that time in real seconds instead of game seconds. When the game falls behind (below about 3 FPS it runs slower than real time) the boomerangs are then gone as quickly as at full speed, but they do not get as far and hit less for it
  • Merge orbs
  • Merge daggers
  • Limit kill chains
  • Limit banners / Min distance between banners: how close an older banner has to stand to a new one to be replaced by it, in percent of its range
  • Show overlay / Toggle overlay

There are also debug keys for trying things out without playing for hours first, off by default (section "Debug"). Once turned on:

  • F6 makes the run count as 60 stages later
  • F7 moves the timer 300 minutes forward
  • F8 gives every player a pile of every common, uncommon and legendary item
  • F9 does all three of them at once
  • F10 spawns 20 enemies of the current stage around you

Host only, the keys and all the numbers can be changed.

multiplayer

  • nobody else needs the mod
  • the tick limit, the effect limit (XP orbs and damage numbers included) and the overlay only count for you
  • missiles, sticky bombs, boomerangs, daggers, kill chains and banners are handled by the host, so those only do something if the host has the mod

optional mods

  • Risk of Options: settings menu
  • Uncap player level: levels don't stop at 94 anymore, so Longstanding Solitude and Prayer Beads keep working
  • Uncap monster level: monsters don't stop at 99 anymore either
  • Uncap gold: gold and prices keep working past what the game can count

good to know

  • if the target dies before a merged missile has used all three hits, the hits that are left fly on to the next enemy as a new missile, the way the other two missiles would have in vanilla. The only difference: when two hits are left they go for the same enemy instead of maybe two different ones
  • fireworks explode instead of hitting a single target, with an ICBM they always go out as one with three times the damage

CHANGELOG

1.1.0

  • "Limit banners" also cleans up the banners from before it was turned on
  • the slow motion stops at 30% speed (new setting "Min game speed"), below that it was a slideshow either way and didn't bring any benefits
  • the tick time budget is 50 ms by default now (was 33), the game keeps its full speed for longer
  • the overlay measures the time of a tick from the very first script of it on, before scripts of the game that ran before the mod were missing
  • Plasma Shrimp, Sentient Meat Hook and Ukulele orbs that one character sends at the same enemy in the same tick become one orb with all their damage (new setting "Merge orbs"). Late in a run they set each other off thousands of times per tick
  • damage numbers are put on screen together at the end of a frame (vanilla does a copy of all of them for every single one), and at most 50 per frame (new settings "Limit damage numbers" and "Max damage numbers per frame")
  • the overlay shows which orbs get added the most (Ukulele, Polylute and so on) and where the hits come from (sticky bombs, missiles, bleed, ...)

1.0.0

  • initial release
  • slow motion instead of 1-2 FPS when the game can't keep up
  • limits for effects and XP orbs
  • Pocket I.C.B.M. missiles, Sticky Bombs, Electric Boomerangs and Ceremonial Daggers are merged, with the same damage numbers and the same rolls for procs
  • boomerangs give up when they can't get back to you
  • a new Warbanner takes the place of the older ones close to it
  • kill chains (Gasoline) don't crash the game in a big crowd anymore
  • overlay that shows what is going on (F11)
  • debug keys that turn a fresh run into a late one (F6 to F9) and spawn enemies (F10), off by default