Skip to content

Commit

Permalink
Merge pull request #568 from FFXIV-CombatReborn/mergeWIP
Browse files Browse the repository at this point in the history
some quest module cleanup
  • Loading branch information
CarnifexOptimus authored Jan 20, 2025
2 parents 68b4ac3 + e91b5b9 commit 95a34df
Show file tree
Hide file tree
Showing 30 changed files with 700 additions and 434 deletions.
14 changes: 8 additions & 6 deletions BossMod/Modules/Dawntrail/Quest/MSQ/TakingAStand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ public enum AID : uint
class RoarArenaChange(BossModule module) : Components.GenericAOEs(module)
{
private static readonly AOEShapeDonut donut = new(20, 25);
private static readonly ArenaBoundsCircle smallerBounds = new(20);
private AOEInstance? _aoe;

public override IEnumerable<AOEInstance> ActiveAOEs(int slot, Actor actor) => Utils.ZeroOrOne(_aoe);
Expand All @@ -81,7 +80,7 @@ public override void OnActorCreated(Actor actor)
if ((OID)actor.OID == OID.Deathwall)
{
_aoe = null;
Arena.Bounds = smallerBounds;
Arena.Bounds = TakingAStand.DefaultArena;
}
}

Expand Down Expand Up @@ -214,7 +213,7 @@ class Fireflood(BossModule module) : Components.SimpleAOEs(module, ActionID.Make
class TuraliStoneIII(BossModule module) : Components.SimpleAOEs(module, ActionID.MakeSpell(AID.TuraliStoneIII), 4);
class TuraliQuake(BossModule module) : Components.SimpleAOEs(module, ActionID.MakeSpell(AID.TuraliQuake), 9, maxCasts: 5);

class AutoWuk(WorldState ws) : UnmanagedRotation(ws, 3)
class AutoWukLamat(WorldState ws) : UnmanagedRotation(ws, 3)
{
protected override void Exec(Actor? primaryTarget)
{
Expand Down Expand Up @@ -246,7 +245,7 @@ protected override void Exec(Actor? primaryTarget)
}
}

class WukAI(BossModule module) : RotationModule<AutoWuk>(module);
class WukLamatAI(BossModule module) : RotationModule<AutoWukLamat>(module);

class TakingAStandStates : StateMachineBuilder
{
Expand All @@ -268,14 +267,17 @@ public TakingAStandStates(BossModule module) : base(module)
.ActivateOnEnter<Fireflood>()
.ActivateOnEnter<RunThrough1>()
.ActivateOnEnter<RunThrough2>()
.ActivateOnEnter<WukAI>()
.ActivateOnEnter<WukLamatAI>()
.Raw.Update = () => module.PrimaryActor.IsDestroyed || module.PrimaryActor.HPMP.CurHP == 1;
}
}

[ModuleInfo(BossModuleInfo.Maturity.Verified, Contributors = "The Combat Reborn Team (Malediktus)", GroupType = BossModuleInfo.GroupType.Quest, GroupID = 70438, NameID = 12677)]
public class TakingAStand(WorldState ws, Actor primary) : BossModule(ws, primary, new(500, -175), new ArenaBoundsCircle(24.5f))
public class TakingAStand(WorldState ws, Actor primary) : BossModule(ws, primary, arenaCenter, startingArena)
{
private static readonly WPos arenaCenter = new(500, -175);
private static readonly ArenaBoundsComplex startingArena = new([new Polygon(arenaCenter, 24.5f, 20)]);
public static readonly ArenaBoundsComplex DefaultArena = new([new Polygon(arenaCenter, 20, 20)]);
private static readonly uint[] all = [(uint)OID.Boss, (uint)OID.HiredThug1, (uint)OID.HiredThug2, (uint)OID.HiredThug3, (uint)OID.HiredThug3, (uint)OID.HoobigoGuardian,
(uint)OID.HoobigoLancer, (uint)OID.DopproIllusionist];
protected override void DrawEnemies(int pcSlot, Actor pc)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,11 @@ public OtisOathbrokenStates(BossModule module) : base(module)
}

