From 035f7b3a5ca4826c50e608d8b898b1844a749bc7 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 05:44:53 -0500
Subject: [PATCH 1/9] EW dungeons
---
BossMod/BossMod.csproj | 18 ++++
.../Dungeon/D01TowerOfZot/D011Minduruva.cs | 9 +-
.../Dungeon/D01TowerOfZot/D012Sanduruva.cs | 6 ++
.../Dungeon/D01TowerOfZot/D013MagusSisters.cs | 8 ++
.../Dungeon/D02TowerOfBabil/D021Barnabas.cs | 61 +++++++++++++
.../Dungeon/D02TowerOfBabil/D022Lugae.cs | 42 +++++++++
.../Dungeon/D02TowerOfBabil/D023Anima.cs | 86 +++++++++++++++++++
.../Dungeon/D03Vanaspati/D031Snatcher.cs | 43 ++++++++++
.../Dungeon/D03Vanaspati/D032Wrecker.cs | 50 +++++++++++
.../Dungeon/D03Vanaspati/D033Svarbhanu.cs | 51 +++++++++++
.../Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs | 40 +++++++++
.../Endwalker/Dungeon/D04Ktisis/D042Ladon.cs | 53 ++++++++++++
.../Endwalker/Dungeon/D04Ktisis/D043Hermes.cs | 67 +++++++++++++++
.../Dungeon/D05Aitiascope/D051Livia.cs | 46 ++++++++++
.../Dungeon/D05Aitiascope/D052Rhitahtyn.cs | 52 +++++++++++
.../Dungeon/D05Aitiascope/D053Amon.cs | 45 ++++++++++
.../Dungeon/D06DeadEnds/D061Grebuloff.cs | 54 ++++++++++++
.../Dungeon/D06DeadEnds/D062Peacekeeper.cs | 56 ++++++++++++
.../Endwalker/Dungeon/D06DeadEnds/D063Rala.cs | 54 ++++++++++++
.../Endwalker/Dungeon/D07Smileton/D071Face.cs | 58 +++++++++++++
.../Dungeon/D07Smileton/D072Frameworker.cs | 45 ++++++++++
.../Dungeon/D07Smileton/D073BigCheese.cs | 51 +++++++++++
.../Dungeon/D08Stigma/D081ProtoOmega.cs | 54 ++++++++++++
.../Dungeon/D08Stigma/D082ArchLambda.cs | 46 ++++++++++
.../Dungeon/D08Stigma/D083Stigma4.cs | 51 +++++++++++
.../Dungeon/D09Alzadaal/D091Ambujam.cs | 17 ++++
.../Dungeon/D09Alzadaal/D092ArmoredChariot.cs | 17 ++++
.../Dungeon/D09Alzadaal/D093Kapikulu.cs | 17 ++++
.../Dungeon/D10FellCourt/D101EvilDreamers.cs | 17 ++++
.../Dungeon/D10FellCourt/D102Beatrice.cs | 17 ++++
.../Dungeon/D10FellCourt/D103Scarmiglione.cs | 17 ++++
.../A31DeathgazeHollowEnums.cs | 33 ++-----
.../A32FerdiadHollow/A32FerdiadHollowEnums.cs | 40 ++++-----
.../A33ProtoUltima/A33ProtoUltimaEnums.cs | 40 +++++++--
.../Alliance/A34Scathach/A34ScathachEnums.cs | 56 ++++++------
.../Alliance/A35Diabolos/A35DiabolosEnums.cs | 65 +++++++++++---
36 files changed, 1391 insertions(+), 91 deletions(-)
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
create mode 100644 BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
diff --git a/BossMod/BossMod.csproj b/BossMod/BossMod.csproj
index 1472c9ea93..f70bcf8b98 100644
--- a/BossMod/BossMod.csproj
+++ b/BossMod/BossMod.csproj
@@ -20,6 +20,15 @@
true
+
+
+
+
+
+
+
+
+
@@ -30,6 +39,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D011Minduruva.cs b/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D011Minduruva.cs
index 0425743644..adaafc5a76 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D011Minduruva.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D011Minduruva.cs
@@ -20,7 +20,7 @@ public enum AID : uint
ManusyaBioIII1 = 25236, // Boss->self, 4,0s cast, single-target
ManusyaBioIII2 = 25240, // Helper->self, 4,0s cast, range 40+R 180-degree cone
TransmuteFireIII = 25242, // Boss->self, 2,7s cast, single-target
- Unknown = 25243, // Helper->Boss, 3,6s cast, single-target
+ Unknown = 25243, // Helper->Boss, 3,6s cast, single-target// Indicator, splatoon uses this for some reason to show aoes way sooner
ManusyaFire2 = 25699, // Boss->player, 2,0s cast, single-target
Dhrupad = 25244, // Boss->self, 4,0s cast, single-target, after this each of the non-tank players get hit once by a single-target spell (ManusyaBlizzard, ManusyaFire1, ManusyaThunder)
ManusyaFire1 = 25245, // Boss->player, no cast, single-target
@@ -28,6 +28,7 @@ public enum AID : uint
ManusyaThunder = 25247, // Boss->player, no cast, single-target
TransmuteBlizzardIII = 25371, // Boss->self, 2,7s cast, single-target
TransmuteThunderIII = 25372, // Boss->self, 2,7s cast, single-target
+ TransmuteBioIII = 25373, // Boss->self, 2.7s cast, single-target
}
public enum SID : uint
@@ -42,6 +43,12 @@ public enum SID : uint
FireAlchemy = 2751, // Boss->Boss, extra=0x0
}
+public enum IconID : uint
+{
+ Icon_198 = 198, // player
+}
+
+
class ManusyaBio(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.ManusyaBio), "Tankbuster + cleansable poison");
class Poison(BossModule module) : BossComponent(module)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D012Sanduruva.cs b/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D012Sanduruva.cs
index 3ef1cb9b71..8752d3059e 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D012Sanduruva.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D012Sanduruva.cs
@@ -30,6 +30,12 @@ public enum SID : uint
WhoIsShe2 = 2654, // none->BerserkerSphere, extra=0x1A8
}
+public enum IconID : uint
+{
+ Icon_198 = 198, // player
+}
+
+
class IsitvaSiddhi(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.IsitvaSiddhi));
class SphereShatter(BossModule module) : Components.GenericAOEs(module)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D013MagusSisters.cs b/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D013MagusSisters.cs
index 19bb96cb4d..3e394f8e9c 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D013MagusSisters.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D01TowerOfZot/D013MagusSisters.cs
@@ -57,6 +57,14 @@ public enum SID : uint
Electrocution = 2086, // Minduruva->player, extra=0x0
}
+public enum IconID : uint
+{
+ Icon_198 = 198, // player
+ Icon_139 = 139, // player
+ Icon_62 = 62, // player
+}
+
+
class Dhrupad(BossModule module) : BossComponent(module)
{
private int NumCasts;
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
new file mode 100644
index 0000000000..1b07a4b746
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
@@ -0,0 +1,61 @@
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D021Barnabas;
+
+public enum OID : uint
+{
+ Boss = 0x33F7,
+ Helper = 0x233C,
+ Thunderball = 0x33F8, // R1.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ DynamicPound = 25157, // Boss->self, 7.0s cast, range 40 width 6 rect
+ DynamicScrapline = 25158, // Boss->self, 7.0s cast, range 8 circle
+ ElectromagneticRelease1 = 25327, // Helper->self, 9.5s cast, range 40 width 6 rect
+ ElectromagneticRelease2 = 25329, // Helper->self, 9.5s cast, range 8 circle
+ GroundAndPound1 = 25159, // Boss->self, 3.5s cast, range 40 width 6 rect
+ GroundAndPound2 = 25322, // Boss->self, 3.5s cast, range 40 width 6 rect
+ RollingScrapline = 25323, // Boss->self, 3.0s cast, range 8 circle
+ Shock = 25330, // Thunderball->self, 3.0s cast, range 8 circle
+ ShockingForce = 25324, // Boss->players, 5.0s cast, range 6 circle
+ Thundercall = 25325, // Boss->self, 3.0s cast, single-target
+ Unknown1 = 24693, // Helper->self, no cast, range 50 width 50 rect
+ Unknown2 = 24694, // Helper->self, no cast, range 50 width 50 rect
+ Unknown3 = 25053, // Helper->self, no cast, range 50 circle
+ Unknown4 = 25054, // Helper->self, no cast, range 50 circle
+}
+
+public enum SID : uint
+{
+ Eukrasia = 2606, // none->player, extra=0x0
+ VulnerabilityUp = 1789, // Boss->33F9/player, extra=0x1
+ Stun = 149, // Boss->33F9, extra=0x0
+ Stun2 = 2953, // none->player, extra=0x0
+ Electrocution = 2086, // none->player, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_163 = 163, // player
+ Icon_162 = 162, // player
+ Icon_290 = 290, // Boss
+ Icon_62 = 62, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_28 = 28, // player->Boss
+}
+
+class D021BarnabasStates : StateMachineBuilder
+{
+ public D021BarnabasStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 785, NameID = 10279)]
+public class D021Barnabas(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-300, 71), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs
new file mode 100644
index 0000000000..c17de9a49b
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs
@@ -0,0 +1,42 @@
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D022Lugae;
+
+public enum OID : uint
+{
+ Boss = 0x33FA,
+ Helper = 0x233C,
+ MagitekChakram = 0x33FB, // R3.000, x0 (spawn during fight)
+ MagitekExplosive = 0x33FC, // R2.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ Downpour = 25333, // Boss->self, 5.0s cast, single-target
+ Explosion = 25337, // MagitekExplosive->self, 7.0s cast, range 40 width 8 cross
+ MagitekChakram = 25331, // Boss->self, 5.0s cast, single-target
+ MagitekExplosive = 25336, // Boss->self, 5.0s cast, single-target
+ MagitekMissile = 25334, // Boss->self, 3.0s cast, single-target
+ MagitekRay = 25340, // Boss->self, 3.0s cast, range 50 width 6 rect
+ MightyBlow = 25332, // MagitekChakram->self, 7.0s cast, range 40 width 8 rect
+ SurfaceMissile = 25335, // Helper->location, 3.5s cast, range 6 circle
+ ThermalSuppression = 25338, // Boss->self, 5.0s cast, range 60 circle
+}
+
+public enum SID : uint
+{
+ Minimum = 2504, // none->player, extra=0x14
+ Breathless = 2672, // none->player, extra=0x1/0x2/0x3/0x4/0x5/0x6
+ Heavy = 2391, // none->player, extra=0x32
+ Toad = 2671, // none->player, extra=0x1B1
+}
+
+class D022LugaeStates : StateMachineBuilder
+{
+ public D022LugaeStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 785, NameID = 10281)] // 10282
+public class D022Lugae(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(221, 306), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
new file mode 100644
index 0000000000..d36950bc59
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
@@ -0,0 +1,86 @@
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
+
+public enum OID : uint
+{
+ Boss = 0x33FD,
+ LowerAnima = 0x3400,
+ Helper = 0x233C,
+ MagitekCrane = 0x3320, // R0.600, x3
+ IronNail = 0x3401, // R1.000, x0 (spawn during fight)
+ LunarNail = 0x33FE, // R1.000, x0 (spawn during fight)
+ MegaGraviton = 0x33FF, // R1.000, x0 (spawn during fight)
+ Actor1eb239 = 0x1EB239, // R0.500, x0 (spawn during fight), EventObj type
+}
+
+public enum AID : uint
+{
+ AutoAttack = 25341, // Boss->player, no cast, single-target
+ AetherialPull = 25345, // MegaGraviton->player, 8.0s cast, single-target
+ BoundlessPain1 = 25347, // Boss->self, 8.0s cast, single-target
+ BoundlessPain2 = 25348, // Helper->location, no cast, range 6 circle
+ BoundlessPain3 = 25349, // Helper->location, no cast, range 6 circle
+ CharnelClaw = 25357, // IronNail->self, 6.0s cast, range 40 width 5 rect
+ CoffinScratch = 25358, // Helper->location, 3.5s cast, range 3 circle
+ Imperatum = 25353, // Boss->self, 5.0s cast, range 60 circle
+ LunarNail = 25342, // Boss->self, 3.0s cast, single-target
+ MegaGraviton = 25344, // Boss->self, 5.0s cast, range 60 circle
+ ObliviatingClaw1 = 25354, // LowerAnima->self, 3.0s cast, single-target
+ ObliviatingClaw2 = 25355, // LowerAnima->self, 3.0s cast, single-target
+ ObliviatingClaw3 = 25356, // IronNail->self, 6.0s cast, range 3 circle
+ Oblivion1 = 23697, // Helper->location, no cast, range 60 circle
+ Oblivion2 = 23872, // Helper->location, no cast, range 60 circle
+ Oblivion3 = 25359, // LowerAnima->self, 6.0s cast, single-target
+ PaterPatriae1 = 24168, // Helper->self, 3.5s cast, range 60 width 8 rect
+ PaterPatriae2 = 25350, // Boss->self, 3.5s cast, single-target
+ PhantomPain1 = 21182, // Boss->self, 7.0s cast, single-target
+ PhantomPain2 = 25343, // Helper->self, 7.0s cast, range 20 width 20 rect
+ Unknown1 = 23929, // Helper->player, no cast, single-target
+ Unknown2 = 26229, // Helper->self, no cast, range 60 circle
+ Unknown3 = 27228, // LowerAnima->self, no cast, single-target
+}
+
+public enum SID : uint
+{
+ AreaOfInfluenceUp = 1749, // none->Helper, extra=0x1/0x2/0x3/0x4/0x5/0x6/0x7/0x8/0x9/0xA/0xB/0xC
+ UnknownStatus = 2849, // none->player, extra=0xEC7
+}
+
+public enum IconID : uint
+{
+ Icon_197 = 197, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_162 = 162, // Helper->Helper
+ Tether_57 = 57, // MegaGraviton->player
+ Tether_17 = 17, // MegaGraviton->player
+ Tether_22 = 22, // Helper->Boss
+}
+
+
+class D023AnimaStates : StateMachineBuilder
+{
+ public D023AnimaStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 785, NameID = 10285)] // 10288
+public class D023Anima(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(0, -180), 20))
+{
+ protected override void DrawEnemies(int pcSlot, Actor pc)
+ {
+ Arena.Actors(Enemies(OID.Boss), ArenaColor.Enemy);
+ Arena.Actors(Enemies(OID.LowerAnima), ArenaColor.Enemy);
+ }
+
+ protected override void UpdateModule()
+ {
+ if (Enemies(OID.Boss).Any(e => e.Position.AlmostEqual(new(0, -180), 50)))
+ Arena.Bounds = new ArenaBoundsSquare(new(0, -180), 20);
+ if (Enemies(OID.LowerAnima).Any(e => e.Position.AlmostEqual(new(0, -400), 50)))
+ Arena.Bounds = new ArenaBoundsSquare(new(0, -400), 20);
+ }
+}
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
new file mode 100644
index 0000000000..a832370e1e
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
@@ -0,0 +1,43 @@
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
+
+public enum OID : uint
+{
+ Boss = 0x33E8,
+ Helper = 0x233C,
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ LastGasp = 25141, // Boss->player, 5.0s cast, single-target
+ LostHope = 25143, // Boss->self, 4.0s cast, range 20 circle
+ MouthOff = 25137, // Boss->self, 3.0s cast, single-target
+ NoteOfDespair = 25144, // Boss->self, 5.0s cast, range 40 circle
+ Vitriol = 25138, // Helper->self, 9.0s cast, range 13 circle
+ Wallow = 25142, // Helper->player, 5.0s cast, range 6 circle
+ WhatIsLeft = 25140, // Boss->self, 8.0s cast, range 20 180-degree cone
+ WhatIsRight = 25139, // Boss->self, 8.0s cast, range 20 180-degree cone
+}
+
+public enum SID : uint
+{
+ TemporaryMisdirection = 1422, // Boss->player, extra=0x2D0
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_304 = 304, // player
+}
+
+
+class D031SnatcherStates : StateMachineBuilder
+{
+ public D031SnatcherStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 789, NameID = 10717)] // 11049
+public class D031Snatcher(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-375, 80), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs
new file mode 100644
index 0000000000..f2c624d1e4
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs
@@ -0,0 +1,50 @@
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D032Wrecker;
+
+public enum OID : uint
+{
+ Boss = 0x33E9,
+ Helper = 0x233C,
+ QueerBubble = 0x3731, // R2.500, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 870, // Boss->player, no cast, single-target
+ AetherSiphon1 = 25145, // Boss->self, 3.0s cast, single-target
+ AetherSiphon2 = 25146, // Boss->self, 3.0s cast, single-target
+ AetherSpray1 = 25147, // Boss->location, 7.0s cast, range 30 circle
+ AetherSpray2 = 25148, // Boss->location, 7.0s cast, range 30 circle
+ MeaninglessDestruction = 25153, // Boss->self, 5.0s cast, range 100 circle
+ PoisonHeart1 = 25151, // Boss->self, 5.0s cast, single-target
+ PoisonHeart2 = 27851, // Helper->players, 5.0s cast, range 6 circle
+ TotalWreck = 25154, // Boss->player, 5.0s cast, single-target
+ UnholyWater = 27852, // Boss->self, 3.0s cast, single-target
+ Withdraw = 27847, // 3731->player, 1.0s cast, single-target
+}
+
+public enum SID : uint
+{
+ FireResistanceUp = 1517, // 3731->player, extra=0x0
+ WaterResistanceDownII = 1025, // 3731->player, extra=0x0
+ Fetters = 1399, // 3731->player, extra=0xEC4
+ Burns = 3065, // none->player, extra=0x0
+ Burns2 = 3066, // none->player, extra=0x0
+ VulnerabilityUp = 1789, // Boss->player, extra=0x1
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_161 = 161, // player
+}
+
+class D032WreckerStates : StateMachineBuilder
+{
+ public D032WreckerStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 789, NameID = 10718)] // 11052
+public class D032Wrecker(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-287, -354), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
new file mode 100644
index 0000000000..3d654aa9cb
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
@@ -0,0 +1,51 @@
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D033Svarbhanu;
+
+public enum OID : uint
+{
+ Boss = 0x33EB,
+ Helper = 0x233C,
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ AetherialDisruption = 25160, // Boss->self, 7.0s cast, single-target
+ ChaoticPulse = 27489, // Boss->self, no cast, single-target
+ ChaoticUndercurrent1 = 25162, // Helper->self, no cast, range 40 width 10 rect
+ ChaoticUndercurrent2 = 25163, // Helper->self, no cast, range 40 width 10 rect
+ CosmicKiss1 = 25167, // Helper->location, 3.0s cast, range 6 circle
+ CosmicKiss2 = 25168, // Helper->player, 8.0s cast, range 6 circle
+ CosmicKiss3 = 25169, // Helper->location, 6.0s cast, range 100 circle
+ CrumblingSky = 25166, // Boss->self, 3.0s cast, single-target
+ FlamesOfDecay = 25170, // Boss->self, 5.0s cast, range 40 circle
+ GnashingOfTeeth = 25171, // Boss->player, 5.0s cast, single-target
+ Unknown1 = 25161, // Boss->self, no cast, single-target
+ Unknown2 = 25164, // Helper->self, no cast, single-target
+ Unknown3 = 25374, // Helper->self, no cast, range 50 width 10 rect
+ Unknown4= 25165, // Helper->self, no cast, single-target
+}
+
+public enum SID : uint
+{
+ Bleeding1 = 3077, // none->player, extra=0x0
+ VulnerabilityUp = 1789, // Helper->player, extra=0x1/0x2
+ Bleeding2 = 3078, // none->player, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_101 = 101, // player
+ Icon_218 = 218, // player
+}
+
+class D033SvarbhanuStates : StateMachineBuilder
+{
+ public D033SvarbhanuStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 789, NameID = 10719)] //
+public class D033Svarbhanu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(300, -157), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
new file mode 100644
index 0000000000..b8ecfcfd61
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
@@ -0,0 +1,40 @@
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
+
+public enum OID : uint
+{
+ Boss = 0x3323,
+ Helper = 0x233C,
+ IcePillar = 0x3324, // R2.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 6497, // Boss->player, no cast, single-target
+ FrigidStomp = 25181, // Boss->self, 5.0s cast, range 50 circle
+ FrostbiteAndSeek = 25175, // Boss->self, 3.0s cast, single-target
+ HeavySmash = 25180, // Boss->players, 5.0s cast, range 6 circle
+ IcePillar = 25179, // IcePillar->self, 3.0s cast, range 4 circle
+ Icicall = 25178, // Boss->self, 3.0s cast, single-target
+ PillarPierce = 25375, // IcePillar->self, 5.0s cast, range 80 width 4 rect
+ PunishingSlice1 = 25176, // Boss->self, no cast, single-target
+ PunishingSlice2 = 25177, // Helper->self, 2.0s cast, range 50 width 50 rect
+ SkullDasher = 25182, // Boss->player, 5.0s cast, single-target
+ Unknown = 28304, // Helper->self, no cast, single-target
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_62 = 62, // player
+}
+
+class D041LyssaStates : StateMachineBuilder
+{
+ public D041LyssaStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 787, NameID = 10396)] //
+public class D041Lyssa(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-134, 54), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
new file mode 100644
index 0000000000..924d3e290f
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
@@ -0,0 +1,53 @@
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D042Ladon;
+
+public enum OID : uint
+{
+ Boss = 0x3425,
+ Helper = 0x233C,
+ PyricSphere = 0x3426, // R0.700, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ Inhale1 = 25732, // Boss->self, 4.0s cast, single-target
+ Inhale2 = 25915, // Boss->self, no cast, single-target
+ Intimidation = 25741, // Boss->self, 6.0s cast, range 40 circle
+ PyricBlast = 25742, // Boss->players, 4.0s cast, range 6 circle
+ PyricBreath1 = 25734, // Boss->self, 7.0s cast, range 40 ?-degree cone
+ PyricBreath2 = 25735, // Boss->self, 7.0s cast, range 40 ?-degree cone
+ PyricBreath3 = 25736, // Boss->self, 7.0s cast, range 40 ?-degree cone
+ PyricBreath4 = 25737, // Boss->self, no cast, range 40 ?-degree cone
+ PyricBreath5 = 25738, // Boss->self, no cast, range 40 ?-degree cone
+ PyricSphere1 = 25744, // PyricSphere->self, 5.0s cast, single-target
+ PyricSphere2 = 25745, // Helper->self, 10.0s cast, range 50 width 4 cross
+ Scratch = 25743, // Boss->player, 5.0s cast, single-target
+ UnknownAbility = 25733, // Boss->location, no cast, single-target
+ UnknownSpell = 25740, // Boss->self, no cast, ???
+}
+
+public enum SID : uint
+{
+ Unknown1 = 2195, // none->Boss, extra=0x144/0x145/0x149/0x146/0x148/0x147
+ Unknown2 = 2812, // none->Boss, extra=0x9F6
+ Unknown3 = 2813, // none->Boss, extra=0x177F
+ Unknown4 = 2814, // none->Boss, extra=0x21A8
+ VulnerabilityUp = 1789, // Helper->player, extra=0x2
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_62 = 62, // player
+}
+
+class D042LadonStates : StateMachineBuilder
+{
+ public D042LadonStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 787, NameID = 10398)] //
+public class D042Ladon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, 48), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs
new file mode 100644
index 0000000000..f5162c8ff6
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs
@@ -0,0 +1,67 @@
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D043Hermes;
+
+public enum OID : uint
+{
+ Boss = 0x348A, // R4.200, x1
+ Helper = 0x233C, // R0.500, x12, 523 type
+ Meteor = 0x348C, // R2.400, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ CosmicKiss = 25891, // Meteor->self, 5.0s cast, range 40 circle
+ Double = 25892, // Boss->self, 3.0s cast, single-target
+ Hermetica1 = 25888, // Boss->self, 3.0s cast, single-target
+ Hermetica2 = 25893, // Boss->self, 6.0s cast, single-target
+ Hermetica3 = 25895, // Boss->self, 12.0s cast, single-target
+ Meteor = 25890, // Boss->self, 3.0s cast, single-target
+ Quadruple = 25894, // Boss->self, 3.0s cast, single-target
+ Trismegistos = 25886, // Boss->self, 5.0s cast, range 40 circle
+ TrueAero1 = 25899, // Boss->self, 5.0s cast, single-target
+ TrueAero2 = 25900, // Helper->player, no cast, range 40 width 6 rect
+ TrueAero3 = 25901, // Helper->self, 2.5s cast, range 40 width 6 rect
+ TrueAeroII1 = 25896, // Boss->self, 5.0s cast, single-target
+ TrueAeroII2 = 25897, // Helper->player, 5.0s cast, range 6 circle
+ TrueAeroII3 = 25898, // Helper->location, 3.5s cast, range 6 circle
+ TrueAeroIV1 = 25889, // 348B->self, 4.0s cast, range 50 width 10 rect
+ TrueAeroIV2 = 27836, // 348B->self, 4.0s cast, range 50 width 10 rect
+ TrueAeroIV3 = 27837, // 348B->self, 10.0s cast, range 50 width 10 rect
+ TrueBravery = 25907, // Boss->self, 5.0s cast, single-target
+ TrueTornado1 = 25902, // Boss->self, 5.0s cast, single-target
+ TrueTornado2 = 25903, // Boss->self, no cast, single-target
+ TrueTornado3 = 25904, // Boss->self, no cast, single-target
+ TrueTornado4 = 25905, // Helper->player, no cast, range 4 circle
+ TrueTornado5 = 25906, // Helper->location, 2.5s cast, range 4 circle
+ UnknownAbility = 25887, // Helper->player, no cast, single-target
+}
+
+public enum SID : uint
+{
+ Double = 661, // Boss->Boss, extra=0x0
+ VulnerabilityUp = 1789, // Helper->player, extra=0x1
+ Quadruple = 2732, // Boss->Boss, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_139 = 139, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_160 = 160, // 348B->Boss
+}
+
+class D043HermesStates : StateMachineBuilder
+{
+ public D043HermesStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 787, NameID = 10363)] // 10399
+public class D043Hermes(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -50), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs
new file mode 100644
index 0000000000..f175f2a96f
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs
@@ -0,0 +1,46 @@
+namespace BossMod.Endwalker.Dungeon.D05Aitiascope.D051Livia;
+
+public enum OID : uint
+{
+ Boss = 0x3469, // R7.000, x1
+ Helper = 0x233C, // R0.500, x12, mixed types
+}
+
+public enum AID : uint
+{
+ AutoAttack = 24771, // Boss->player, no cast, single-target
+ AglaeaBite = 25673, // Boss->self/player, 5.0s cast, range 9 ?-degree cone
+ AglaeaClimb1 = 25666, // Boss->self, 7.0s cast, single-target
+ AglaeaClimb2 = 25667, // Boss->self, 7.0s cast, single-target
+ AglaeaClimb3 = 25668, // Helper->self, 7.0s cast, range 20 90-degree cone
+ AglaeaShot1 = 25669, // Boss->self, 3.0s cast, single-target
+ AglaeaShot2 = 25670, // 346A->location, 3.0s cast, range 20 width 4 rect
+ AglaeaShot3 = 25671, // 346A->location, 1.0s cast, range 40 width 4 rect
+ Disparagement = 25674, // Boss->self, 5.0s cast, range 40 120-degree cone
+ Frustration = 25672, // Boss->self, 5.0s cast, range 40 circle
+ IgnisAmoris = 25676, // Helper->location, 4.0s cast, range 6 circle
+ IgnisOdi = 25677, // Helper->players, 5.0s cast, range 6 circle
+ OdiEtAmo = 25675, // Boss->self, 3.0s cast, single-target
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // 346A->player, extra=0x2
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_161 = 161, // player
+}
+
+class D051LiviaStates : StateMachineBuilder
+{
+ public D051LiviaStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 786, NameID = 10290)] //
+public class D051Livia(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-6, 470), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs
new file mode 100644
index 0000000000..0bfdc344d9
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs
@@ -0,0 +1,52 @@
+namespace BossMod.Endwalker.Dungeon.D05Aitiascope.D052Rhitahtyn;
+
+public enum OID : uint
+{
+ Boss = 0x346B,
+ Helper = 0x233C,
+ Helper2 = 0x35DA, // R1.000, x4
+ Actor346c = 0x346C, // R1.000, x0 (spawn during fight)
+ Actor346d = 0x346D, // R1.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 870, // Boss->player, no cast, single-target
+ AnvilOfTartarus = 25686, // Boss->player, 5.0s cast, single-target
+ Impact = 25679, // Helper->self, 4.0s cast, range 14 width 40 rect
+ ShieldSkewer = 25680, // Boss->location, 11.0s cast, range 40 width 14 rect
+ ShrapnelShell1 = 25682, // Boss->self, 3.0s cast, single-target
+ ShrapnelShell2 = 25684, // Helper->location, 3.5s cast, range 5 circle
+ TartareanImpact = 25685, // Boss->self, 5.0s cast, range 60 circle
+ TartareanSpark = 25687, // Boss->self, 3.0s cast, range 40 width 6 rect
+ UnknownAbility = 25688, // Boss->location, no cast, single-target
+ UnknownWeaponskill = 25683, // 346C/346D->self, no cast, single-target
+ Vexillatio = 25678, // Boss->self, 4.0s cast, single-target
+}
+
+public enum SID : uint
+{
+ Unknown1 = 2056, // none->35DA/Boss, extra=0x135/0x14E
+ Unknown2 = 2193, // none->35DA, extra=0x136
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_161 = 161, // 35DA->Boss
+}
+
+class D052RhitahtynStates : StateMachineBuilder
+{
+ public D052RhitahtynStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 786, NameID = 10292)] //
+public class D052Rhitahtyn(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(10, 180), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs
new file mode 100644
index 0000000000..8f991b2387
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs
@@ -0,0 +1,45 @@
+namespace BossMod.Endwalker.Dungeon.D05Aitiascope.D053Amon;
+
+public enum OID : uint
+{
+ Boss = 0x346E,
+ Helper = 0x233C,
+ YsaylesSpirit = 0x346F, // R2.000, x1
+ Ice = 0x1EB26D, // R0.500, x0 (spawn during fight), EventObj type
+}
+
+public enum AID : uint
+{
+ AutoAttack = 24712, // Boss->player, no cast, single-target
+ Antistrophe = 25694, // Boss->self, 3.0s cast, single-target
+ CurtainCall = 25702, // Boss->self, 32.0s cast, range 40 circle
+ DarkForte = 25700, // Boss->player, 5.0s cast, single-target
+ DreamsOfIce = 27756, // Helper->self, 14.7s cast, range 6 circle
+ Entracte = 25701, // Boss->self, 5.0s cast, range 40 circle
+ Epode = 25695, // Helper->self, 8.0s cast, range 70 width 12 rect
+ EruptionForte1 = 24709, // Boss->self, 3.0s cast, single-target
+ EruptionForte2 = 25704, // Helper->location, 4.0s cast, range 8 circle
+ LeftFiragaForte = 25697, // Boss->self, 7.0s cast, range 40 width 20 rect
+ RightFiragaForte = 25696, // Boss->self, 7.0s cast, range 40 width 20 rect
+ Strophe = 25693, // Boss->self, 3.0s cast, single-target
+ ThundagaForte1 = 25690, // Boss->location, 5.0s cast, range 40 circle
+ ThundagaForte2 = 25691, // Helper->self, 5.0s cast, range 20 ?-degree cone
+ ThundagaForte3 = 25692, // Helper->self, 11.0s cast, range 20 ?-degree cone
+ Unknown = 25703, // YsaylesSpirit->self, no cast, single-target
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+}
+
+class D053AmonStates : StateMachineBuilder
+{
+ public D053AmonStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 786, NameID = 10293)] //
+public class D053Amon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -500), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs
new file mode 100644
index 0000000000..8409d7c675
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs
@@ -0,0 +1,54 @@
+namespace BossMod.Endwalker.Dungeon.D06DeadEnds.D061Grebuloff;
+
+public enum OID : uint
+{
+ Boss = 0x34C4,
+ Helper = 0x233C,
+ WeepingMiasma = 0x34C5, // R1.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ Befoulment1 = 25923, // Boss->self, 5.0s cast, single-target
+ Befoulment2 = 25924, // Helper->player, 5.2s cast, range 6 circle
+ BlightedWater1 = 25921, // Boss->self, 5.0s cast, single-target
+ BlightedWater2 = 25922, // Helper->players, 5.2s cast, range 6 circle
+ CertainSolitude = 28349, // Boss->self, no cast, range 40 circle
+ CoughUp1 = 25917, // Boss->self, 4.0s cast, single-target
+ CoughUp2 = 25918, // Helper->location, 4.0s cast, range 6 circle
+ Miasmata = 25916, // Boss->self, 5.0s cast, range 40 circle
+ NecroticFluid = 25919, // WeepingMiasma->self, 6.5s cast, range 6 circle
+ NecroticMist = 28348, // Helper->location, 1.3s cast, range 6 circle
+ PoxFlail = 25920, // Boss->player, 5.0s cast, single-target
+ WaveOfNausea = 28347, // Boss->self, 5.5s cast, range ?-40 donut
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // Helper->player, extra=0x1/0x2
+ Necrosis = 2965, // Helper->player, extra=0x0
+ Weakness = 43, // none->player, extra=0x0
+ Transcendent = 418, // none->player, extra=0x0
+ CravenCompanionship = 2966, // Boss->player, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_55 = 55, // player
+ Icon_218 = 218, // player
+ Icon_62 = 62, // player
+ Icon_139 = 139, // player
+}
+
+class D061GrebuloffStates : StateMachineBuilder
+{
+ public D061GrebuloffStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 792, NameID = 10313)] //
+public class D061Grebuloff(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(266.5f, -178), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs
new file mode 100644
index 0000000000..2aee0fa28a
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs
@@ -0,0 +1,56 @@
+namespace BossMod.Endwalker.Dungeon.D06DeadEnds.D062Peacekeeper;
+
+public enum OID : uint
+{
+ Boss = 0x34C6,
+ Helper = 0x233C,
+ PerpetualWarMachine = 0x384B, // R0.900, x14
+ Helper2 = 0x1EB5F7, // R0.500, x0 (spawn during fight), EventObj type
+}
+
+public enum AID : uint
+{
+ AutoAttack = 25977, // Boss->player, no cast, single-target
+ Decimation = 25936, // Boss->self, 5.0s cast, range 40 circle
+ DisengageHatch = 28356, // Boss->self, no cast, single-target
+ EclipsingExhaust = 25931, // Boss->self, 5.0s cast, range 40 circle
+ ElectromagneticRepellant = 28360, // Boss->self, 4.0s cast, range 9 circle
+ Elimination = 25935, // Boss->self/player, 5.0s cast, range 46 width 10 rect
+ InfantryDeterrent1 = 28358, // Boss->self, no cast, single-target
+ InfantryDeterrent2 = 28359, // Helper->player, 5.0s cast, range 6 circle
+ NoFuture1 = 25925, // Boss->self, 4.0s cast, single-target
+ NoFuture2 = 25927, // Helper->self, 4.0s cast, range 6 circle
+ NoFuture3 = 25928, // Helper->player, 5.0s cast, range 6 circle
+ OrderToFire = 28351, // Boss->self, 5.0s cast, single-target
+ Peacefire1 = 25933, // Boss->self, 3.0s cast, single-target
+ Peacefire2 = 25934, // Helper->self, 7.0s cast, range 10 circle
+ SmallBoreLaser = 28352, // PerpetualWarMachine->self, 5.0s cast, range 20 width 4 rect
+ UnknownWeaponskill = 25926, // Boss->self, no cast, single-target
+ UnkownAbility1 = 28350, // PerpetualWarMachine->location, no cast, single-target
+ UnkownAbility2 = 28357, // Boss->self, no cast, single-target
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // Boss/PerpetualWarMachine->player, extra=0x1
+ Electrocution = 1899, // none->player, extra=0x0
+ Burns = 2194, // none->player, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_139 = 139, // player
+ Icon_230 = 230, // player
+}
+
+class D062PeacekeeperStates : StateMachineBuilder
+{
+ public D062PeacekeeperStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 792, NameID = 10315)] //
+public class D062Peacekeeper(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-105, -210), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs
new file mode 100644
index 0000000000..e5b765fa79
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs
@@ -0,0 +1,54 @@
+namespace BossMod.Endwalker.Dungeon.D06DeadEnds.D063Rala;
+
+public enum OID : uint
+{
+ Boss = 0x34C7,
+ Helper = 0x233C,
+ GoldenWings = 0x34C8, // R1.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 870, // Boss->player, no cast, single-target
+ Benevolence1 = 25945, // Boss->self, 5.0s cast, single-target
+ Benevolence2 = 25946, // Helper->players, 5.4s cast, range 6 circle
+ LamellarLight1 = 25939, // Helper->self, 6.0s cast, range 15 circle
+ LamellarLight2 = 25942, // GoldenWings->self, 3.0s cast, single-target
+ LamellarLight3 = 25951, // Helper->self, 3.0s cast, range 40 width 4 rect
+ Lifesbreath = 25940, // Boss->self, 4.0s cast, range 50 width 10 rect
+ LovingEmbrace1 = 25943, // Boss->self, 7.0s cast, range 45 180-degree cone
+ LovingEmbrace2 = 25944, // Boss->self, 7.0s cast, range 45 180-degree cone
+ Pity = 25949, // Boss->player, 5.0s cast, single-target
+ Prance1 = 25937, // Boss->location, 5.0s cast, single-target
+ Prance2 = 25938, // Boss->location, no cast, single-target
+ StillEmbrace1 = 25947, // Boss->self, 5.0s cast, single-target
+ StillEmbrace2 = 25948, // Helper->player, 5.4s cast, range 6 circle
+ Unknown = 25941, // Boss->location, no cast, single-target
+ WarmGlow = 25950, // Boss->self, 5.0s cast, range 40 circle
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // Helper->player, extra=0x1
+ UnknownStatus = 2056, // none->34C8, extra=0x16C
+ Weakness = 43, // none->player, extra=0x0
+ Transcendent = 418, // none->player, extra=0x0
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_62 = 62, // player
+ Icon_139 = 139, // player
+}
+
+class D063RalaStates : StateMachineBuilder
+{
+ public D063RalaStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 792, NameID = 10316)] //
+public class D063Rala(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-380, -145), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs
new file mode 100644
index 0000000000..596b58f2cc
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs
@@ -0,0 +1,58 @@
+namespace BossMod.Endwalker.Dungeon.D07Smileton.D071Face;
+
+public enum OID : uint
+{
+ Boss = 0x34CF,
+ Helper = 0x233C,
+ RelativelySmallFace = 0x34D0, // R3.060, x8
+}
+
+public enum AID : uint
+{
+ AutoAttack = 26433, // Boss->player, no cast, single-target
+ FrownyFace = 26422, // RelativelySmallFace->self, 7.0s cast, range 45 width 6 rect
+ LinesOfFire = 26421, // Boss->self, 3.0s cast, single-target
+ MixedFeelings = 26424, // Helper->self, 7.0s cast, range 60 width 2 rect
+ OffMyLawn1 = 26430, // Boss->self, 5.0s cast, single-target
+ OffMyLawn2 = 27742, // Helper->self, 5.0s cast, range 31 width 30 rect
+ SmileyFace = 26423, // RelativelySmallFace->self, 7.0s cast, range 45 width 6 rect
+ TempersFlare = 26435, // Boss->self, 5.0s cast, range 60 circle
+ TemperTemper = 26432, // Helper->player, 5.0s cast, range 5 circle
+ UnknownAbility1 = 26426, // RelativelySmallFace->self, no cast, single-target
+ UnknownAbility2 = 26427, // RelativelySmallFace->self, no cast, single-target
+ UnknownAbility3 = 26428, // RelativelySmallFace->self, no cast, single-target
+ UnknownAbility4 = 26429, // RelativelySmallFace->self, no cast, single-target
+ UpsideDown = 26425, // Boss->self, 3.0s cast, single-target
+}
+
+public enum SID : uint
+{
+ SmileyFace = 2763, // 34D0->player, extra=0x1
+ FrownyFace = 2764, // 34D0->player, extra=0x1/0x2
+ DownForTheCount = 783, // 34D0->player, extra=0xEC7
+ Weakness = 43, // none->player, extra=0x0
+ Transcendent = 418, // none->player, extra=0x0
+}
+
+public enum IconID : uint
+{
+ Icon_136 = 136, // player
+ Icon_96 = 96, // player
+ Icon_137 = 137, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_169 = 169, // 34D0->Boss
+}
+
+class D071FaceStates : StateMachineBuilder
+{
+ public D071FaceStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 794, NameID = 10331)] //
+public class D071Face(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-45, -0), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs
new file mode 100644
index 0000000000..9a138c873f
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs
@@ -0,0 +1,45 @@
+namespace BossMod.Endwalker.Dungeon.D07Smileton.D072Frameworker;
+
+public enum OID : uint
+{
+ Boss = 0x34D1,
+ Helper = 0x233C,
+ Helper2 = 0x1E8FB8, // R2.000, x3 (spawn during fight), EventObj type
+ Helper3 = 0x1EA1A1, // R2.000, x4 (spawn during fight), EventObj type
+ SmileySupporter = 0x34D2, // R2.300, x2
+ PrintedWorker = 0x34E9, // R4.050, x2
+}
+
+public enum AID : uint
+{
+ AutoAttack = 870, // Boss->player, no cast, single-target
+ CircularSaw = 26437, // Boss->self, 5.0s cast, range 40 circle
+ LeapForward1 = 26438, // Boss->location, 7.0s cast, range 15 circle
+ LeapForward2 = 26439, // PrintedWorker->location, 7.0s cast, range 15 circle
+ OmnidimensionalOnslaught1 = 26440, // Boss->self, 5.0s cast, single-target
+ OmnidimensionalOnslaught2 = 26441, // Helper->self, 5.0s cast, range 40 45-degree cone
+ PrintWorkers1 = 26443, // SmileySupporter->self, no cast, single-target
+ PrintWorkers2 = 28092, // Boss->self, 3.0s cast, single-target
+ UnknownAbility = 26442, // Helper->Boss, no cast, single-target
+}
+
+public enum SID : uint
+{
+ UnknownStatus = 2056, // none->Boss/PrintedWorker, extra=0xE1
+}
+
+public enum TetherID : uint
+{
+ Tether_23 = 23, // SmileySupporter->Boss
+}
+
+class D072FrameworkerStates : StateMachineBuilder
+{
+ public D072FrameworkerStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 794, NameID = 10333)] //
+public class D072Frameworker(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(65, -110), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs
new file mode 100644
index 0000000000..f163ea6c9e
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs
@@ -0,0 +1,51 @@
+namespace BossMod.Endwalker.Dungeon.D07Smileton.D073BigCheese;
+
+public enum OID : uint
+{
+ Boss = 0x34D3,
+ Helper = 0x233C,
+ Bomb = 0x3585, // R0.500, x2
+ ExcavationBomb1 = 0x38CF, // R0.500, x2
+ ExcavationBomb2 = 0x3741, // R1.000, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 26444, // Boss->player, no cast, single-target
+ DispenseExplosives = 27696, // Boss->self, 3.0s cast, single-target
+ ElectricArc = 26451, // Boss->players, 5.0s cast, range 8 circle
+ Excavated = 27698, // ExcavationBomb1->self, no cast, range 8 circle
+ ExplosivePower = 27697, // Boss->self, 3.0s cast, single-target
+ ExplosivesDistribution = 26446, // Boss->self, 3.0s cast, single-target
+ IronKiss = 26445, // Bomb->location, 1.5s cast, range 16 circle
+ LeftDisassembler = 26448, // Boss->self, 8.0s cast, range 30 width 10 rect
+ LevelingMissile1 = 26452, // Boss->self, 5.0s cast, single-target
+ LevelingMissile2 = 26453, // Helper->player, 5.0s cast, range 6 circle
+ PiercingMissile = 26449, // Boss->player, 5.0s cast, single-target
+ RightDisassembler = 26447, // Boss->self, 8.0s cast, range 30 width 10 rect
+ UnknownAbility = 27700, // ExcavationBomb1->self, no cast, single-target
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // Bomb/ExcavationBomb1->player, extra=0x1
+ Paralysis = 482, // ExcavationBomb1->player, extra=0x0
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_62 = 62, // player
+ Icon_139 = 139, // player
+}
+
+class D073BigCheeseStates : StateMachineBuilder
+{
+ public D073BigCheeseStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 794, NameID = 10336)] //
+public class D073BigCheese(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-46, -30), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs
new file mode 100644
index 0000000000..8f95a0e992
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs
@@ -0,0 +1,54 @@
+namespace BossMod.Endwalker.Dungeon.D08Stigma.D081ProtoOmega;
+
+public enum OID : uint
+{
+ Boss = 0x3417,
+ Helper = 0x233C,
+ MarkIIGuidedMissile = 0x3418, // R1.000, x0 (spawn during fight)
+ Actor1eb24e = 0x1EB24E, // R0.500, x0 (spawn during fight), EventObj type
+ Actor1e8d9b = 0x1E8D9B, // R0.500, x0 (spawn during fight), EventObj type
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ Burn = 25385, // Helper->player, no cast, range 6 circle
+ ChemicalMissile = 25384, // Boss->self, 3.0s cast, single-target
+ ElectricSlide = 25386, // Boss->players, 5.0s cast, range 6 circle
+ GuidedMissile = 25382, // Boss->self, 3.0s cast, single-target
+ IronKiss = 25383, // MarkIIGuidedMissile->self, no cast, range 3 circle
+ MustardBomb = 25387, // Boss->player, 5.0s cast, range 5 circle
+ SideCannons1 = 25376, // Boss->self, 7.0s cast, range 60 180-degree cone
+ SideCannons2 = 25377, // Boss->self, 7.0s cast, range 60 180-degree cone
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // MarkIIGuidedMissile->player, extra=0x1
+ Burns = 2194, // none->player, extra=0x0
+ Bleeding = 2088, // Boss->player, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_139 = 139, // player
+ Icon_289 = 289, // player
+ Icon_218 = 218, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_17 = 17, // MarkIIGuidedMissile->player
+}
+
+class D081ProtoOmegaStates : StateMachineBuilder
+{
+ public D081ProtoOmegaStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 784, NameID = 10401)] //
+public class D081ProtoOmega(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-150, -140), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs
new file mode 100644
index 0000000000..2e317fbc3f
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs
@@ -0,0 +1,46 @@
+namespace BossMod.Endwalker.Dungeon.D08Stigma.D082ArchLambda;
+
+public enum OID : uint
+{
+ Boss = 0x3416,
+ Helper = 0x233C,
+}
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ AtomicFlame = 25524, // Boss->self, 5.0s cast, range 40 circle
+ AutoMobileAssaultCannon = 25515, // Boss->self, 5.9s cast, single-target
+ AutoMobileSniperCannon1 = 25520, // Boss->location, 7.0s cast, single-target
+ AutoMobileSniperCannon2 = 25522, // Helper->self, no cast, range 40 width 6 rect
+ Entrench = 25521, // Helper->self, 7.5s cast, range 41 width 8 rect
+ Tread1 = 25516, // Boss->location, no cast, width 8 rect charge
+ Tread2 = 25517, // Boss->location, no cast, width 8 rect charge
+ Unknown1 = 25514, // Boss->location, no cast, single-target
+ Unknown2 = 25518, // Helper->location, 1.5s cast, width 8 rect charge
+ WaveCannon = 25519, // Boss->self, 2.5s cast, range 40 180-degree cone
+ Wheel = 25525, // Boss->player, 5.0s cast, single-target
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // Boss->player, extra=0x1/0x2
+}
+
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_79 = 79, // player/Helper
+ Icon_81 = 81, // player/Helper
+ Icon_80 = 80, // player/Helper
+}
+
+class D082ArchLambdaStates : StateMachineBuilder
+{
+ public D082ArchLambdaStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 784, NameID = 10403)] //
+public class D082ArchLambda(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, 0), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs
new file mode 100644
index 0000000000..728a120887
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs
@@ -0,0 +1,51 @@
+namespace BossMod.Endwalker.Dungeon.D08Stigma.D083Stigma4;
+
+public enum OID : uint
+{
+ Boss = 0x3428,
+ Helper = 0x233C,
+ OmegaFrame = 0x342A, // R8.995, x0 (spawn during fight)
+ HybridDragon = 0x342B, // R5.000, x0 (spawn during fight)
+ ProtoRocketPunch = 0x3429, // R2.500, x0 (spawn during fight)
+}
+public enum AID : uint
+{
+ AITakeover = 25641, // Boss->self, 5.0s cast, single-target
+ AtomicRay = 25654, // Boss->self, 5.0s cast, range 50 circle
+ ElectromagneticRelease1 = 25649, // Boss->self, no cast, single-target
+ ElectromagneticRelease2 = 25650, // Helper->self, 10.0s cast, range ?-60 donut
+ ElectromagneticRelease3 = 25651, // Boss->self, no cast, single-target
+ ElectromagneticRelease4 = 25652, // Helper->self, 10.0s cast, range 16 circle
+ FireBreath = 25646, // HybridDragon->self, 7.0s cast, range 40 120-degree cone
+ Mindhack = 25648, // Boss->self, 5.0s cast, range 50 circle
+ MultiAITakeover = 27723, // Boss->self, 5.0s cast, single-target
+ Plasmafodder = 25653, // Helper->player, no cast, single-target
+ ProtoWaveCannon1 = 25642, // OmegaFrame->self, 7.0s cast, range 60 180-degree cone
+ ProtoWaveCannon2 = 25643, // OmegaFrame->self, 7.0s cast, range 60 180-degree cone
+ Rush = 25645, // ProtoRocketPunch->location, 5.0s cast, width 5 rect charge
+ SelfDestruct1 = 25644, // OmegaFrame->self, 15.0s cast, range 60 circle
+ SelfDestruct2 = 25647, // HybridDragon->self, 15.0s cast, range 60 circle
+ Touchdown = 26873, // HybridDragon->self, 2.0s cast, range 7 circle
+}
+
+public enum SID : uint
+{
+ VulnerabilityUp = 1789, // HybridDragon/Helper->player, extra=0x1/0x2/0x3
+ AboutFace = 1959, // Boss->player, extra=0x0
+ ForwardMarch = 1958, // Boss->player, extra=0x0
+ RightFace = 1961, // Boss->player, extra=0x0
+ LeftFace = 1960, // Boss->player, extra=0x0
+ ForcedMarch = 1257, // Boss->player, extra=0x2/0x1/0x8
+ Bleeding = 2088, // Boss->player, extra=0x0
+}
+
+class D083Stigma4States : StateMachineBuilder
+{
+ public D083Stigma4States(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 784, NameID = 10404)] //
+public class D083Stigma4(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, 0), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
new file mode 100644
index 0000000000..b7b00c1a6f
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
@@ -0,0 +1,17 @@
+namespace BossMod.Endwalker.Dungeon.D09Alzadaal.D091Ambujam;
+
+public enum OID : uint
+{
+ Boss = 0x3879,
+}
+
+class D091AmbujamStates : StateMachineBuilder
+{
+ public D091AmbujamStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 844, NameID = 11241)] //
+public class D091Ambujam(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(124, -90), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
new file mode 100644
index 0000000000..8dee843547
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
@@ -0,0 +1,17 @@
+namespace BossMod.Endwalker.Dungeon.D09Alzadaal.D092ArmoredChariot;
+
+public enum OID : uint
+{
+ Boss = 0x386C,
+}
+
+class D092ArmoredChariotStates : StateMachineBuilder
+{
+ public D092ArmoredChariotStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 844, NameID = 11239)] //
+public class D092ArmoredChariot(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(0, -182), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
new file mode 100644
index 0000000000..e9da8a9dfc
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
@@ -0,0 +1,17 @@
+namespace BossMod.Endwalker.Dungeon.D09Alzadaal.D093Kapikulu;
+
+public enum OID : uint
+{
+ Boss = 0x36C1,
+}
+
+class D093KapikuluStates : StateMachineBuilder
+{
+ public D093KapikuluStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 844, NameID = 11238)]
+public class D093Kapikulu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsRect(new(110, -68), 20, 15));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
new file mode 100644
index 0000000000..cb5ee81c85
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
@@ -0,0 +1,17 @@
+namespace BossMod.Endwalker.Dungeon.D10FellCourt.D101EvilDreamers;
+
+public enum OID : uint
+{
+ Boss = 0x3988,
+}
+
+class D101EvilDreamersStates : StateMachineBuilder
+{
+ public D101EvilDreamersStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 869, NameID = 11382)] // 11383
+public class D101EvilDreamers(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(168, 0), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
new file mode 100644
index 0000000000..a973817a7e
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
@@ -0,0 +1,17 @@
+namespace BossMod.Endwalker.Dungeon.D10FellCourt.D102Beatrice;
+
+public enum OID : uint
+{
+ Boss = 0x396D,
+}
+
+class D102BeatriceStates : StateMachineBuilder
+{
+ public D102BeatriceStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 869, NameID = 11384)] //
+public class D102Beatrice(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -148), 20));
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
new file mode 100644
index 0000000000..e496878f41
--- /dev/null
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
@@ -0,0 +1,17 @@
+namespace BossMod.Endwalker.Dungeon.D10FellCourt.D103Scarmiglione;
+
+public enum OID : uint
+{
+ Boss = 0x39C5,
+}
+
+class D103ScarmiglioneStates : StateMachineBuilder
+{
+ public D103ScarmiglioneStates(BossModule module) : base(module)
+ {
+ TrivialPhase();
+ }
+}
+
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 869, NameID = 11372)] // 11407
+public class D103Scarmiglione(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-35, -298), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Heavensward/Alliance/A31DeathgazeHollow/A31DeathgazeHollowEnums.cs b/BossMod/Modules/Heavensward/Alliance/A31DeathgazeHollow/A31DeathgazeHollowEnums.cs
index 410d8421bb..5d0a729cad 100644
--- a/BossMod/Modules/Heavensward/Alliance/A31DeathgazeHollow/A31DeathgazeHollowEnums.cs
+++ b/BossMod/Modules/Heavensward/Alliance/A31DeathgazeHollow/A31DeathgazeHollowEnums.cs
@@ -6,26 +6,6 @@ public enum OID : uint
Helper = 0x1911, // R0.500, x9
FierceWind = 0x1912, // R1.000, x0 (spawn during fight)
VoidSprite = 0x1910, // R2.000, x0 (spawn during fight)
- Actor1e8536 = 0x1E8536, // R2.000, x1, EventObj type
- Actor1ea2ef = 0x1EA2EF, // R0.500, x1, EventObj type
- Actor1e8fb8 = 0x1E8FB8, // R2.000, x1, EventObj type
- Actor1ea235 = 0x1EA235, // R2.000, x1, EventObj type
- Actor1ea23c = 0x1EA23C, // R2.000, x1, EventObj type
- Actor1ea240 = 0x1EA240, // R2.000, x1, EventObj type
- Actor1ea238 = 0x1EA238, // R2.000, x1, EventObj type
- Actor1ea234 = 0x1EA234, // R2.000, x1, EventObj type
- Actor1ea23b = 0x1EA23B, // R2.000, x1, EventObj type
- Actor1ea237 = 0x1EA237, // R2.000, x1, EventObj type
- Actor1ea23f = 0x1EA23F, // R2.000, x1, EventObj type
- Actor1ea243 = 0x1EA243, // R2.000, x1, EventObj type
- Actor1ea23a = 0x1EA23A, // R2.000, x1, EventObj type
- Actor1ea236 = 0x1EA236, // R2.000, x1, EventObj type
- Actor1ea23e = 0x1EA23E, // R2.000, x1, EventObj type
- Actor1ea233 = 0x1EA233, // R2.000, x1, EventObj type
- Actor1ea239 = 0x1EA239, // R2.000, x1, EventObj type
- Actor1ea23d = 0x1EA23D, // R2.000, x1, EventObj type
- Actor1ea232 = 0x1EA232, // R2.000, x1, EventObj type
- Actor1ea241 = 0x1EA241, // R2.000, x1, EventObj type
Actor1ea2e7 = 0x1EA2E7, // R0.500, x0 (spawn during fight), EventObj type
Actor1ea273 = 0x1EA273, // R2.000, x0 (spawn during fight), EventObj type
}
@@ -62,9 +42,14 @@ public enum AID : uint
VoidAeroIV2 = 7311, // Helper->self, 3.0s cast, range 31+R width 60 rect
VoidAeroII3 = 7288, // Boss->self, 5.0s cast, single-target
VoidAeroIII3 = 7290, // Boss->self, 3.0s cast, single-target
- BoltOfDarkness = 7302, // Boss->self, 6.0s cast, single-target
- BoltOfDarkness2 = 7315, // Helper->self, 6.8s cast, range 31+R width 20 rect
- VoidDeathIV = 7298, // Boss->self, 3.0s cast, single-target
+
+ BoltOfDarkness1 = 7302, // Boss->self, 6.0s cast, single-target
+ BoltOfDarkness2 = 7303, // Boss->self, 6.0s cast, single-target
+ BoltOfDarkness3 = 7315, // Helper->self, 6.8s cast, range 31+R width 20 rect
+
+ VoidDeathIV1 = 7298, // Boss->self, 3.0s cast, single-target
+ VoidDeathIV2 = 7299, // Boss->self, 3.0s cast, single-target
+
Ruin = 2214, // VoidSprite->player, 1.0s cast, single-target
VoidBlizzardIII3 = 7284, // Boss->self, 2.5s cast, single-target
DarkII = 7318, // VoidSprite->self, 2.5s cast, range 50+R 60-degree cone
@@ -85,5 +70,5 @@ public enum SID : uint
public enum IconID : uint
{
- _Gen_Icon_70 = 70, // player
+ Icon_70 = 70, // player
}
\ No newline at end of file
diff --git a/BossMod/Modules/Heavensward/Alliance/A32FerdiadHollow/A32FerdiadHollowEnums.cs b/BossMod/Modules/Heavensward/Alliance/A32FerdiadHollow/A32FerdiadHollowEnums.cs
index fb75124319..834990e6b7 100644
--- a/BossMod/Modules/Heavensward/Alliance/A32FerdiadHollow/A32FerdiadHollowEnums.cs
+++ b/BossMod/Modules/Heavensward/Alliance/A32FerdiadHollow/A32FerdiadHollowEnums.cs
@@ -21,37 +21,37 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 7319, // Boss->player, no cast, single-target
+ Blackbolt = 7341, // Boss->players, 5.0s cast, range 6 circle
+ Blackfire1 = 7338, // Boss->self, 8.2s cast, single-target
+ Blackfire2 = 7339, // FerdiadHollow->location, 9.0s cast, range 7 circle
BlackWind = 7340, // Boss->players, no cast, range 5 circle
DeathScythe = 7345, // AbyssalScythe->self, no cast, range 4 circle
- Sleight = 7321, // Boss->location, no cast, ???
- Wormhole = 7322, // Boss->self, 6.5s cast, single-target
- Unknown1 = 7241, // WailingAtomos/CursingAtomos->self, 6.8s cast, single-target
- JugglingSphere = 7327, // Aether->WailingAtomos/CursingAtomos, 7.0s cast, width 6 rect charge
- Unknown2 = 7324, // WailingAtomos/CursingAtomos->self, 8.5s cast, single-target
+ Debilitator = 7334, // Boss->self, 3.0s cast, single-target
Explosion = 7329, // Aether->self, 1.0s cast, range 20 circle
- JestersReap = 7745, // Boss->self, 3.0s cast, range 10+R 120-degree cone
- JongleursX = 7320, // Boss->player, 5.0s cast, single-target
- JugglingSphere2 = 7328, // AetherialChakram->WailingAtomos/CursingAtomos, 7.0s cast, width 6 rect charge
- Unknown3 = 7325, // WailingAtomos/CursingAtomos->self, 8.5s cast, single-target
Explosion2 = 7330, // AetherialChakram->self, 1.0s cast, range 75 circle
- Debilitator = 7334, // Boss->self, 3.0s cast, single-target
+ Fire = 7212, // FerdiadsFool->player, no cast, single-target
Flameflow1 = 7335, // Boss->location, 3.0s cast, range 30 circle
Flameflow2 = 7336, // FerdiadHollow->self, no cast, range 60 circle
Flameflow3 = 7337, // FerdiadHollow->self, no cast, range 60 circle
- Unknown4 = 7326, // WailingAtomos->location, 3.0s cast, width 6 rect charge
+ Icefall = 7344, // FerdiadsFool->location, 3.0s cast, range 5 circle
+ JestersJig1 = 7332, // Boss->self, 5.0s cast, range 30 circle
+ JestersJig2 = 7333, // FerdiadHollow->self, no cast, range 30 circle
+ JestersReap = 7745, // Boss->self, 3.0s cast, range 10+R 120-degree cone
+ JestersReward = 7331, // Boss->self, 8.0s cast, range 28+R 180-degree cone
+ JongleursX = 7320, // Boss->player, 5.0s cast, single-target
+ JugglingSphere = 7327, // Aether->WailingAtomos/CursingAtomos, 7.0s cast, width 6 rect charge
+ JugglingSphere2 = 7328, // AetherialChakram->WailingAtomos/CursingAtomos, 7.0s cast, width 6 rect charge
LuckyPierrot1 = 7342, // FerdiadsFool->location, no cast, width 6 rect charge
- Fire = 7212, // FerdiadsFool->player, no cast, single-target
+ LuckyPierrot2 = 7343, // FerdiadsFool->WailingAtomos, 5.0s cast, width 6 rect charge
PetrifyingEye = 7779, // FerdiadsFool->self, 5.0s cast, range 40 circle
+ Sleight = 7321, // Boss->location, no cast, ???
+ Unknown1 = 7241, // WailingAtomos/CursingAtomos->self, 6.8s cast, single-target
+ Unknown2 = 7324, // WailingAtomos/CursingAtomos->self, 8.5s cast, single-target
+ Unknown3 = 7325, // WailingAtomos/CursingAtomos->self, 8.5s cast, single-target
+ Unknown4 = 7326, // WailingAtomos->location, 3.0s cast, width 6 rect charge
Unknown5 = 7323, // WailingAtomos->self, 4.8s cast, single-target
- Icefall = 7344, // FerdiadsFool->location, 3.0s cast, range 5 circle
- LuckyPierrot2 = 7343, // FerdiadsFool->WailingAtomos, 5.0s cast, width 6 rect charge
Unknown6 = 7766, // WailingAtomos->location, 6.5s cast, width 6 rect charge
- JestersReward = 7331, // Boss->self, 8.0s cast, range 28+R 180-degree cone
- JestersJig1 = 7332, // Boss->self, 5.0s cast, range 30 circle
- JestersJig2 = 7333, // FerdiadHollow->self, no cast, range 30 circle
- Blackfire1 = 7338, // Boss->self, 8.2s cast, single-target
- Blackfire2 = 7339, // FerdiadHollow->location, 9.0s cast, range 7 circle
- Blackbolt = 7341, // Boss->players, 5.0s cast, range 6 circle
+ Wormhole = 7322, // Boss->self, 6.5s cast, single-target
}
public enum SID : uint
diff --git a/BossMod/Modules/Heavensward/Alliance/A33ProtoUltima/A33ProtoUltimaEnums.cs b/BossMod/Modules/Heavensward/Alliance/A33ProtoUltima/A33ProtoUltimaEnums.cs
index 5e0dc38f38..2bd24454c5 100644
--- a/BossMod/Modules/Heavensward/Alliance/A33ProtoUltima/A33ProtoUltimaEnums.cs
+++ b/BossMod/Modules/Heavensward/Alliance/A33ProtoUltima/A33ProtoUltimaEnums.cs
@@ -7,8 +7,38 @@ public enum OID : uint
AllaganDreadnaught = 0x196B, // R3.000, x?
ProtoBit = 0x1968, // R0.600, x?
AetherCollector = 0x1969, // R1.000, x?
- Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type
- Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type
- Actor1ea278 = 0x1EA278, // R2.000, x?, EventObj type
- Actor1ea277 = 0x1EA277, // R2.000, x?, EventObj type
-}
\ No newline at end of file
+}
+
+public enum AID : uint
+{
+ BossAutoAttack = 7573, // Boss->players, no cast, range 2 circle
+ AllaganDreadnaughtAutoAttack = 872, // AllaganDreadnaught->player, no cast, single-target
+
+ AetherBend = 7577, // Boss->self, no cast, range 8+R circle
+ AetherialAbsorbption = 7590, // AetherCollector->Boss, no cast, single-target
+ AetherialPool = 7587, // ProtoUltimaHelper->self, 3.5s cast, range 32 circle
+ AetherochemicalFlare = 7762, // Boss->self, 5.0s cast, range 40+R circle
+ AetherochemicalLaser1 = 7574, // Boss->self, 3.3s cast, range 65+R width 8 rect
+ AetherochemicalLaser2 = 7575, // Boss->self, 3.0s cast, range 65+R width 8 rect
+ AetherochemicalLaser3 = 7576, // Boss->self, 3.0s cast, range 65+R width 8 rect
+ CitadelBuster1 = 7579, // Boss->self, no cast, range 65+R width 10 rect
+ CitadelBuster2 = 7595, // ProtoUltimaHelper->self, 2.5s cast, range 65+R width 10 rect
+ DiffractiveLaser = 7594, // Boss->self, no cast, range 12+R ?-degree cone
+ Eikonizer = 7597, // ProtoUltimaHelper->self, no cast, range 40 circle
+ FlareStar = 7588, // ProtoUltimaHelper->self, 7.0s cast, range 31+R circle
+ LightPillar = 7578, // Boss->self, no cast, single-target
+ Rotoswipe = 4556, // AllaganDreadnaught->self, 3.0s cast, range 8+R 120-degree cone
+ Supernova1 = 7581, // Boss->self, 6.0s cast, range 40+R circle
+ Supernova2 = 7593, // Boss->self, 60.0s cast, range 40+R circle
+ Touchdown = 7580, // Boss->self, no cast, range 6+R circle
+ UnknownWeaponskill1 = 7584, // Boss->self, no cast, single-target
+ UnknownWeaponskill2 = 7585, // Boss->self, no cast, single-target
+ UnknownWeaponskill3 = 7586, // Boss->self, no cast, single-target
+ UnknownWeaponskill4 = 7596, // ProtoUltimaHelper2->self, no cast, range 8 circle
+}
+
+public enum IconID : uint
+{
+ Icon_62 = 62, // ProtoUltimaHelper2
+ Icon_197 = 197, // player
+}
diff --git a/BossMod/Modules/Heavensward/Alliance/A34Scathach/A34ScathachEnums.cs b/BossMod/Modules/Heavensward/Alliance/A34Scathach/A34ScathachEnums.cs
index abb54c3e78..ad367e5384 100644
--- a/BossMod/Modules/Heavensward/Alliance/A34Scathach/A34ScathachEnums.cs
+++ b/BossMod/Modules/Heavensward/Alliance/A34Scathach/A34ScathachEnums.cs
@@ -9,51 +9,47 @@ public enum OID : uint
ShadowcourtJester = 0x1953, // R0.600, x?
ChimeraPoppet = 0x1954, // R2.250, x?
ShadowcourtHound = 0x1955, // R4.440, x?
- Actor1ea24e = 0x1EA24E, // R0.500, x?, EventObj type
- Actor1ea2ef = 0x1EA2EF, // R0.500, x?, EventObj type
- Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type
- Actor1ea254 = 0x1EA254, // R2.000, x?, EventObj type
- Actor1ea255 = 0x1EA255, // R2.000, x?, EventObj type
}
public enum AID : uint
{
AutoAttack = 7760, // Boss->player, no cast, single-target
- ThirtyThorns1 = 7467, // Boss->self, no cast, range 7+R width 3 rect
- ThirtyThorns2 = 7468, // Connla->self, no cast, range 12+R width 3 rect
- ThirtyThorns3 = 7469, // Connla->self, no cast, range 12+R width 3 rect
- ThirtyThorns4 = 7470, // Connla->self, 1.5s cast, range 8 circle
+ AutoAttack2 = 870, // ChimeraPoppet/ShadowcourtHound->player, no cast, single-target
+ AutoAttack3 = 871, // Connla2->player, no cast, single-target
+ BigHug = 7631, // ChimeraPoppet->self, 2.5s cast, range 3+R width 3 rect
+ BlindingShadow1 = 7476, // Boss->self, 5.0s cast, range 60 circle
+ BlindingShadow2 = 7598, // Connla->self, no cast, range 30 circle
+ Blizzard = 7777, // ShadowcourtJester->player, 1.0s cast, single-target
Manos = 7379, // Boss->self, no cast, single-target
- Shadespin1 = 7454, // Boss->self, 4.0s cast, single-target
- Shadespin2 = 7456, // Connla->self, 1.2s cast, range 30+R 90-degree cone
- ThirtySickles = 7473, // Boss->self, no cast, range 15 circle
- Soar = 7451, // Boss->location, no cast, ???
- Unknown = 7452, // Boss->self, no cast, range 15 circle
+ MarrowDrain = 3342, // ShadowcourtHound->self, 3.0s cast, range 6+R 120-degree cone
+ Nox1 = 7458, // Connla->location, 5.0s cast, range 10 circle
+ Nox2 = 7457, // Connla->location, no cast, range 10 circle
+ ParticleBeam = 7464, // Connla->location, no cast, range 5 circle
+ Pitfall = 7377, // Connla->self, 5.0s cast, range 60 circle
Shadesmite1 = 7636, // Connla->self, 1.5s cast, range 3 circle
Shadesmite2 = 7453, // Connla->self, 1.5s cast, range 15 circle
Shadesmite3 = 7637, // Connla->self, 1.5s cast, range 3 circle
- ShadowRelease = 7380, // Boss->self, no cast, single-target
- Unknown2 = 7376, // Connla2->self, no cast, single-target
- Pitfall = 7377, // Connla->self, 5.0s cast, range 60 circle
- AutoAttack3 = 871, // Connla2->player, no cast, single-target
- ThirtyArrows1 = 7471, // Boss->location, 3.0s cast, range 8 circle
- ThirtyArrows2 = 7472, // Connla->self, 2.5s cast, range 35+R width 8 rect
- ThirtySouls = 7474, // Boss->self, 4.0s cast, range 60 circle
Shadespin = 7455, // Boss->self, 4.0s cast, single-target
- Nox1 = 7458, // Connla->location, 5.0s cast, range 10 circle
- Nox2 = 7457, // Connla->location, no cast, range 10 circle
+ Shadespin1 = 7454, // Boss->self, 4.0s cast, single-target
+ Shadespin2 = 7456, // Connla->self, 1.2s cast, range 30+R 90-degree cone
Shadethrust = 7459, // Boss->location, 3.0s cast, range 40+R width 5 rect
+ ShadowRelease = 7380, // Boss->self, no cast, single-target
Shred = 7460, // ShadowLimb->player, no cast, single-target
- Blizzard = 7777, // ShadowcourtJester->player, 1.0s cast, single-target
- AutoAttack2 = 870, // ChimeraPoppet/ShadowcourtHound->player, no cast, single-target
Snuggle = 7630, // ChimeraPoppet->player, no cast, single-target
- ParticleBeam = 7464, // Connla->location, no cast, range 5 circle
- BlindingShadow1 = 7476, // Boss->self, 5.0s cast, range 60 circle
- BlindingShadow2 = 7598, // Connla->self, no cast, range 30 circle
+ Soar = 7451, // Boss->location, no cast, ???
+ TheDragonsVoice = 3344, // ShadowcourtHound->self, 4.5s cast, range 30 circle
+ ThirtyArrows1 = 7471, // Boss->location, 3.0s cast, range 8 circle
+ ThirtyArrows2 = 7472, // Connla->self, 2.5s cast, range 35+R width 8 rect
ThirtyCries = 7475, // Boss->players, no cast, range 12 circle
+ ThirtySickles = 7473, // Boss->self, no cast, range 15 circle
+ ThirtySouls = 7474, // Boss->self, 4.0s cast, range 60 circle
+ ThirtyThorns1 = 7467, // Boss->self, no cast, range 7+R width 3 rect
+ ThirtyThorns2 = 7468, // Connla->self, no cast, range 12+R width 3 rect
+ ThirtyThorns3 = 7469, // Connla->self, no cast, range 12+R width 3 rect
+ ThirtyThorns4 = 7470, // Connla->self, 1.5s cast, range 8 circle
+ Unknown = 7452, // Boss->self, no cast, range 15 circle
+ Unknown2 = 7376, // Connla2->self, no cast, single-target
VoidBlizzard = 7778, // ShadowcourtJester->player, 2.5s cast, single-target
- BigHug = 7631, // ChimeraPoppet->self, 2.5s cast, range 3+R width 3 rect
- TheDragonsVoice = 3344, // ShadowcourtHound->self, 4.5s cast, range 30 circle
}
public enum SID : uint
diff --git a/BossMod/Modules/Heavensward/Alliance/A35Diabolos/A35DiabolosEnums.cs b/BossMod/Modules/Heavensward/Alliance/A35Diabolos/A35DiabolosEnums.cs
index 1a2245eee1..4aa132cfe4 100644
--- a/BossMod/Modules/Heavensward/Alliance/A35Diabolos/A35DiabolosEnums.cs
+++ b/BossMod/Modules/Heavensward/Alliance/A35Diabolos/A35DiabolosEnums.cs
@@ -4,14 +4,57 @@ public enum OID : uint
{
Boss = 0x1908, // R3.000, x?
Diabolos = 0x19A, // R0.500, x?, 523 type
- Actor1ea250 = 0x1EA250, // R0.500, x?, EventObj type
- Actor1ea268 = 0x1EA268, // R2.000, x?, EventObj type
- Actor1ea265 = 0x1EA265, // R2.000, x?, EventObj type
- Actor1ea267 = 0x1EA267, // R2.000, x?, EventObj type
- Actor1ea291 = 0x1EA291, // R0.500, x?, EventObj type
- Actor1e8fb8 = 0x1E8FB8, // R2.000, x?, EventObj type
- Actor1ea251 = 0x1EA251, // R0.500, x?, EventObj type
- Actor1ea2eb = 0x1EA2EB, // R2.000, x?, EventObj type
- Actor1ea266 = 0x1EA266, // R2.000, x?, EventObj type
- Actor1e8e9b = 0x1E8E9B, // R0.500, x?, EventObj type
-}
\ No newline at end of file
+ Deathgate = 0x190A, // R3.200, x0 (spawn during fight)
+ DiabolicGate = 0x190B, // R3.200, x0 (spawn during fight)
+ Shadowsphere = 0x19AF, // R1.500, x0 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 7742, // Boss->player, no cast, single-target
+ Blindside = 7208, // Boss->self, no cast, range 9+R ?-degree cone
+ CriticalGravity = 7767, // Shadowsphere->self, no cast, range 8+R circle
+ DeepFlow = 7189, // DiabolicGate->self, 28.0s cast, range 40 circle
+ DoubleEdge = 7211, // Boss->self, 3.0s cast, single-target
+ EarthShaker1 = 7209, // Boss->self, 4.0s cast, single-target
+ EarthShaker2 = 7210, // Diabolos->self, no cast, range 60+R ?-degree cone
+ HollowCamisado = 7193, // Boss->player, 3.0s cast, single-target
+ HollowNight = 7197, // Boss->players, no cast, range 8 circle
+ HollowNightmare = 7200, // Boss->self, 4.0s cast, range 50 circle
+ HollowOmen1 = 7202, // Boss->self, 15.0s cast, range 50 circle
+ HollowOmen2 = 7203, // Diabolos->self, 20.0s cast, range 30 circle
+ Hollowshield = 7198, // Boss->self, no cast, single-target
+ Nox1 = 7195, // Diabolos->location, no cast, range 10 circle
+ Nox2 = 7196, // Diabolos->location, 5.0s cast, range 10 circle
+ PavorInanis = 7199, // Boss->self, 4.0s cast, range 40 circle
+ Shadethrust = 7194, // Boss->location, 3.0s cast, range 40+R width 5 rect
+ UnknownAbility = 7192, // Boss->location, no cast, ???
+ VoidCall = 7188, // Diabolos->self, 9.0s cast, single-target
+}
+
+public enum SID : uint
+{
+ DiabolicCurse = 424, // Boss->player, extra=0x1
+ Doom = 910, // Boss->player, extra=0x0
+ FleshWound = 264, // Boss->player, extra=0x0
+ HelpingHand = 368, // none->player, extra=0xA
+ Hysteria = 296, // Boss->player, extra=0x0
+ Invincibility = 325, // none->DiabolicGate, extra=0x0
+ Invincibility2 = 776, // none->player, extra=0x0
+ Jackpot = 902, // none->player, extra=0xA
+ KeenEdge = 1145, // Boss->Boss, extra=0x0
+ ReducedRates = 364, // none->player, extra=0x1E
+ TheHeatOfBattle = 365, // none->player, extra=0xA
+ Transcendent = 418, // none->player, extra=0x0
+ VulnerabilityDown = 929, // Boss->Boss/Diabolos, extra=0x0
+ Weakness = 43, // none->player, extra=0x0
+
+}
+
+public enum IconID : uint
+{
+ Icon_197 = 197, // player
+ Icon_91 = 91, // player
+ Icon_93 = 93, // player
+ Icon_40 = 40, // player
+}
From f0495a8f39c06d565f1a3b427e6c4a0cc18c9f4d Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 10:05:58 -0500
Subject: [PATCH 2/9] Alzadaal and Fell Court
---
.../Dungeon/D09Alzadaal/D091Ambujam.cs | 23 +++++++
.../Dungeon/D09Alzadaal/D092ArmoredChariot.cs | 41 ++++++++++++-
.../Dungeon/D09Alzadaal/D093Kapikulu.cs | 42 +++++++++++++
.../Dungeon/D10FellCourt/D101EvilDreamers.cs | 60 ++++++++++++++++++-
.../Dungeon/D10FellCourt/D102Beatrice.cs | 29 ++++++++-
.../Dungeon/D10FellCourt/D103Scarmiglione.cs | 51 ++++++++++++++++
6 files changed, 241 insertions(+), 5 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
index b7b00c1a6f..6fc9327552 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
@@ -3,6 +3,29 @@
public enum OID : uint
{
Boss = 0x3879,
+ Helper = 0x233C,
+ Unknown = 0x3931, // R4.400, x2 (spawn during fight)
+ Actor1e8f2f = 0x1E8F2F, // R0.500, x2 (spawn during fight), EventObj type
+ Actor1e8fb8 = 0x1E8FB8, // R2.000, x3 (spawn during fight), EventObj type
+ CyanTentacle = 0x387B, // R2.400, x1
+ ScarletTentacle = 0x387A, // R2.400, x1
+}
+
+public enum AID : uint
+{
+ AutoAttack = 872, // Boss->player, no cast, single-target
+ BigWave = 28512, // Boss->self, 5.0s cast, range 40 circle
+ CorrosiveFountain = 29556, // Helper->self, 7.0s cast, range 8 circle
+ CorrosiveVenom1 = 29157, // CyanTentacle->self, no cast, single-target
+ CorrosiveVenom2 = 29158, // Helper->self, 2.5s cast, range 21 circle
+ TentacleDig1 = 28501, // Boss->self, 3.0s cast, single-target
+ TentacleDig2 = 28505, // Boss->self, 3.0s cast, single-target
+ ToxicFountain1 = 29466, // Boss->self, 4.0s cast, single-target
+ ToxicFountain2 = 29467, // Helper->self, 7.0s cast, range 8 circle
+ ToxinShower1 = 28507, // ScarletTentacle->self, no cast, single-target
+ ToxinShower2 = 28508, // Helper->self, 2.5s cast, range 21 circle
+ Unknown1 = 28502, // Boss->self, no cast, single-target
+ Unknown2 = 28506, // Boss->self, no cast, single-target
}
class D091AmbujamStates : StateMachineBuilder
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
index 8dee843547..60548af23a 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
@@ -3,6 +3,45 @@
public enum OID : uint
{
Boss = 0x386C,
+ Helper = 0x233C, // R0.500, x23, 523 type
+ Actor1eb69c = 0x1EB69C, // R0.500, x0 (spawn during fight), EventObj type
+ Unknown = 0x3932, // R7.000, x0 (spawn during fight)
+ ArmoredDrudge = 0x386D, // R1.800, x8
+}
+
+public enum AID : uint
+{
+ AutoAttack = 29132, // Boss->player, no cast, single-target
+ ArticulatedBits = 28441, // Boss->self, 3.0s cast, range 6 circle
+ Assail1 = 28456, // Boss->self, no cast, single-target
+ Assail2 = 28457, // Boss->self, no cast, single-target
+ AssaultCannon1 = 28442, // ArmoredDrudge->self, 8.0s cast, single-target
+ AssaultCannon2 = 28443, // ArmoredDrudge->self, 8.0s cast, single-target
+ AssaultCannon3 = 28444, // Helper->self, no cast, range 40 width 8 rect
+ AssaultCannon4 = 28445, // Helper->self, no cast, range 28 width 8 rect
+ CannonReflection1 = 28454, // Helper->self, 8.0s cast, single-target
+ CannonReflection2 = 28455, // Helper->self, no cast, range 30 ?-degree cone
+ DiffusionRay = 28446, // Boss->self, 5.0s cast, range 40 circle
+ GravitonCannon = 29555, // Helper->player, 8.5s cast, range 6 circle
+ UnknownAbility1 = 28448, // Boss->self, no cast, single-target
+ UnknownAbility2 = 28449, // Boss->self, no cast, single-target
+ UnknownAbility3 = 28450, // Boss->self, no cast, single-target
+ UnknownAbility4 = 28451, // Boss->self, no cast, single-target
+ UnknownAbility5 = 28452, // Boss->self, no cast, single-target
+ UnknownAbility6 = 28453, // Boss->self, no cast, single-target
+}
+
+public enum SID : uint
+{
+ Electrocution1 = 3073, // none->player, extra=0x0
+ UnknownStatus1 = 2552, // none->ArmoredDrudge, extra=0x180/0x181
+ UnknownStatus2 = 2195, // none->Boss, extra=0x183/0x182
+ Electrocution2 = 3074, // none->player, extra=0x0
+}
+
+public enum IconID : uint
+{
+ Icon_329 = 329, // player
}
class D092ArmoredChariotStates : StateMachineBuilder
@@ -13,5 +52,5 @@ public D092ArmoredChariotStates(BossModule module) : base(module)
}
}
-[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 844, NameID = 11239)] //
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.Boss, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 844, NameID = 11239)] //
public class D092ArmoredChariot(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(0, -182), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
index e9da8a9dfc..683b7cc6dc 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
@@ -3,6 +3,48 @@
public enum OID : uint
{
Boss = 0x36C1,
+ Helper = 0x233C, // R0.500, x29, 523 type
+ Unknown = 0x3931, // R4.400, x2 (spawn during fight)
+}
+
+public enum AID : uint
+{
+ AutoAttack = 870, // Boss->player, no cast, single-target
+ BastingBlade = 28520, // Boss->self, 5.5s cast, range 60 width 15 rect
+ BillowingBolts = 28528, // Boss->self, 5.0s cast, range 80 circle
+ CrewelSlice = 28530, // Boss->player, 5.0s cast, single-target
+ MagnitudeOpus1 = 28526, // Boss->self, 4.0s cast, single-target
+ MagnitudeOpus2 = 28527, // Helper->players, 5.0s cast, range 6 circle
+ ManaExplosion = 28523, // Helper->self, 3.0s cast, range 15 circle
+ PowerSerge = 28522, // Boss->self, 6.0s cast, single-target
+ SpinOut = 28515, // Boss->self, 3.0s cast, single-target
+ UnknownWeaponskill1 = 28516, // Helper->player, 4.5s cast, single-target
+ UnknownWeaponskill2 = 28517, // Boss->self, no cast, single-target
+ UnknownWeaponskill3 = 28518, // Helper->self, no cast, range 10 circle
+ UnknownWeaponskill4 = 28519, // Helper->self, 6.0s cast, range 6 width 6 rect
+ UnknownWeaponskill5 = 28529, // Helper->self, 5.0s cast, range 5 width 40 rect
+ UnkownAbility = 28514, // Boss->location, no cast, single-target
+ WildWeave = 28521, // Boss->self, 4.0s cast, single-target
+}
+public enum SID : uint
+{
+ Dizzy = 2974, // Boss->player, extra=0x0
+ Fetters = 2975, // Boss->player, extra=0xEC4
+ Spinning = 2973, // Boss->player, extra=0x7
+ StabWound1 = 3061, // none->player, extra=0x0
+ StabWound2 = 3062, // none->player, extra=0x0
+ VulnerabilityUp = 1789, // Helper->player, extra=0x1
+
+}
+public enum IconID : uint
+{
+ Icon_218 = 218, // player
+ Icon_161 = 161, // player
+}
+public enum TetherID : uint
+{
+ Tether_177 = 177, // player->Boss
+ Tether_188 = 188, // Boss->Helper
}
class D093KapikuluStates : StateMachineBuilder
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
index cb5ee81c85..ade11c5a91 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
@@ -2,9 +2,36 @@
public enum OID : uint
{
- Boss = 0x3988,
+ EvilDreamer4 = 0x3966, // R2.400-4.800, x19
+ EvilDreamer2 = 0x3967, // R2.400, x0-10 (spawn during fight)
+ EvilDreamer1 = 0x3988, // R2.400-7.200, x1
+ EvilDreamer3 = 0x3968, // R3.600, x0-7
}
+public enum AID : uint
+{
+ AutoAttack = 30246, // EvilDreamer1/EvilDreamer3/EvilDreamer4->player, no cast, single-target
+ UnknownAbility = 29623, // SmallerBoss->location, no cast, single-target
+ UniteMare1 = 29621, // SmallerBoss->self, 11.0s cast, range 6 circle
+ UniteMare2 = 29622, // SmallerBoss->self, 11.0s cast, range 6 circle
+ UniteMare3 = 29628, // EvilDreamer1->self, 10.0s cast, range 12 circle
+ DarkVision = 29627, // EvilDreamer4->self, 15.0s cast, range 41 width 5 rect
+ UnknownAbility2 = 29629, // EvilDreamer4->location, no cast, single-target
+
+}
+
+public enum SID : uint
+{
+ AreaOfInfluenceUp = 1749, // none->SmallerBoss, extra=0xC
+ HPBoost = 483, // none->SmallerBoss, extra=0x0
+}
+
+public enum TetherID : uint
+{
+ Tether_14 = 14, // SmallerBoss->SmallerBoss
+}
+
+
class D101EvilDreamersStates : StateMachineBuilder
{
public D101EvilDreamersStates(BossModule module) : base(module)
@@ -13,5 +40,32 @@ public D101EvilDreamersStates(BossModule module) : base(module)
}
}
-[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 869, NameID = 11382)] // 11383
-public class D101EvilDreamers(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(168, 0), 20));
\ No newline at end of file
+[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", PrimaryActorOID = (uint)OID.EvilDreamer1, GroupType = BossModuleInfo.GroupType.CFC, GroupID = 869, NameID = 11382)] // 11383
+public class D101EvilDreamers(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(168, 90), 20))
+{
+ private Actor? _evilDreamer2;
+ private Actor? _evilDreamer3;
+ private Actor? _evilDreamer4;
+
+ public Actor? EvilDreamer1() => PrimaryActor;
+ public Actor? EvilDreamer2() => _evilDreamer2;
+ public Actor? EvilDreamer3() => _evilDreamer3;
+ public Actor? EvilDreamer4() => _evilDreamer4;
+
+ 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
+ _evilDreamer2 ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.EvilDreamer2).FirstOrDefault() : null;
+ _evilDreamer3 ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.EvilDreamer3).FirstOrDefault() : null;
+ _evilDreamer4 ??= StateMachine.ActivePhaseIndex == 0 ? Enemies(OID.EvilDreamer4).FirstOrDefault() : null;
+ }
+
+ protected override void DrawEnemies(int pcSlot, Actor pc)
+ {
+ Arena.Actor(PrimaryActor, ArenaColor.Enemy);
+ Arena.Actor(_evilDreamer2, ArenaColor.Enemy);
+ Arena.Actor(_evilDreamer3, ArenaColor.Enemy);
+ Arena.Actor(_evilDreamer4, ArenaColor.Enemy);
+ }
+}
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
index a973817a7e..f4b505c050 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
@@ -3,6 +3,33 @@
public enum OID : uint
{
Boss = 0x396D,
+ Actor1e8fb8 = 0x1E8FB8, // R2.000, x2 (spawn during fight), EventObj type
+ Actor1e8f2f = 0x1E8F2F, // R0.500, x1 (spawn during fight), EventObj type
+ Helper = 0x233C, // R0.500, x26, 523 type
+}
+
+public enum AID : uint
+{
+ _AutoAttack_Attack = 872, // Boss->player, no cast, single-target
+ BeatificScorn1 = 29811, // Boss->self, 4.0s cast, single-target
+ BeatificScorn2 = 29814, // Boss->self, no cast, single-target
+ BeatificScorn3 = 29815, // Boss->self, no cast, single-target
+ BeatificScorn4 = 29816, // Boss->self, no cast, single-target
+ BeatificScorn5 = 29817, // Helper->self, 10.0s cast, range 9 circle
+ DeathForeseen1 = 29821, // Helper->self, 5.0s cast, range 40 circle
+ DeathForeseen2 = 29828, // Helper->self, 8.0s cast, range 40 circle
+ EyeOfTroia = 29818, // Boss->self, 4.0s cast, range 40 circle
+ Hush = 29824, // Boss->player, 5.0s cast, single-target
+ UnknownAbility1 = 29819, // Boss->self, no cast, single-target
+ UnknownAbility2 = 29820, // Boss->location, no cast, single-target
+ VoidNail = 29823, // Helper->player, 5.0s cast, range 6 circle
+ Voidshaker = 29822, // Boss->self, 5.0s cast, range 20 120-degree cone
+}
+
+public enum IconID : uint
+{
+ _Gen_Icon_218 = 218, // player
+ _Gen_Icon_139 = 139, // player
}
class D102BeatriceStates : StateMachineBuilder
@@ -14,4 +41,4 @@ public D102BeatriceStates(BossModule module) : base(module)
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 869, NameID = 11384)] //
-public class D102Beatrice(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -148), 20));
+public class D102Beatrice(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -148), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
index e496878f41..8421475dd4 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
@@ -3,6 +3,57 @@
public enum OID : uint
{
Boss = 0x39C5,
+ Necroserf1 = 0x39C7, // R1.400, x8
+ Necroserf2 = 0x39C6, // R1.400, x2
+ Helper = 0x233C, // R0.500, x24, 523 type
+}
+
+public enum AID : uint
+{
+ AutoAttack = 30258, // Boss->player, no cast, single-target
+ AutoAttackMob = 872, // Necroserf1->player, no cast, single-target
+
+ BlightedBedevilment = 30235, // Boss->self, 4.9s cast, range 9 circle
+ BlightedBladework1 = 30259, // Boss->location, 10.0s cast, single-target
+ BlightedBladework2 = 30260, // Helper->self, 11.0s cast, range 25 circle
+ BlightedSweep = 30261, // Boss->self, 7.0s cast, range 40 180-degree cone
+ CorruptorsPitch1 = 30245, // Boss->self, no cast, single-target
+ CorruptorsPitch2 = 30247, // Helper->self, no cast, range 60 circle
+ CorruptorsPitch3 = 30248, // Helper->self, no cast, range 60 circle
+ CorruptorsPitch4 = 30249, // Helper->self, no cast, range 60 circle
+ CreepingDecay = 30240, // Boss->self, 4.0s cast, single-target
+ CursedEcho = 30257, // Boss->self, 4.0s cast, range 40 circle
+ Nox = 30241, // Helper->self, 5.0s cast, range 10 circle
+ RottenRampage1 = 30231, // Boss->self, 8.0s cast, single-target
+ RottenRampage2 = 30232, // Helper->location, 10.0s cast, range 6 circle
+ RottenRampage3 = 30233, // Helper->players, 10.0s cast, range 6 circle
+ UnknownAbility1 = 30237, // Boss->location, no cast, single-target
+ UnknownAbility2 = 30244, // Boss->self, no cast, single-target
+ UnknownWeaponskill = 30234, // Boss->self, no cast, single-target
+ VacuumWave = 30236, // Helper->self, 5.4s cast, range 40 circle
+ VoidVortex1 = 30243, // Helper->players, 5.0s cast, range 6 circle
+ VoidVortex2 = 30253, // Boss->self, no cast, single-target
+ VoidVortex3 = 30254, // Helper->players, 5.0s cast, range 6 circle
+}
+
+public enum SID : uint
+{
+ Bleeding = 2088, // Boss->player, extra=0x0
+ BrainRot = 3282, // Helper->player/39C8, extra=0x1
+ VulnerabilityUp = 1789, // Helper->player, extra=0x4
+ Weakness = 43, // none->player, extra=0x0
+ Transcendent = 418, // none->player, extra=0x0
+}
+
+public enum IconID : uint
+{
+ Icon_353 = 353, // player
+ Icon_161 = 161, // player
+}
+
+public enum TetherID : uint
+{
+ Tether_206 = 206, // Boss->3AE4
}
class D103ScarmiglioneStates : StateMachineBuilder
From 0d2c6baba286d5bb36e8286175878a0e0f393638 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 11:42:36 -0500
Subject: [PATCH 3/9] Basic Tower of Babil and Vanaspati support
---
.../Dungeon/D02TowerOfBabil/D021Barnabas.cs | 27 ++++++++++++--
.../Dungeon/D02TowerOfBabil/D022Lugae.cs | 15 ++++++--
.../Dungeon/D02TowerOfBabil/D023Anima.cs | 35 ++++++++++++++-----
.../Dungeon/D03Vanaspati/D031Snatcher.cs | 24 +++++++++++--
.../Dungeon/D03Vanaspati/D032Wrecker.cs | 25 ++++++++-----
.../Dungeon/D03Vanaspati/D033Svarbhanu.cs | 30 +++++++++++-----
.../Dungeon/D04TheVault/D042SerGrinnaux.cs | 2 +-
7 files changed, 126 insertions(+), 32 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
index 1b07a4b746..8afe75a335 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
@@ -1,4 +1,6 @@
-namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D021Barnabas;
+using BossMod.Endwalker.Dungeon.D03Vanaspati.D032Wrecker;
+
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D021Barnabas;
public enum OID : uint
{
@@ -48,12 +50,33 @@ public enum TetherID : uint
{
Tether_28 = 28, // player->Boss
}
+class ElectromagneticRelease1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ElectromagneticRelease1), new AOEShapeRect(40, 3));
+class ElectromagneticRelease2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ElectromagneticRelease2), new AOEShapeCircle(8));
+
+class GroundAndPound1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.GroundAndPound1), new AOEShapeRect(40, 6));
+class GroundAndPound2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.GroundAndPound2), new AOEShapeRect(40, 6));
+
+class DynamicPound(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.DynamicPound), new AOEShapeRect(40, 6));
+class DynamicScrapline(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.DynamicScrapline), new AOEShapeCircle(8));
+class RollingScrapline(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.RollingScrapline), new AOEShapeCircle(6));
+class Shock(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Shock), new AOEShapeCircle(8));
+class ShockingForce(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.ShockingForce), 6, 8);
+
class D021BarnabasStates : StateMachineBuilder
{
public D021BarnabasStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs
index c17de9a49b..52e61764d6 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D022Lugae.cs
@@ -30,13 +30,24 @@ public enum SID : uint
Toad = 2671, // none->player, extra=0x1B1
}
+class ThermalSuppression(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.ThermalSuppression));
+class MagitekMissile(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.MagitekMissile), 6);
+class Explosion(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Explosion), new AOEShapeCross(40, 4));
+class SurfaceMissile(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.SurfaceMissile), 6);
+class MightyBlow(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.MightyBlow), new AOEShapeRect(40, 4));
+
class D022LugaeStates : StateMachineBuilder
{
public D022LugaeStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ //.ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 785, NameID = 10281)] // 10282
-public class D022Lugae(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(221, 306), 20));
\ No newline at end of file
+public class D022Lugae(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(220, 306), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
index d36950bc59..b2af524ac1 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
@@ -1,4 +1,6 @@
-namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
+using BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
+
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
public enum OID : uint
{
@@ -15,7 +17,7 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 25341, // Boss->player, no cast, single-target
- AetherialPull = 25345, // MegaGraviton->player, 8.0s cast, single-target
+ AetherialPull = 25345, // MegaGraviton->player, 8.0s cast, single-target Knockback towardsorigin 30
BoundlessPain1 = 25347, // Boss->self, 8.0s cast, single-target
BoundlessPain2 = 25348, // Helper->location, no cast, range 6 circle
BoundlessPain3 = 25349, // Helper->location, no cast, range 6 circle
@@ -26,17 +28,17 @@ public enum AID : uint
MegaGraviton = 25344, // Boss->self, 5.0s cast, range 60 circle
ObliviatingClaw1 = 25354, // LowerAnima->self, 3.0s cast, single-target
ObliviatingClaw2 = 25355, // LowerAnima->self, 3.0s cast, single-target
- ObliviatingClaw3 = 25356, // IronNail->self, 6.0s cast, range 3 circle
+ ObliviatingClawSpawnAOE = 25356, // IronNail->self, 6.0s cast, range 3 circle
Oblivion1 = 23697, // Helper->location, no cast, range 60 circle
Oblivion2 = 23872, // Helper->location, no cast, range 60 circle
Oblivion3 = 25359, // LowerAnima->self, 6.0s cast, single-target
- PaterPatriae1 = 24168, // Helper->self, 3.5s cast, range 60 width 8 rect
+ PaterPatriaeAOE = 24168, // Helper->self, 3.5s cast, range 60 width 8 rect
PaterPatriae2 = 25350, // Boss->self, 3.5s cast, single-target
PhantomPain1 = 21182, // Boss->self, 7.0s cast, single-target
PhantomPain2 = 25343, // Helper->self, 7.0s cast, range 20 width 20 rect
- Unknown1 = 23929, // Helper->player, no cast, single-target
- Unknown2 = 26229, // Helper->self, no cast, range 60 circle
- Unknown3 = 27228, // LowerAnima->self, no cast, single-target
+ Unknown1 = 23929, // Helper->player, no cast, single-target Knockback 60
+ Unknown2 = 26229, // Helper->self, no cast, range 60 circle Knockback towards origin 60
+ Unknown3 = 27228, // LowerAnima->self, no cast, single-target
}
public enum SID : uint
@@ -57,13 +59,30 @@ public enum TetherID : uint
Tether_17 = 17, // MegaGraviton->player
Tether_22 = 22, // Helper->Boss
}
+class CoffinScratch(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.CoffinScratch), 3);
+
+class PhantomPain2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PhantomPain2), new AOEShapeRect(20, 10));
+class PaterPatriaeAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PaterPatriaeAOE), new AOEShapeRect(60, 4));
+class CharnelClaw(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.CharnelClaw), new AOEShapeRect(40, 2.5f));
+
+class ObliviatingClawSpawnAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ObliviatingClawSpawnAOE), new AOEShapeCircle(3));
+class AetherialPull(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.AetherialPull), 30, kind: Kind.TowardsOrigin);
+class MegaGraviton(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.MegaGraviton));
+class Imperatum(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Imperatum));
class D023AnimaStates : StateMachineBuilder
{
public D023AnimaStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ //.ActivateOnEnter() //chasing aoe
+ //.ActivateOnEnter() //bad squares, for some reason offset by 5 so displaying incorrectly
+ //.ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
index a832370e1e..1c1e0ad33a 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
@@ -1,4 +1,6 @@
-namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
+using BossMod.Endwalker.Variant.V01SS.V015ThorneKnight;
+
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
public enum OID : uint
{
@@ -30,14 +32,30 @@ public enum IconID : uint
Icon_304 = 304, // player
}
+class WhatIsLeft(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.WhatIsLeft), new AOEShapeCone(40, 90.Degrees()));
+class WhatIsRight(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.WhatIsRight), new AOEShapeCone(40, 90.Degrees()));
+class LostHope(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LostHope), new AOEShapeCircle(20));
+class Vitriol(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Vitriol), new AOEShapeCircle(13));
+class NoteOfDespair(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.NoteOfDespair));
+class Wallow(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.Wallow), 6);
+class LastGasp(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.LastGasp));
+
class D031SnatcherStates : StateMachineBuilder
{
public D031SnatcherStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 789, NameID = 10717)] // 11049
-public class D031Snatcher(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-375, 80), 20));
\ No newline at end of file
+public class D031Snatcher(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-375, 85), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs
index f2c624d1e4..6984fdd89d 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D032Wrecker.cs
@@ -10,13 +10,13 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 870, // Boss->player, no cast, single-target
- AetherSiphon1 = 25145, // Boss->self, 3.0s cast, single-target
- AetherSiphon2 = 25146, // Boss->self, 3.0s cast, single-target
- AetherSpray1 = 25147, // Boss->location, 7.0s cast, range 30 circle
- AetherSpray2 = 25148, // Boss->location, 7.0s cast, range 30 circle
+ AetherSiphonFire = 25145, // Boss->self, 3.0s cast, single-target
+ AetherSiphonWater = 25146, // Boss->self, 3.0s cast, single-target
+ AetherSprayFire = 25147, // Boss->location, 7.0s cast, range 30 circle Raidwide
+ AetherSprayWater = 25148, // Boss->location, 7.0s cast, range 30 circle Knockback
MeaninglessDestruction = 25153, // Boss->self, 5.0s cast, range 100 circle
- PoisonHeart1 = 25151, // Boss->self, 5.0s cast, single-target
- PoisonHeart2 = 27851, // Helper->players, 5.0s cast, range 6 circle
+ PoisonHeartVisual = 25151, // Boss->self, 5.0s cast, single-target
+ PoisonHeartStack = 27851, // Helper->players, 5.0s cast, range 6 circle
TotalWreck = 25154, // Boss->player, 5.0s cast, single-target
UnholyWater = 27852, // Boss->self, 3.0s cast, single-target
Withdraw = 27847, // 3731->player, 1.0s cast, single-target
@@ -38,13 +38,22 @@ public enum IconID : uint
Icon_161 = 161, // player
}
+class MeaninglessDestruction(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.MeaninglessDestruction));
+class PoisonHeartStack(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.PoisonHeartStack), 6, 8);
+class TotalWreck(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.TotalWreck));
+class AetherSprayWater(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.AetherSprayWater), 13, shape: new AOEShapeCircle(30));
+
class D032WreckerStates : StateMachineBuilder
{
public D032WreckerStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 789, NameID = 10718)] // 11052
-public class D032Wrecker(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-287, -354), 20));
\ No newline at end of file
+public class D032Wrecker(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-295, -355), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
index 3d654aa9cb..d207f1ba6b 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
@@ -1,4 +1,6 @@
-namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D033Svarbhanu;
+using BossMod.Endwalker.Dungeon.D03Vanaspati.D032Wrecker;
+
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D033Svarbhanu;
public enum OID : uint
{
@@ -13,16 +15,16 @@ public enum AID : uint
ChaoticPulse = 27489, // Boss->self, no cast, single-target
ChaoticUndercurrent1 = 25162, // Helper->self, no cast, range 40 width 10 rect
ChaoticUndercurrent2 = 25163, // Helper->self, no cast, range 40 width 10 rect
- CosmicKiss1 = 25167, // Helper->location, 3.0s cast, range 6 circle
- CosmicKiss2 = 25168, // Helper->player, 8.0s cast, range 6 circle
- CosmicKiss3 = 25169, // Helper->location, 6.0s cast, range 100 circle
+ CosmicKissAOE = 25167, // Helper->location, 3.0s cast, range 6 circle
+ CosmicKissSpread = 25168, // Helper->player, 8.0s cast, range 6 circle
+ CosmicKissKnockback = 25169, // Helper->location, 6.0s cast, range 100 circle knockback 13
CrumblingSky = 25166, // Boss->self, 3.0s cast, single-target
FlamesOfDecay = 25170, // Boss->self, 5.0s cast, range 40 circle
GnashingOfTeeth = 25171, // Boss->player, 5.0s cast, single-target
Unknown1 = 25161, // Boss->self, no cast, single-target
Unknown2 = 25164, // Helper->self, no cast, single-target
- Unknown3 = 25374, // Helper->self, no cast, range 50 width 10 rect
- Unknown4= 25165, // Helper->self, no cast, single-target
+ Unknown3 = 25374, // Helper->self, no cast, range 50 width 10 rect Knockback
+ Unknown4 = 25165, // Helper->self, no cast, single-target
}
public enum SID : uint
@@ -39,13 +41,25 @@ public enum IconID : uint
Icon_218 = 218, // player
}
+class CosmicKissSpread(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.CosmicKissSpread), 6);
+class CosmicKissAOE(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.CosmicKissAOE), 6);
+class CosmicKissKnockback(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.CosmicKissKnockback), 13, shape: new AOEShapeCircle(100));
+class FlamesOfDecay(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.FlamesOfDecay));
+class GnashingOfTeeth(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.GnashingOfTeeth));
+
class D033SvarbhanuStates : StateMachineBuilder
{
public D033SvarbhanuStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 789, NameID = 10719)] //
-public class D033Svarbhanu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(300, -157), 20));
\ No newline at end of file
+public class D033Svarbhanu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(300, -157), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Heavensward/Dungeon/D04TheVault/D042SerGrinnaux.cs b/BossMod/Modules/Heavensward/Dungeon/D04TheVault/D042SerGrinnaux.cs
index 442b86f695..7d3056c039 100644
--- a/BossMod/Modules/Heavensward/Dungeon/D04TheVault/D042SerGrinnaux.cs
+++ b/BossMod/Modules/Heavensward/Dungeon/D04TheVault/D042SerGrinnaux.cs
@@ -49,7 +49,7 @@ public enum TetherID : uint
}
class DimensionalRip(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.DimensionalRip), 5);
-class FaithUnmoving(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.FaithUnmoving), 20, shape: new AOEShapeCircle(80));
+class FaithUnmoving(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.FaithUnmoving), 20, shape: new AOEShapeCircle(80), stopAtWall: true);
class Rive(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Rive), new AOEShapeRect(30, 1));
class StellarImplosion(BossModule module) : Components.PersistentVoidzoneAtCastTarget(module, 5, ActionID.MakeSpell(AID.StellarImplosion), m => m.Enemies(OID.StellarImplodeArea).Where(v => v.EventState != 7), 0);
From b9eda45c875f996bab0b283ffe6e4439478d5267 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 12:45:37 -0500
Subject: [PATCH 4/9] Ktisis Hyperboreia basic support
---
.../Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs | 37 ++++++++++-----
.../Endwalker/Dungeon/D04Ktisis/D042Ladon.cs | 45 +++++++++++++-----
.../Endwalker/Dungeon/D04Ktisis/D043Hermes.cs | 47 +++++++++++++++++--
3 files changed, 100 insertions(+), 29 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
index b8ecfcfd61..8e0fecadf2 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
@@ -1,4 +1,6 @@
-namespace BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
+using BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
+
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
public enum OID : uint
{
@@ -10,15 +12,15 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 6497, // Boss->player, no cast, single-target
- FrigidStomp = 25181, // Boss->self, 5.0s cast, range 50 circle
+ FrigidStomp = 25181, // Boss->self, 5.0s cast, range 50 circle //Raidwide
FrostbiteAndSeek = 25175, // Boss->self, 3.0s cast, single-target
- HeavySmash = 25180, // Boss->players, 5.0s cast, range 6 circle
- IcePillar = 25179, // IcePillar->self, 3.0s cast, range 4 circle
- Icicall = 25178, // Boss->self, 3.0s cast, single-target
- PillarPierce = 25375, // IcePillar->self, 5.0s cast, range 80 width 4 rect
- PunishingSlice1 = 25176, // Boss->self, no cast, single-target
- PunishingSlice2 = 25177, // Helper->self, 2.0s cast, range 50 width 50 rect
- SkullDasher = 25182, // Boss->player, 5.0s cast, single-target
+ HeavySmash = 25180, // Boss->players, 5.0s cast, range 6 circle //Stack
+ IcePillar = 25179, // IcePillar->self, 3.0s cast, range 4 circle //SelfAOE
+ Icicall = 25178, // Boss->self, 3.0s cast, single-target //Ice Spawn
+ PillarPierceAOE = 25375, // IcePillar->self, 5.0s cast, range 80 width 4 rect
+ PunishingSliceVisual = 25176, // Boss->self, no cast, single-target
+ PunishingSliceAOE = 25177, // Helper->self, 2.0s cast, range 50 width 50 rect
+ SkullDasher = 25182, // Boss->player, 5.0s cast, single-target // Tankbuster
Unknown = 28304, // Helper->self, no cast, single-target
}
@@ -27,14 +29,27 @@ public enum IconID : uint
Icon_218 = 218, // player
Icon_62 = 62, // player
}
+class PillarPierceAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PillarPierceAOE), new AOEShapeRect(40, 2));
+class PunishingSliceAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PunishingSliceAOE), new AOEShapeRect(50, 50));
+class IcePillar(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.IcePillar), new AOEShapeCircle(4));
+
+class HeavySmash(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.HeavySmash), 6, 8);
+class SkullDasher(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.SkullDasher));
+class FrigidStomp(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.FrigidStomp));
class D041LyssaStates : StateMachineBuilder
{
public D041LyssaStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 787, NameID = 10396)] //
-public class D041Lyssa(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-134, 54), 20));
\ No newline at end of file
+public class D041Lyssa(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-144, 49), 30));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
index 924d3e290f..95610a0f8c 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
@@ -1,4 +1,6 @@
-namespace BossMod.Endwalker.Dungeon.D04Ktisis.D042Ladon;
+using BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
+
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D042Ladon;
public enum OID : uint
{
@@ -10,18 +12,18 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 872, // Boss->player, no cast, single-target
- Inhale1 = 25732, // Boss->self, 4.0s cast, single-target
- Inhale2 = 25915, // Boss->self, no cast, single-target
- Intimidation = 25741, // Boss->self, 6.0s cast, range 40 circle
- PyricBlast = 25742, // Boss->players, 4.0s cast, range 6 circle
- PyricBreath1 = 25734, // Boss->self, 7.0s cast, range 40 ?-degree cone
- PyricBreath2 = 25735, // Boss->self, 7.0s cast, range 40 ?-degree cone
- PyricBreath3 = 25736, // Boss->self, 7.0s cast, range 40 ?-degree cone
+ Inhale1 = 25732, // Boss->self, 4.0s cast, single-target //Indicator
+ Inhale2 = 25915, // Boss->self, no cast, single-target //Indicator
+ IntimidationRaidwide = 25741, // Boss->self, 6.0s cast, range 40 circle //Raidwide
+ PyricBlastStack = 25742, // Boss->players, 4.0s cast, range 6 circle //Stack
+ PyricBreathFront = 25734, // Boss->self, 7.0s cast, range 40 120-degree cone
+ PyricBreathLeft = 25735, // Boss->self, 7.0s cast, range 40 120-degree cone
+ PyricBreathRight = 25736, // Boss->self, 7.0s cast, range 40 120-degree cone
PyricBreath4 = 25737, // Boss->self, no cast, range 40 ?-degree cone
PyricBreath5 = 25738, // Boss->self, no cast, range 40 ?-degree cone
- PyricSphere1 = 25744, // PyricSphere->self, 5.0s cast, single-target
- PyricSphere2 = 25745, // Helper->self, 10.0s cast, range 50 width 4 cross
- Scratch = 25743, // Boss->player, 5.0s cast, single-target
+ PyricSphereVisual = 25744, // PyricSphere->self, 5.0s cast, single-target
+ PyricSphereAOE = 25745, // Helper->self, 10.0s cast, range 50 width 4 cross //Cross
+ ScratchTankbuster = 25743, // Boss->player, 5.0s cast, single-target //Tankbuster
UnknownAbility = 25733, // Boss->location, no cast, single-target
UnknownSpell = 25740, // Boss->self, no cast, ???
}
@@ -40,14 +42,31 @@ public enum IconID : uint
Icon_218 = 218, // player
Icon_62 = 62, // player
}
+class PyricSphereAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PyricSphereAOE), new AOEShapeCross(50, 2));
+
+class PyricBreathFront(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PyricBreathFront), new AOEShapeCone(40, 60.Degrees()));
+class PyricBreathLeft(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PyricBreathLeft), new AOEShapeCone(40, 60.Degrees()));
+class PyricBreathRight(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.PyricBreathRight), new AOEShapeCone(40, 60.Degrees()));
+
+
+class PyricBlastStack(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.PyricBlastStack), 6, 8);
+class ScratchTankbuster(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.ScratchTankbuster));
+class IntimidationRaidwide(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.IntimidationRaidwide));
class D042LadonStates : StateMachineBuilder
{
public D042LadonStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 787, NameID = 10398)] //
-public class D042Ladon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, 48), 20));
\ No newline at end of file
+public class D042Ladon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(0, 48), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs
index f5162c8ff6..8c375130b1 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D043Hermes.cs
@@ -12,27 +12,35 @@ public enum AID : uint
AutoAttack = 872, // Boss->player, no cast, single-target
CosmicKiss = 25891, // Meteor->self, 5.0s cast, range 40 circle
Double = 25892, // Boss->self, 3.0s cast, single-target
+
Hermetica1 = 25888, // Boss->self, 3.0s cast, single-target
Hermetica2 = 25893, // Boss->self, 6.0s cast, single-target
Hermetica3 = 25895, // Boss->self, 12.0s cast, single-target
+
Meteor = 25890, // Boss->self, 3.0s cast, single-target
Quadruple = 25894, // Boss->self, 3.0s cast, single-target
- Trismegistos = 25886, // Boss->self, 5.0s cast, range 40 circle
+ Trismegistos = 25886, // Boss->self, 5.0s cast, range 40 circle // Raidwide
+
TrueAero1 = 25899, // Boss->self, 5.0s cast, single-target
TrueAero2 = 25900, // Helper->player, no cast, range 40 width 6 rect
TrueAero3 = 25901, // Helper->self, 2.5s cast, range 40 width 6 rect
+
TrueAeroII1 = 25896, // Boss->self, 5.0s cast, single-target
TrueAeroII2 = 25897, // Helper->player, 5.0s cast, range 6 circle
TrueAeroII3 = 25898, // Helper->location, 3.5s cast, range 6 circle
+
TrueAeroIV1 = 25889, // 348B->self, 4.0s cast, range 50 width 10 rect
TrueAeroIV2 = 27836, // 348B->self, 4.0s cast, range 50 width 10 rect
TrueAeroIV3 = 27837, // 348B->self, 10.0s cast, range 50 width 10 rect
+
TrueBravery = 25907, // Boss->self, 5.0s cast, single-target
- TrueTornado1 = 25902, // Boss->self, 5.0s cast, single-target
+
+ TrueTornado1 = 25902, // Boss->self, 5.0s cast, single-target // Tankbuster
TrueTornado2 = 25903, // Boss->self, no cast, single-target
TrueTornado3 = 25904, // Boss->self, no cast, single-target
- TrueTornado4 = 25905, // Helper->player, no cast, range 4 circle
- TrueTornado5 = 25906, // Helper->location, 2.5s cast, range 4 circle
+ TrueTornado4 = 25905, // Helper->player, no cast, range 4 circle //Tankbuster
+ TrueTornado5 = 25906, // Helper->location, 2.5s cast, range 4 circle //LocationBaitedAOE
+
UnknownAbility = 25887, // Helper->player, no cast, single-target
}
@@ -54,12 +62,41 @@ public enum TetherID : uint
{
Tether_160 = 160, // 348B->Boss
}
+class TrueAero2(BossModule module) : Components.BaitAwayCast(module, ActionID.MakeSpell(AID.TrueAero2), new AOEShapeRect(20, 3));
+class TrueAero3(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.TrueAero2), new AOEShapeRect(20, 3));
+
+class TrueAeroII2(BossModule module) : Components.BaitAwayCast(module, ActionID.MakeSpell(AID.TrueAeroII2), new AOEShapeCircle(6));
+class TrueAeroII3(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.TrueAeroII3), 6);
+
+class TrueAeroIV1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.TrueAeroIV1), new AOEShapeRect(25, 5));
+class TrueAeroIV2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.TrueAeroIV2), new AOEShapeRect(25, 5));
+class TrueAeroIV3(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.TrueAeroIV3), new AOEShapeRect(25, 5));
+
+class TrueTornado1(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.TrueTornado1));
+class TrueTornado4(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.TrueTornado4));
+class TrueTornado5(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.TrueTornado5), 4);
+
+class Trismegistos(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Trismegistos));
class D043HermesStates : StateMachineBuilder
{
public D043HermesStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ //.ActivateOnEnter()
+ //.ActivateOnEnter()
+
+ //.ActivateOnEnter()
+ //.ActivateOnEnter()
+
+ //.ActivateOnEnter()
+ //.ActivateOnEnter()
+ //.ActivateOnEnter()
+
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
From 63832be825345eabe22e4f85453eacc594f005c1 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 13:27:43 -0500
Subject: [PATCH 5/9] The Aitiascope basic support
---
.../Dungeon/D02TowerOfBabil/D021Barnabas.cs | 4 +-
.../Dungeon/D02TowerOfBabil/D023Anima.cs | 4 +-
.../Dungeon/D03Vanaspati/D031Snatcher.cs | 4 +-
.../Dungeon/D03Vanaspati/D033Svarbhanu.cs | 4 +-
.../Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs | 4 +-
.../Endwalker/Dungeon/D04Ktisis/D042Ladon.cs | 4 +-
.../Dungeon/D05Aitiascope/D051Livia.cs | 39 +++++++++++---
.../Dungeon/D05Aitiascope/D052Rhitahtyn.cs | 29 ++++++++---
.../Dungeon/D05Aitiascope/D053Amon.cs | 52 +++++++++++++++----
9 files changed, 102 insertions(+), 42 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
index 8afe75a335..40edfed293 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D021Barnabas.cs
@@ -1,6 +1,4 @@
-using BossMod.Endwalker.Dungeon.D03Vanaspati.D032Wrecker;
-
-namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D021Barnabas;
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D021Barnabas;
public enum OID : uint
{
diff --git a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
index b2af524ac1..fa83eea388 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D02TowerOfBabil/D023Anima.cs
@@ -1,6 +1,4 @@
-using BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
-
-namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
+namespace BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
public enum OID : uint
{
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
index 1c1e0ad33a..d49ea1da57 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
@@ -1,6 +1,4 @@
-using BossMod.Endwalker.Variant.V01SS.V015ThorneKnight;
-
-namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D031Snatcher;
public enum OID : uint
{
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
index d207f1ba6b..945a369f3e 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
@@ -1,6 +1,4 @@
-using BossMod.Endwalker.Dungeon.D03Vanaspati.D032Wrecker;
-
-namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D033Svarbhanu;
+namespace BossMod.Endwalker.Dungeon.D03Vanaspati.D033Svarbhanu;
public enum OID : uint
{
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
index 8e0fecadf2..d7a63fa360 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D041Lyssa.cs
@@ -1,6 +1,4 @@
-using BossMod.Endwalker.Dungeon.D02TowerOfBabil.D023Anima;
-
-namespace BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
public enum OID : uint
{
diff --git a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
index 95610a0f8c..e72a6c4567 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D04Ktisis/D042Ladon.cs
@@ -1,6 +1,4 @@
-using BossMod.Endwalker.Dungeon.D04Ktisis.D041Lyssa;
-
-namespace BossMod.Endwalker.Dungeon.D04Ktisis.D042Ladon;
+namespace BossMod.Endwalker.Dungeon.D04Ktisis.D042Ladon;
public enum OID : uint
{
diff --git a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs
index f175f2a96f..505db8d77c 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D051Livia.cs
@@ -9,17 +9,23 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 24771, // Boss->player, no cast, single-target
- AglaeaBite = 25673, // Boss->self/player, 5.0s cast, range 9 ?-degree cone
+ AglaeaBite = 25673, // Boss->self/player, 5.0s cast, range 9 ?-degree cone //Tankbuster
+
AglaeaClimb1 = 25666, // Boss->self, 7.0s cast, single-target
AglaeaClimb2 = 25667, // Boss->self, 7.0s cast, single-target
- AglaeaClimb3 = 25668, // Helper->self, 7.0s cast, range 20 90-degree cone
+ AglaeaClimbAOE = 25668, // Helper->self, 7.0s cast, range 20 90-degree cone
+
AglaeaShot1 = 25669, // Boss->self, 3.0s cast, single-target
- AglaeaShot2 = 25670, // 346A->location, 3.0s cast, range 20 width 4 rect
- AglaeaShot3 = 25671, // 346A->location, 1.0s cast, range 40 width 4 rect
+ AglaeaShotAOE1 = 25670, // 346A->location, 3.0s cast, range 20 width 4 rect
+ AglaeaShotAOE2 = 25671, // 346A->location, 1.0s cast, range 40 width 4 rect
+
Disparagement = 25674, // Boss->self, 5.0s cast, range 40 120-degree cone
- Frustration = 25672, // Boss->self, 5.0s cast, range 40 circle
+
+ Frustration = 25672, // Boss->self, 5.0s cast, range 40 circle //Raidwide
+
IgnisAmoris = 25676, // Helper->location, 4.0s cast, range 6 circle
IgnisOdi = 25677, // Helper->players, 5.0s cast, range 6 circle
+
OdiEtAmo = 25675, // Boss->self, 3.0s cast, single-target
}
@@ -34,13 +40,32 @@ public enum IconID : uint
Icon_161 = 161, // player
}
+class AglaeaShotAOE1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.AglaeaShotAOE1), new AOEShapeRect(20, 3));
+class AglaeaShotAOE2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.AglaeaShotAOE2), new AOEShapeRect(20, 3));
+
+class AglaeaClimbAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.AglaeaClimbAOE), new AOEShapeCone(20, 45.Degrees()));
+class Disparagement(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Disparagement), new AOEShapeCone(40, 60.Degrees()));
+
+class IgnisOdi(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.IgnisOdi), 6, 8);
+class IgnisAmoris(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.IgnisAmoris), 6);
+class Frustration(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Frustration));
+class AglaeaBite(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.AglaeaBite));
+
class D051LiviaStates : StateMachineBuilder
{
public D051LiviaStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 786, NameID = 10290)] //
-public class D051Livia(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-6, 470), 20));
\ No newline at end of file
+public class D051Livia(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-6, 471), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs
index 0bfdc344d9..729955f744 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D052Rhitahtyn.cs
@@ -12,14 +12,17 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 870, // Boss->player, no cast, single-target
- AnvilOfTartarus = 25686, // Boss->player, 5.0s cast, single-target
+ AnvilOfTartarus = 25686, // Boss->player, 5.0s cast, single-target //Tankbuster
Impact = 25679, // Helper->self, 4.0s cast, range 14 width 40 rect
+
ShieldSkewer = 25680, // Boss->location, 11.0s cast, range 40 width 14 rect
- ShrapnelShell1 = 25682, // Boss->self, 3.0s cast, single-target
- ShrapnelShell2 = 25684, // Helper->location, 3.5s cast, range 5 circle
- TartareanImpact = 25685, // Boss->self, 5.0s cast, range 60 circle
+ ShrapnelShellVisual = 25682, // Boss->self, 3.0s cast, single-target
+ ShrapnelShellAOE = 25684, // Helper->location, 3.5s cast, range 5 circle
+
+ TartareanImpact = 25685, // Boss->self, 5.0s cast, range 60 circle //Raidwide
TartareanSpark = 25687, // Boss->self, 3.0s cast, range 40 width 6 rect
- UnknownAbility = 25688, // Boss->location, no cast, single-target
+
+ UnknownAbility = 25688, // Boss->location, no cast, single-target //Likely Teleport
UnknownWeaponskill = 25683, // 346C/346D->self, no cast, single-target
Vexillatio = 25678, // Boss->self, 4.0s cast, single-target
}
@@ -40,13 +43,25 @@ public enum TetherID : uint
Tether_161 = 161, // 35DA->Boss
}
+class Impact(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Impact), new AOEShapeRect(14, 20));
+class ShrapnelShellAOE(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.ShrapnelShellAOE), 6);
+class TartareanSpark(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.TartareanSpark), new AOEShapeRect(40, 3));
+
+class AnvilOfTartarus(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.AnvilOfTartarus));
+class TartareanImpact(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.TartareanImpact));
+
class D052RhitahtynStates : StateMachineBuilder
{
public D052RhitahtynStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 786, NameID = 10292)] //
-public class D052Rhitahtyn(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(10, 180), 20));
\ No newline at end of file
+public class D052Rhitahtyn(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(11, 144), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs
index 8f991b2387..e24203eac6 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D05Aitiascope/D053Amon.cs
@@ -12,19 +12,26 @@ public enum AID : uint
{
AutoAttack = 24712, // Boss->player, no cast, single-target
Antistrophe = 25694, // Boss->self, 3.0s cast, single-target
- CurtainCall = 25702, // Boss->self, 32.0s cast, range 40 circle
- DarkForte = 25700, // Boss->player, 5.0s cast, single-target
+ CurtainCall = 25702, // Boss->self, 32.0s cast, range 40 circle //Lethal Raidwide, needs to hide behind Ice
+
+ DarkForte = 25700, // Boss->player, 5.0s cast, single-target //Tankbuster
+ Entracte = 25701, // Boss->self, 5.0s cast, range 40 circle //Raidwide
+
DreamsOfIce = 27756, // Helper->self, 14.7s cast, range 6 circle
- Entracte = 25701, // Boss->self, 5.0s cast, range 40 circle
Epode = 25695, // Helper->self, 8.0s cast, range 70 width 12 rect
- EruptionForte1 = 24709, // Boss->self, 3.0s cast, single-target
- EruptionForte2 = 25704, // Helper->location, 4.0s cast, range 8 circle
+
+ EruptionForteVisual = 24709, // Boss->self, 3.0s cast, single-target
+ EruptionForteAOE = 25704, // Helper->location, 4.0s cast, range 8 circle // BaitedAOE
+
LeftFiragaForte = 25697, // Boss->self, 7.0s cast, range 40 width 20 rect
RightFiragaForte = 25696, // Boss->self, 7.0s cast, range 40 width 20 rect
+
Strophe = 25693, // Boss->self, 3.0s cast, single-target
- ThundagaForte1 = 25690, // Boss->location, 5.0s cast, range 40 circle
- ThundagaForte2 = 25691, // Helper->self, 5.0s cast, range 20 ?-degree cone
- ThundagaForte3 = 25692, // Helper->self, 11.0s cast, range 20 ?-degree cone
+
+ ThundagaForte1 = 25690, // Boss->location, 5.0s cast, range 40 circle //proximity-based AoE
+ ThundagaForte2 = 25691, // Helper->self, 5.0s cast, range 20 45-degree cone
+ ThundagaForte3 = 25692, // Helper->self, 11.0s cast, range 20 45-degree cone
+
Unknown = 25703, // YsaylesSpirit->self, no cast, single-target
}
@@ -33,13 +40,38 @@ public enum IconID : uint
Icon_218 = 218, // player
}
+class DreamsOfIce(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.DreamsOfIce), new AOEShapeCircle(6));
+class Epode(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Epode), new AOEShapeRect(70, 6));
+
+class EruptionForteAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.EruptionForteAOE), new AOEShapeCircle(8));
+
+class LeftFiragaForte(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LeftFiragaForte), new AOEShapeRect(40, 10));
+class RightFiragaForte(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.RightFiragaForte), new AOEShapeRect(40, 10));
+
+class ThundagaForte1(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.ThundagaForte1), 15);
+class ThundagaForte2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ThundagaForte2), new AOEShapeCone(20, 22.6f.Degrees()));
+class ThundagaForte3(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ThundagaForte3), new AOEShapeCone(20, 22.6f.Degrees()));
+
+class DarkForte(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.DarkForte));
+class Entracte(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Entracte));
+
class D053AmonStates : StateMachineBuilder
{
public D053AmonStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ //.ActivateOnEnter()
+ //.ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 786, NameID = 10293)] //
-public class D053Amon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, -500), 20));
\ No newline at end of file
+public class D053Amon(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(11, -490), 20));
\ No newline at end of file
From 09fd7a3916c95739cb4365f9a73ba8c600a42c48 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 15:21:29 -0500
Subject: [PATCH 6/9] Basic support for Vanaspati, Dead Ends, and Smileton
---
.../Dungeon/D03Vanaspati/D031Snatcher.cs | 1 -
.../Dungeon/D03Vanaspati/D033Svarbhanu.cs | 1 -
.../Dungeon/D06DeadEnds/D061Grebuloff.cs | 41 +++++++++++++++----
.../Dungeon/D06DeadEnds/D062Peacekeeper.cs | 31 +++++++++++---
.../Endwalker/Dungeon/D06DeadEnds/D063Rala.cs | 40 ++++++++++++++----
.../Endwalker/Dungeon/D07Smileton/D071Face.cs | 25 +++++++----
.../Dungeon/D07Smileton/D072Frameworker.cs | 22 +++++++---
.../Dungeon/D07Smileton/D073BigCheese.cs | 39 ++++++++++++++----
8 files changed, 155 insertions(+), 45 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
index d49ea1da57..41d0ce56e4 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D031Snatcher.cs
@@ -48,7 +48,6 @@ public D031SnatcherStates(BossModule module) : base(module)
.ActivateOnEnter()
.ActivateOnEnter()
.ActivateOnEnter()
- .ActivateOnEnter()
.ActivateOnEnter()
.ActivateOnEnter()
.ActivateOnEnter();
diff --git a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
index 945a369f3e..7318040e47 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D03Vanaspati/D033Svarbhanu.cs
@@ -53,7 +53,6 @@ public D033SvarbhanuStates(BossModule module) : base(module)
.ActivateOnEnter()
.ActivateOnEnter()
.ActivateOnEnter()
- .ActivateOnEnter()
.ActivateOnEnter()
.ActivateOnEnter();
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs
index 8409d7c675..b513de6c79 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D061Grebuloff.cs
@@ -2,25 +2,25 @@
public enum OID : uint
{
- Boss = 0x34C4,
- Helper = 0x233C,
+ Boss = 0x34C4, // R6.650, x1
+ Helper = 0x233C, // R0.500, x12 (spawn during fight), 523 type
WeepingMiasma = 0x34C5, // R1.000, x0 (spawn during fight)
}
public enum AID : uint
{
AutoAttack = 872, // Boss->player, no cast, single-target
- Befoulment1 = 25923, // Boss->self, 5.0s cast, single-target
- Befoulment2 = 25924, // Helper->player, 5.2s cast, range 6 circle
- BlightedWater1 = 25921, // Boss->self, 5.0s cast, single-target
- BlightedWater2 = 25922, // Helper->players, 5.2s cast, range 6 circle
+ Befoulment = 25923, // Boss->self, 5.0s cast, single-target
+ BefoulmentSpread = 25924, // Helper->player, 5.2s cast, range 6 circle //Spread mechanic
+ BlightedWater = 25921, // Boss->self, 5.0s cast, single-target
+ BlightedWaterStack = 25922, // Helper->players, 5.2s cast, range 6 circle //Stack mechanic
CertainSolitude = 28349, // Boss->self, no cast, range 40 circle
CoughUp1 = 25917, // Boss->self, 4.0s cast, single-target
- CoughUp2 = 25918, // Helper->location, 4.0s cast, range 6 circle
+ CoughUpAOE = 25918, // Helper->location, 4.0s cast, range 6 circle
Miasmata = 25916, // Boss->self, 5.0s cast, range 40 circle
NecroticFluid = 25919, // WeepingMiasma->self, 6.5s cast, range 6 circle
NecroticMist = 28348, // Helper->location, 1.3s cast, range 6 circle
- PoxFlail = 25920, // Boss->player, 5.0s cast, single-target
+ PoxFlail = 25920, // Boss->player, 5.0s cast, single-target //Tankbuster
WaveOfNausea = 28347, // Boss->self, 5.5s cast, range ?-40 donut
}
@@ -42,11 +42,34 @@ public enum IconID : uint
Icon_139 = 139, // player
}
+class BefoulmentSpread(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.BefoulmentSpread), 6);
+class BlightedWaterStack(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.BlightedWaterStack), 6, 8);
+
+class CoughUpAOE(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.CoughUpAOE), 6);
+class NecroticMist(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.NecroticMist), 6);
+
+class NecroticFluid(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.NecroticFluid), new AOEShapeCircle(6));
+class WaveOfNausea(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.WaveOfNausea), new AOEShapeDonut(8, 30));
+
+class PoxFlail(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.PoxFlail));
+
+class CertainSolitude(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.CertainSolitude));
+class Miasmata(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Miasmata));
+
class D061GrebuloffStates : StateMachineBuilder
{
public D061GrebuloffStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs
index 2aee0fa28a..aba7e0f223 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D062Peacekeeper.cs
@@ -11,13 +11,13 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 25977, // Boss->player, no cast, single-target
- Decimation = 25936, // Boss->self, 5.0s cast, range 40 circle
+ Decimation = 25936, // Boss->self, 5.0s cast, range 40 circle //Raidwide
DisengageHatch = 28356, // Boss->self, no cast, single-target
EclipsingExhaust = 25931, // Boss->self, 5.0s cast, range 40 circle
- ElectromagneticRepellant = 28360, // Boss->self, 4.0s cast, range 9 circle
- Elimination = 25935, // Boss->self/player, 5.0s cast, range 46 width 10 rect
- InfantryDeterrent1 = 28358, // Boss->self, no cast, single-target
- InfantryDeterrent2 = 28359, // Helper->player, 5.0s cast, range 6 circle
+ ElectromagneticRepellant = 28360, // Boss->self, 4.0s cast, range 9 circle //Danger AOE in boss hitbox
+ Elimination = 25935, // Boss->self/player, 5.0s cast, range 46 width 10 rect //Tankbuster
+ InfantryDeterrent = 28358, // Boss->self, no cast, single-target
+ InfantryDeterrentAOE = 28359, // Helper->player, 5.0s cast, range 6 circle
NoFuture1 = 25925, // Boss->self, 4.0s cast, single-target
NoFuture2 = 25927, // Helper->self, 4.0s cast, range 6 circle
NoFuture3 = 25928, // Helper->player, 5.0s cast, range 6 circle
@@ -43,12 +43,31 @@ public enum IconID : uint
Icon_139 = 139, // player
Icon_230 = 230, // player
}
+class InfantryDeterrentAOE(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.InfantryDeterrentAOE), 6);
+class NoFuture3(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.NoFuture3), 6);
+
+class NoFuture2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.NoFuture2), new AOEShapeCircle(6));
+class Peacefire2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Peacefire2), new AOEShapeCircle(10));
+
+class SmallBoreLaser(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.SmallBoreLaser), new AOEShapeRect(20, 2));
+
+class Elimination(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.Elimination));
+class Decimation(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.Decimation));
+class EclipsingExhaust(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.EclipsingExhaust));
class D062PeacekeeperStates : StateMachineBuilder
{
public D062PeacekeeperStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs
index e5b765fa79..3d55f60c64 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D06DeadEnds/D063Rala.cs
@@ -11,20 +11,20 @@ public enum AID : uint
{
AutoAttack = 870, // Boss->player, no cast, single-target
Benevolence1 = 25945, // Boss->self, 5.0s cast, single-target
- Benevolence2 = 25946, // Helper->players, 5.4s cast, range 6 circle
+ BenevolenceStack = 25946, // Helper->players, 5.4s cast, range 6 circle //Stack mechanic
LamellarLight1 = 25939, // Helper->self, 6.0s cast, range 15 circle
LamellarLight2 = 25942, // GoldenWings->self, 3.0s cast, single-target
- LamellarLight3 = 25951, // Helper->self, 3.0s cast, range 40 width 4 rect
+ LamellarLight3 = 25951, // Helper->self, 3.0s cast, range 40 width 4 rect //LineAOE
Lifesbreath = 25940, // Boss->self, 4.0s cast, range 50 width 10 rect
- LovingEmbrace1 = 25943, // Boss->self, 7.0s cast, range 45 180-degree cone
- LovingEmbrace2 = 25944, // Boss->self, 7.0s cast, range 45 180-degree cone
- Pity = 25949, // Boss->player, 5.0s cast, single-target
+ LovingEmbraceLeft = 25943, // Boss->self, 7.0s cast, range 45 180-degree cone //Cleave
+ LovingEmbraceRight = 25944, // Boss->self, 7.0s cast, range 45 180-degree cone //Cleave
+ Pity = 25949, // Boss->player, 5.0s cast, single-target //Tankbuster
Prance1 = 25937, // Boss->location, 5.0s cast, single-target
Prance2 = 25938, // Boss->location, no cast, single-target
StillEmbrace1 = 25947, // Boss->self, 5.0s cast, single-target
- StillEmbrace2 = 25948, // Helper->player, 5.4s cast, range 6 circle
+ StillEmbraceSpread = 25948, // Helper->player, 5.4s cast, range 6 circle //Spread mechanic
Unknown = 25941, // Boss->location, no cast, single-target
- WarmGlow = 25950, // Boss->self, 5.0s cast, range 40 circle
+ WarmGlow = 25950, // Boss->self, 5.0s cast, range 40 circle //Raidwide
}
public enum SID : uint
@@ -41,14 +41,36 @@ public enum IconID : uint
Icon_62 = 62, // player
Icon_139 = 139, // player
}
+class LamellarLight1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LamellarLight1), new AOEShapeCircle(15));
+class Lifesbreath(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Lifesbreath), new AOEShapeRect(50, 5));
+class LamellarLight3(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LamellarLight3), new AOEShapeRect(40, 2));
+
+
+class StillEmbraceSpread(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.StillEmbraceSpread), 6);
+class BenevolenceStack(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.BenevolenceStack), 6, 8);
+
+class LovingEmbraceLeft(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LovingEmbraceLeft), new AOEShapeCone(45, 90.Degrees()));
+class LovingEmbraceRight(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LovingEmbraceRight), new AOEShapeCone(45, 90.Degrees()));
+
+class Pity(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.Pity));
+class WarmGlow(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.WarmGlow));
class D063RalaStates : StateMachineBuilder
{
public D063RalaStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 792, NameID = 10316)] //
-public class D063Rala(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-380, -145), 20));
\ No newline at end of file
+public class D063Rala(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-380, -135), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs
index 596b58f2cc..f507750259 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D071Face.cs
@@ -10,14 +10,18 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 26433, // Boss->player, no cast, single-target
- FrownyFace = 26422, // RelativelySmallFace->self, 7.0s cast, range 45 width 6 rect
LinesOfFire = 26421, // Boss->self, 3.0s cast, single-target
- MixedFeelings = 26424, // Helper->self, 7.0s cast, range 60 width 2 rect
+
OffMyLawn1 = 26430, // Boss->self, 5.0s cast, single-target
- OffMyLawn2 = 27742, // Helper->self, 5.0s cast, range 31 width 30 rect
+ OffMyLawnKnockback = 27742, // Helper->self, 5.0s cast, range 31 width 30 rect //Knockback 8
+
+ MixedFeelings = 26424, // Helper->self, 7.0s cast, range 60 width 2 rect
+ FrownyFace = 26422, // RelativelySmallFace->self, 7.0s cast, range 45 width 6 rect
SmileyFace = 26423, // RelativelySmallFace->self, 7.0s cast, range 45 width 6 rect
- TempersFlare = 26435, // Boss->self, 5.0s cast, range 60 circle
- TemperTemper = 26432, // Helper->player, 5.0s cast, range 5 circle
+
+ TempersFlare = 26435, // Boss->self, 5.0s cast, range 60 circle //Raidwide
+ TemperTemperSpread = 26432, // Helper->player, 5.0s cast, range 5 circle //Spread mechanic
+
UnknownAbility1 = 26426, // RelativelySmallFace->self, no cast, single-target
UnknownAbility2 = 26427, // RelativelySmallFace->self, no cast, single-target
UnknownAbility3 = 26428, // RelativelySmallFace->self, no cast, single-target
@@ -45,14 +49,21 @@ public enum TetherID : uint
{
Tether_169 = 169, // 34D0->Boss
}
+class OffMyLawnKnockback(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.OffMyLawnKnockback), 8, kind: Kind.DirForward, stopAtWall: true);
+class TemperTemperSpread(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.TemperTemperSpread), 5);
+
+class TempersFlare(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.TempersFlare));
class D071FaceStates : StateMachineBuilder
{
public D071FaceStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 794, NameID = 10331)] //
-public class D071Face(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-45, -0), 20));
\ No newline at end of file
+public class D071Face(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(-45, -20), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs
index 9a138c873f..268583a2e4 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D072Frameworker.cs
@@ -13,11 +13,11 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 870, // Boss->player, no cast, single-target
- CircularSaw = 26437, // Boss->self, 5.0s cast, range 40 circle
+ CircularSaw = 26437, // Boss->self, 5.0s cast, range 40 circle //Raidwide
LeapForward1 = 26438, // Boss->location, 7.0s cast, range 15 circle
LeapForward2 = 26439, // PrintedWorker->location, 7.0s cast, range 15 circle
- OmnidimensionalOnslaught1 = 26440, // Boss->self, 5.0s cast, single-target
- OmnidimensionalOnslaught2 = 26441, // Helper->self, 5.0s cast, range 40 45-degree cone
+ OmnidimensionalOnslaughtVisual = 26440, // Boss->self, 5.0s cast, single-target
+ OmnidimensionalOnslaughtAOE = 26441, // Helper->self, 5.0s cast, range 40 45-degree cone
PrintWorkers1 = 26443, // SmileySupporter->self, no cast, single-target
PrintWorkers2 = 28092, // Boss->self, 3.0s cast, single-target
UnknownAbility = 26442, // Helper->Boss, no cast, single-target
@@ -33,13 +33,25 @@ public enum TetherID : uint
Tether_23 = 23, // SmileySupporter->Boss
}
+class OmnidimensionalOnslaughtAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.OmnidimensionalOnslaughtAOE), new AOEShapeCone(40, 22.5f.Degrees()));
+
+class LeapForward1(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.LeapForward1), 15);
+class LeapForward2(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.LeapForward2), 15);
+
+//class SteelBeam(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.SteelBeam));
+class CircularSaw(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.CircularSaw));
+
class D072FrameworkerStates : StateMachineBuilder
{
public D072FrameworkerStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 794, NameID = 10333)] //
-public class D072Frameworker(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(65, -110), 20));
\ No newline at end of file
+public class D072Frameworker(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(64, -112), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs
index f163ea6c9e..f4a0cefdb7 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D07Smileton/D073BigCheese.cs
@@ -13,16 +13,22 @@ public enum AID : uint
{
AutoAttack = 26444, // Boss->player, no cast, single-target
DispenseExplosives = 27696, // Boss->self, 3.0s cast, single-target
- ElectricArc = 26451, // Boss->players, 5.0s cast, range 8 circle
+ ElectricArc = 26451, // Boss->players, 5.0s cast, range 8 circle //Stack mechanic
+
Excavated = 27698, // ExcavationBomb1->self, no cast, range 8 circle
ExplosivePower = 27697, // Boss->self, 3.0s cast, single-target
ExplosivesDistribution = 26446, // Boss->self, 3.0s cast, single-target
+
IronKiss = 26445, // Bomb->location, 1.5s cast, range 16 circle
- LeftDisassembler = 26448, // Boss->self, 8.0s cast, range 30 width 10 rect
+
+ RightDisassembler = 26447, // Boss->self, 8.0s cast, range 30 width 10 rect //Cleave
+ LeftDisassembler = 26448, // Boss->self, 8.0s cast, range 30 width 10 rect //Cleave
+
LevelingMissile1 = 26452, // Boss->self, 5.0s cast, single-target
- LevelingMissile2 = 26453, // Helper->player, 5.0s cast, range 6 circle
- PiercingMissile = 26449, // Boss->player, 5.0s cast, single-target
- RightDisassembler = 26447, // Boss->self, 8.0s cast, range 30 width 10 rect
+ LevelingMissile2 = 26453, // Helper->player, 5.0s cast, range 6 circle //spread mechanic
+
+ PiercingMissile = 26449, // Boss->player, 5.0s cast, single-target //Tankbuster
+
UnknownAbility = 27700, // ExcavationBomb1->self, no cast, single-target
}
@@ -39,13 +45,32 @@ public enum IconID : uint
Icon_139 = 139, // player
}
+class RightDisassembler(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.RightDisassembler), new AOEShapeRect(30, 5));
+class LeftDisassembler(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.LeftDisassembler), new AOEShapeRect(30, 5));
+
+class LevelingMissile2(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.LevelingMissile2), 6);
+class ElectricArc(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.ElectricArc), 6, 8);
+
+class Excavated(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Excavated), new AOEShapeCircle(8));
+
+class IronKiss(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.IronKiss), 16);
+
+class PiercingMissile(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.PiercingMissile));
+
class D073BigCheeseStates : StateMachineBuilder
{
public D073BigCheeseStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ //.ActivateOnEnter()
+ //.ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 794, NameID = 10336)] //
-public class D073BigCheese(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-46, -30), 20));
\ No newline at end of file
+public class D073BigCheese(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsRect(new(-22, -44), 14.5f, 10));
\ No newline at end of file
From 8c9e973308a5117b9683db0585f2d2a940b154b7 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 16:02:30 -0500
Subject: [PATCH 7/9] Basic StigmaDreamscape support
---
.../Dungeon/D08Stigma/D081ProtoOmega.cs | 24 ++++++--
.../Dungeon/D08Stigma/D082ArchLambda.cs | 28 +++++++--
.../Dungeon/D08Stigma/D083Stigma4.cs | 61 +++++++++++++++----
3 files changed, 92 insertions(+), 21 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs
index 8f95a0e992..37cc5c1154 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D081ProtoOmega.cs
@@ -14,9 +14,9 @@ public enum AID : uint
AutoAttack = 872, // Boss->player, no cast, single-target
Burn = 25385, // Helper->player, no cast, range 6 circle
ChemicalMissile = 25384, // Boss->self, 3.0s cast, single-target
- ElectricSlide = 25386, // Boss->players, 5.0s cast, range 6 circle
- GuidedMissile = 25382, // Boss->self, 3.0s cast, single-target
- IronKiss = 25383, // MarkIIGuidedMissile->self, no cast, range 3 circle
+ ElectricSlide = 25386, // Boss->players, 5.0s cast, range 6 circle //Stack+Knockback
+ GuidedMissile = 25382, // Boss->self, 3.0s cast, single-target //Tethered bait away
+ IronKiss = 25383, // MarkIIGuidedMissile->self, no cast, range 3 circle
MustardBomb = 25387, // Boss->player, 5.0s cast, range 5 circle
SideCannons1 = 25376, // Boss->self, 7.0s cast, range 60 180-degree cone
SideCannons2 = 25377, // Boss->self, 7.0s cast, range 60 180-degree cone
@@ -41,14 +41,28 @@ public enum TetherID : uint
{
Tether_17 = 17, // MarkIIGuidedMissile->player
}
+class ElectricSlideKnockback(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.ElectricSlide), 15, stopAtWall: true);
+class ElectricSlide(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.ElectricSlide), 6, 8);
+class IronKiss(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.IronKiss), new AOEShapeCircle(3));
+
+class SideCannons1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.SideCannons1), new AOEShapeCone(60, 90.Degrees()));
+class SideCannons2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.SideCannons2), new AOEShapeCone(60, 90.Degrees()));
+
+class MustardBomb(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.MustardBomb));
class D081ProtoOmegaStates : StateMachineBuilder
{
public D081ProtoOmegaStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 784, NameID = 10401)] //
-public class D081ProtoOmega(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(-150, -140), 20));
\ No newline at end of file
+public class D081ProtoOmega(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(-144, -136), 20));
\ No newline at end of file
diff --git a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs
index 2e317fbc3f..d408bcb06a 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D082ArchLambda.cs
@@ -8,17 +8,17 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 872, // Boss->player, no cast, single-target
- AtomicFlame = 25524, // Boss->self, 5.0s cast, range 40 circle
+ AtomicFlame = 25524, // Boss->self, 5.0s cast, range 40 circle //Raidwide
AutoMobileAssaultCannon = 25515, // Boss->self, 5.9s cast, single-target
AutoMobileSniperCannon1 = 25520, // Boss->location, 7.0s cast, single-target
- AutoMobileSniperCannon2 = 25522, // Helper->self, no cast, range 40 width 6 rect
+ AutoMobileSniperCannon2 = 25522, // Helper->self, no cast, range 40 width 6 rect
Entrench = 25521, // Helper->self, 7.5s cast, range 41 width 8 rect
Tread1 = 25516, // Boss->location, no cast, width 8 rect charge
Tread2 = 25517, // Boss->location, no cast, width 8 rect charge
Unknown1 = 25514, // Boss->location, no cast, single-target
Unknown2 = 25518, // Helper->location, 1.5s cast, width 8 rect charge
WaveCannon = 25519, // Boss->self, 2.5s cast, range 40 180-degree cone
- Wheel = 25525, // Boss->player, 5.0s cast, single-target
+ Wheel = 25525, // Boss->player, 5.0s cast, single-target //Tankbuster
}
public enum SID : uint
@@ -34,11 +34,31 @@ public enum IconID : uint
Icon_80 = 80, // player/Helper
}
+class Tread1(BossModule module) : Components.ChargeAOEs(module, ActionID.MakeSpell(AID.Tread1), 4);
+class Tread2(BossModule module) : Components.ChargeAOEs(module, ActionID.MakeSpell(AID.Tread2), 4);
+class Unknown2(BossModule module) : Components.ChargeAOEs(module, ActionID.MakeSpell(AID.Unknown2), 4);
+
+class AutoMobileSniperCannon2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.AutoMobileSniperCannon2), new AOEShapeRect(40, 3));
+class Entrench(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Entrench), new AOEShapeRect(41, 4));
+
+class WaveCannon(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.WaveCannon), new AOEShapeCone(40, 90.Degrees()));
+
+class AtomicFlame(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.AtomicFlame));
+class Wheel(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.Wheel));
+
class D082ArchLambdaStates : StateMachineBuilder
{
public D082ArchLambdaStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs
index 728a120887..0e2de79a3a 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D08Stigma/D083Stigma4.cs
@@ -2,29 +2,38 @@
public enum OID : uint
{
- Boss = 0x3428,
- Helper = 0x233C,
+ Boss = 0x3428, // R6.990, x1
+ Helper = 0x233C, // R0.500, x2, 523 type
OmegaFrame = 0x342A, // R8.995, x0 (spawn during fight)
HybridDragon = 0x342B, // R5.000, x0 (spawn during fight)
ProtoRocketPunch = 0x3429, // R2.500, x0 (spawn during fight)
}
+
public enum AID : uint
{
AITakeover = 25641, // Boss->self, 5.0s cast, single-target
- AtomicRay = 25654, // Boss->self, 5.0s cast, range 50 circle
- ElectromagneticRelease1 = 25649, // Boss->self, no cast, single-target
- ElectromagneticRelease2 = 25650, // Helper->self, 10.0s cast, range ?-60 donut
- ElectromagneticRelease3 = 25651, // Boss->self, no cast, single-target
- ElectromagneticRelease4 = 25652, // Helper->self, 10.0s cast, range 16 circle
+ AtomicRay = 25654, // Boss->self, 5.0s cast, range 50 circle //Raidwide
+
+ ElectromagneticReleaseInVisual = 25649, // Boss->self, no cast, single-target
+ ElectromagneticReleaseIn = 25650, // Helper->self, 10.0s cast, range 7-60 donut
+ ElectromagneticReleaseOutVisual = 25651, // Boss->self, no cast, single-target
+ ElectromagneticReleaseOut = 25652, // Helper->self, 10.0s cast, range 16 circle
+
FireBreath = 25646, // HybridDragon->self, 7.0s cast, range 40 120-degree cone
- Mindhack = 25648, // Boss->self, 5.0s cast, range 50 circle
+
+ Mindhack = 25648, // Boss->self, 5.0s cast, range 50 circle //Raidwide and forced march
MultiAITakeover = 27723, // Boss->self, 5.0s cast, single-target
+
Plasmafodder = 25653, // Helper->player, no cast, single-target
+
ProtoWaveCannon1 = 25642, // OmegaFrame->self, 7.0s cast, range 60 180-degree cone
ProtoWaveCannon2 = 25643, // OmegaFrame->self, 7.0s cast, range 60 180-degree cone
+
Rush = 25645, // ProtoRocketPunch->location, 5.0s cast, width 5 rect charge
- SelfDestruct1 = 25644, // OmegaFrame->self, 15.0s cast, range 60 circle
- SelfDestruct2 = 25647, // HybridDragon->self, 15.0s cast, range 60 circle
+
+ SelfDestructOmega = 25644, // OmegaFrame->self, 15.0s cast, range 60 circle
+ SelfDestructDragon = 25647, // HybridDragon->self, 15.0s cast, range 60 circle
+
Touchdown = 26873, // HybridDragon->self, 2.0s cast, range 7 circle
}
@@ -39,13 +48,41 @@ public enum SID : uint
Bleeding = 2088, // Boss->player, extra=0x0
}
+class Mindhack(BossModule module) : Components.StatusDrivenForcedMarch(module, 2, (uint)SID.ForwardMarch, (uint)SID.AboutFace, (uint)SID.LeftFace, (uint)SID.RightFace, activationLimit: 8);
+
+class ElectromagneticReleaseIn(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ElectromagneticReleaseIn), new AOEShapeDonut(7, 60));
+class ElectromagneticReleaseOut(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ElectromagneticReleaseOut), new AOEShapeCircle(16));
+
+class FireBreath(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.FireBreath), new AOEShapeCone(40, 60.Degrees()));
+class Touchdown(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Touchdown), new AOEShapeCircle(7));
+
+class ProtoWaveCannon1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ProtoWaveCannon1), new AOEShapeCone(60, 90.Degrees()));
+class ProtoWaveCannon2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ProtoWaveCannon2), new AOEShapeCone(60, 90.Degrees()));
+
+class Rush(BossModule module) : Components.ChargeAOEs(module, ActionID.MakeSpell(AID.Rush), 2.5f);
+
+class SelfDestructOmega(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.SelfDestructOmega));
+class SelfDestructDragon(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.SelfDestructDragon));
+class AtomicRay(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.AtomicRay));
+
class D083Stigma4States : StateMachineBuilder
{
public D083Stigma4States(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 784, NameID = 10404)] //
-public class D083Stigma4(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsCircle(new(0, 0), 20));
\ No newline at end of file
+public class D083Stigma4(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsSquare(new(0, 2.5f), 20));
\ No newline at end of file
From b9439e870104364dbd84c0f403dd52968479da6a Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 16:58:41 -0500
Subject: [PATCH 8/9] basic Alzadaal legacy support
---
.../Dungeon/D09Alzadaal/D091Ambujam.cs | 29 ++++++++++-----
.../Dungeon/D09Alzadaal/D092ArmoredChariot.cs | 36 ++++++++++++-------
.../Dungeon/D09Alzadaal/D093Kapikulu.cs | 34 +++++++++++++++---
3 files changed, 74 insertions(+), 25 deletions(-)
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
index 6fc9327552..fcf09d653d 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D091Ambujam.cs
@@ -14,25 +14,38 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 872, // Boss->player, no cast, single-target
- BigWave = 28512, // Boss->self, 5.0s cast, range 40 circle
+ BigWave = 28512, // Boss->self, 5.0s cast, range 40 circle //Raidwide
CorrosiveFountain = 29556, // Helper->self, 7.0s cast, range 8 circle
- CorrosiveVenom1 = 29157, // CyanTentacle->self, no cast, single-target
- CorrosiveVenom2 = 29158, // Helper->self, 2.5s cast, range 21 circle
+ CorrosiveVenomVisual = 29157, // CyanTentacle->self, no cast, single-target
+ CorrosiveVenomAOE = 29158, // Helper->self, 2.5s cast, range 21 circle
TentacleDig1 = 28501, // Boss->self, 3.0s cast, single-target
TentacleDig2 = 28505, // Boss->self, 3.0s cast, single-target
- ToxicFountain1 = 29466, // Boss->self, 4.0s cast, single-target
- ToxicFountain2 = 29467, // Helper->self, 7.0s cast, range 8 circle
- ToxinShower1 = 28507, // ScarletTentacle->self, no cast, single-target
- ToxinShower2 = 28508, // Helper->self, 2.5s cast, range 21 circle
+ ToxicFountainVisual = 29466, // Boss->self, 4.0s cast, single-target
+ ToxicFountainAOE = 29467, // Helper->self, 7.0s cast, range 8 circle
+ ToxinShowerVisual = 28507, // ScarletTentacle->self, no cast, single-target
+ ToxinShowerAOE = 28508, // Helper->self, 2.5s cast, range 21 circle
Unknown1 = 28502, // Boss->self, no cast, single-target
Unknown2 = 28506, // Boss->self, no cast, single-target
}
+
+class CorrosiveFountain(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.CorrosiveFountain), new AOEShapeCircle(8));
+class CorrosiveVenomAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.CorrosiveVenomAOE), new AOEShapeCircle(21));
+class ToxicFountainAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ToxicFountainAOE), new AOEShapeCircle(8));
+class ToxinShowerAOE(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ToxinShowerAOE), new AOEShapeCircle(21));
+
+class BigWave(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.BigWave));
+
class D091AmbujamStates : StateMachineBuilder
{
public D091AmbujamStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
index 60548af23a..88a0a71a4d 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D092ArmoredChariot.cs
@@ -12,23 +12,31 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 29132, // Boss->player, no cast, single-target
- ArticulatedBits = 28441, // Boss->self, 3.0s cast, range 6 circle
- Assail1 = 28456, // Boss->self, no cast, single-target
- Assail2 = 28457, // Boss->self, no cast, single-target
- AssaultCannon1 = 28442, // ArmoredDrudge->self, 8.0s cast, single-target
- AssaultCannon2 = 28443, // ArmoredDrudge->self, 8.0s cast, single-target
- AssaultCannon3 = 28444, // Helper->self, no cast, range 40 width 8 rect
- AssaultCannon4 = 28445, // Helper->self, no cast, range 28 width 8 rect
- CannonReflection1 = 28454, // Helper->self, 8.0s cast, single-target
- CannonReflection2 = 28455, // Helper->self, no cast, range 30 ?-degree cone
- DiffusionRay = 28446, // Boss->self, 5.0s cast, range 40 circle
- GravitonCannon = 29555, // Helper->player, 8.5s cast, range 6 circle
+
+ ArticulatedBits = 28441, // Boss->self, 3.0s cast, range 6 circle //Persistent AOE under boss
+
+ AssaultCannonVisual1First = 28442, // ArmoredDrudge->self, 8.0s cast, single-target
+ AssaultCannonVisual2First = 28443, // ArmoredDrudge->self, 8.0s cast, single-target
+
+ AssaultCannonAOE1Rest = 28444, // Helper->self, no cast, range 40 width 8 rect
+ AssaultCannonAOE2Rest = 28445, // Helper->self, no cast, range 28 width 8 rect
+
+ DiffusionRay = 28446, // Boss->self, 5.0s cast, range 40 circle //Raidwide
+
UnknownAbility1 = 28448, // Boss->self, no cast, single-target
UnknownAbility2 = 28449, // Boss->self, no cast, single-target
UnknownAbility3 = 28450, // Boss->self, no cast, single-target
UnknownAbility4 = 28451, // Boss->self, no cast, single-target
UnknownAbility5 = 28452, // Boss->self, no cast, single-target
UnknownAbility6 = 28453, // Boss->self, no cast, single-target
+
+ CannonReflectionVisualFirst = 28454, // Helper->self, 8.0s cast, single-target
+ CannonReflectionAOERest = 28455, // Helper->self, no cast, range 30 ?-degree cone
+ Assail1 = 28456, // Boss->self, no cast, single-target
+ Assail2 = 28457, // Boss->self, no cast, single-target
+
+ GravitonCannon = 29555, // Helper->player, 8.5s cast, range 6 circle //Spread marker
+ //Rail Cannon tankbuster not listed
}
public enum SID : uint
@@ -43,12 +51,16 @@ public enum IconID : uint
{
Icon_329 = 329, // player
}
+class DiffusionRay(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.DiffusionRay));
+class GravitonCannon(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.GravitonCannon), 6);
class D092ArmoredChariotStates : StateMachineBuilder
{
public D092ArmoredChariotStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
index 683b7cc6dc..0e21e4dc4f 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D09Alzadaal/D093Kapikulu.cs
@@ -11,10 +11,10 @@ public enum AID : uint
{
AutoAttack = 870, // Boss->player, no cast, single-target
BastingBlade = 28520, // Boss->self, 5.5s cast, range 60 width 15 rect
- BillowingBolts = 28528, // Boss->self, 5.0s cast, range 80 circle
- CrewelSlice = 28530, // Boss->player, 5.0s cast, single-target
+ BillowingBolts = 28528, // Boss->self, 5.0s cast, range 80 circle //Raidwide
+ CrewelSlice = 28530, // Boss->player, 5.0s cast, single-target //Tankbuster
MagnitudeOpus1 = 28526, // Boss->self, 4.0s cast, single-target
- MagnitudeOpus2 = 28527, // Helper->players, 5.0s cast, range 6 circle
+ MagnitudeOpus2 = 28527, // Helper->players, 5.0s cast, range 6 circle //Stack marker
ManaExplosion = 28523, // Helper->self, 3.0s cast, range 15 circle
PowerSerge = 28522, // Boss->self, 6.0s cast, single-target
SpinOut = 28515, // Boss->self, 3.0s cast, single-target
@@ -25,6 +25,8 @@ public enum AID : uint
UnknownWeaponskill5 = 28529, // Helper->self, 5.0s cast, range 5 width 40 rect
UnkownAbility = 28514, // Boss->location, no cast, single-target
WildWeave = 28521, // Boss->self, 4.0s cast, single-target
+
+ //Missing Rotary Gale, spread marker mechanic
}
public enum SID : uint
{
@@ -47,13 +49,35 @@ public enum TetherID : uint
Tether_188 = 188, // Boss->Helper
}
+class ManaExplosion(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.ManaExplosion), new AOEShapeCircle(15));
+
+class BastingBlade(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.BastingBlade), new AOEShapeRect(60, 7.5f));
+
+class UnknownWeaponskill3(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.UnknownWeaponskill3), new AOEShapeCircle(10));
+class UnknownWeaponskill4(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.UnknownWeaponskill4), new AOEShapeRect(6, 3));
+class UnknownWeaponskill5(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.UnknownWeaponskill5), new AOEShapeRect(5, 20));
+
+class MagnitudeOpus2(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.MagnitudeOpus2), 6, 8);
+//class RotaryGale(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.RotaryGale), 6);
+
+class CrewelSlice(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.CrewelSlice));
+class BillowingBolts(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.BillowingBolts));
+
class D093KapikuluStates : StateMachineBuilder
{
public D093KapikuluStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
[ModuleInfo(BossModuleInfo.Maturity.WIP, Contributors = "CombatReborn Team", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 844, NameID = 11238)]
-public class D093Kapikulu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsRect(new(110, -68), 20, 15));
\ No newline at end of file
+public class D093Kapikulu(WorldState ws, Actor primary) : BossModule(ws, primary, new ArenaBoundsRect(new(110, -68), 15, 20));
\ No newline at end of file
From acdeede91dfb70f6ce4a1a2fcbaabade5e835b23 Mon Sep 17 00:00:00 2001
From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com>
Date: Mon, 29 Apr 2024 17:24:02 -0500
Subject: [PATCH 9/9] basic Fell Court support
---
BossMod/BossMod.csproj | 18 -------
.../Dungeon/D10FellCourt/D101EvilDreamers.cs | 12 ++++-
.../Dungeon/D10FellCourt/D102Beatrice.cs | 50 ++++++++++++++-----
.../Dungeon/D10FellCourt/D103Scarmiglione.cs | 43 ++++++++++++++--
4 files changed, 85 insertions(+), 38 deletions(-)
diff --git a/BossMod/BossMod.csproj b/BossMod/BossMod.csproj
index f70bcf8b98..1472c9ea93 100644
--- a/BossMod/BossMod.csproj
+++ b/BossMod/BossMod.csproj
@@ -20,15 +20,6 @@
true
-
-
-
-
-
-
-
-
-
@@ -39,15 +30,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
index ade11c5a91..2f14ab123e 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D101EvilDreamers.cs
@@ -17,7 +17,7 @@ public enum AID : uint
UniteMare3 = 29628, // EvilDreamer1->self, 10.0s cast, range 12 circle
DarkVision = 29627, // EvilDreamer4->self, 15.0s cast, range 41 width 5 rect
UnknownAbility2 = 29629, // EvilDreamer4->location, no cast, single-target
-
+ // Void Gravity missing, stack marker mechanic
}
public enum SID : uint
@@ -31,12 +31,20 @@ public enum TetherID : uint
Tether_14 = 14, // SmallerBoss->SmallerBoss
}
+class UniteMare1(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.UniteMare1), new AOEShapeCircle(6));
+class UniteMare2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.UniteMare2), new AOEShapeCircle(6));
+class UniteMare3(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.UniteMare3), new AOEShapeCircle(12));
+class DarkVision(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.DarkVision), new AOEShapeRect(41, 2.5f));
class D101EvilDreamersStates : StateMachineBuilder
{
public D101EvilDreamersStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
index f4b505c050..b54050a353 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D102Beatrice.cs
@@ -10,33 +10,57 @@ public enum OID : uint
public enum AID : uint
{
- _AutoAttack_Attack = 872, // Boss->player, no cast, single-target
- BeatificScorn1 = 29811, // Boss->self, 4.0s cast, single-target
- BeatificScorn2 = 29814, // Boss->self, no cast, single-target
- BeatificScorn3 = 29815, // Boss->self, no cast, single-target
- BeatificScorn4 = 29816, // Boss->self, no cast, single-target
+ AutoAttack = 872, // Boss->player, no cast, single-target
+
+ BeatificScorn1 = 29811, // Boss->self, 4.0s cast, single-target //Visual
+ BeatificScorn2 = 29814, // Boss->self, no cast, single-target //Visual
+ BeatificScorn3 = 29815, // Boss->self, no cast, single-target //Visual
+ BeatificScorn4 = 29816, // Boss->self, no cast, single-target //Visual
+
BeatificScorn5 = 29817, // Helper->self, 10.0s cast, range 9 circle
DeathForeseen1 = 29821, // Helper->self, 5.0s cast, range 40 circle
DeathForeseen2 = 29828, // Helper->self, 8.0s cast, range 40 circle
- EyeOfTroia = 29818, // Boss->self, 4.0s cast, range 40 circle
- Hush = 29824, // Boss->player, 5.0s cast, single-target
- UnknownAbility1 = 29819, // Boss->self, no cast, single-target
- UnknownAbility2 = 29820, // Boss->location, no cast, single-target
- VoidNail = 29823, // Helper->player, 5.0s cast, range 6 circle
+
+ EyeOfTroia = 29818, // Boss->self, 4.0s cast, range 40 circle //Raidwide
+
+ Hush = 29824, // Boss->player, 5.0s cast, single-target //Tankbuster
+ VoidNail = 29823, // Helper->player, 5.0s cast, range 6 circle //spread
+
Voidshaker = 29822, // Boss->self, 5.0s cast, range 20 120-degree cone
+ UnknownAbility1 = 29819, // Boss->self, no cast, single-target
+ UnknownAbility2 = 29820, // Boss->location, no cast, single-target //Likely Toric Void: A ring AoE around the outside of the area, used at the same time as Eye of Troia.
+ // Missing Antipreasure stack marker
}
public enum IconID : uint
{
- _Gen_Icon_218 = 218, // player
- _Gen_Icon_139 = 139, // player
+ Icon_218 = 218, // player
+ Icon_139 = 139, // player
}
+class BeatificScorn5(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.BeatificScorn5), new AOEShapeCircle(9));
+
+class DeathForeseen1(BossModule module) : Components.CastGaze(module, ActionID.MakeSpell(AID.DeathForeseen1));
+class DeathForeseen2(BossModule module) : Components.CastGaze(module, ActionID.MakeSpell(AID.DeathForeseen2));
+
+class Voidshaker(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Voidshaker), new AOEShapeCone(20, 60.Degrees()));
+
+class VoidNail(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.VoidNail), 6);
+class Hush(BossModule module) : Components.SingleTargetCast(module, ActionID.MakeSpell(AID.Hush));
+class EyeOfTroia(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.EyeOfTroia));
+
class D102BeatriceStates : StateMachineBuilder
{
public D102BeatriceStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}
diff --git a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
index 8421475dd4..1d8baa044f 100644
--- a/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
+++ b/BossMod/Modules/Endwalker/Dungeon/D10FellCourt/D103Scarmiglione.cs
@@ -17,23 +17,33 @@ public enum AID : uint
BlightedBladework1 = 30259, // Boss->location, 10.0s cast, single-target
BlightedBladework2 = 30260, // Helper->self, 11.0s cast, range 25 circle
BlightedSweep = 30261, // Boss->self, 7.0s cast, range 40 180-degree cone
+
CorruptorsPitch1 = 30245, // Boss->self, no cast, single-target
CorruptorsPitch2 = 30247, // Helper->self, no cast, range 60 circle
CorruptorsPitch3 = 30248, // Helper->self, no cast, range 60 circle
CorruptorsPitch4 = 30249, // Helper->self, no cast, range 60 circle
+
CreepingDecay = 30240, // Boss->self, 4.0s cast, single-target
- CursedEcho = 30257, // Boss->self, 4.0s cast, range 40 circle
+ CursedEcho = 30257, // Boss->self, 4.0s cast, range 40 circle //raidwide
+
Nox = 30241, // Helper->self, 5.0s cast, range 10 circle
+
RottenRampage1 = 30231, // Boss->self, 8.0s cast, single-target
RottenRampage2 = 30232, // Helper->location, 10.0s cast, range 6 circle
RottenRampage3 = 30233, // Helper->players, 10.0s cast, range 6 circle
+
UnknownAbility1 = 30237, // Boss->location, no cast, single-target
UnknownAbility2 = 30244, // Boss->self, no cast, single-target
+
UnknownWeaponskill = 30234, // Boss->self, no cast, single-target
- VacuumWave = 30236, // Helper->self, 5.4s cast, range 40 circle
- VoidVortex1 = 30243, // Helper->players, 5.0s cast, range 6 circle
+
+ VacuumWave = 30236, // Helper->self, 5.4s cast, range 40 circle //knockback
+
+ VoidVortex1 = 30243, // Helper->players, 5.0s cast, range 6 circle //spread
VoidVortex2 = 30253, // Boss->self, no cast, single-target
- VoidVortex3 = 30254, // Helper->players, 5.0s cast, range 6 circle
+ VoidVortex3 = 30254, // Helper->players, 5.0s cast, range 6 circle //stack
+
+ // missing firedamp, tankbuster
}
public enum SID : uint
@@ -55,12 +65,35 @@ public enum TetherID : uint
{
Tether_206 = 206, // Boss->3AE4
}
+class VoidVortex1(BossModule module) : Components.SpreadFromCastTargets(module, ActionID.MakeSpell(AID.VoidVortex1), 6);
+class VoidVortex3(BossModule module) : Components.StackWithCastTargets(module, ActionID.MakeSpell(AID.VoidVortex3), 6, 8);
+
+class VacuumWave(BossModule module) : Components.KnockbackFromCastTarget(module, ActionID.MakeSpell(AID.VacuumWave), 30, stopAtWall: true);
+
+class BlightedBedevilment(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.BlightedBedevilment), new AOEShapeCircle(9));
+class BlightedBladework2(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.BlightedBladework2), new AOEShapeCircle(9));
+class Nox(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.Nox), new AOEShapeCircle(10));
+
+class RottenRampage2(BossModule module) : Components.LocationTargetedAOEs(module, ActionID.MakeSpell(AID.RottenRampage2), 6);
+
+class BlightedSweep(BossModule module) : Components.SelfTargetedAOEs(module, ActionID.MakeSpell(AID.BlightedSweep), new AOEShapeCone(40, 90.Degrees()));
+
+class CursedEcho(BossModule module) : Components.RaidwideCast(module, ActionID.MakeSpell(AID.CursedEcho));
class D103ScarmiglioneStates : StateMachineBuilder
{
public D103ScarmiglioneStates(BossModule module) : base(module)
{
- TrivialPhase();
+ TrivialPhase()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter()
+ .ActivateOnEnter();
}
}