From 1d0d7df897f2cec693a36e74f3272e9aedfec6b0 Mon Sep 17 00:00:00 2001 From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com> Date: Thu, 18 Apr 2024 10:01:07 -0500 Subject: [PATCH 1/2] all nier raids enumerated and basic arenas set up --- .../A11CommandModel/A11CommandModel.cs | 4 + .../A11CommandModel/A11CommandModelEnums.cs | 67 +++++++++++ .../A11CommandModel/A11CommandModelStates.cs | 9 ++ .../Alliance/A12Hobbes/A12Hobbes.cs | 4 + .../Alliance/A12Hobbes/A12HobbesEnums.cs | 107 ++++++++++++++++++ .../Alliance/A12Hobbes/A12HobbesStates.cs | 8 ++ .../Alliance/A13MarxEngels/A13MarxEngels.cs | 4 + .../A13MarxEngels/A13MarxEngelsEnums.cs | 92 +++++++++++++++ .../A13MarxEngels/A13MarxEngelsStates.cs | 8 ++ .../A14WalkingFortress/A14WalkingFortress.cs | 4 + .../A14WalkingFortressEnums.cs | 106 +++++++++++++++++ .../A14WalkingFortressStates.cs | 8 ++ .../Alliance/A21AegisUnit/A21AegisUnit.cs | 4 + .../A21AegisUnit/A21AegisUnitEnums.cs | 53 +++++++++ .../A21AegisUnit/A21AegisUnitStates.cs | 8 ++ .../Alliance/A22FlightUnits/A22FlightUnits.cs | 27 +++++ .../A22FlightUnits/A22FlightUnitsEnums.cs | 96 ++++++++++++++++ .../A22FlightUnits/A22FlightUnitsStates.cs | 8 ++ .../A23ArtilleryUnit/A23ArtilleryUnit.cs | 4 + .../A23ArtilleryUnit/A23ArtilleryUnitEnums.cs | 69 +++++++++++ .../A23ArtilleryUnitStates.cs | 8 ++ .../Alliance/A24TheCompound/A24TheCompound.cs | 4 + .../A24TheCompound/A24TheCompoundEnums.cs | 38 +++++++ .../A24TheCompound/A24TheCompoundStates.cs | 8 ++ .../Alliance/A25Compound2P/A25Compound2P.cs | 4 + .../A25Compound2P/A25Compound2PEnums.cs | 75 ++++++++++++ .../A25Compound2P/A25Compound2PStates.cs | 8 ++ .../A31KnaveofHearts/A31KnaveofHearts.cs | 4 + .../A31KnaveofHearts/A31KnaveofHeartsEnums.cs | 74 ++++++++++++ .../A31KnaveofHeartsStates.cs | 8 ++ .../A32HanselGretel/A32HanselGretel.cs | 22 ++++ .../A32HanselGretel/A32HanselGretelEnums.cs | 101 +++++++++++++++++ .../A32HanselGretel/A32HanselGretelStates.cs | 8 ++ .../Alliance/A33RedGirlP1/A33RedGirlP1.cs | 4 + .../A33RedGirlP1/A33RedGirlP1Enums.cs | 76 +++++++++++++ .../A33RedGirlP1/A33RedGirlP1States.cs | 8 ++ .../Alliance/A34RedGirlP2/A34RedGirlP2.cs | 4 + .../A34RedGirlP2/A34RedGirlP2Enums.cs | 82 ++++++++++++++ .../A34RedGirlP2/A34RedGirlP2States.cs | 8 ++ .../Alliance/A35XunZiMengZi/A35XunZiMengZi.cs | 23 ++++ .../A35XunZiMengZi/A35XunZiMengZiEnums.cs | 46 ++++++++ .../A35XunZiMengZi/A35XunZiMengZiStates.cs | 8 ++ .../Alliance/A36FalseIdol/A36FalseIdol.cs | 4 + .../A36FalseIdol/A36FalseIdolEnums.cs | 48 ++++++++ .../A36FalseIdol/A36FalseIdolStates.cs | 8 ++ .../A37HerInfloresence/A37HerInfloresence.cs | 4 + .../A37HerInfloresenceEnums.cs | 74 ++++++++++++ .../A37HerInfloresenceStates.cs | 8 ++ 48 files changed, 1457 insertions(+) create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1Enums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1States.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2Enums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2States.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolStates.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceEnums.cs create mode 100644 BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceStates.cs diff --git a/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs new file mode 100644 index 0000000000..1604061385 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A11CommandModel; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9141)] //Other service models 9142 and 9155, nonservice model 9923 +public class A11CommandModel(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-500, -10), 20)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelEnums.cs new file mode 100644 index 0000000000..7267bc4e0d --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelEnums.cs @@ -0,0 +1,67 @@ +namespace BossMod.Shadowbringers.Alliance.A11CommandModel; + +public enum OID : uint +{ + Boss = 0x2C61, // R5.600, x1 + BossHelper = 0x233C, // R0.500, x16, 523 type + SJSM1 = 0x2C63, // R2.400, x12 + Helper2P = 0x2C66, // R0.512, x1 + SJSM2 = 0x2C65, // R1.000, x0 (spawn during fight) +} + +public enum AID : uint +{ + AutoAttack = 872, // Boss->player, no cast, single-target + + BladeFlurry1 = 18608, // Helper2P->Boss, no cast, single-target + BladeFlurry2 = 18609, // Helper2P->Boss, no cast, single-target + DancingBlade = 19048, // Helper2P->Boss, no cast, width 2 rect charge + SystematicSiege = 18610, // Boss->self, 2.5s cast, single-target + BalancedEdge = 19049, // Helper2P->self, 2.0s cast, range 5 circle + UnknownWeaponskill1 = 19249, // SJSM1->self, no cast, single-target + UnknownWeaponskill2 = 18611, // SJSM1->self, 1.0s cast, single-target + ClangingBlow = 18638, // Boss->player, 4.0s cast, single-target + EnergyBomb = 18612, // SJSM2->player/Helper2P, no cast, single-target + WhirlingAssault = 19050, // Helper2P->self, 2.0s cast, range 40 width 4 rect + EnergyBombardment1 = 18615, // Boss->self, 3.0s cast, single-target + EnergyBombardment2 = 18616, // BossHelper->location, 3.0s cast, range 4 circle + ForcefulImpact = 18639, // Boss->self, 4.0s cast, range 100 circle + EnergyAssault1 = 18613, // Boss->self, 5.0s cast, single-target + EnergyAssault2 = 18614, // BossHelper->self, no cast, range 30 ?-degree cone + UnknownWeaponskill3 = 18960, // Boss->self, no cast, single-target + SystematicTargeting = 18628, // Boss->self, 2.5s cast, single-target + HighPoweredLaser = 18629, // SJSM1->self, no cast, range 70 width 4 rect + SidestrikingSpin1 = 18634, // Boss->self, 6.0s cast, single-target + SidestrikingSpin2 = 18636, // BossHelper->self, 6.3s cast, range 30 width 12 rect + SidestrikingSpin3 = 18635, // BossHelper->self, 6.3s cast, range 30 width 12 rect + SystematicAirstrike = 18617, // Boss->self, 2.5s cast, single-target + UnknownWeaponskill4 = 19250, // SJSM1->self, no cast, single-target + AirToSurfaceEnergy = 18618, // BossHelper->self, no cast, range 5 circle + Shockwave = 18627, // Boss->self, 5.0s cast, range 100 circle + EnergyRing1 = 18619, // Boss->self, 3.5s cast, single-target + EnergyRing2 = 18620, // BossHelper->self, 4.7s cast, range 12 circle + EnergyRing3 = 18621, // Boss->self, no cast, single-target + EnergyRing4 = 18622, // BossHelper->self, 6.7s cast, range ?-24 donut + EnergyRing5 = 18623, // Boss->self, no cast, single-target + EnergyRing6 = 18624, // BossHelper->self, 8.7s cast, range ?-36 donut + EnergyRing7 = 18625, // Boss->self, no cast, single-target + EnergyRing8 = 18626, // BossHelper->self, 10.7s cast, range ?-48 donut + SystematicSuppression = 18630, // Boss->self, 2.5s cast, single-target + HighCaliberLaser1 = 18631, // SJSM1->self, 7.0s cast, single-target + HighCaliberLaser2 = 18682, // BossHelper->self, 7.0s cast, range 70 width 24 rect + CentrifugalSpin1 = 18633, // BossHelper->self, 6.3s cast, range 30 width 8 rect + CentrifugalSpin2 = 18632, // Boss->self, 6.0s cast, single-target +} + +public enum SID : uint +{ + Unknown1 = 2193, // SJSM1/Boss->SJSM1/Boss, extra=0x89 + Unknown2 = 2056, // Boss/SJSM1->Boss/SJSM1, extra=0x8E/0x87/0x88 + VulnerabilityUp = 1789, // SJSM2/BossHelper/SJSM1->player, extra=0x1/0x2/0x3/0x4/0x5 +} + +public enum IconID : uint +{ + Icon_198 = 198, // player + Icon_164 = 164, // player +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelStates.cs new file mode 100644 index 0000000000..a248e71f83 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModelStates.cs @@ -0,0 +1,9 @@ +namespace BossMod.Shadowbringers.Alliance.A11CommandModel; + +class A11CommandModelStates : StateMachineBuilder +{ + public A11CommandModelStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs new file mode 100644 index 0000000000..16289097cb --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A12Hobbes; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9143)] //9144 and 9145 also listed as Hobbes +public class A12Hobbes(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-805, -240), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesEnums.cs new file mode 100644 index 0000000000..73b2160d09 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesEnums.cs @@ -0,0 +1,107 @@ +namespace BossMod.Shadowbringers.Alliance.A12Hobbes; + +public enum OID : uint +{ + Boss = 0x2C2B, // R25.000, x? + Helper2P = 0x2C66, // R0.512, x? + Hobbes1 = 0x2C73, // R1.000, x?, Part type + Hobbes2 = 0x2C2D, // R1.000, x? + Hobbes3 = 0x2C2C, // R1.000, x? + HobbesHelper = 0x233C, // R0.500, x?, 523 type + Anogg = 0x2C83, // R0.500, x? + Konogg = 0x2C82, // R0.500, x? + SmallExploder = 0x2C62, // R0.960, x? +} + +public enum AID : uint +{ + Attack = 18430, // Hobbes1->player, no cast, single-target + BalancedEdge = 19049, // Helper2P->self, 2.0s cast, range 5 circle + BladeFlurry1 = 18608, // Helper2P->Boss, no cast, single-target + BladeFlurry2 = 18609, // Helper2P->Boss, no cast, single-target + ConvenientSelfDestruction = 18460, // SmallExploder->self, no cast, range 5 circle + DancingBlade = 19048, // Helper2P->Boss, no cast, width 2 rect charge + ElectromagneticPulse = 18457, // HobbesHelper->self, no cast, range 40 width 5 rect + + FireResistanceTest1 = 18454, // HobbesHelper->self, no cast, range 70 ?-degree cone + FireResistanceTest2 = 18455, // HobbesHelper->self, no cast, range 12 width 38 rect + FireResistanceTest3 = 18456, // HobbesHelper->self, no cast, range 22 width 42 rect + + + Impact = 18450, // HobbesHelper->self, 7.7s cast, range 20 circle + + LaserResistanceTest1 = 18437, // Boss->self, 4.0s cast, range 50 circle + LaserResistanceTest2 = 18438, // Boss->self, no cast, range 50 circle + + LaserSight1 = 18440, // HobbesHelper->player, no cast, single-target + LaserSight2 = 18439, // Boss->self, 8.0s cast, single-target + LaserSight3 = 18441, // HobbesHelper->self, no cast, range 65 width 8 rect + + OilWell = 18459, // HobbesHelper->self, no cast, ??? + + RingLaser1 = 18431, // Boss->self, 3.4s cast, single-target + RingLaser2 = 18432, // Boss->self, 1.0s cast, single-target + RingLaser3 = 18434, // HobbesHelper->self, 4.0s cast, range ?-20 donut + RingLaser4 = 18433, // Boss->self, 1.0s cast, single-target + RingLaser5 = 18435, // HobbesHelper->self, 4.0s cast, range ?-15 donut + RingLaser6 = 18436, // HobbesHelper->self, 4.0s cast, range ?-10 donut + + ShockingDischarge = 18443, // HobbesHelper->self, 2.0s cast, range 5 circle + ShortRangeMissile1 = 18452, // HobbesHelper->self, no cast, single-target + ShortRangeMissile2 = 18453, // HobbesHelper->players, 8.0s cast, range 8 circle + Towerfall = 18451, // HobbesHelper->self, no cast, range 20 width 8 rect + + UnknownAbility1 = 18707, // Hobbes2->self, no cast, single-target + UnknownAbility2 = 18710, // Hobbes2->self, no cast, single-target + UnknownAbility3 = 18702, // Hobbes3->self, no cast, single-target + UnknownAbility4 = 18706, // Hobbes3->self, no cast, single-target + UnknownAbility5 = 18704, // Hobbes3->self, no cast, single-target + UnknownAbility6 = 18711, // Hobbes2->self, no cast, single-target + UnknownAbility7 = 18701, // Hobbes3->self, no cast, single-target + UnknownAbility8 = 18703, // Hobbes3->self, no cast, single-target + UnknownAbility9 = 18705, // Hobbes3->self, no cast, single-target + UnknownAbility10 = 18683, // Helper2P->location, no cast, single-target + UnknownAbility11 = 18712, // Hobbes2->self, no cast, single-target + UnknownAbility12 = 18709, // Hobbes2->self, no cast, single-target + + UnknownWeaponskill1 = 18442, // Hobbes3->self, no cast, single-target + UnknownWeaponskill2 = 18444, // Hobbes3->self, no cast, single-target + + UnwillingCargo = 18458, // HobbesHelper->self, no cast, range 40 width 7 rect + + VariableCombatTest1 = 18446, // Hobbes3->self, 5.0s cast, single-target + VariableCombatTest2 = 18885, // HobbesHelper->self, 5.7s cast, range 20 ?-degree cone + VariableCombatTest3 = 18887, // HobbesHelper->self, 5.7s cast, range ?-19 donut + VariableCombatTest4 = 18886, // HobbesHelper->self, 5.7s cast, range 2 circle + + VariableCombatTest5 = 18446, // Hobbes3->self, 5.0s cast, single-target + VariableCombatTest6 = 18447, // HobbesHelper->self, 2.0s cast, range 20 ?-degree cone + VariableCombatTest7 = 18449, // HobbesHelper->self, 2.0s cast, range ?-19 donut + VariableCombatTest8 = 18448, // HobbesHelper->self, 2.0s cast, range 2 circle + VariableCombatTest9 = 18445, // Hobbes3->self, 5.0s cast, single-target + + WhirlingAssault = 19050, // Helper2P->self, 2.0s cast, range 40 width 4 rect +} + +public enum SID : uint +{ + Unknown = 2056, // Hobbes3->Hobbes3, extra=0x8F + Burns = 2199, // HobbesHelper->player, extra=0x1/0x2/0x3 + PhysicalVulnerabilityUp = 2090, // HobbesHelper->player, extra=0x0 + MagicVulnerabilityUp = 2091, // HobbesHelper->player, extra=0x0 + Electrocution = 2200, // HobbesHelper->player, extra=0x1/0x2 + Oil = 2157, // HobbesHelper->player, extra=0x32 +} + +public enum IconID : uint +{ + Icon_168 = 168, // Hobbes3 + Icon_167 = 167, // Hobbes3 + Icon_196 = 196, // player +} + +public enum TetherID : uint +{ + Tether_99 = 99, // 18D6->18D6 + Tether_84 = 84, // SmallExploder->player +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesStates.cs new file mode 100644 index 0000000000..140666e965 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12HobbesStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A12Hobbes; +class A12HobbesStates : StateMachineBuilder +{ + public A12HobbesStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs new file mode 100644 index 0000000000..83731259e3 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A13MarxEngels; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9147)] // 9150 Marx L, 9151 Marx R, 1952 and 1957 Marx +public class A13MarxEngels(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(900, 670), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsEnums.cs new file mode 100644 index 0000000000..7e10bcca89 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsEnums.cs @@ -0,0 +1,92 @@ +namespace BossMod.Shadowbringers.Alliance.A13MarxEngels; + +public enum OID : uint +{ + Boss = 0x2557, // R30.000, x? + EngelsHelper1 = 0x233C, // R0.500, x?, 523 type + EngelsHelper2 = 0x2CCF, // R0.500, x? + MarxHelper1 = 0x2C0B, // R0.700, x? + MarxHelper2 = 0x2C0C, // R0.700, x? + MarxL = 0x2C09, // R18.500, x? + MarxR = 0x2C0A, // R18.500, x? + Ally2P1 = 0x2CC4, // R2.800, x? + Ally2P2 = 0x2CCE, // R0.500, x? + ReverseJointedGoliath = 0x2C07, // R3.600, x? + SmallBiped = 0x2C08, // R0.960, x? + Anogg = 0x2C83, // R0.500, x? + Konogg = 0x2C82, // R0.500, x? +} + +public enum AID : uint +{ + AutoAttack3 = 872, // SmallBiped->player, no cast, single-target + AutoAttack_AutomaticCannon = 18264, // ReverseJointedGoliath->player, no cast, single-target + AreaBombardment = 18256, // Boss->self, 3.0s cast, single-target + ArmLaser = 18263, // ReverseJointedGoliath->self, 3.0s cast, range 30 90-degree cone + AutoAttack1 = 19041, // Ally2P1->self, no cast, range 30 circle + AutoAttack2 = 19043, // Ally2P1->ReverseJointedGoliath, no cast, single-target + AutomaticCannon1 = 18257, // Boss->self, no cast, single-target + AutomaticCannon2 = 18258, // EngelsHelper1->player, no cast, single-target + CrushingWheel1 = 18248, // Boss->self, no cast, single-target + CrushingWheel2 = 18251, // MarxL/MarxR->self, 12.0s cast, range 20 width 30 rect + DemolishStructure1 = 18244, // Boss->self, no cast, single-target + DemolishStructure2 = 18245, // EngelsHelper1->self, 9.3s cast, range 50 circle + DiffuseLaser = 18261, // Boss->self, 4.0s cast, range 60 width 60 rect + EnergyBarrage = 18236, // Boss->self, 3.0s cast, single-target + EnergyBlast = 18238, // EngelsHelper1->self, no cast, range 75 circle + EnergyDispersal = 18237, // EngelsHelper1->self, no cast, range 4 circle + Frack = 18253, // EngelsHelper1->self, no cast, range 15 circle + GuidedMissile1 = 18229, // Boss->self, 3.5s cast, single-target + GuidedMissile2 = 18230, // EngelsHelper1->location, 5.0s cast, range 6 circle + GuidedMissile3 = 18231, // EngelsHelper1->location, no cast, range 6 circle + IncendiaryBombing1 = 18232, // Boss->self, 5.0s cast, single-target + IncendiaryBombing2 = 18233, // EngelsHelper1->location, 4.0s cast, range 8 circle + IncendiarySaturationBombing1 = 18254, // Boss->self, 3.0s cast, single-target + IncendiarySaturationBombing2 = 18255, // EngelsHelper1->self, 6.0s cast, range 30 width 60 rect + LaserSight1 = 18234, // Boss->self, 4.1s cast, range 100 width 20 rect + LaserSight2 = 18235, // EngelsHelper1->self, no cast, range 100 width 20 rect + MarxActivation = 18600, // Boss->self, 3.0s cast, single-target + MarxCrush1 = 18246, // Boss->self, 6.0s cast, single-target + MarxCrush2 = 18247, // EngelsHelper1->self, 6.0s cast, range 15 width 30 rect + MarxSmash1 = 18214, // Boss->self, 6.0s cast, single-target + MarxSmash2 = 18215, // Boss->self, 6.0s cast, single-target + MarxSmash3 = 18216, // EngelsHelper1->self, 1.6s cast, range 60 width 30 rect + MarxSmash4 = 18217, // EngelsHelper1->self, 1.6s cast, range 60 width 30 rect + MarxSmash5 = 18218, // Boss->self, 6.0s cast, single-target + MarxSmash6 = 18219, // EngelsHelper1->self, 1.5s cast, range 30 width 60 rect + MarxSmash7 = 18220, // Boss->self, no cast, single-target + MarxSmash8 = 18221, // EngelsHelper1->self, 0.5s cast, range 60 width 30 rect + MarxSmash9 = 18222, // Boss->self, 6.0s cast, single-target + MarxSmash10 = 18223, // EngelsHelper1->self, 1.5s cast, range 35 width 60 rect + MarxSmash11 = 18224, // Boss->self, no cast, single-target + MarxSmash12 = 18225, // EngelsHelper1->self, 0.5s cast, range 60 width 20 rect + MarxSmash13 = 18226, // EngelsHelper1->self, 0.5s cast, range 60 width 20 rect + MarxThrust1 = 18262, // MarxHelper2/MarxHelper1->self, 5.0s cast, single-target + MarxThrust2 = 18684, // EngelsHelper1->self, 5.5s cast, range 30 width 20 rect + PrecisionGuidedMissile1 = 18259, // Boss->self, 4.0s cast, single-target + PrecisionGuidedMissile2 = 18260, // EngelsHelper1->players, 4.0s cast, range 6 circle + RadiateHeat = 18252, // EngelsHelper1->self, no cast, range 50 circle + SaturationBombingManeuver1 = 18896, // Ally2P1->self, 4.0s cast, range 75 circle + SaturationBombingManeuver2 = 19042, // Ally2P2->self, 5.0s cast, range 75 circle + SaturationBombingManeuver3 = 19044, // Ally2P2->self, 5.0s cast, range 75 circle + SurfaceMissile1 = 18227, // Boss->self, 3.5s cast, single-target + SurfaceMissile2 = 18228, // EngelsHelper1->location, 4.0s cast, range 6 circle + UnknownAbility1 = 19045, // Ally2P1->location, no cast, single-target + UnknownAbility2 = 18239, // Boss->self, no cast, single-target + UnknownAbility3 = 18243, // Boss->self, no cast, single-target + WideAngleDiffuseLaser1 = 18240, // Boss->self, no cast, single-target + WideAngleDiffuseLaser2 = 18241, // EngelsHelper1->self, no cast, range 60 width 60 rect +} + +public enum SID : uint +{ + Burns = 2194, // Boss->player, extra=0x0 + Hover = 1515, // none->Ally2P1, extra=0xFA +} + +public enum IconID : uint +{ + Icon_198 = 198, // player + Icon_23 = 23, // player + Icon_197 = 197, // player +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsStates.cs new file mode 100644 index 0000000000..cb35867f65 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngelsStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A13MarxEngels; +class A13MarxEngelsStates : StateMachineBuilder +{ + public A13MarxEngelsStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs new file mode 100644 index 0000000000..3e7eff275a --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A14WalkingFortress; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9153)] +public class A14WalkingFortress(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(900, 425), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressEnums.cs new file mode 100644 index 0000000000..005fd3a76e --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressEnums.cs @@ -0,0 +1,106 @@ +namespace BossMod.Shadowbringers.Alliance.A14WalkingFortress; + +public enum OID : uint +{ + Boss = 0x2C74, // R6.500, x1 + Helper = 0x233C, // R0.500, x24 (spawn during fight), 523 type + Marx1 = 0x2C0B, // R0.700, x1 + Marx2 = 0x2C0C, // R0.700, x1 + Helper2P = 0x2C66, // R0.512, x1 + FlightUnit9S = 0x2C75, // R2.800, x1 + Marx3 = 0x2C78, // R12.000, x0 (spawn during fight) + GoliathTank = 0x2C77, // R9.600, x0 (spawn during fight) + SerialJointedServiceModel = 0x2C76, // R3.360, x0 (spawn during fight) +} + +public enum AID : uint +{ + BladeFlurry1 = 18608, // Helper2P->Boss/GoliathTank/SerialJointedServiceModel, no cast, single-target + BladeFlurry2 = 18609, // Helper2P->Boss/GoliathTank/SerialJointedServiceModel, no cast, single-target + BossAutoAttack = 18884, // Boss->player, no cast, single-target + DancingBlade = 19048, // Helper2P->Boss/GoliathTank/SerialJointedServiceModel, no cast, width 2 rect charge + BalancedEdge = 19049, // Helper2P->self, 2.0s cast, range 5 circle + Neutralization = 18677, // Boss->player, 4.0s cast, single-target + LaserSaturation = 18678, // Boss->self, 4.0s cast, range 85 circle + WhirlingAssault = 19050, // Helper2P->self, 2.0s cast, range 40 width 4 rect + LaserTurret2 = 18679, // Boss->self, 4.0s cast, single-target + LaserTurret3 = 19060, // Helper->self, 4.3s cast, range 90 width 8 rect + GroundToGroundMissile = 18680, // Boss->self, no cast, single-target + BallisticImpact1 = 18804, // Helper->location, 3.5s cast, range 6 circle + BallisticImpact2 = 18681, // Helper->players, 5.0s cast, range 6 circle + ForeHindCannons = 18655, // Boss->self, 5.0s cast, single-target + LaserSuppression = 18656, // Helper->self, 5.0s cast, range 60 ?-degree cone + DualFlankCannons = 18654, // Boss->self, 5.0s cast, single-target + EngageMarxSupport = 18643, // Boss->self, 3.0s cast, single-target + MarxImpact = 18644, // Marx3->self, 5.0s cast, range 22 circle + Undock1 = 19255, // Boss->self, 4.0s cast, single-target + Undock2 = 19038, // Boss->self, no cast, single-target + UnknownAbiility1 = 19037, // FlightUnit9S->self, no cast, single-target + UnknownAbiility2 = 18683, // Helper2P->location, no cast, single-target + UnknownWeaponskill1 = 18647, // FlightUnit9S->self, no cast, single-target + UnknownWeaponskill2 = 18649, // Helper->self, 1.0s cast, range 60 width 20 rect + BallisticImpact3 = 18652, // Helper->self, no cast, range 15 width 20 rect + UnknownWeaponskill3 = 18650, // Helper->self, 3.5s cast, range 60 width 20 rect + UnknownWeaponskill4 = 18651, // Helper->self, 6.0s cast, range 60 width 20 rect + UnknownWeaponskill5 = 19223, // FlightUnit9S->self, no cast, single-target + UnknownAbiility3 = 18653, // Boss->self, no cast, single-target + UnknownWeaponskill6 = 18659, // Helper->self, no cast, single-target + AntiPersonnelMissile1 = 18657, // Boss->self, 6.0s cast, single-target + BallisticImpact4 = 18660, // Helper->self, no cast, range 15 width 15 rect + EngageGoliathTankSupport = 18661, // Boss->self, 3.0s cast, single-target + LaserTurret1 = 18662, // GoliathTank->self, no cast, range 85 width 10 rect + HackGoliathTank = 18663, // Boss->GoliathTank, 10.0s cast, single-target + ConvenientSelfDestruction1 = 18664, // GoliathTank->self, 10.0s cast, range 85 circle + ConvenientSelfDestruction2 = 18665, // GoliathTank->self, 8.0s cast, range 22 circle + UnknownWeaponskill7 = 18666, // Boss->self, no cast, single-target + SJSMAutoAttack = 872, // SerialJointedServiceModel->player, no cast, single-target + ClangingBlow = 18672, // SerialJointedServiceModel->player, 4.0s cast, single-target + ShrapnelImpact = 18675, // Helper->players, 5.0s cast, range 6 circle + CentrifugalSpin1 = 19076, // SerialJointedServiceModel->self, 6.0s cast, single-target + CentrifugalSpin2 = 19077, // Helper->self, 6.3s cast, range 30 width 8 rect + DeployDefenses = 18671, // Helper2P->self, no cast, single-target + TotalAnnihilationManeuver1 = 18667, // Boss->self, 10.0s cast, single-target + UnknownWeaponskill8 = 18766, // 2C88->self, no cast, single-target + UnknownWeaponskill9 = 18764, // 2C86->self, no cast, single-target + UnknownWeaponskill10 = 18765, // 2C87->self, no cast, single-target + TotalAnnihilationManeuver2 = 18668, // Helper->self, 13.0s cast, range 80 circle + AntiPersonnelMissile2 = 18658, // Boss->self, 9.0s cast, single-target + Undock3 = 18645, // Boss->self, 4.0s cast, single-target + UnknownAbiility4 = 18646, // FlightUnit9S->self, 4.0s cast, single-target + UnknownWeaponskill11 = 18648, // FlightUnit9S->self, no cast, single-target + AntiPersonnelMissile3 = 19217, // Boss->self, 5.0s cast, single-target + SidestrikingSpin1 = 19079, // Helper->self, 6.3s cast, range 12 width 30 rect + SidestrikingSpin2 = 19078, // SerialJointedServiceModel->self, 6.0s cast, single-target +} + + +public enum SID : uint +{ + VulnerabilityUp = 2213, // Helper/Marx3->player, extra=0x1/0x2/0x3/0x4/0x5/0x7/0x6 + UnknownStatus1 = 2056, // Boss->Marx3/Boss/GoliathTank/2C86/2C87/2C88, extra=0x92/0x91/0x90/0x94/0x8C + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + Preoccupied = 1619, // none->player/Helper2P, extra=0x0 + Invincibility = 775, // none->Boss, extra=0x0 + DamageUp = 2220, // none->Boss, extra=0x1/0x2 + Invincibility2 = 1570, // none->player, extra=0x0 + UnknownStatus2 = 2193, // none->2C86/2C87/2C88, extra=0x8D + VulnerabilityDown = 350, // none->player, extra=0x0 + UnknownStatus3 = 2160, // none->Helper2P, extra=0x1C94 +} + +public enum IconID : uint +{ + Icon_198 = 198, // player + Icon_139 = 139, // player + Icon_199 = 199, // Helper + Icon_164 = 164, // player + Icon_200 = 200, // GoliathTank + Icon_161 = 161, // player +} + +public enum TetherID : uint +{ + Tether_100 = 100, // GoliathTank->Boss + Tether_54 = 54, // Boss->GoliathTank +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressStates.cs new file mode 100644 index 0000000000..9d553eb3e4 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortressStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A14WalkingFortress; +class A14WalkingFortressStates : StateMachineBuilder +{ + public A14WalkingFortressStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs new file mode 100644 index 0000000000..3d0965f7c5 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A21AegisUnit; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9642)] +public class A21AegisUnit(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-230, 190), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitEnums.cs new file mode 100644 index 0000000000..172c817c05 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitEnums.cs @@ -0,0 +1,53 @@ +namespace BossMod.Shadowbringers.Alliance.A21AegisUnit; + +public enum OID : uint +{ + Boss = 0x2EA2, // R17.100, x1 + AegisUnitHelper = 0x233C, // R0.500, x18, 523 type + FlightUnit = 0x2ECB, // R2.800, x6 +} + +public enum AID : uint +{ + Attack = 20924, // AegisUnitHelper->player, no cast, single-target + FiringOrderAntiPersonnelLaser = 20621, // Boss->self, 3.0s cast, single-target + AntiPersonnelLaser = 20624, // AegisUnitHelper->players, no cast, range 3 circle + UnknownAbility1 = 20601, // Boss->self, no cast, single-target + ManeuverBeamCannons = 20595, // Boss->self, 12.0s cast, single-target + BeamCannons1 = 20597, // AegisUnitHelper->self, no cast, range 40 ?-degree cone + BeamCannons2 = 20598, // AegisUnitHelper->self, no cast, range 40 ?-degree cone + BeamCannons3 = 20596, // AegisUnitHelper->self, no cast, range 40 ?-degree cone + ManeuverColliderCannons1 = 20603, // Boss->self, 7.0s cast, single-target + ManeuverColliderCannons2 = 20605, // Boss->self, 8.0s cast, single-target + ColliderCannons = 20606, // AegisUnitHelper->self, no cast, range 40 ?-degree cone + FiringOrderSurfaceLaser = 20622, // Boss->self, 3.0s cast, single-target + AerialSupportSwoop = 20690, // Boss->self, 3.0s cast, single-target + SurfaceLaser1 = 20626, // AegisUnitHelper->location, no cast, range 4 circle + SurfaceLaser2 = 20625, // AegisUnitHelper->location, no cast, single-target + FlightPath = 20620, // FlightUnit->self, 3.0s cast, range 60 width 10 rect + ManeuverRefractionCannons1 = 20607, // Boss->self, 6.0s cast, single-target + ManeuverRefractionCannons2 = 20608, // Boss->self, 6.0s cast, single-target + RefractionCannons = 20609, // AegisUnitHelper->self, no cast, range 40 ?-degree cone + ManeuverDiffusionCannon = 20633, // Boss->self, 6.0s cast, range 60 circle + AerialSupportBombardment = 20691, // Boss->self, 3.0s cast, single-target + FiringOrderHighPoweredLaser = 20623, // Boss->self, 3.0s cast, single-target + HighPoweredLaser = 20627, // AegisUnitHelper->players, no cast, range 6 circle + UnknownAbility2 = 21426, // AegisUnitHelper->self, no cast, single-target + LifesLastSong = 21427, // AegisUnitHelper->self, 7.5s cast, range 30 ?-degree cone + UnknownAbility3 = 20602, // Boss->self, no cast, single-target + ManeuverSaturationBombing = 20631, // FlightUnit->self, 25.0s cast, range 60 circle +} + +public enum SID : uint +{ + VulnerabilityUp = 1789, // AegisUnitHelper/FlightUnit->player, extra=0x1/0x2 + MagicVulnerabilityUp = 2091, // AegisUnitHelper->player, extra=0x0 + Hover = 2390, // none->Boss, extra=0x1F4 +} + +public enum IconID : uint +{ + Icon_198 = 198, // player + Icon_23 = 23, // player + Icon_62 = 62, // player +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitStates.cs new file mode 100644 index 0000000000..3496465110 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnitStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A21AegisUnit; +class A21AegisUnitStates : StateMachineBuilder +{ + public A21AegisUnitStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs new file mode 100644 index 0000000000..fe0f27368d --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs @@ -0,0 +1,27 @@ +namespace BossMod.Shadowbringers.Alliance.A22FlightUnits; + + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.FlightUnitALpha, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9364)] //9617 for B-eta, 9618 for C-hi +public class A22FlightUnits(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-230, -180), 30)) +{ + private Actor? _beta; + private Actor? _chi; + + public Actor? FlightUnitALpha() => PrimaryActor; + public Actor? FlightUnitBEta() => _beta; + public Actor? FlightUnitCHi() => _chi; + + protected override void UpdateModule() + { + //copied and adapted from A22AlthykNymeia.cs + _beta ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.FlightUnitBEta).FirstOrDefault() : null; + _chi ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.FlightUnitCHi).FirstOrDefault() : null; + } + + protected override void DrawEnemies(int pcSlot, Actor pc) + { + Arena.Actor(PrimaryActor, ArenaColor.Enemy); + Arena.Actor(_beta, ArenaColor.Enemy); + Arena.Actor(_chi, ArenaColor.Enemy); + } +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsEnums.cs new file mode 100644 index 0000000000..3e56ab4e36 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsEnums.cs @@ -0,0 +1,96 @@ +namespace BossMod.Shadowbringers.Alliance.A22FlightUnits; + + +public enum OID : uint +{ + Helper = 0x233C, // R0.500, x?, 523 type + + ALphaHelper = 0x2EF9, // R0.500, x? + FlightUnitALpha = 0x2E10, // R6.000, x? + + BEtaHelper = 0x2EFA, // R0.500, x? + FlightUnitBEta = 0x2E11, // R6.000, x? + + CHiHelper = 0x2EFB, // R0.500, x? + FlightUnitCHi = 0x2E12, // R6.000, x? +} + +public enum AID : uint +{ + BossAutoAttack = 21423, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->player, no cast, single-target + ApplyShieldProtocol1 = 20390, // FlightUnitALpha->self, 5.0s cast, single-target + ApplyShieldProtocol2 = 20392, // FlightUnitCHi->self, 5.0s cast, single-target + ApplyShieldProtocol3 = 20391, // FlightUnitBEta->self, 5.0s cast, single-target + ManeuverMissileCommand = 20413, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 4.0s cast, single-target + BarrageImpact = 20414, // Helper->self, no cast, range 50 circle + ManeuverIncendiaryBombing = 20419, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 5.0s cast, single-target + UnknownAbility = 20406, // Helper->player, no cast, single-target + IncendiaryBombing = 20409, // Helper->location, 5.0s cast, range 8 circle + + ManeuverHighPoweredLaser1 = 20404, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 5.0s cast, single-target + ManeuverHighPoweredLaser2 = 20405, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->players, no cast, range 80 width 14 rect + FormationSharpTurn = 20395, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 3.0s cast, single-target + UnknownWeaponskill = 26807, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->location, no cast, single-target + + SharpTurnAlpha1 = 20393, // FlightUnitALpha->self, 9.0s cast, single-target + SharpTurnAlpha2 = 20394, // FlightUnitALpha->self, 9.0s cast, single-target + SharpTurnChi1 = 21779, // FlightUnitCHi->self, 9.0s cast, single-target + SharpTurnChi2 = 21780, // FlightUnitCHi->self, 9.0s cast, single-target + SharpTurnBeta1 = 21777, // FlightUnitBEta->self, 9.0s cast, single-target + SharpTurnBeta2 = 21778, // FlightUnitBEta->self, 9.0s cast, single-target + + SharpTurn1 = 20589, // Helper->self, no cast, range 110 width 30 rect + SharpTurn2 = 20590, // Helper->self, no cast, range 110 width 30 rect + + ManeuverPrecisionGuidedMissile = 20420, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 4.0s cast, single-target + PrecisionGuidedMissile = 20421, // Helper->players, 4.0s cast, range 6 circle + FormationAirRaid = 20400, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 5.0s cast, single-target + StandardSurfaceMissile1 = 20401, // Helper->location, 5.0s cast, range 10 circle + StandardSurfaceMissile2 = 20402, // Helper->location, 5.0s cast, range 10 circle + LethalRevolution = 20403, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 5.0s cast, range 15 circle + FormationSlidingSwipe = 20398, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 5.0s cast, single-target + SuperiorMobility = 20412, // FlightUnitBEta/FlightUnitCHi/FlightUnitALpha->location, no cast, single-target + IncendiaryBarrage = 20399, // Helper->location, 9.0s cast, range 27 circle + + SlidingSwipeAlpha1 = 20396, // FlightUnitALpha->self, 6.0s cast, single-target + SlidingSwipeAlpha2 = 20397, // FlightUnitALpha->self, 6.0s cast, single-target + SlidingSwipeBeta2 = 21774, // FlightUnitBEta->self, 6.0s cast, single-target + SlidingSwipeChi2 = 21775, // FlightUnitCHi->self, 6.0s cast, single-target + + SlidingSwipe1 = 20591, // Helper->self, no cast, range 130 width 30 rect + SlidingSwipe2 = 20592, // Helper->self, no cast, range 130 width 30 rect + + ManeuverAreaBombardment = 20407, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->self, 5.0s cast, single-target + GuidedMissile = 20408, // Helper->location, 3.0s cast, range 4 circle + SurfaceMissile = 20410, // Helper->location, 3.0s cast, range 6 circle + AntiPersonnelMissile = 20411, // Helper->player, 5.0s cast, range 6 circle +} + +public enum SID : uint +{ + ShieldProtocolA = 2288, // none->player, extra=0x0 + ShieldProtocolC = 2290, // none->player, extra=0x0 + ShieldProtocolB = 2289, // none->player, extra=0x0 + ProcessOfEliminationC = 2411, // none->FlightUnitCHi, extra=0x0 + ProcessOfEliminationA = 2409, // none->FlightUnitALpha, extra=0x0 + ProcessOfEliminationB = 2410, // none->FlightUnitBEta, extra=0x0 + Burns1 = 2194, // none->player, extra=0x0 + MagicVulnerabilityUp = 2091, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->player, extra=0x0 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + VulnerabilityUp = 1789, // Helper/FlightUnitBEta->player, extra=0x1/0x2 + Burns2 = 2401, // Helper->player, extra=0x0 +} + +public enum IconID : uint +{ + Icon_23 = 23, // player + Icon_198 = 198, // player + Icon_139 = 139, // player +} + +public enum TetherID : uint +{ + Tether_7 = 7, // player->FlightUnitCHi/FlightUnitALpha/FlightUnitBEta + Tether_54 = 54, // FlightUnitALpha/FlightUnitCHi/FlightUnitBEta->FlightUnitBEta/FlightUnitALpha/FlightUnitCHi +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsStates.cs new file mode 100644 index 0000000000..0a333b8246 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnitsStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A22FlightUnits; +class A22FlightUnitsStates : StateMachineBuilder +{ + public A22FlightUnitsStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs new file mode 100644 index 0000000000..fe61aa4e01 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A23ArtilleryUnit; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9650)] +public class A23ArtilleryUnit(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, -115), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitEnums.cs new file mode 100644 index 0000000000..2d5531a8b6 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitEnums.cs @@ -0,0 +1,69 @@ +namespace BossMod.Shadowbringers.Alliance.A23ArtilleryUnit; + +public enum OID : uint +{ + Helper905P = 0x2EFC, // R0.500, x? + Boss = 0x2E6A, // R4.000, x? + Helper = 0x233C, // R0.500, x?, 523 type + ArtilleryUnit = 0x18D6, // R0.500, x? + Energy = 0x2E6C, // R1.000, x? + Pod = 0x2E6D, // R0.800, x? +} + +public enum AID : uint +{ + BossAutoAttack = 21561, // Boss->player, no cast, single-target + ManeuverVoltArray = 20486, // Boss->self, 4.0s cast, range 60 circle + OperationActivateLaserTurret = 20461, // Boss->self, 6.0s cast, single-target + + LowerLaser1 = 20614, // Helper->self, 1.8s cast, range 30 ?-degree cone + UpperLaser1 = 20615, // Helper->self, 1.8s cast, range 16 ?-degree cone + UpperLaser2 = 20616, // Helper->self, 4.8s cast, range ?-23 donut + UpperLaser3 = 20617, // Helper->self, 7.8s cast, range ?-30 donut + LowerLaser2 = 20470, // Helper->self, no cast, range 60 ?-degree cone + UpperLaser4 = 20471, // Helper->self, no cast, range 16 ?-degree cone + UpperLaser5 = 20472, // Helper->self, no cast, range ?-23 donut + UpperLaser6 = 20473, // Helper->self, no cast, range ?-30 donut + + ManeuverHighPoweredLaser1 = 20481, // Boss->self, 5.0s cast, single-target + ManeuverHighPoweredLaser2 = 20482, // Boss->self, no cast, range 60 width 8 rect + UnknownAbility = 20485, // Helper->player, no cast, single-target + ManeuverUnconventionalVoltage = 20483, // Boss->self, 6.0s cast, single-target + UnconventionalVoltage = 20484, // Helper->self, no cast, range 60 ?-degree cone + EnergyBombardment1 = 20475, // Boss->self, 2.0s cast, single-target + EnergyBombardment2 = 20476, // Helper->location, 3.0s cast, range 4 circle + ManeuverImpactCrusher1 = 20477, // Boss->self, 4.0s cast, single-target + UnknownWeaponskill = 20479, // Helper->location, 4.0s cast, range 8 circle + ManeuverImpactCrusher2 = 20478, // Boss->location, no cast, range 8 circle + ManeuverRevolvingLaser = 20480, // Boss->self, 3.0s cast, range ?-60 donut + OperationAccessSelfConsciousnessData = 20463, // Boss->self, 8.0s cast, single-target + OperationActivateSuppressiveUnit = 20462, // Boss->self, 6.0s cast, single-target + EnergyBomb = 20474, // Energy->player, no cast, single-target + SupportPod = 20457, // Boss->self, 2.0s cast, single-target + OperationPodProgram = 20458, // Boss->self, 6.0s cast, single-target + R030Hammer = 20465, // Pod->self, 10.0s cast, range 18 circle + R010Laser = 20464, // Pod->self, 10.0s cast, range 60 width 12 rect + OperationSynthesizeCompound = 20460, // Boss->self, 3.0s cast, single-target + ChemicalBurn = 20468, // Helper->self, no cast, range 3 circle +} + +public enum SID : uint +{ + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + VulnerabilityUp = 1789, // Helper/Boss/Energy->player, extra=0x2/0x1 + BrinkOfDeath = 44, // none->player, extra=0x0 + +} + +public enum IconID : uint +{ + Icon_230 = 230, // player + Icon_172 = 172, // player +} + +public enum TetherID : uint +{ + Tether_122 = 122, // Boss->ArtilleryUnit + Tether_123 = 123, // ArtilleryUnit->Pod/Helper +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitStates.cs new file mode 100644 index 0000000000..fe76fd1e2d --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnitStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A23ArtilleryUnit; +class A23ArtilleryUnitStates : StateMachineBuilder +{ + public A23ArtilleryUnitStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs new file mode 100644 index 0000000000..784eaf3f00 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A24TheCompound; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9646)] +public class A24TheCompound(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, -700), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundEnums.cs new file mode 100644 index 0000000000..3d0ca8eb8d --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundEnums.cs @@ -0,0 +1,38 @@ +namespace BossMod.Shadowbringers.Alliance.A24TheCompound; + +public enum OID : uint +{ + Helper = 0x233C, // R0.500, x24 (spawn during fight), 523 type + Boss = 0x2EC4, // R5.290, x1 + ThePuppets1 = 0x2EC5, // R5.290, x0 (spawn during fight) + ThePuppets2 = 0x2FA5, // R0.500, x0 (spawn during fight) + ThePuppets3 = 0x2FA4, // R1.000, x0 (spawn during fight) + Compound2P = 0x2EC6, // R6.000, x0 (spawn during fight) +} + +public enum AID : uint +{ + BossAutoAttack = 21450, // Boss->player, no cast, single-target + MechanicalLaceration1 = 20920, // Boss->self, 5.0s cast, range 100 circle + MechanicalDecapitation = 20916, // Boss->self, 6.0s cast, range ?-43 donut + MechanicalDissection = 20915, // Boss->self, 6.0s cast, range 85 width 11 rect + MechanicalContusion1 = 20917, // Boss->self, 3.0s cast, single-target + MechanicalContusion2 = 20919, // Helper->location, 4.0s cast, range 6 circle + MechanicalContusion3 = 20918, // Helper->player, 5.0s cast, range 6 circle + IncongruousSpin1 = 20913, // ThePuppets1->self, 8.0s cast, single-target + IncongruousSpin2 = 20914, // Helper->self, 8.5s cast, range 80 width 150 rect + MechanicalLaceration2 = 21461, // Boss->self, no cast, range 100 circle +} + +public enum SID : uint +{ + VulnerabilityUp = 1789, // Boss->player, extra=0x1 + MagicVulnerabilityUp = 2091, // Helper->player, extra=0x0 + DownForTheCount = 2408, // none->player, extra=0xEC7 + +} + +public enum IconID : uint +{ + Icon_139 = 139, // player +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundStates.cs new file mode 100644 index 0000000000..eee071ce16 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompoundStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A24TheCompound; +class A24TheCompoundStates : StateMachineBuilder +{ + public A24TheCompoundStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs new file mode 100644 index 0000000000..1d5cb8aa62 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A25Compound2P; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9644)] +public class A25Compound2P(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, -700), 20)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PEnums.cs new file mode 100644 index 0000000000..c3937bac36 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PEnums.cs @@ -0,0 +1,75 @@ +namespace BossMod.Shadowbringers.Alliance.A25Compound2P; + +public enum OID : uint +{ + Boss = 0x2EC6, // R6.000, x1 + Helper = 0x233C, // R0.500, x31 (spawn during fight), 523 type + CompoundPod = 0x2EC8, // R1.360, x0 (spawn during fight) + Puppet2P = 0x2EC7, // R6.000, x0 (spawn during fight) + ThePuppets1 = 0x2FA5, // R0.500, x4 + ThePuppets2 = 0x2FA4, // R1.000, x1 + TheCompound = 0x2EC4, // R5.290, x1 +} + +public enum AID : uint +{ + BossAutoAttack = 21490, // Boss->player, no cast, single-target + CentrifugalSlice = 20912, // Boss->self, 5.0s cast, range 100 circle + RelentlessSpiral1 = 20905, // Boss->self, 3.5s cast, single-target + RelentlessSpiral2 = 20906, // Helper->location, 3.5s cast, range 8 circle + PrimeBlade1 = 21535, // Boss->self, 7.0s cast, range 20 circle + PrimeBlade2 = 21536, // Boss->self, 7.0s cast, range 85 width 20 rect + PrimeBlade3 = 21537, // Boss/Puppet2P->self, 7.0s cast, range ?-43 donut + UnknownWeaponskill1 = 20899, // Boss->location, no cast, single-target + UnknownWeaponskill2 = 21347, // Helper->location, no cast, single-target + UnknownWeaponskill3 = 21456, // Helper->self, no cast, single-target + RelentlessSpiral3 = 20939, // Helper->self, 1.0s cast, range 8 circle + PrimeBlade = 20890, // Boss->self, 10.0s cast, range ?-43 donut + ThreePartsDisdain1 = 20891, // Boss->players, 6.0s cast, range 6 circle + ThreePartsDisdain2 = 20892, // Boss->players, no cast, range 6 circle + ThreePartsDisdain3 = 20893, // Boss->players, no cast, range 6 circle + CompoundPodR012 = 20907, // Boss->self, 3.0s cast, single-target + R012Laser1 = 20908, // CompoundPod->self, no cast, single-target + R012Laser2 = 20911, // Helper->location, 4.0s cast, range 6 circle + R012Laser3 = 20910, // Helper->players, 5.0s cast, range 6 circle + R012Laser4 = 20909, // Helper->player, 5.0s cast, range 6 circle + FourPartsResolve1 = 20894, // Boss->self, 8.0s cast, single-target + FourPartsResolve2 = 20895, // Boss->players, no cast, range 6 circle + FourPartsResolve3 = 20896, // Boss->self, no cast, range 85 width 12 rect + Reproduce = 20897, // Boss->self, 4.0s cast, single-target + UnknownWeaponskill4 = 21457, // Helper->self, no cast, single-target + EnergyCompression = 20902, // Boss->self, 4.0s cast, single-target + Explosion = 20903, // Helper->self, no cast, range 5 circle + ForcedTransfer1 = 20898, // Boss->self, 6.5s cast, single-target + CompoundPodR011 = 20900, // Boss->self, 4.0s cast, single-target + ForcedTransfer2 = 21562, // Boss->self, 8.5s cast, single-target + R011Laser5 = 20901, // CompoundPod->self, 11.5s cast, single-target + R011Laser6 = 21531, // Helper->self, 1.5s cast, range 70 width 15 rect +} + +public enum SID : uint +{ + VulnerabilityUp = 1789, // Helper/Boss->player, extra=0x1/0x2 + Electrocution = 2086, // none->player, extra=0x0 + MagicVulnerabilityUp = 2091, // Helper->player, extra=0x0 + UnknownStatus = 2056, // none->CompoundPod, extra=0xB6 +} + +public enum IconID : uint +{ + Icon_62 = 62, // player + Icon_218 = 218, // player + Icon_139 = 139, // player + Icon_79 = 79, // player + Icon_80 = 80, // player + Icon_81 = 81, // player + Icon_82 = 82, // player +} + +public enum TetherID : uint +{ + Tether_117 = 117, // Helper->Helper + Tether_116 = 116, // Helper->Helper + Tether_41 = 41, // player->Boss + Tether_54 = 54, // Puppet2P->Boss +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PStates.cs new file mode 100644 index 0000000000..0717cac4a3 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2PStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A25Compound2P; +class A25Compound2PStates : StateMachineBuilder +{ + public A25Compound2PStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs new file mode 100644 index 0000000000..b2929e487c --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A31KnaveofHearts; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9955)] +public class A31KnaveofHearts(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-800, -750), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsEnums.cs new file mode 100644 index 0000000000..0beacd8507 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsEnums.cs @@ -0,0 +1,74 @@ +namespace BossMod.Shadowbringers.Alliance.A31KnaveofHearts; + +public enum OID : uint +{ + Spheroid = 0x322D, // R1.000, x15 + Ally2B = 0x31A8, // R0.512, x1 + Boss = 0x31B8, // R30.000, x1 + CopiedKnave = 0x322C, // R30.000, x2 + Helper = 0x233C, // R0.500, x15, 523 type + Energy = 0x322E, // R1.000, x0 (spawn during fight) +} + +public enum AID : uint +{ + BladeFlurry1 = 23788, // Ally2B->Boss, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->Boss, no cast, single-target + BossAutoAttack = 24668, // Boss->player, no cast, single-target + DancingBlade = 23790, // Ally2B->Boss, no cast, width 2 rect charge + Roar = 24245, // Boss->self, 5.0s cast, range 80 circle + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + + ColossalImpact1 = 24231, // Boss/CopiedKnave->self, 8.0s cast, range 61 width 20 rect + + ColossalImpact2 = 24228, // Boss/CopiedKnave->self, 7.0s cast, single-target + ColossalImpact3 = 24229, // Helper->self, 8.0s cast, range 61 width 20 rect + ColossalImpact4 = 24230, // Helper->self, 8.0s cast, range 61 width 20 rect + + ColossalImpact5 = 23805, // Boss->self, 8.5s cast, single-target + + ColossalImpact6 = 24774, // Helper->self, 9.5s cast, range 61 width 20 rect + ColossalImpact7 = 24775, // Helper->self, 9.5s cast, range 61 width 20 rect + ColossalImpact8 = 24776, // Boss->self, 9.5s cast, range 61 width 20 rect + + MagicArtilleryBeta1 = 24242, // Boss->self, 3.0s cast, single-target + MagicArtilleryBeta2 = 24243, // Helper->player, 5.0s cast, range 3 circle + Replicate = 24233, // Boss->self, 3.0s cast, single-target + StackingTheDeck1 = 24816, // CopiedKnave->self, 6.0s cast, single-target + StackingTheDeck2 = 23801, // Boss->self, 6.0s cast, single-target + Spheroids = 24232, // Boss->self, 4.0s cast, single-target + KnavishBullets = 24237, // Spheroid->self, no cast, single-target + MagicArtilleryAlpha1 = 24234, // Boss->self, 3.0s cast, single-target + Burst = 24244, // Energy->player, no cast, single-target + MagicArtilleryAlpha2 = 24235, // Helper->players, 6.0s cast, range 5 circle + LightLeap1 = 24238, // Boss->self, 7.0s cast, single-target + LightLeap2 = 24239, // Helper->location, 8.5s cast, range 40 circle + UnknownAbiltiy = 24240, // Helper->self, 4.0s cast, range 8 width 8 rect + Lunge = 24241, // Boss/CopiedKnave->self, 8.0s cast, range 61 width 60 rect + MagicBarrage = 24236, // Spheroid->self, 6.0s cast, range 61 width 5 rect +} + +public enum SID : uint +{ + TheHeatOfBattle = 365, // none->player, extra=0xA + MeatAndMead = 360, // none->player, extra=0xA + Invincibility = 1570, // none->player, extra=0x0 + VulnerabilityUp = 1789, // Boss/Helper/CopiedKnave/Energy/Spheroid->player, extra=0x1/0x2/0x3 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 +} + +public enum IconID : uint +{ + Icon_218 = 218, // player + Icon_279 = 279, // CopiedKnave + Icon_278 = 278, // Boss + Icon_169 = 169, // player + Icon_280 = 280, // CopiedKnave +} + +public enum TetherID : uint +{ + Tether_152 = 152, // CopiedKnave->Boss +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsStates.cs new file mode 100644 index 0000000000..3e948368ea --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHeartsStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A31KnaveofHearts; +class A31KnaveofHeartsStates : StateMachineBuilder +{ + public A31KnaveofHeartsStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs new file mode 100644 index 0000000000..a2ccc090ae --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs @@ -0,0 +1,22 @@ +namespace BossMod.Shadowbringers.Alliance.A32HanselGretel; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.Gretel, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9990)] // 9990 is HanselGretel, 9988 is Hansel, 9989 is Gretel +public class A32HanselGretel(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-800, -950), 30)) +{ + private Actor? _hansel; + + public Actor? Gretel() => PrimaryActor; + public Actor? Hansel() => _hansel; + + protected override void UpdateModule() + { + //copied and adapted from A22AlthykNymeia.cs + _hansel ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.Hansel).FirstOrDefault() : null; + } + + protected override void DrawEnemies(int pcSlot, Actor pc) + { + Arena.Actor(PrimaryActor, ArenaColor.Enemy); + Arena.Actor(_hansel, ArenaColor.Enemy); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs new file mode 100644 index 0000000000..52bd475527 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs @@ -0,0 +1,101 @@ +namespace BossMod.Shadowbringers.Alliance.A32HanselGretel; + +public enum OID : uint +{ + Ally2B = 0x31A8, // R0.512, x? + Anogg = 0x31AA, // R0.500, x? + HanselGretel = 0x18D6, // R0.500, x? + Helper = 0x233C, // R0.500, x?, 523 type + Gretel = 0x31A4, // R7.000, x? + Hansel = 0x31A5, // R7.000, x? + MagicBullet = 0x31A7, // R1.000, x? + MagicalConfluence = 0x31A6, // R1.000, x? +} + +public enum AID : uint +{ + BladeFlurry1 = 23788, // Ally2B->Hansel/Boss, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->Hansel/Boss, no cast, single-target + BossAutoAttack = 870, // Hansel/Boss->player, no cast, single-target + DancingBlade = 23790, // Ally2B->Hansel/Boss, no cast, width 2 rect charge + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + UpgradedLance1 = 23656, // Boss->self, 4.0s cast, single-target + UpgradedShield1 = 23659, // Hansel->self, 4.0s cast, single-target + Repay = 23664, // Gretel->player, no cast, single-target + Wail1 = 23671, // Hansel->self, 5.0s cast, range 50 circle + CripplingBlow1 = 23672, // Boss->player, 5.0s cast, single-target + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + Wai2l = 23670, // Boss->self, 5.0s cast, range 50 circle + CripplingBlow2 = 23673, // Hansel->player, 5.0s cast, single-target + TandemAssaultBloodySweep1 = 25016, // Boss->self, 5.0s cast, single-target + TandemAssaultBloodySweep2 = 25017, // Hansel->self, 5.0s cast, single-target + UnknownWeaponskill1 = 23678, // Boss->location, no cast, single-target + UnknownWeaponskill2 = 23679, // Hansel->location, no cast, single-target + BloodySweep1 = 23636, // Boss->self, 8.0s cast, single-target + BloodySweep2 = 23637, // Hansel->self, 8.0s cast, single-target + BloodySweep3 = 23661, // Gretel->self, 8.6s cast, range 50 width 25 rect + BloodySweep4 = 23660, // Gretel->self, 8.6s cast, range 50 width 25 rect + UpgradedShield2 = 23657, // Boss->self, 4.0s cast, single-target + UpgradedLance2 = 23658, // Hansel->self, 4.0s cast, single-target + SeedOfMagicAlpha1 = 23674, // Boss->self, 5.0s cast, single-target + RiotOfMagic1 = 23675, // Hansel->self, 5.0s cast, single-target + SeedOfMagicAlpha2 = 23649, // Gretel->players, 5.0s cast, range 5 circle + RiotOfMagic2 = 23651, // Gretel->players, 5.0s cast, range 5 circle + TandemAssaultPassingLance1 = 25020, // Boss->self, 5.0s cast, single-target + TandemAssaultPassingLance2 = 25021, // Hansel->self, 5.0s cast, single-target + UnknownAbility = 18683, // Ally2B->location, no cast, single-target + PassingLance1 = 23652, // Boss->self, 8.0s cast, single-target + PassingLance2 = 23653, // Hansel->self, 8.0s cast, single-target + PassingLance3 = 23654, // HanselGretel->self, 8.4s cast, range 50 width 24 rect + Explosion = 23655, // MagicBullet->self, 1.0s cast, range 4 width 50 rect + Tandem1 = 23640, // Boss->self, no cast, single-target + Tandem2 = 23641, // Hansel->self, no cast, single-target + Transference1 = 23794, // Gretel->location, no cast, single-target + Transference2 = 23793, // Gretel->location, no cast, single-target + BloodySweep5 = 23638, // Boss->self, 13.0s cast, single-target + BloodySweep6 = 23639, // Hansel->self, 13.0s cast, single-target + BloodySweep7 = 23663, // Gretel->self, 13.6s cast, range 50 width 25 rect + BloodySweep8 = 23662, // Gretel->self, 13.6s cast, range 50 width 25 rect + WanderingTrail1 = 23642, // Boss->self, 5.0s cast, single-target + WanderingTrail2 = 23643, // Hansel->self, 5.0s cast, single-target + TandemAssaultBreakthrough1 = 25018, // Boss->self, 5.0s cast, single-target + TandemAssaultBreakthrough2 = 25019, // Hansel->self, 5.0s cast, single-target + Impact = 23644, // Gretel->self, no cast, range 3 circle + Breakthrough1 = 21939, // HanselGretel->self, 9.0s cast, range 53 width 32 rect + Breakthrough2 = 23645, // Boss->location, 9.0s cast, single-target + Breakthrough3 = 23646, // Hansel->location, 9.0s cast, single-target + UnevenFooting = 23647, // HanselGretel->self, 9.3s cast, range 50 circle + HungryLance1 = 23665, // Boss->self, 5.0s cast, range 40 120-degree cone + HungryLance2 = 23666, // Hansel->self, 5.0s cast, range 40 120-degree cone + SeedOfMagicBeta1 = 23676, // Boss->self, 5.0s cast, single-target + SeedOfMagicBeta2 = 23677, // Hansel->self, 5.0s cast, single-target + Lamentation = 23667, // Gretel->self, 8.0s cast, range 50 circle + SeedOfMagicBeta3 = 23669, // Gretel->location, 5.0s cast, range 5 circle +} + +public enum SID : uint +{ + StrongOfSpear = 2537, // none->Boss/Hansel, extra=0x0 + UnknownStatus = 2056, // none->Boss/Hansel, extra=0x122/0x125/0x124/0x123/0x11F/0x121 + StrongOfShield = 2538, // none->Hansel/Boss, extra=0x0 + DirectionalParry = 680, // none->Hansel/Boss, extra=0xE + VulnerabilityUp = 1789, // Gretel/HanselGretel/MagicBullet->player, extra=0x1/0x2 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + StrongerTogether = 2539, // none->Boss/Hansel, extra=0x0 + BrinkOfDeath = 44, // none->player, extra=0x0 + +} + +public enum IconID : uint +{ + Icon_218 = 218, // player + Icon_96 = 96, // player + Icon_62 = 62, // player +} + +public enum TetherID : uint +{ + Tether_1 = 1, // Hansel->Boss + Tether_151 = 151, // Boss->Hansel +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelStates.cs new file mode 100644 index 0000000000..0013960072 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A32HanselGretel; +class A32HanselGretelStates : StateMachineBuilder +{ + public A32HanselGretelStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs new file mode 100644 index 0000000000..462ac532ef --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A33RedGirlP1; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9920)] +public class A33RedGirlP1(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(845, -850), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1Enums.cs b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1Enums.cs new file mode 100644 index 0000000000..b34afe52dd --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1Enums.cs @@ -0,0 +1,76 @@ +namespace BossMod.Shadowbringers.Alliance.A33RedGirlP1; + +public enum OID : uint +{ + Boss = 0x32BB, // R7.500, x1 + Helper = 0x233C, // R0.500, x16 (spawn during fight), 523 type + Ally2B = 0x31A8, // R0.512, x1 + WhiteLance = 0x32E3, // R1.000, x0 (spawn during fight) + BlackLance = 0x32E4, // R1.000, x0 (spawn during fight) + RedGirl1 = 0x32BC, // R2.250, x0 (spawn during fight) + WallbossRedGirl = 0x32BD, // R12.250, x0 (spawn during fight) + RedGirl3 = 0x32BE, // R12.250, x3 +} + +public enum AID : uint +{ + BladeFlurry1 = 23788, // Ally2B->Boss/RedGirl2, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->Boss/RedGirl2, no cast, single-target + AutoAttack = 24597, // Helper->player, no cast, single-target + DancingBlade = 23790, // Ally2B->Boss/RedGirl2, no cast, width 2 rect charge + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + Cruelty1 = 24594, // Boss->self, 5.0s cast, single-target + Cruelty2 = 24596, // Helper->location, no cast, range 75 circle + Shockwave = 24590, // Boss->self, 2.0s cast, single-target + GenerateBarrier1 = 24585, // Helper->self, 4.0s cast, range 24 width 3 rect + GenerateBarrier2 = 24580, // Boss->self, 4.0s cast, single-target + GenerateBarrier3 = 25363, // Helper->self, no cast, range 24 width 3 rect + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + ShockWhite1 = 24591, // Helper->players, no cast, range 5 circle + ShockWhite2 = 24592, // Helper->location, 4.0s cast, range 5 circle + PointWhite1 = 24607, // WhiteLance->self, no cast, range 50 width 6 rect + PointWhite2 = 24609, // WhiteLance->self, no cast, range 24 width 6 rect + ShockBlack1 = 24972, // Helper->location, 4.0s cast, range 5 circle + ShockBlack2 = 24593, // Helper->players, no cast, range 5 circle + PointBlack1 = 24608, // BlackLance->self, no cast, range 50 width 6 rect + PointBlack2 = 24610, // BlackLance->self, no cast, range 24 width 6 rect + Vortex = 24599, // Helper->location, no cast, ??? + UnknownAbility = 18683, // Ally2B->location, no cast, single-target + GenerateBarrier4 = 24584, // Helper->self, 4.0s cast, range 18 width 3 rect + GenerateBarrier5 = 25362, // Helper->self, no cast, range 18 width 3 rect + RecreateMeteor = 24903, // Boss->self, 2.0s cast, single-target + WipeWhite = 24588, // Helper->self, 13.0s cast, range 75 circle + ManipulateEnergy1 = 24600, // Boss->self, 4.0s cast, single-target + ManipulateEnergy2 = 24602, // Helper->players, no cast, range 3 circle + Replicate = 24586, // Boss->self, 3.0s cast, single-target + DiffuseEnergy1 = 24611, // RedGirl1->self, 5.0s cast, range 12 120-degree cone + DiffuseEnergy2 = 24662, // RedGirl1->self, no cast, range 12 ?-degree cone + SublimeTranscendence1 = 25098, // Boss->self, 5.0s cast, single-target + SublimeTranscendence2 = 25099, // Helper->location, no cast, range 75 circle + UnknownWeaponskill = 24605, // Helper->location, no cast, single-target +} + +public enum SID : uint +{ + TheHeatOfBattle = 365, // none->player, extra=0xA + ReducedRates = 364, // none->player, extra=0x1E + Invincibility = 1570, // none->player, extra=0x0 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + VulnerabilityUp = 1789, // WhiteLance/BlackLance/RedGirl1->player, extra=0x1/0x2/0x3 + Stun = 2656, // none->player, extra=0x0 + BrinkOfDeath = 44, // none->player, extra=0x0 + ProgramFFFFFFF = 2632, // none->player, extra=0x1AB + Program000000 = 2633, // none->player, extra=0x1AC + +} + +public enum IconID : uint +{ + Icon_262 = 262, // player + Icon_263 = 263, // player + Icon_264 = 264, // player + Icon_218 = 218, // player + Icon_167 = 167, // RedGirl1 + Icon_168 = 168, // RedGirl1 +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1States.cs b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1States.cs new file mode 100644 index 0000000000..26d210d440 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1States.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A33RedGirlP1; +class A33RedGirlP1States : StateMachineBuilder +{ + public A33RedGirlP1States(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs new file mode 100644 index 0000000000..5631b10589 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A34RedGirlP2; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9950)] +public class A34RedGirlP2(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(845, -850), 20)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2Enums.cs b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2Enums.cs new file mode 100644 index 0000000000..3e53dfa181 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2Enums.cs @@ -0,0 +1,82 @@ +namespace BossMod.Shadowbringers.Alliance.A34RedGirlP2; + +public enum OID : uint +{ + Boss = 0x32BD, // R12.250, x1 + Helper = 0x233C, // R0.500, x16, 523 type + RedGirl1 = 0x32BE, // R12.250, x3 + RedGirl2 = 0x32BC, // R2.250, x0 (spawn during fight) + RedGirlP1 = 0x32BB, // R7.500, x1 + Ally2B = 0x31A8, // R0.512, x1 + BlackPylon = 0x32E5, // R1.000, x0 (spawn during fight) + WhiteLance = 0x32E3, // R1.000, x0 (spawn during fight) + BlackLance = 0x32E4, // R1.000, x0 (spawn during fight) +} + +public enum AID : uint +{ + BladeFlurry1 = 23788, // Ally2B->Boss, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->Boss, no cast, single-target + DancingBlade = 23790, // Ally2B->Boss, no cast, width 2 rect charge + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + Cruelty1 = 24595, // Boss->self, 5.0s cast, single-target + Cruelty2 = 24596, // Helper->location, no cast, range 75 circle + BossAutoAttack = 24597, // Helper->player, no cast, single-target + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + ChildsPlay1 = 24612, // Boss/RedGirl1->self, 10.0s cast, single-target + Explosion = 24614, // BlackPylon->self, 15.0s cast, range 9 circle + Shockwave = 24590, // Boss->self, 2.0s cast, single-target + ShockBlack = 24593, // Helper->players, no cast, range 5 circle + GenerateBarrier1 = 24583, // Helper->self, 4.0s cast, range 12 width 3 rect + GenerateBarrier2 = 24582, // Helper->self, 4.0s cast, range 6 width 3 rect + GenerateBarrier3 = 24581, // Boss->self, 4.0s cast, single-target + GenerateBarrier4 = 25361, // Helper->self, no cast, range 12 width 3 rect + GenerateBarrier5 = 25360, // Helper->self, no cast, range 6 width 3 rect + PointWhite1 = 24607, // WhiteLance->self, no cast, range 50 width 6 rect + PointBlack1 = 24610, // BlackLance->self, no cast, range 24 width 6 rect + PointBlack2 = 24608, // BlackLance->self, no cast, range 50 width 6 rect + GenerateBarrier6 = 24585, // Helper->self, 4.0s cast, range 24 width 3 rect + GenerateBarrier7 = 25363, // Helper->self, no cast, range 24 width 3 rect + PointWhite2 = 24609, // WhiteLance->self, no cast, range 24 width 6 rect + RecreateMeteor = 24903, // Boss->self, 2.0s cast, single-target + UnknownAbility = 18683, // Ally2B->location, no cast, single-target + WipeWhite = 24588, // Helper->self, 13.0s cast, range 75 circle + WipeBlack = 24589, // Helper->self, 13.0s cast, range 75 circle + Replicate = 24587, // Boss->self, 3.0s cast, single-target + DiffuseEnergy1 = 24611, // RedGirl2->self, 5.0s cast, range 12 120-degree cone + DiffuseEnergy2 = 24662, // RedGirl2->self, no cast, range 12 ?-degree cone + ManipulateEnergy1 = 24601, // Boss->self, 4.0s cast, single-target + ManipulateEnergy2 = 24602, // Helper->player, no cast, range 3 circle + ChildsPlay2 = 24613, // Boss->self, 10.0s cast, single-target + ManipulateEnergy3 = 24600, // Boss->self, 4.0s cast, single-target +} + +public enum SID : uint +{ + TheHeatOfBattle = 365, // none->player, extra=0xA + ReducedRates = 364, // none->player, extra=0x1E + Invincibility = 1570, // none->player, extra=0x0 + Weakness = 43, // none->player, extra=0x0 + VulnerabilityUp = 1789, // player/BlackPylon/WhiteLance/BlackLance/RedGirl2->player, extra=0x1/0x2 + MeatAndMead = 360, // none->player, extra=0xA + ProperCare = 362, // none->player, extra=0x14 + BrinkOfDeath = 44, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + PayingThePiper = 1681, // none->player, extra=0x2/0x4 + UnknownStatus = 2160, // none->Ally2B, extra=0x1C94 + HelpingHand = 368, // none->player, extra=0xA + +} + +public enum IconID : uint +{ + Icon_263 = 263, // player + Icon_168 = 168, // RedGirl2 + Icon_167 = 167, // RedGirl2 + Icon_218 = 218, // player +} + +public enum TetherID : uint +{ + Tether_149 = 149, // player/RedGirl2->Boss/RedGirl1 +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2States.cs b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2States.cs new file mode 100644 index 0000000000..95524ac3b6 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2States.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A34RedGirlP2; +class A34RedGirlP2States : StateMachineBuilder +{ + public A34RedGirlP2States(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs new file mode 100644 index 0000000000..ff93bb79f4 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs @@ -0,0 +1,23 @@ +namespace BossMod.Shadowbringers.Alliance.A35XunZiMengZi; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.XunZi, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9921)] //9922 for other boss +public class A35XunZiMengZi(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(800, 800), 20)) +{ + private Actor? _mengZi; + + public Actor? XunZi() => PrimaryActor; + public Actor? MengZi() => _mengZi; + + protected override void UpdateModule() + { + // TODO: this is an ugly hack, think how multi-actor fights can be implemented without it... + // the problem is that on wipe, any actor can be deleted and recreated in the same frame + _mengZi ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.MengZi).FirstOrDefault() : null; + } + + protected override void DrawEnemies(int pcSlot, Actor pc) + { + Arena.Actor(PrimaryActor, ArenaColor.Enemy); + Arena.Actor(_mengZi, ArenaColor.Enemy); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiEnums.cs new file mode 100644 index 0000000000..a74dbae1db --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiEnums.cs @@ -0,0 +1,46 @@ +namespace BossMod.Shadowbringers.Alliance.A35XunZiMengZi; + +public enum OID : uint +{ + MengZi = 0x3196, // R15.000, x1 + XunZi = 0x3195, // R15.000, x1 + Helper = 0x233C, // R0.500, x4, 523 type + Ally2B = 0x31A8, // R0.512, x1 + Ally9S = 0x31A9, // R0.512, x1 + Energy = 0x3197, // R1.000, x24 + SerialJointedModel = 0x3199, // R2.400, x4 + SmallFlyer = 0x3198, // R1.320, x0 (spawn during fight) +} + +public enum AID : uint +{ + BladeFlurry1 = 23788, // Ally2B->XunZi, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->XunZi, no cast, single-target + DancingBlade = 23790, // Ally2B->XunZi, no cast, width 2 rect charge + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + + DeployArmaments1 = 23552, // XunZi/MengZi->self, 6.0s cast, range 50 width 18 rect + DeployArmaments2 = 23553, // MengZi->self, 7.0s cast, range 50 width 18 rect + DeployArmaments3 = 23554, // Helper->self, 6.7s cast, range 50 width 18 rect + DeployArmaments4 = 23555, // XunZi/MengZi->self, 6.0s cast, range 50 width 18 rect + DeployArmaments5 = 23556, // MengZi/XunZi->self, 7.0s cast, range 50 width 18 rect + DeployArmaments6 = 23557, // Helper->self, 7.0s cast, range 50 width 18 rect + DeployArmaments7 = 24696, // Helper->self, 7.7s cast, range 50 width 18 rect + DeployArmaments8 = 24697, // Helper->self, 8.0s cast, range 50 width 18 rect + + HighPoweredLaser = 23561, // SerialJointedModel->self, no cast, range 70 width 4 rect + UniversalAssault = 23558, // XunZi/MengZi->self, 5.0s cast, range 50 width 50 rect + LowPoweredOffensive = 23559, // SmallFlyer->self, 2.0s cast, single-target +} + +public enum SID : uint +{ + VulnerabilityUp = 1789, // Helper/SerialJointedModel->player, extra=0x1/0x2/0x3/0x4/0x5/0x6/0x7 + UnknownStatus = 2056, // none->SerialJointedModel, extra=0x87 +} + +public enum IconID : uint +{ + Icon_164 = 164, // player +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiStates.cs new file mode 100644 index 0000000000..7e7873e46d --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZiStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A35XunZiMengZi; +class A35XunZiMengZiStates : StateMachineBuilder +{ + public A35XunZiMengZiStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs new file mode 100644 index 0000000000..2da4fea016 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A36FalseIdol; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9948)] +public class A36FalseIdol(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-700, -725), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolEnums.cs new file mode 100644 index 0000000000..6659bc57dd --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolEnums.cs @@ -0,0 +1,48 @@ +namespace BossMod.Shadowbringers.Alliance.A36FalseIdol; + +public enum OID : uint +{ + Helper = 0x233C, // R0.500, x21, 523 type + Boss = 0x318D, // R26.000, x1 + Ally2B = 0x31A8, // R0.512, x1 +} + +public enum AID : uint +{ + BladeFlurry = 23788, // Ally2B->Boss/HerInflorescence, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->Boss/HerInflorescence, no cast, single-target + BossAutoAttack = 24572, // Boss->player, no cast, single-target + DancingBlade = 23790, // Ally2B->Boss, no cast, width 2 rect charge + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + ScreamingScore = 23517, // Boss->self, 5.0s cast, range 60 circle + MadeMagic1 = 23510, // Boss->self, 7.0s cast, range 50 width 30 rect + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + MadeMagic2 = 23511, // Boss->self, 7.0s cast, range 50 width 30 rect + LighterNote1 = 23512, // Boss->self, 3.0s cast, single-target + LighterNote2 = 23513, // Helper->location, no cast, range 6 circle + LighterNote3 = 23514, // Helper->location, no cast, range 6 circle + RhythmRings = 23508, // Boss->self, 3.0s cast, single-target + MagicalInterference = 23509, // Helper->self, no cast, range 50 width 10 rect + SeedOfMagic = 23518, // Boss->self, 3.0s cast, single-target + ScatteredMagic = 23519, // Helper->location, 3.0s cast, range 4 circle + DarkerNote1 = 23516, // Helper->players, 5.0s cast, range 6 circle + DarkerNote2 = 23515, // Boss->self, 5.0s cast, single-target + UnknownAbility = 18683, // Ally2B->location, no cast, single-target + Eminence = 24021, // Boss->location, 5.0s cast, range 60 circle + +} + +public enum SID : uint +{ + VulnerabilityUp = 1789, // Boss/Helper->player, extra=0x1/0x2 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + DownForTheCount = 2408, // Boss->player, extra=0xEC7 + +} + +public enum IconID : uint +{ + Icon_1 = 1, // player + Icon_139 = 139, // player +} diff --git a/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolStates.cs new file mode 100644 index 0000000000..1139b53e9d --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdolStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A36FalseIdol; +class A36FalseIdolStates : StateMachineBuilder +{ + public A36FalseIdolStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs new file mode 100644 index 0000000000..af07a30e6b --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs @@ -0,0 +1,4 @@ +namespace BossMod.Shadowbringers.Alliance.A37HerInfloresence; + +[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9949)] +public class A37HerInfloresence(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-700, -725), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceEnums.cs new file mode 100644 index 0000000000..0b70c8032c --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceEnums.cs @@ -0,0 +1,74 @@ +namespace BossMod.Shadowbringers.Alliance.A37HerInfloresence; + +public enum OID : uint +{ + Boss = 0x3190, // R5.999, x1 + Energy = 0x3192, // R1.000, x0 (spawn during fight) + RedGirl = 0x3191, // R3.450, x0 (spawn during fight) + Helper = 0x233C, // R0.500, x21, 523 type + Ally2B = 0x31A8, // R0.512, x1 +} + +public enum AID : uint +{ + BladeFlurry1 = 23788, // Ally2B->Boss, no cast, single-target + BladeFlurry2 = 23789, // Ally2B->Boss, no cast, single-target + BossAutoAttack = 24575, // Boss->player, no cast, single-target + DancingBlade = 23790, // Ally2B->Boss, no cast, width 2 rect charge + Pervasion = 23520, // Boss->self, 3.0s cast, single-target + BalancedEdge = 23791, // Ally2B->self, 2.0s cast, range 5 circle + RecreateStructure = 23521, // Boss->self, 3.0s cast, single-target + UnknownAbility1 = 18683, // Ally2B->location, no cast, single-target + UnevenFooting = 23522, // Helper->self, 1.9s cast, range 80 width 30 rect + RecreateSignal = 23523, // Boss->self, 3.0s cast, single-target + MixedSignals = 23524, // Boss->self, 3.0s cast, single-target + Crash = 23525, // Helper->self, 0.8s cast, range 50 width 10 rect + LighterNote1 = 23564, // Boss->self, 3.0s cast, single-target + LighterNote2 = 23513, // Helper->location, no cast, range 6 circle + LighterNote3 = 23514, // Helper->location, no cast, range 6 circle + ScreamingScore = 23541, // Boss->self, 5.0s cast, range 71 circle + WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect + DarkerNote1 = 23516, // Helper->player, 5.0s cast, range 6 circle + DarkerNote2 = 23562, // Boss->self, 5.0s cast, single-target + HeavyArms1 = 23535, // Helper->self, 7.0s cast, range 44 width 100 rect + HeavyArms2 = 23534, // Boss->self, 7.0s cast, single-target + HeavyArms3 = 23533, // Boss->self, 7.0s cast, range 100 width 12 rect + Distortion1 = 23529, // Boss->self, 3.0s cast, range 60 circle + TheFinalSong = 23530, // Boss->self, 3.0s cast, single-target + PlaceOfPower = 23565, // Helper->location, 3.0s cast, range 6 circle + WhiteDissonance = 23531, // Helper->self, no cast, range 60 circle + BlackDissonance = 23532, // Helper->self, no cast, range 60 circle + PillarImpact1 = 23536, // Boss->self, 10.0s cast, single-target + Shockwave1 = 23538, // Helper->self, 6.5s cast, range 71 circle + Shockwave2 = 23537, // Helper->self, 6.5s cast, range 7 circle + PillarImpact2 = 23566, // Boss->self, no cast, single-target + Towerfall1 = 23539, // Boss->self, 3.0s cast, single-target + Towerfall2 = 23540, // Helper->self, 3.0s cast, range 70 width 14 rect + UnknownAbility2 = 23526, // RedGirl->self, no cast, single-target + Distortion2 = 24664, // Boss->self, 3.0s cast, range 60 circle + ScatteredMagic = 23528, // Energy->player, no cast, single-target + UnknownAbility3 = 23527, // RedGirl->self, no cast, single-target + RhythmRings = 23563, // Boss->self, 3.0s cast, single-target + MagicalInterference = 23509, // Helper->self, no cast, range 50 width 10 rect +} + +public enum SID : uint +{ + UnknownStatus = 2056, // none->Boss, extra=0xE1 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + VulnerabilityUp = 1789, // Helper/Boss/Energy->player, extra=0x1/0x2/0x3/0x4/0x5/0x6 + BrinkOfDeath = 44, // none->player, extra=0x0 + Distorted = 2535, // Boss->player, extra=0x0 +} + +public enum IconID : uint +{ + Icon_1 = 1, // player + Icon_139 = 139, // player +} + +public enum TetherID : uint +{ + Tether_54 = 54, // Helper/Boss->Boss/Helper +} \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceStates.cs b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceStates.cs new file mode 100644 index 0000000000..90a5e768d3 --- /dev/null +++ b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresenceStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.Shadowbringers.Alliance.A37HerInfloresence; +class A37HerInfloresenceStates : StateMachineBuilder +{ + public A37HerInfloresenceStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file From 88da7d2a2a158a42c3d283ad3d48195daaf28710 Mon Sep 17 00:00:00 2001 From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com> Date: Thu, 18 Apr 2024 10:21:49 -0500 Subject: [PATCH 2/2] text fix and WIP tags --- .../Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs | 2 +- BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs | 2 +- .../Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs | 2 +- .../Alliance/A14WalkingFortress/A14WalkingFortress.cs | 2 +- .../Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs | 2 +- .../Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs | 2 +- .../Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs | 2 +- .../Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs | 2 +- .../Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs | 2 +- .../Alliance/A31KnaveofHearts/A31KnaveofHearts.cs | 2 +- .../Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs | 2 +- .../Alliance/A32HanselGretel/A32HanselGretelEnums.cs | 2 +- .../Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs | 2 +- .../Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs | 2 +- .../Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs | 2 +- .../Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs | 2 +- .../Alliance/A37HerInfloresence/A37HerInfloresence.cs | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs index 1604061385..5266d73a98 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A11CommandModel/A11CommandModel.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A11CommandModel; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9141)] //Other service models 9142 and 9155, nonservice model 9923 +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9141)] //Other service models 9142 and 9155, nonservice model 9923 public class A11CommandModel(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-500, -10), 20)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs index 16289097cb..6e11bfbf68 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A12Hobbes/A12Hobbes.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A12Hobbes; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9143)] //9144 and 9145 also listed as Hobbes +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9143)] //9144 and 9145 also listed as Hobbes public class A12Hobbes(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-805, -240), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs index 83731259e3..0e1e6d5a53 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A13MarxEngels/A13MarxEngels.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A13MarxEngels; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9147)] // 9150 Marx L, 9151 Marx R, 1952 and 1957 Marx +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9147)] // 9150 Marx L, 9151 Marx R, 1952 and 1957 Marx public class A13MarxEngels(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(900, 670), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs index 3e7eff275a..05fdbf2de5 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A14WalkingFortress/A14WalkingFortress.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A14WalkingFortress; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9153)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 700, NameID = 9153)] public class A14WalkingFortress(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(900, 425), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs index 3d0965f7c5..b4d382b262 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A21AegisUnit/A21AegisUnit.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A21AegisUnit; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9642)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9642)] public class A21AegisUnit(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-230, 190), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs index fe0f27368d..284c7f9da2 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A22FlightUnits/A22FlightUnits.cs @@ -1,7 +1,7 @@ namespace BossMod.Shadowbringers.Alliance.A22FlightUnits; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.FlightUnitALpha, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9364)] //9617 for B-eta, 9618 for C-hi +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.FlightUnitALpha, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9364)] //9617 for B-eta, 9618 for C-hi public class A22FlightUnits(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-230, -180), 30)) { private Actor? _beta; diff --git a/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs index fe61aa4e01..35929b5d50 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A23ArtilleryUnit/A23ArtilleryUnit.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A23ArtilleryUnit; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9650)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9650)] public class A23ArtilleryUnit(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, -115), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs index 784eaf3f00..9ee2dcb7b7 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A24TheCompound/A24TheCompound.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A24TheCompound; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9646)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9646)] public class A24TheCompound(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, -700), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs index 1d5cb8aa62..b1be429fd5 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A25Compound2P/A25Compound2P.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A25Compound2P; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9644)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 736, NameID = 9644)] public class A25Compound2P(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, -700), 20)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs index b2929e487c..aaab80ceb1 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A31KnaveofHearts/A31KnaveofHearts.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A31KnaveofHearts; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9955)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9955)] public class A31KnaveofHearts(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-800, -750), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs index a2ccc090ae..39ce3f7253 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretel.cs @@ -1,6 +1,6 @@ namespace BossMod.Shadowbringers.Alliance.A32HanselGretel; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.Gretel, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9990)] // 9990 is HanselGretel, 9988 is Hansel, 9989 is Gretel +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.Gretel, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9990)] // 9990 is HanselGretel, 9988 is Hansel, 9989 is Gretel public class A32HanselGretel(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-800, -950), 30)) { private Actor? _hansel; diff --git a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs index 52bd475527..9133f13fa7 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A32HanselGretel/A32HanselGretelEnums.cs @@ -25,7 +25,7 @@ public enum AID : uint Wail1 = 23671, // Hansel->self, 5.0s cast, range 50 circle CripplingBlow1 = 23672, // Boss->player, 5.0s cast, single-target WhirlingAssault = 23792, // Ally2B->self, 2.0s cast, range 40 width 4 rect - Wai2l = 23670, // Boss->self, 5.0s cast, range 50 circle + Wail2 = 23670, // Boss->self, 5.0s cast, range 50 circle CripplingBlow2 = 23673, // Hansel->player, 5.0s cast, single-target TandemAssaultBloodySweep1 = 25016, // Boss->self, 5.0s cast, single-target TandemAssaultBloodySweep2 = 25017, // Hansel->self, 5.0s cast, single-target diff --git a/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs index 462ac532ef..d2a21e655a 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A33RedGirlP1/A33RedGirlP1.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A33RedGirlP1; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9920)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9920)] public class A33RedGirlP1(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(845, -850), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs index 5631b10589..9265f54421 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A34RedGirlP2/A34RedGirlP2.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A34RedGirlP2; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9950)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9950)] public class A34RedGirlP2(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(845, -850), 20)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs index ff93bb79f4..2abff394bf 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A35XunZiMengZi/A35XunZiMengZi.cs @@ -1,6 +1,6 @@ namespace BossMod.Shadowbringers.Alliance.A35XunZiMengZi; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.XunZi, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9921)] //9922 for other boss +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.XunZi, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9921)] //9922 for other boss public class A35XunZiMengZi(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(800, 800), 20)) { private Actor? _mengZi; diff --git a/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs index 2da4fea016..cec06a7938 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A36FalseIdol/A36FalseIdol.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A36FalseIdol; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9948)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9948)] public class A36FalseIdol(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-700, -725), 30)); \ No newline at end of file diff --git a/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs index af07a30e6b..cfd4d7b78c 100644 --- a/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs +++ b/BossMod/Modules/Shadowbringers/Alliance/A37HerInfloresence/A37HerInfloresence.cs @@ -1,4 +1,4 @@ namespace BossMod.Shadowbringers.Alliance.A37HerInfloresence; -[ModuleInfo(BossModuleInfo.Maturity.Contributed, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9949)] +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 779, NameID = 9949)] public class A37HerInfloresence(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-700, -725), 30)); \ No newline at end of file