diff --git a/BossMod/Modules/Dawntrail/Ultimate/FRU/FRUAI.cs b/BossMod/Modules/Dawntrail/Ultimate/FRU/FRUAI.cs index 8b34ba8422..79183dd518 100644 --- a/BossMod/Modules/Dawntrail/Ultimate/FRU/FRUAI.cs +++ b/BossMod/Modules/Dawntrail/Ultimate/FRU/FRUAI.cs @@ -40,6 +40,9 @@ public override void Execute(StrategyValues strategy, Actor? primaryTarget, floa // assumption: pull range is 12; hitbox is 5, so maxmelee is 8, meaning we have approx 4m to move during pull - with sprint, speed is 7.8, accel is 30 => over 0.26s accel period we move 1.014m, then need another 0.38s to reach boss (but it also moves) private WPos PrepullPosition(FRU module, PartyRolesConfig.Assignment assignment) { + if (assignment == PartyRolesConfig.Assignment.Unassigned) + return default; + var safeRange = 12.5f; var desiredRange = assignment is PartyRolesConfig.Assignment.MT or PartyRolesConfig.Assignment.MT or PartyRolesConfig.Assignment.M1 or PartyRolesConfig.Assignment.M2 ? 5 : 10; var dir = _config.P1CyclonicBreakSpots[assignment]; diff --git a/BossMod/Modules/Dawntrail/Ultimate/FRU/P1CyclonicBreak.cs b/BossMod/Modules/Dawntrail/Ultimate/FRU/P1CyclonicBreak.cs index 24dd094838..2c362965c3 100644 --- a/BossMod/Modules/Dawntrail/Ultimate/FRU/P1CyclonicBreak.cs +++ b/BossMod/Modules/Dawntrail/Ultimate/FRU/P1CyclonicBreak.cs @@ -84,7 +84,6 @@ class P1CyclonicBreakAIBait(BossModule module) : BossComponent(module) public override void AddAIHints(int slot, Actor actor, PartyRolesConfig.Assignment assignment, AIHints hints) { if (assignment == PartyRolesConfig.Assignment.Unassigned) - return; var clockspot = _config.P1CyclonicBreakSpots[assignment]; @@ -106,8 +105,8 @@ class P1CyclonicBreakAIDodgeSpreadStack(BossModule module) : BossComponent(modul public override void AddAIHints(int slot, Actor actor, PartyRolesConfig.Assignment assignment, AIHints hints) { if (assignment == PartyRolesConfig.Assignment.Unassigned) - return; + var clockspot = _config.P1CyclonicBreakSpots[assignment]; if (clockspot < 0 || _cones == null || _spreadStack == null || !_spreadStack.Active) return; diff --git a/BossMod/Modules/Dawntrail/Ultimate/FRU/P1Explosion.cs b/BossMod/Modules/Dawntrail/Ultimate/FRU/P1Explosion.cs index 47417762b3..cefb06ba00 100644 --- a/BossMod/Modules/Dawntrail/Ultimate/FRU/P1Explosion.cs +++ b/BossMod/Modules/Dawntrail/Ultimate/FRU/P1Explosion.cs @@ -15,6 +15,8 @@ class P1Explosion(BossModule module) : Components.GenericTowers(module) public override void AddAIHints(int slot, Actor actor, PartyRolesConfig.Assignment assignment, AIHints hints) { + if (assignment == PartyRolesConfig.Assignment.Unassigned) + return; var role = _config.P1ExplosionsAssignment[assignment]; if (role < 0 || TowerDir == default) return; diff --git a/BossMod/Modules/Dawntrail/Ultimate/FRU/P1UtopianSky.cs b/BossMod/Modules/Dawntrail/Ultimate/FRU/P1UtopianSky.cs index 6430c65056..0441f2829a 100644 --- a/BossMod/Modules/Dawntrail/Ultimate/FRU/P1UtopianSky.cs +++ b/BossMod/Modules/Dawntrail/Ultimate/FRU/P1UtopianSky.cs @@ -108,6 +108,7 @@ public override void AddAIHints(int slot, Actor actor, PartyRolesConfig.Assignme if (assignment == PartyRolesConfig.Assignment.Unassigned) return; + var clockspot = _config.P1UtopianSkyInitialSpots[assignment]; if (clockspot >= 0) { @@ -154,7 +155,6 @@ public override void Update() public override void AddAIHints(int slot, Actor actor, PartyRolesConfig.Assignment assignment, AIHints hints) { if (assignment == PartyRolesConfig.Assignment.Unassigned) - return; var clockSpot = _config.P1UtopianSkyInitialSpots[assignment]; diff --git a/BossMod/Modules/Dawntrail/Ultimate/FRU/P2DiamondDust.cs b/BossMod/Modules/Dawntrail/Ultimate/FRU/P2DiamondDust.cs index eccbd4212b..468a7acb5b 100644 --- a/BossMod/Modules/Dawntrail/Ultimate/FRU/P2DiamondDust.cs +++ b/BossMod/Modules/Dawntrail/Ultimate/FRU/P2DiamondDust.cs @@ -445,6 +445,12 @@ public override void OnEventCast(Actor caster, ActorCastEvent spell) AOEs.RemoveAt(0); } } + + public override void OnStatusGain(Actor actor, ActorStatus status) + { + if ((SID)status.ID == SID.ThinIce) + _thinIce.Set(Raid.FindSlot(actor.InstanceID)); + } } class P2ThinIce(BossModule module) : Components.ThinIce(module, 32, true)