From 6c9b350b2719c957e2324abb7369aef70e3c1517 Mon Sep 17 00:00:00 2001 From: CarnifexOptimus <156172553+CarnifexOptimus@users.noreply.github.com> Date: Mon, 20 Jan 2025 13:57:27 +0100 Subject: [PATCH] reverse party NPC change from vbm: not all solo duties have a content ID larger than 0 --- BossMod/Framework/WorldStateGameSync.cs | 8 +++----- BossMod/Modules/Dawntrail/Quest/MSQ/TakingAStand.cs | 1 + .../Quest/AsTheHeavensBurn/P1TerminusIdolizer.cs | 10 +++------- ...3TerminusLacerator.cs => P3TerminusVanquisher.cs} | 12 ++++++------ 4 files changed, 13 insertions(+), 18 deletions(-) rename BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/{P3TerminusLacerator.cs => P3TerminusVanquisher.cs} (92%) diff --git a/BossMod/Framework/WorldStateGameSync.cs b/BossMod/Framework/WorldStateGameSync.cs index fb893ff2bc..f374ebcf19 100644 --- a/BossMod/Framework/WorldStateGameSync.cs +++ b/BossMod/Framework/WorldStateGameSync.cs @@ -518,19 +518,17 @@ private unsafe void UpdatePartyAlliance(GroupManager.Group* group) private unsafe void UpdatePartyNPCs() { - var treatAlliesAsParty = _ws.CurrentCFCID != 0; // TODO: think more about it, do we ever care about allies in overworld?.. - for (int i = PartyState.MaxAllianceSize; i < PartyState.MaxAllies; ++i) + for (var i = PartyState.MaxAllianceSize; i < PartyState.MaxAllies; ++i) { ref var m = ref _ws.Party.Members[i]; if (m.InstanceId != 0) { - var actor = treatAlliesAsParty ? _ws.Actors.Find(m.InstanceId) : null; + var actor = _ws.Actors.Find(m.InstanceId); if (actor == null || !actor.IsFriendlyNPC) UpdatePartySlot(i, PartyState.EmptySlot); } } - if (!treatAlliesAsParty) - return; + foreach (var actor in _ws.Actors) { if (!actor.IsFriendlyNPC) diff --git a/BossMod/Modules/Dawntrail/Quest/MSQ/TakingAStand.cs b/BossMod/Modules/Dawntrail/Quest/MSQ/TakingAStand.cs index 66dd27f0b9..09ef332cb4 100644 --- a/BossMod/Modules/Dawntrail/Quest/MSQ/TakingAStand.cs +++ b/BossMod/Modules/Dawntrail/Quest/MSQ/TakingAStand.cs @@ -199,6 +199,7 @@ float kbdist(WPos playerPos) hints.AddForbiddenZone(kbdist, source.Activation); } } + class RiotousRampage(BossModule module) : Components.CastTowers(module, ActionID.MakeSpell(AID.RiotousRampage), 4); class Roar1(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Roar1)); class Roar2(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Roar2)); diff --git a/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P1TerminusIdolizer.cs b/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P1TerminusIdolizer.cs index 43a3d6d2e4..138494e6f1 100644 --- a/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P1TerminusIdolizer.cs +++ b/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P1TerminusIdolizer.cs @@ -24,16 +24,12 @@ public enum AID : uint DeadlyTentaclesTB = 26997, // Boss->Estinien, 5.0s cast, single-target TentacleWhipLFirst = 27004, // Boss->self, 5.0s cast, range 60 180-degree cone TentacleWhipRSecond = 27006, // Helper->self, 7.0s cast, range 60 180-degree cone - SelfDestruct = 26991, // TerminusDetonator->self, no cast, range 6 circle - Petrifaction = 26999, // Boss->self, 4.0s cast, range 60 circle TentacleWhipRFirst = 27001, // Boss->self, 5.0s cast, range 60 180-degree cone TentacleWhipLSecond = 27003, // Helper->self, 7.0s cast, range 60 180-degree cone - Whack = 27007, // Boss->35F5, 5.0s cast, single-target -} + SelfDestruct = 26991, // TerminusDetonator->self, no cast, range 6 circle + Petrifaction = 26999, // Boss->self, 4.0s cast, range 60 circle -public enum IconID : uint -{ - Stack = 218 // Estinien + Whack = 27007, // Boss->Estinien, 5.0s cast, single-target } public enum TetherID : uint diff --git a/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P3TerminusLacerator.cs b/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P3TerminusVanquisher.cs similarity index 92% rename from BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P3TerminusLacerator.cs rename to BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P3TerminusVanquisher.cs index 40d5ca45f1..6bdd9b553d 100644 --- a/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P3TerminusLacerator.cs +++ b/BossMod/Modules/Endwalker/Quest/AsTheHeavensBurn/P3TerminusVanquisher.cs @@ -1,4 +1,4 @@ -namespace BossMod.Endwalker.Quest.AsTheHeavensBurn.P3TerminusLacerator; +namespace BossMod.Endwalker.Quest.AsTheHeavensBurn.P3TerminusVanquisher; public enum OID : uint { @@ -59,11 +59,11 @@ class ForcefulImpact2(BossModule module) : Components.SimpleAOEs(module, ActionI class Shock(BossModule module) : Components.SimpleAOEs(module, ActionID.MakeSpell(AID.Shock), 10, 6); class Depress(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.Depress), 7); -class TerminusLaceratorStates : StateMachineBuilder +class TerminusVanquisherStates : StateMachineBuilder { - private readonly TerminusLacerator _module; + private readonly TerminusVanquisher _module; - public TerminusLaceratorStates(TerminusLacerator module) : base(module) + public TerminusVanquisherStates(TerminusVanquisher module) : base(module) { _module = module; @@ -85,8 +85,8 @@ public TerminusLaceratorStates(TerminusLacerator module) : base(module) } } -[ModuleInfo(BossModuleInfo.Maturity.Contributed, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 804, NameID = 10933)] -public class TerminusLacerator(WorldState ws, Actor primary) : BossModule(ws, primary, new(-260.28f, 80.75f), new ArenaBoundsCircle(19.5f)) +[ModuleInfo(BossModuleInfo.Maturity.Contributed, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 804, NameID = 10935)] +public class TerminusVanquisher(WorldState ws, Actor primary) : BossModule(ws, primary, new(-260.28f, 80.75f), new ArenaBoundsCircle(19.5f)) { public Actor? BossP2 => Enemies(OID.TerminusVanquisher)[0];