Skip to content

Commit

Permalink
Merge pull request #594 from FFXIV-CombatReborn/mergeWIP
Browse files Browse the repository at this point in the history
proper another sildihn subterrane trash modules
  • Loading branch information
CarnifexOptimus authored Feb 8, 2025
2 parents 9371fb1 + e57d00a commit 61457e8
Show file tree
Hide file tree
Showing 12 changed files with 443 additions and 369 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,24 @@ public D90ForestBatStates(BossModule module) : base(module)
TrivialPhase()
.ActivateOnEnter<FlashFlood>()
.ActivateOnEnter<LineVoltage>()
.Raw.Update = () => module.Enemies(D90ForestBat.Trash).Where(x => x.Position.AlmostEqual(module.Arena.Center, module.Bounds.Radius)).All(x => x.IsDeadOrDestroyed);
.Raw.Update = () =>
{
var allDeadOrDestroyed = true;
var enemies = module.Enemies(D90ForestBat.Trash);
var center = module.Arena.Center;
var radius = module.Bounds.Radius;
var count = enemies.Count;
for (var i = 0; i < count; ++i)
{
var enemy = enemies[i];
if (!enemy.IsDeadOrDestroyed && enemy.Position.AlmostEqual(center, radius))
{
allDeadOrDestroyed = false;
break;
}
}
return allDeadOrDestroyed;
};
}
}

Expand Down Expand Up @@ -64,10 +81,34 @@ public class D90ForestBat(WorldState ws, Actor primary) : BossModule(ws, primary
private static readonly ArenaBoundsComplex arena = new([new PolygonCustom(vertices)]);
public static readonly uint[] Trash = [(uint)OID.Boss, (uint)OID.Electrogolem1, (uint)OID.Electrogolem1, (uint)OID.ForestWoolback];

protected override bool CheckPull() => Enemies(Trash).Any(x => x.InCombat && x.Position.AlmostEqual(Arena.Center, Bounds.Radius));
protected override bool CheckPull()
{
var enemies = Enemies(Trash);
var count = enemies.Count;
var center = Arena.Center;
var radius = Bounds.Radius;
for (var i = 0; i < count; ++i)
{
var enemy = enemies[i];
if (enemy.InCombat && enemy.Position.AlmostEqual(center, radius))
return true;
}
return false;
}

protected override void DrawEnemies(int pcSlot, Actor pc)
{
Arena.Actors(Enemies(Trash).Where(x => x.Position.AlmostEqual(Arena.Center, Bounds.Radius)));
var filteredEnemies = new List<Actor>();
var enemies = Enemies(Trash);
var count = enemies.Count;
var center = Arena.Center;
var radius = Bounds.Radius;
for (var i = 0; i < count; ++i)
{
var enemy = enemies[i];
if (enemy.Position.AlmostEqual(center, radius))
filteredEnemies.Add(enemy);
}
Arena.Actors(filteredEnemies);
}
}
52 changes: 0 additions & 52 deletions BossMod/Modules/Endwalker/Criterion/C01ASS/C010Trash/C010Armor.cs

This file was deleted.

This file was deleted.

77 changes: 0 additions & 77 deletions BossMod/Modules/Endwalker/Criterion/C01ASS/C010Trash/C010Dryad.cs

This file was deleted.

This file was deleted.

52 changes: 0 additions & 52 deletions BossMod/Modules/Endwalker/Criterion/C01ASS/C010Trash/C010Kaluk.cs

This file was deleted.

Loading

0 comments on commit 61457e8

Please sign in to comment.