Skip to content

Commit eb3df87

Browse files
committed
feat: Integrate BossesHelper's 'set_boss_seed' into 'SeedRandom' command
1 parent 93ca1c0 commit eb3df87

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

CelesteTAS-EverestInterop/Source/Gameplay/DesyncFix/SeededRandomness.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ private static void Initialize() {
8686
if (ModUtils.IsInstalled("AurorasHelper")) {
8787
handlers.Add(new AurorasHelperHandler());
8888
}
89+
if (ModUtils.IsInstalled("BossesHelper")) {
90+
handlers.Add(new BossesHelperHandler());
91+
}
8992
if (ModUtils.IsInstalled("PandorasBox")) {
9093
handlers.Add(new PandorasBoxTileGlitcherHandler());
9194
}
@@ -551,6 +554,25 @@ public override void PreUpdate() {
551554
}
552555
}
553556

557+
/// Alias for the 'set_boss_seed' console command
558+
public class BossesHelperHandler : Handler {
559+
public override string Name => "BossesHelper_Shared";
560+
561+
private readonly FieldInfo? f_TASSeed = ModUtils.GetField("BossesHelper", "Celeste.Mod.BossesHelper.BossesHelperModule", "TASSeed");
562+
563+
public override void Reset() {
564+
if (ModUtils.GetModule("BossesHelper") is { } bossModule && f_TASSeed != null) {
565+
f_TASSeed.SetValue(bossModule, 0);
566+
}
567+
}
568+
public override void PreUpdate() {
569+
if (ModUtils.GetModule("BossesHelper") is { } bossModule && f_TASSeed != null && NextSeed(out int seed)) {
570+
f_TASSeed.SetValue(bossModule, seed);
571+
AssertNoSeedsRemaining();
572+
}
573+
}
574+
}
575+
554576
public class PandorasBoxTileGlitcherHandler : Handler {
555577
public override string Name => "PandorasBox_TileGlitcher";
556578

0 commit comments

Comments
 (0)