[ModuleInfo(BossModuleInfo.Maturity.Verified, Contributors = "The Combat Reborn Team (Malediktus)", GroupType = BossModuleInfo.GroupType.Quest, GroupID = 70478, NameID = 13168)]
public class OtisOathbroken(WorldState ws, Actor primary) : BossModule(ws, primary, new(349, -14), new ArenaBoundsCircle(19.5f))
public class OtisOathbroken(WorldState ws, Actor primary) : BossModule(ws, primary, ArenaCenter, ArenaBounds)
{
public static readonly WPos ArenaCenter = new(349, -14);
public static readonly ArenaBoundsComplex ArenaBounds = new([new Polygon(ArenaCenter, 19.5f, 20)]);

protected override bool CheckPull() => Raid.Player()!.InCombat;

private static readonly uint[] all = [(uint)OID.Boss, (uint)OID.EverkeepTurret, (uint)OID.EverkeepAerostat, (uint)OID.EverkeepAerostat2, (uint)OID.EverkeepSentryG10,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using BossMod.Dawntrail.Quest.MSQ.TheProtectorAndTheDestroyer.Otis;

namespace BossMod.Dawntrail.Quest.MSQ.TheProtectorAndTheDestroyer.Gwyddrud;

public enum OID : uint
Expand All @@ -13,6 +15,7 @@ public enum OID : uint
public enum AID : uint
{
AutoAttack = 872, // Boss->player/WukLamat, no cast, single-target

CracklingHowlVisual = 38211, // Boss->self, 4.3+0,7s cast, single-target
CracklingHowl = 38212, // Helper->self, 5.0s cast, range 40 circle
Teleport = 38213, // Boss->location, no cast, single-target
Expand Down Expand Up @@ -181,7 +184,7 @@ public GwyddrudStates(BossModule module) : base(module)
}

[ModuleInfo(BossModuleInfo.Maturity.Verified, Contributors = "The Combat Reborn Team (Malediktus)", GroupType = BossModuleInfo.GroupType.Quest, GroupID = 70478, NameID = 13170)]
public class Gwyddrud(WorldState ws, Actor primary) : BossModule(ws, primary, new(349, -14), new ArenaBoundsCircle(19.5f))
public class Gwyddrud(WorldState ws, Actor primary) : BossModule(ws, primary, OtisOathbroken.ArenaCenter, OtisOathbroken.ArenaBounds)
{
private static readonly uint[] all = [(uint)OID.Boss, (uint)OID.SuperchargedLevin, (uint)OID.BallOfLevin];

Expand Down
5 changes: 2 additions & 3 deletions BossMod/Modules/Dawntrail/Quest/RoleQuests/DreamsOfANewDay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,9 @@ public override void OnEventCast(Actor caster, ActorCastEvent spell)

public override void AddHints(int slot, Actor actor, TextHints hints)
{
var activeAOEs = ActiveAOEs(slot, actor).ToList();
if (activeAOEs.Count == 0)
if (_aoe == null)
return;
if (activeAOEs.Any(c => !c.Check(actor.Position)))
if (ActiveAOEs(slot, actor).Any(c => !c.Check(actor.Position)))
hints.Add(RiskHint);
else
hints.Add(StayHint, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class Voidzone(BossModule module) : Components.GenericAOEs(module)

public override void OnActorEState(Actor actor, ushort state)
{
if (actor.OID == (uint)OID.Voidzone && state == 0x0004)
if ((OID)actor.OID == OID.Voidzone && state == 0x0004)
_aoe = null;
}

Expand Down
9 changes: 7 additions & 2 deletions BossMod/Modules/Endwalker/Dungeon/D12Aetherfont/D122Arkas.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,14 @@ public override void OnEventEnvControl(byte index, uint state)
if (state == 0x00020001)
{
Arena.Bounds = D122Arkas.SmallerBounds;
Arena.Center = D122Arkas.SmallerBounds.Center;
_aoe = null;
}
else if (state == 0x00080004)
{
Arena.Bounds = D122Arkas.DefaultBounds;
Arena.Center = D122Arkas.DefaultBounds.Center;
}
}
}

Expand Down Expand Up @@ -210,6 +214,7 @@ public D122ArkasStates(BossModule module) : base(module)
[ModuleInfo(BossModuleInfo.Maturity.Verified, Contributors = "dhoggpt, Malediktus", GroupType = BossModuleInfo.GroupType.CFC, GroupID = 822, NameID = 12337, SortOrder = 6)]
public class D122Arkas(WorldState ws, Actor primary) : BossModule(ws, primary, DefaultBounds.Center, DefaultBounds)
{
public static readonly ArenaBoundsComplex DefaultBounds = new([new Polygon(new(425, -440), 14.5f, 48)], [new Rectangle(new(425, -424), 20, 2.4f), new Rectangle(new(425, -455), 10, 1.25f)]);
public static readonly ArenaBoundsCircle SmallerBounds = new(10);
private static readonly WPos ArenaCenter = new(425, -440);
public static readonly ArenaBoundsComplex DefaultBounds = new([new Polygon(ArenaCenter, 14.5f, 48)], [new Rectangle(new(425, -424), 20, 2.4f), new Rectangle(new(425, -455), 10, 1.25f)]);
public static readonly ArenaBoundsComplex SmallerBounds = new([new Polygon(ArenaCenter, 10, 48)]);
}
65 changes: 0 additions & 65 deletions BossMod/Modules/Endwalker/Quest/AnUnforeseenBargain/P1Furcas.cs

This file was deleted.

132 changes: 0 additions & 132 deletions BossMod/Modules/Endwalker/Quest/AnUnforeseenBargain/P2Andromalius.cs

This file was deleted.

Loading

0 comments on commit 95a34df

Please sign in to comment.