diff --git a/BossMod/Modules/Endwalker/Ultimate/TOP/P6WaveCannon.cs b/BossMod/Modules/Endwalker/Ultimate/TOP/P6WaveCannon.cs index c672fbb62d..3d76d3bad9 100644 --- a/BossMod/Modules/Endwalker/Ultimate/TOP/P6WaveCannon.cs +++ b/BossMod/Modules/Endwalker/Ultimate/TOP/P6WaveCannon.cs @@ -60,7 +60,10 @@ public override void OnEventCast(BossModule module, Actor caster, ActorCastEvent class P6WaveCannonWildCharge : Components.GenericWildCharge { - public P6WaveCannonWildCharge() : base(4, ActionID.MakeSpell(AID.P6WaveCannonWildCharge)) { } + public P6WaveCannonWildCharge() : base(4, ActionID.MakeSpell(AID.P6WaveCannonWildCharge)) + { + FixedLength = 100; + } public override void OnCastStarted(BossModule module, Actor caster, ActorCastInfo spell) { diff --git a/BossMod/Modules/Endwalker/Ultimate/TOP/TOPStates.cs b/BossMod/Modules/Endwalker/Ultimate/TOP/TOPStates.cs index c5bc462543..841b33b5e5 100644 --- a/BossMod/Modules/Endwalker/Ultimate/TOP/TOPStates.cs +++ b/BossMod/Modules/Endwalker/Ultimate/TOP/TOPStates.cs @@ -76,10 +76,10 @@ private void Phase6(uint id) P6FlashGales(id + 0x30000, 7.5f); P6UnlimitedWaveCannon(id + 0x40000, 0.3f); P6FlashGales(id + 0x50000, 4.9f); - // not sure about timings below... P6CosmoArrowWaveCannon(id + 0x60000, 0.3f); P6FlashGales(id + 0x70000, 4.9f); P6UnlimitedWaveCannonCosmoDive(id + 0x80000, 0.3f); + // not sure about timings below... P6FlashGales(id + 0x90000, 7.5f); // meteors, flares, magic numbers, enrage SimpleState(id + 0xFF0000, 100, "???"); @@ -504,6 +504,7 @@ private void P6CosmoArrowCosmoDive(uint id, float delay) ComponentCondition(id + 0x30, 2.5f, comp => !comp.Active, "Tankbusters + Stack") .DeactivateOnExit() + .DeactivateOnExit() .SetHint(StateMachine.StateHint.Raidwide | StateMachine.StateHint.Tankbuster); } @@ -530,14 +531,14 @@ private void P6UnlimitedWaveCannon(uint id, float delay) .SetHint(StateMachine.StateHint.Raidwide | StateMachine.StateHint.Tankbuster); } - // TODO: timings.. private void P6CosmoArrowWaveCannon(uint id, float delay) { ActorCast(id, _module.BossP6, AID.CosmoArrow, delay, 6, true) .ActivateOnEnter(); ComponentCondition(id + 0x10, 2, comp => comp.NumCasts > 0, "Exasquare 1"); - - ActorCastStart(id + 0x100, _module.BossP6, AID.P6WaveCannonProtean, 11.2f, true); + ComponentCondition(id + 0x11, 2, comp => comp.NumCasts >= 10, "Exasquare 2"); + ComponentCondition(id + 0x12, 2, comp => comp.NumCasts >= 18, "Exasquare 3"); + ActorCastStart(id + 0x100, _module.BossP6, AID.P6WaveCannonProtean, 2, true, "Exasquare 4"); // cast starts at the same time as 4th exasquares ComponentCondition(id + 0x101, 3, comp => comp.NumCasts > 0, "Proteans 1") .ActivateOnEnter(); ComponentCondition(id + 0x102, 2, comp => comp.NumCasts > 4, "Proteans 2") @@ -550,6 +551,7 @@ private void P6CosmoArrowWaveCannon(uint id, float delay) .SetHint(StateMachine.StateHint.Raidwide | StateMachine.StateHint.Tankbuster); } + // TODO: timings.. private void P6UnlimitedWaveCannonCosmoDive(uint id, float delay) { ActorCast(id, _module.BossP6, AID.UnlimitedWaveCannon, delay, 5, true)