diff --git a/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragon.cs b/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragon.cs new file mode 100644 index 0000000000..bf09134247 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragon.cs @@ -0,0 +1,12 @@ +namespace BossMod.RealmReborn.Alliance.A11BoneDragon; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 92, NameID = 706)] +public class A11BoneDragon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-450, 20), 20)) +{ + protected override void DrawEnemies(int pcSlot, Actor pc) + { + Arena.Actors(Enemies(OID.Boss), ArenaColor.Enemy); + Arena.Actors(Enemies(OID.Platinal), ArenaColor.Enemy); + Arena.Actors(Enemies(OID.RottingEye), ArenaColor.Enemy); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragonEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragonEnums.cs new file mode 100644 index 0000000000..6d8ada96b4 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragonEnums.cs @@ -0,0 +1,25 @@ +namespace BossMod.RealmReborn.Alliance.A11BoneDragon; +public enum OID : uint +{ + Boss = 0x92B, // R5.000, x? + BoneDragonHelper = 0x92C, // R0.500, x? + Platinal = 0x92D, // R1.000, x? + RottingEye = 0x982, // R1.800, x? + Actor1e8882 = 0x1E8882, // R0.500, x?, EventObj type + Actor1e8881 = 0x1E8881, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack = 1461, // Boss/Platinal->player, no cast, single-target + DarkWave = 736, // Boss->self, no cast, range 6+R circle + DarkThorn = 745, // Boss->location, no cast, range 6 circle + MiasmaBreath = 735, // Boss->self, no cast, range 8+R ?-degree cone + HellSlash = 341, // Platinal->player, no cast, single-target +} + +public enum SID : uint +{ + Disease = 181, // Boss->player, extra=0x28 + +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragonStates.cs b/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragonStates.cs new file mode 100644 index 0000000000..c6c71081d1 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A11BoneDragon/A11BoneDragonStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A11BoneDragon; +class A11BoneDragonStates : StateMachineBuilder +{ + public A11BoneDragonStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12Thanatos.cs b/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12Thanatos.cs new file mode 100644 index 0000000000..e051b9fabc --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12Thanatos.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A12Thanatos; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 92, NameID = 710)] +public class A12Thanatos(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(440, 280), 30)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12ThanatosEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12ThanatosEnums.cs new file mode 100644 index 0000000000..169a2f016e --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12ThanatosEnums.cs @@ -0,0 +1,40 @@ +namespace BossMod.RealmReborn.Alliance.A12Thanatos; +public enum OID : uint +{ + Boss = 0x92E, // R3.000, x? + ThanatosHelper = 0x92F, // R0.500, x? + MagicPot = 0x931, // R0.800, x? + Nemesis = 0x930, // R2.000, x? + Sandman = 0x983, // R1.800, x? + Actor1e8887 = 0x1E8887, // R2.000, x?, EventObj type + Actor1e8888 = 0x1E8888, // R0.500, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack = 1461, // Boss/Nemesis->player, no cast, single-target + BlightedGloom = 759, // Boss->self, no cast, range 10+R circle + BlackCloud = 758, // Boss->location, no cast, range 6 circle + Cloudscourge = 760, // ThanatosHelper->location, 3.0s cast, range 6 circle + CrepusculeBlade = 762, // Boss->self, 3.0s cast, range 8+R ?-degree cone + Knout = 763, // Boss->self, no cast, single-target + + VoidFireII = 1829, // Nemesis->location, 3.0s cast, range 5 circle + Attack = 1459, // Sandman->MagicPot, no cast, single-target + TerrorTouch = 1661, // Sandman->MagicPot, no cast, single-target + AstralLight = 1759, // MagicPot->self, 3.0s cast, range 6+R circle +} + +public enum SID : uint +{ + AstralRealignment = 398, // none->player, extra=0x0 + Leaden = 67, // none->MagicPot, extra=0x50 + +} + +public enum TetherID : uint +{ + Tether_17 = 17, // Sandman->MagicPot + Tether_15 = 15, // MagicPot->Boss + Tether_4 = 4, // player->MagicPot +} diff --git a/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12ThanatosStates.cs b/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12ThanatosStates.cs new file mode 100644 index 0000000000..b36b5baa3f --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A12Thanatos/A12ThanatosStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A12Thanatos; +class A12ThanatosStates : StateMachineBuilder +{ + public A12ThanatosStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemoth.cs b/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemoth.cs new file mode 100644 index 0000000000..2184e864ea --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemoth.cs @@ -0,0 +1,12 @@ +namespace BossMod.RealmReborn.Alliance.A13KingBehemoth; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 92, NameID = 727)] +public class A13KingBehemoth(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-110, -380), 35)) +{ + protected override void DrawEnemies(int pcSlot, Actor pc) + { + Arena.Actors(Enemies(OID.Boss), ArenaColor.Enemy); + Arena.Actors(Enemies(OID.IronGiant), ArenaColor.Enemy); + Arena.Actors(Enemies(OID.Puroboros), ArenaColor.Enemy); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemothEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemothEnums.cs new file mode 100644 index 0000000000..81881925f5 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemothEnums.cs @@ -0,0 +1,39 @@ +namespace BossMod.RealmReborn.Alliance.A13KingBehemoth; +public enum OID : uint +{ + Boss = 0x932, // R8.700, x? + KingBehemothHelper = 0x933, // R0.500, x? + KingBehemothHelper2 = 0x98C, // R1.000, x0 (spawn during fight) + IronGiant = 0x935, // R3.000, x? + Puroboros = 0x934, // R2.400, x? + Comet = 0x936, // R2.400, x? + AllaganEnergyTower = 0x937, // R1.000, x?= + EnergyTowerConsole1 = 0x1E888F, // R0.500, x?, EventObj type + EnergyTowerConsole2 = 0x1E888E, // R0.500, x?, EventObj type + EnergyTowerConsole3 = 0x1E8890, // R0.500, x?, EventObj type + EnergyTowerConsole4 = 0x1E8891, // R0.500, x?, EventObj type + Actor1e888d = 0x1E888D, // R0.500, x?, EventObj type + Actor1e888c = 0x1E888C, // R2.000, x?, EventObj type + Actor1e8f85 = 0x1E8F85, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack = 1461, // Boss/IronGiant->player, no cast, single-target + Comet = 768, // Comet->self, no cast, range 4 circle + GrandSword = 1785, // IronGiant->self, no cast, range 12+R 120-degree cone + MagitekRay = 1787, // IronGiant->location, no cast, range 6 circle + EclipticMeteor = 1756, // Boss->self, 10.0s cast, ??? + CosmicShrapnel = 769, // Comet->self, no cast, range 8 circle + SelfDestruct = 1789, // Puroboros->self, 3.0s cast, range 6+R circle + Charybdis1 = 1751, // Boss->location, 3.0s cast, range 6 circle + Charybdis2 = 1752, // KingBehemothHelper2->location, no cast, range 6 circle + +} + +public enum SID : uint +{ + Electrocution = 288, // none->player, extra=0x0 + Burns = 267, // IronGiant->Comet/player, extra=0x0 + +} diff --git a/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemothStates.cs b/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemothStates.cs new file mode 100644 index 0000000000..aba6ea8b33 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A13KingBehemoth/A13KingBehemothStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A13KingBehemoth; +class A13KingBehemothStates : StateMachineBuilder +{ + public A13KingBehemothStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14Phlegethon.cs b/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14Phlegethon.cs new file mode 100644 index 0000000000..17a99fe729 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14Phlegethon.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A14Phlegethon; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 92, NameID = 732)] +public class A14Phlegethon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-110, 180), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14PhlegethonEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14PhlegethonEnums.cs new file mode 100644 index 0000000000..c581be36b3 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14PhlegethonEnums.cs @@ -0,0 +1,67 @@ +namespace BossMod.RealmReborn.Alliance.A14Phlegethon; +public enum OID : uint +{ + Boss = 0x938, // R5.000, x? + PhlegethonHelper = 0x939, // R0.500, x? + IronClaws = 0x93A, // R2.000, x? + IronGiant = 0x984, // R3.000, x? + Actor1e8f87 = 0x1E8F87, // R2.000, x?, EventObj type + Actor1e8f6a = 0x1E8F6A, // R2.000, x?, EventObj type + Actor1e8885 = 0x1E8885, // R2.000, x?, EventObj type + Actor1e8f88 = 0x1E8F88, // R2.000, x?, EventObj type + Actor1e8892 = 0x1E8892, // R2.000, x?, EventObj type + Actor1e8f8a = 0x1E8F8A, // R0.500, x?, EventObj type + Actor1e8f94 = 0x1E8F94, // R0.500, x?, EventObj type + Actor1e8f91 = 0x1E8F91, // R0.500, x?, EventObj type + Actor1e8f95 = 0x1E8F95, // R2.000, x?, EventObj type + Actor1e8f92 = 0x1E8F92, // R0.500, x?, EventObj type + Actor1e8f93 = 0x1E8F93, // R0.500, x?, EventObj type + Actor1e8f90 = 0x1E8F90, // R0.500, x?, EventObj type + Actor1e8f89 = 0x1E8F89, // R2.000, x?, EventObj type + Actor1e8894 = 0x1E8894, // R2.000, x?, EventObj type + Actor1e9162 = 0x1E9162, // R0.500, x?, EventObj type + Actor1e8893 = 0x1E8893, // R0.500, x?, EventObj type + Actor1e8f96 = 0x1E8F96, // R2.000, x?, EventObj type + Actor1e8f69 = 0x1E8F69, // R2.000, x?, EventObj type + Actor1e8f6b = 0x1E8F6B, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack1 = 1461, // Boss/IronGiant->player, no cast, single-target + + GreatDivide = 1725, // Boss->self, no cast, range 5+R width 8 rect + + VacuumSlash1 = 1733, // Boss->self, 3.0s cast, single-target + VacuumSlash2 = 1736, // PhlegethonHelper->self, 3.0s cast, range 80+R ?-degree cone + MoonfallSlash = 1780, // Boss->self, 3.0s cast, range 10+R 120-degree cone + + AbyssalSlash1 = 1734, // Boss->self, 3.0s cast, single-target + AbyssalSlash2 = 1737, // PhlegethonHelper->self, 3.0s cast, range 7+R ?-degree cone + AbyssalSlash3 = 1739, // PhlegethonHelper->self, 3.0s cast, range 17+R ?-degree cone + AbyssalSlash4 = 1738, // PhlegethonHelper->self, 3.0s cast, range 12+R ?-degree cone + + MegiddoFlame1 = 1735, // Boss->self, 3.0s cast, single-target + MegiddoFlame2 = 1741, // PhlegethonHelper->location, 3.0s cast, range 3 circle + MegiddoFlame3 = 1742, // PhlegethonHelper->location, 3.0s cast, range 4 circle + MegiddoFlame4 = 1743, // PhlegethonHelper->location, 3.0s cast, range 5 circle + MegiddoFlame5 = 1744, // PhlegethonHelper->location, 3.0s cast, range 6 circle + + AncientFlare1 = 1730, // Boss->self, 7.0s cast, single-target + AncientFlare2 = 1748, // Boss->self, no cast, ??? + + Quake = 1745, // Boss->self, no cast, ??? + QuakeIII = 1732, // Boss->self, 1.0s cast, ??? + + GrandSword = 1785, // IronGiant->self, no cast, range 12+R 120-degree cone + DeathGrip = 610, // IronClaws->player, no cast, single-target + AutoAttack2 = 1459, // IronClaws->player, no cast, single-target +} + +public enum SID : uint +{ + Invincibility = 1570, // none->player, extra=0x0 + Seized = 3697, // IronClaws->player, extra=0x0 + Burns = 284, // none->player, extra=0x0 + +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14PhlegethonStates.cs b/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14PhlegethonStates.cs new file mode 100644 index 0000000000..56e32fa167 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A14Phlegethon/A14PhlegethonStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A14Phlegethon; +class A14PhlegethonStates : StateMachineBuilder +{ + public A14PhlegethonStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21Scylla.cs b/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21Scylla.cs new file mode 100644 index 0000000000..dc7088049b --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21Scylla.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A21Scylla; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 102, NameID = 2809)] +public class A21Scylla(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -192), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21ScyllaEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21ScyllaEnums.cs new file mode 100644 index 0000000000..6944a3a6a3 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21ScyllaEnums.cs @@ -0,0 +1,67 @@ +namespace BossMod.RealmReborn.Alliance.A21Scylla; +public enum OID : uint +{ + Boss = 0xBC1, // R3.750, x? + ShudderingSoul = 0xBC6, // R1.000, x? + StaffOfEldering = 0xBC2, // R1.000, x? + ShiveringSoul = 0xBC4, // R1.000, x? + SmolderingSoul = 0xBC5, // R1.000, x? + Gomory = 0xBCD, // R0.900, x? + Acheron = 0xBCE, // R2.500, x? + Actor1b2 = 0x1B2, // R0.500, x?, 523 type + Actor1e950c = 0x1E950C, // R2.000, x?, EventObj type + Actor1e94c7 = 0x1E94C7, // R2.000, x?, EventObj type + Actor1e951c = 0x1E951C, // R2.000, x?, EventObj type + Actor1e9517 = 0x1E9517, // R2.000, x?, EventObj type + Actor1e9518 = 0x1E9518, // R2.000, x?, EventObj type + Actor1e951b = 0x1E951B, // R2.000, x?, EventObj type + Actor1e9516 = 0x1E9516, // R2.000, x?, EventObj type + Actor1e951d = 0x1E951D, // R2.000, x?, EventObj type + Actor1e951a = 0x1E951A, // R2.000, x?, EventObj type + Actor1e94d3 = 0x1E94D3, // R2.000, x?, EventObj type + Actor1e9515 = 0x1E9515, // R2.000, x?, EventObj type + Actor1e950d = 0x1E950D, // R0.500, x?, EventObj type + Actor1e94cd = 0x1E94CD, // R2.000, x?, EventObj type + Actor1e94d0 = 0x1E94D0, // R2.000, x?, EventObj type + Actor1e94ca = 0x1E94CA, // R2.000, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type + Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type + +} + +public enum AID : uint +{ + AutoAttack = 872, // Boss->player, no cast, single-target + Topple = 2321, // Boss->self, 3.0s cast, range 3+R circle + Unholy = 2319, // Boss->location, no cast, range 81 circle + Firewalker = 2329, // Boss->self, no cast, range 5+R ?-degree cone + Shudder = 2324, // ShudderingSoul->self, no cast, range 81 circle + SearingChain = 2330, // StaffOfEldering->self, 3.0s cast, range 60+R width 4 rect + InfiniteAnguish = 2331, // StaffOfEldering->self, 3.0s cast, range 12 circle + Shiver = 2323, // ShiveringSoul->self, no cast, ??? + Smolder = 2322, // SmolderingSoul->self, no cast, range 2+R circle + AncientFlare = 2317, // Boss->self, 10.0s cast, range 81 circle +} + +public enum SID : uint +{ + Invincibility = 1570, // none->player, extra=0x0 + Heavy = 14, // none->ShiveringSoul, extra=0x32 + DeepFreeze = 487, // ShiveringSoul->player, extra=0x1 + FireResistanceUp = 520, // none->player, extra=0x0 + +} + +public enum IconID : uint +{ + Icon_24 = 24, // player + Icon_26 = 26, // player + Icon_25 = 25, // player +} + +public enum TetherID : uint +{ + Tether_6 = 6, // ShudderingSoul->player + Tether_8 = 8, // ShiveringSoul->player + Tether_5 = 5, // SmolderingSoul->player +} diff --git a/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21ScyllaStates.cs b/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21ScyllaStates.cs new file mode 100644 index 0000000000..36e84573a4 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A21Scylla/A21ScyllaStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A21Scylla; +class A21ScyllaStates : StateMachineBuilder +{ + public A21ScyllaStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22Glasya.cs b/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22Glasya.cs new file mode 100644 index 0000000000..e5d27f38a3 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22Glasya.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A22Glasya; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 102, NameID = 2815)] +public class A22Glasya(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -200), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22GlasyaEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22GlasyaEnums.cs new file mode 100644 index 0000000000..575c5d6a1a --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22GlasyaEnums.cs @@ -0,0 +1,48 @@ +namespace BossMod.RealmReborn.Alliance.A22Glasya; +public enum OID : uint +{ + Boss = 0xBD7, // R4.000, x? + GlasyaLabolasHelper = 0x1B2, // R0.500, x?, 523 type + ClockworkWright = 0xBD9, // R0.600, x? + Azer = 0xBD3, // R1.560, x? + RedDragon1 = 0xBD2, // R7.000, x? + RedDragon2 = 0xBD1, // R7.000, x? + Actor1e963c = 0x1E963C, // R0.500, x?, EventObj type + Actor1e94c7 = 0x1E94C7, // R2.000, x?, EventObj type + Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type + Actor1e9515 = 0x1E9515, // R2.000, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type + Actor1e951c = 0x1E951C, // R2.000, x?, EventObj type + Actor1e9517 = 0x1E9517, // R2.000, x?, EventObj type + Actor1e9518 = 0x1E9518, // R2.000, x?, EventObj type + Actor1e951b = 0x1E951B, // R2.000, x?, EventObj type + Actor1e9516 = 0x1E9516, // R2.000, x?, EventObj type + Actor1e951d = 0x1E951D, // R2.000, x?, EventObj type + Actor1e951a = 0x1E951A, // R2.000, x?, EventObj type + Actor1e950c = 0x1E950C, // R2.000, x?, EventObj type + Actor1e94d3 = 0x1E94D3, // R2.000, x?, EventObj type + Actor1e94cd = 0x1E94CD, // R2.000, x?, EventObj type + Actor1e94d0 = 0x1E94D0, // R2.000, x?, EventObj type + Actor1e94ca = 0x1E94CA, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttackk = 872, // Boss->player, no cast, single-target + AstralPunch = 2346, // Boss->self, no cast, range 8+R 90-degree cone + Aura = 2348, // GlasyaLabolasHelper->location, 3.5s cast, range 8 circle + VileUtterance = 2353, // Boss->self, 3.0s cast, range 60+R ?-degree cone + BloodMoon = 2349, // Boss->self, no cast, range 60 circle +} + +public enum SID : uint +{ + Invincibility = 1570, // none->player, extra=0x0 + Fetters = 510, // none->player, extra=0x0 + Electrocution = 288, // none->player, extra=0x0 +} + +public enum TetherID : uint +{ + Tether_22 = 22, // ClockworkWright->Boss +} diff --git a/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22GlasyaStates.cs b/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22GlasyaStates.cs new file mode 100644 index 0000000000..3aa7d02c35 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A22Glasya/A22GlasyaStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A22Glasya; +class A22GlasyaStates : StateMachineBuilder +{ + public A22GlasyaStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23Amon.cs b/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23Amon.cs new file mode 100644 index 0000000000..e71e5f94d2 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23Amon.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A23Amon; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 102, NameID = 2821)] +public class A23Amon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -200), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23AmonEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23AmonEnums.cs new file mode 100644 index 0000000000..f543962408 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23AmonEnums.cs @@ -0,0 +1,73 @@ +namespace BossMod.RealmReborn.Alliance.A23Amon; +public enum OID : uint +{ + Boss = 0xBE0, // R4.000, x? + AmonHelper = 0x1B2, // R0.500, x? + KumKum = 0xBE7, // R1.000-2.000, x? + IceCage = 0xBE1, // R1.800, x? + Kichiknebik = 0xBE6, // R1.200-2.400, x? + DimensionalCompression = 0xBE2, // R1.000, x? + ExperimentalByProduct66 = 0xBE4, // R1.000, x? + ExperimentalByProduct33 = 0xBE3, // R0.500-1.000, x? + Actor1e94d3 = 0x1E94D3, // R2.000, x?, EventObj type + Actor1e94cd = 0x1E94CD, // R2.000, x?, EventObj type + Actor1e94d0 = 0x1E94D0, // R2.000, x?, EventObj type + Actor1e94c7 = 0x1E94C7, // R2.000, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type + Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type + Actor1e9612 = 0x1E9612, // R0.500, x?, EventObj type + Actor1e9519 = 0x1E9519, // R0.500, x?, EventObj type + Actor1e951c = 0x1E951C, // R2.000, x?, EventObj type + Actor1e9517 = 0x1E9517, // R2.000, x?, EventObj type + Actor1e9518 = 0x1E9518, // R2.000, x?, EventObj type + Actor1e951b = 0x1E951B, // R2.000, x?, EventObj type + Actor1e9516 = 0x1E9516, // R2.000, x?, EventObj type + Actor1e951d = 0x1E951D, // R2.000, x?, EventObj type + Actor1e951a = 0x1E951A, // R2.000, x?, EventObj type + Actor1e950c = 0x1E950C, // R2.000, x?, EventObj type + Actor1e9515 = 0x1E9515, // R2.000, x?, EventObj type + Actor1e94ca = 0x1E94CA, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack1k = 872, // Boss->player, no cast, single-target + Coloratura = 2379, // Boss->self, no cast, range 8+R ?-degree cone + BlizzagaForte = 2382, // Boss->self, 3.0s cast, range 6+R circle + Darkness = 1875, // KumKum->self, 1.0s cast, range 6+R ?-degree cone + FiragaForte = 2380, // Boss->self, no cast, range 60 circle + Mini = 2371, // DimensionalCompression->player/ExperimentalByProduct33/KumKum/Kichiknebik, no cast, single-target + RanineComedy = 2386, // Boss->self, no cast, ??? + TheLastSong = 2374, // ExperimentalByProduct33->self, no cast, range 60 circle + MidwinterTragedy = 2385, // Boss->self, no cast, ??? + AutoAttack2 = 870, // Kichiknebik->player, no cast, single-target + CurtainCall = 2441, // Boss->self, 15.0s cast, ??? + TheLastBout = 2372, // ExperimentalByProduct66->self, no cast, range 60 circle + ThundagaForte1 = 2384, // AmonHelper->location, 3.5s cast, range 6 circle + ThundagaForte2 = 2383, // Boss->location, 3.5s cast, range 6 circle + +} + +public enum SID : uint +{ + Invincibility = 1570, // none->player, extra=0x0 + Heavy = 14, // Boss->player, extra=0x32 + Minimum = 438, // DimensionalCompression->player/ExperimentalByProduct33/KumKum/Kichiknebik, extra=0x32 + FireToad = 511, // Boss->player, extra=0x2 + Silence = 7, // ExperimentalByProduct33->player, extra=0x0 + DeepFreeze = 487, // Boss->player, extra=0x1 + Pacification = 6, // ExperimentalByProduct66->player, extra=0x0 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 +} + +public enum IconID : uint +{ + Icon_27 = 27, // player + Icon_3 = 3, // player +} + +public enum TetherID : uint +{ + Tether_1 = 1, // DimensionalCompression->player +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23AmonStates.cs b/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23AmonStates.cs new file mode 100644 index 0000000000..00fd1f439d --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A23Amon/A23AmonStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A23Amon; +class A23AmonStates : StateMachineBuilder +{ + public A23AmonStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24Xande.cs b/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24Xande.cs new file mode 100644 index 0000000000..93c5f288df --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24Xande.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A24Xande; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 102, NameID = 2824)] +public class A24Xande(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-288, -3), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24XandeEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24XandeEnums.cs new file mode 100644 index 0000000000..1957588a25 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24XandeEnums.cs @@ -0,0 +1,49 @@ +namespace BossMod.RealmReborn.Alliance.A24Xande; +public enum OID : uint +{ + Boss = 0xBDB, // R4.000, x? + XandeHelper = 0x19A, // R0.500, x?, 523 type + AetherialMine = 0xBDF, // R1.000, x? + StonefallCircle = 0xBDD, // R1.000, x? + StarfallCircle = 0xBDC, // R1.000, x? + Actor1e9582 = 0x1E9582, // R0.500, x?, EventObj type + Actor1e9547 = 0x1E9547, // R2.000, x?, EventObj type + Actor1e9548 = 0x1E9548, // R2.000, x?, EventObj type + Actor1e9545 = 0x1E9545, // R2.000, x?, EventObj type + Actor1e9583 = 0x1E9583, // R0.500, x?, EventObj type + Actor1e9514 = 0x1E9514, // R2.000, x?, EventObj type + Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type + Actor1e9513 = 0x1E9513, // R2.000, x?, EventObj type + Actor1e9544 = 0x1E9544, // R2.000, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type + Actor1e9546 = 0x1E9546, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack = 872, // Boss->player, no cast, single-target + DoubleAxeHandle = 2354, // Boss->player, no cast, single-target + KnucklePress = 2355, // Boss->self, 3.0s cast, range 6+R circle + BurningRave1 = 2357, // XandeHelper->location, 3.5s cast, range 8 circle + BurningRave2 = 2356, // Boss->location, 3.5s cast, range 8 circle + AncientQuake = 2359, // Boss->self, no cast, ??? + AetherochemicalExplosion = 2366, // AetherialMine->self, no cast, range 3 circle + AetherochemicalReaction = 2365, // AetherialMine->self, no cast, range 60+R circle + Imperium = 2367, // XandeHelper->location, no cast, range 6 circle + AncientQuaga = 2361, // Boss->self, 5.0s cast, ??? + AuraCannon = 2358, // Boss->self, 3.0s cast, range 60+R width 10 rect +} + +public enum SID : uint +{ + Weakness = 43, // none->player, extra=0x0 + Invincibility = 1570, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + Levitation = 12, // none->player, extra=0x0 + +} + +public enum IconID : uint +{ + Icon_317 = 317, // player +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24XandeStates.cs b/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24XandeStates.cs new file mode 100644 index 0000000000..6d400ecca7 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A24Xande/A24XandeStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A24Xande; +class A24XandeStates : StateMachineBuilder +{ + public A24XandeStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyu.cs b/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyu.cs new file mode 100644 index 0000000000..45f1f18da5 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyu.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A31AngraMainyu; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 111, NameID = 3231)] +public class A31AngraMainyu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-145, 300), 35)); diff --git a/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyuEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyuEnums.cs new file mode 100644 index 0000000000..4641341dde --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyuEnums.cs @@ -0,0 +1,71 @@ +namespace BossMod.RealmReborn.Alliance.A31AngraMainyu; +public enum OID : uint +{ + + Boss = 0xE00, // R3.200, x? + AngraMainyuHelper = 0x1B2, // R0.500, x?, 523 type + FinalHourglass = 0xE02, // R1.500, x? + GrimReaper = 0xE01, // R2.000, x? + AngraMainyusDaewa = 0xE4E, // R1.800, x? + WormholeGenerator = 0x1E96F3, // R2.000, x?, EventObj type + Actor1e9714 = 0x1E9714, // R2.000, x?, EventObj type + Actor1e96ff = 0x1E96FF, // R2.000, x?, EventObj type + Actor1e9713 = 0x1E9713, // R2.000, x?, EventObj type + Actor1e9822 = 0x1E9822, // R2.000, x?, EventObj type + Actor1e9712 = 0x1E9712, // R2.000, x?, EventObj type + Actor1e9710 = 0x1E9710, // R2.000, x?, EventObj type + Actor1e9726 = 0x1E9726, // R2.000, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type + Actor1e970e = 0x1E970E, // R2.000, x?, EventObj type + Actor1e8f2f = 0x1E8F2F, // R0.500, x?, EventObj type + Actor1e9727 = 0x1E9727, // R2.000, x?, EventObj type + Actor1e970f = 0x1E970F, // R2.000, x?, EventObj type + Actor1e970d = 0x1E970D, // R2.000, x?, EventObj type + Actor1e9728 = 0x1E9728, // R2.000, x?, EventObj type + Actor1e9711 = 0x1E9711, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack = 3508, // Boss->player, no cast, single-target + DoubleVision = 3272, // Boss->self, 2.5s cast, range 60 circle + IrefulGaze = 3274, // AngraMainyuHelper->self, no cast, ??? + SullenGaze = 3273, // AngraMainyuHelper->self, no cast, ??? + Stare = 3280, // Boss->self, no cast, range 60+R width 8 rect + Level100Flare1 = 3275, // Boss->location, 4.5s cast, ??? + Level100Flare2 = 3276, // AngraMainyuHelper->player, no cast, ??? + MortalGaze1 = 3281, // Boss->self, 3.0s cast, range 60 circle + MortalGaze2 = 3499, // AngraMainyuHelper->self, 4.5s cast, range 60 circle + Death = 3279, // GrimReaper->self, no cast, ??? + Thunder = 968, // AngraMainyusDaewa->player, 1.0s cast, single-target + Paralyze = 1118, // AngraMainyusDaewa->player, 4.0s cast, single-target + Level150Death1 = 3277, // Boss->location, 4.5s cast, ??? + Level150Death2 = 3278, // AngraMainyuHelper->player, no cast, ??? + EyesOnMe = 3358, // AngraMainyusDaewa->self, 4.0s cast, range 30+R circle +} + +public enum SID : uint +{ + BrandOfTheIreful = 637, // AngraMainyuHelper->player, extra=0x1/0x2 + BrandOfTheSullen = 636, // AngraMainyuHelper->player, extra=0x1 + Bind = 280, // none->player, extra=0x0 + Doom = 210, // AngraMainyuHelper->player, extra=0x0 + Stun = 149, // none->player, extra=0x0 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + Paralysis = 17, // AngraMainyusDaewa->player, extra=0x0 + BrinkOfDeath = 44, // none->player, extra=0x0 + Suppuration = 375, // AngraMainyuHelper->player, extra=0x1 +} + +public enum IconID : uint +{ + Icon_44 = 44, // player + Icon_45 = 45, // player +} + +public enum TetherID : uint +{ + Tether_5 = 5, // player->player + Tether_1 = 1, // player->player +} diff --git a/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyuStates.cs b/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyuStates.cs new file mode 100644 index 0000000000..f205a3b847 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A31AngraMainyu/A31AngraMainyuStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A31AngraMainyu; +class A31AngraMainyuStates : StateMachineBuilder +{ + public A31AngraMainyuStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragon.cs b/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragon.cs new file mode 100644 index 0000000000..ad34d027fa --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragon.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A32FiveheadedDragon; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 111, NameID = 3227)] +public class A32FiveheadedDragon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(200, 180), 35)); diff --git a/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragonEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragonEnums.cs new file mode 100644 index 0000000000..3a0c39254a --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragonEnums.cs @@ -0,0 +1,86 @@ +namespace BossMod.RealmReborn.Alliance.A32FiveheadedDragon; +public enum OID : uint +{ + Boss = 0xDFC, // R8.000, x? + FiveHeadedDragonHelper = 0x1B2, // R0.500, x?, 523 type + HeadOfFire = 0xE13, // R8.000, x?, Part type + HeadOfPoison = 0xE16, // R8.000, x?, Part type + HeadOfThunder = 0xE15, // R8.000, x?, Part type + HeadOfIce = 0xE14, // R8.000, x?, Part type + Prominence = 0xDFD, // R1.000, x? + PoisonSlime = 0xDFF, // R1.000, x? + ToxicSlime = 0xE17, // R3.000, x? + DragonfireFly = 0xDFE, // R0.800, x? + Actor1e9705 = 0x1E9705, // R2.000, x?, EventObj type + Actor1e9706 = 0x1E9706, // R2.000, x?, EventObj type + Actor1e96fa = 0x1E96FA, // R2.000, x?, EventObj type + Actor1e9704 = 0x1E9704, // R2.000, x?, EventObj type + Actor1e970a = 0x1E970A, // R2.000, x?, EventObj type + Actor1e9702 = 0x1E9702, // R2.000, x?, EventObj type + Actor1e9707 = 0x1E9707, // R2.000, x?, EventObj type + Actor1e970b = 0x1E970B, // R2.000, x?, EventObj type + Actor1e9708 = 0x1E9708, // R2.000, x?, EventObj type + Actor1e9703 = 0x1E9703, // R2.000, x?, EventObj type + Actor1e8f2f = 0x1E8F2F, // R0.500, x?, EventObj type + Actor1e981a = 0x1E981A, // R0.500, x?, EventObj type + Actor1e972c = 0x1E972C, // R0.500, x?, EventObj type + Actor1e9729 = 0x1E9729, // R0.500, x?, EventObj type + Actor1e972a = 0x1E972A, // R0.500, x?, EventObj type + Actor1e972b = 0x1E972B, // R0.500, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack1 = 3355, // Boss->players, no cast, range 6+R ?-degree cone + WhiteBreath = 3295, // Boss->self, 3.5s cast, range 22+R 120-degree cone + BreathOfFire = 3285, // FiveHeadedDragonHelper->location, 3.0s cast, range 6 circle + Fireball = 3290, // DragonfireFly->player, no cast, single-target + BreathOfThunder = 3287, // FiveHeadedDragonHelper->players, no cast, range 6 circle + Discordance = 3282, // Boss->self, 5.0s cast, range 60 circle + BreathOfLight = 3284, // FiveHeadedDragonHelper->location, 3.0s cast, range 6 circle + BreathOfPoison = 3288, // FiveHeadedDragonHelper->location, 3.0s cast, range 6 circle + AutoAttack2 = 872, // PoisonSlime/ToxicSlime->player, no cast, single-target + Seep = 3291, // PoisonSlime->self, no cast, range 10 circle + Digest = 724, // ToxicSlime->player, no cast, single-target + BreathOfIce = 3286, // FiveHeadedDragonHelper->location, 3.0s cast, range 6 circle + TheLastSong = 2376, // ToxicSlime->self, no cast, range 60 circle + Fermata = 3283, // Boss->location, no cast, range 20 circle + Radiance = 3289, // Prominence->self, 10.0s cast, range 60 circle + FluidSpread = 725, // ToxicSlime->player, no cast, single-target + HeatWave = 3294, // Boss->self, 1.5s cast, range 60 circle +} + +public enum SID : uint +{ + Invincibility = 1570, // none->player, extra=0x0 + Infirmity = 172, // Boss->player, extra=0x0 + Prey1 = 420, // none->player, extra=0x0 + Prey2 = 664, // none->player, extra=0x0 + SlipperyPrey1 = 475, // none->player, extra=0x0 + SlipperyPrey2 = 665, // none->player, extra=0x0 + Suppuration = 375, // DragonfireFly->player, extra=0x1/0x2 + Haste = 480, // none->FiveHeadedDragonHelper/Boss, extra=0x1/0x2/0x3/0x4 + VulnerabilityUp = 202, // FiveHeadedDragonHelper/Boss->player, extra=0x1 + Pollen = 19, // none->player, extra=0x0 + PoisonResistanceUp = 640, // PoisonSlime->player, extra=0x0 + Silence = 7, // ToxicSlime->player, extra=0x0 + DeepFreeze = 487, // none->player, extra=0x1 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + Heavy = 14, // FiveHeadedDragonHelper->player, extra=0x32 + Poison = 18, // ToxicSlime/FiveHeadedDragonHelper->player, extra=0x0 + MeatAndMead = 360, // none->player, extra=0xA + Pyretic = 639, // Boss->player, extra=0x0 +} + +public enum IconID : uint +{ + Icon_318 = 318, // player + Icon_46 = 46, // player +} + +public enum TetherID : uint +{ + Tether_5 = 5, // DragonfireFly->player +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragonStates.cs b/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragonStates.cs new file mode 100644 index 0000000000..043f4988c5 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A32FiveheadedDragon/A32FiveheadedDragonStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A32FiveheadedDragon; +class A32FiveheadedDragonStates : StateMachineBuilder +{ + public A32FiveheadedDragonStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33Cerberus.cs b/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33Cerberus.cs new file mode 100644 index 0000000000..cc60d73db1 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33Cerberus.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A33Cerberus; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 111, NameID = 3224)] +public class A33Cerberus(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -210), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33CerberusEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33CerberusEnums.cs new file mode 100644 index 0000000000..aef03cb278 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33CerberusEnums.cs @@ -0,0 +1,80 @@ +namespace BossMod.RealmReborn.Alliance.A33Cerberus; +public enum OID : uint +{ + Boss = 0xDF6, // R10.800, x? + CerberusHelper1 = 0x1B2, // R0.500, x?, 523 type + CerberusHelper2 = 0x8EE, // R0.500, x?, mixed types + CerberusHelper3 = 0x19A, // R0.500, x? + GastricJuice = 0xDF9, // R1.000, x? + StomachWall = 0xDFA, // R1.500, x? + Wolfsbane = 0xDF8, // R0.800, x? + Unknown = 0xDF7, // R1.800, x? + Electron = 0xDFB, // R1.000, x? + OpenFetter1 = 0x1E9735, // R0.500, x?, EventObj type + OpenFetter2 = 0x1E9733, // R0.500, x?, EventObj type + MagickedFetter1 = 0x1E9736, // R2.000, x?, EventObj type + MagickedFetter2 = 0x1E9737, // R2.000, x?, EventObj type + Actor1e974b = 0x1E974B, // R2.000, x?, EventObj type + Actor1e9749 = 0x1E9749, // R2.000, x?, EventObj type + Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type + Actor1e9644 = 0x1E9644, // R0.500, x?, EventObj type + Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type + Actor1e9748 = 0x1E9748, // R2.000, x?, EventObj type + Actor1e974a = 0x1E974A, // R2.000, x?, EventObj type + Actor1e968c = 0x1E968C, // R0.500, x?, EventObj type +} + +public enum AID : uint +{ + AutoAttack1 = 3509, // Boss->player, no cast, single-target + PredatorClaws = 3245, // Boss->self, no cast, range 9+R ?-degree cone + TailBlow = 3246, // Boss->self, 2.0s cast, range 9+R 90-degree cone + Innerspace = 3248, // Boss->player, no cast, single-target + Slabber = 3241, // Boss->location, 3.0s cast, range 8 circle + Mini = 3249, // GastricJuice->self, 3.0s cast, range 8+R circle + Unknown = 3376, // CerberusHelper2->self, no cast, range 8 circle + Engorge = 3243, // Boss->location, no cast, range 8 circle + AutoAttack2 = 872, // Wolfsbane/Unknown->player, no cast, single-target + Seedvolley = 344, // Wolfsbane->player, no cast, single-target + DeathRay = 1913, // Unknown->player, no cast, single-target + SulphurousBreath1 = 3250, // Boss->self, 1.8s cast, range 25+R width 6 rect + SulphurousBreath2 = 3251, // CerberusHelper1->self, 2.8s cast, range 40+R width 6 rect + Spew = 3244, // CerberusHelper2->self, no cast, range 60+R circle + LightningBolt1 = 3252, // Boss->location, no cast, range 8 circle + LightningBolt2 = 3253, // Electron->Electron, 2.0s cast, width 4 rect charge + HoundOutOfHell = 3247, // Boss->CerberusHelper3, 3.5s cast, width 14 rect charge + Reawakening = 3507, // Boss->self, 50.0s cast, single-target + SourSough = 3510, // Wolfsbane->self, no cast, range 6+R ?-degree cone + Ululation = 3254, // Boss->self, 4.2s cast, range 80+R circle + Devour = 3242, // Boss->location, no cast, range 8 circle +} + +public enum SID : uint +{ + SlashingResistanceDown = 572, // Boss->player, extra=0x1 + Minimum = 438, // GastricJuice->player, extra=0xA + Seized = 609, // none->player, extra=0x0 + Haste = 480, // none->Boss/CerberusHelper1/CerberusHelper2, extra=0x1/0x2/0x3 + BluntResistanceDown = 573, // Boss->player, extra=0x1/0x2 + Digesting = 645, // none->player, extra=0x1/0x2 + Weakness = 43, // none->player, extra=0x0 + Transcendent = 418, // none->player, extra=0x0 + Transporting = 404, // none->player, extra=0xE + Electrocution = 271, // Electron->player, extra=0x0 + Heavy = 14, // Boss->player, extra=0x32 + Poison = 18, // Wolfsbane->player, extra=0x0 + Abandonment = 646, // Boss->player, extra=0x0 + Hysteria = 296, // Boss->player, extra=0x0 +} + +public enum IconID : uint +{ + Icon_3 = 3, // player +} + +public enum TetherID : uint +{ + Tether_34 = 34, // CerberusHelper3->player + Tether_33 = 33, // CerberusHelper3->Boss + Tether_32 = 32, // CerberusHelper3->Boss +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33CerberusStates.cs b/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33CerberusStates.cs new file mode 100644 index 0000000000..8c130abd69 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A33Cerberus/A33CerberusStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A33Cerberus; +class A33CerberusStates : StateMachineBuilder +{ + public A33CerberusStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarkness.cs b/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarkness.cs new file mode 100644 index 0000000000..18fe022d03 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarkness.cs @@ -0,0 +1,4 @@ +namespace BossMod.RealmReborn.Alliance.A34CloudofDarkness; + +[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 111, NameID = 3240)] +public class A34CloudofDarkness(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-300, -400), 35)); \ No newline at end of file diff --git a/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarknessEnums.cs b/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarknessEnums.cs new file mode 100644 index 0000000000..566f9d4cd2 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarknessEnums.cs @@ -0,0 +1,43 @@ +namespace BossMod.RealmReborn.Alliance.A34CloudofDarkness; +public enum OID : uint +{ + Boss = 0xCFA, // R14.000, x? + CloudOfDarknessHelper1 = 0x1B2, // R0.500, x? + CloudOfDarknessHelper2 = 0x8EE, // R0.500, x? + DarkCloud = 0xE1C, // R1.000, x? + DarkStorm = 0xE1D, // R2.000, x? + HyperchargedCloud = 0xE03, // R1.000, x? + Actor1e9750 = 0x1E9750, // R2.000, x?, EventObj type + Actor1e9752 = 0x1E9752, // R2.000, x?, EventObj type + Actor1e9751 = 0x1E9751, // R2.000, x?, EventObj type + Actor1e974e = 0x1E974E, // R0.500, x?, EventObj type +} + +public enum AID : uint +{ + Attack = 3306, // Boss->player, no cast, single-target + FeintParticleBeam1 = 3298, // Boss->location, 3.5s cast, range 8 circle + FeintParticleBeam2 = 3299, // CloudOfDarknessHelper1->location, no cast, range 3 circle + ParticleBeam1 = 3301, // CloudOfDarknessHelper1->location, no cast, range 5 circle + Unknown = 2369, // CloudOfDarknessHelper2->self, no cast, ??? + FloodOfDarkness = 3305, // Boss->location, no cast, range 60 circle + ZeroFormParticleBeam = 3297, // Boss->self, 2.5s cast, range 60+R width 24 rect + ParticleBeam2 = 3302, // HyperchargedCloud->self, 20.0s cast, range 60 circle + ParticleBeam3 = 3300, // CloudOfDarknessHelper1->location, no cast, range 60 circle +} + +public enum SID : uint +{ + Bleeding = 642, // Boss->player, extra=0x0 + VulnerabilityUp = 202, // CloudOfDarknessHelper1/Boss->player, extra=0x1/0x2 + StoneskinPhysical = 152, // none->CloudOfDarknessHelper1/Boss, extra=0x0 + StoneskinMagical = 153, // none->CloudOfDarknessHelper1/Boss, extra=0x0 + Heavy = 240, // none->DarkCloud/DarkStorm, extra=0x5A + Invincibility = 1570, // none->player, extra=0x0 + DamageUp = 443, // none->CloudOfDarknessHelper1/Boss, extra=0x3 +} + +public enum IconID : uint +{ + Icon_197 = 197, // player +} diff --git a/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarknessStates.cs b/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarknessStates.cs new file mode 100644 index 0000000000..efa9aaf236 --- /dev/null +++ b/BossMod/Modules/RealmReborn/Alliance/A34CloudofDarkness/A34CloudofDarknessStates.cs @@ -0,0 +1,8 @@ +namespace BossMod.RealmReborn.Alliance.A34CloudofDarkness; +class A34CloudofDarknessStates : StateMachineBuilder +{ + public A34CloudofDarknessStates(BossModule module) : base(module) + { + TrivialPhase(); + } +} \ No newline at end of file