Skip to content

Commit

Permalink
proper another sildihn subterrane trash modules
Browse files Browse the repository at this point in the history
  • Loading branch information
CarnifexOptimus committed Feb 8, 2025
1 parent 73ca072 commit e57d00a
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 e57d00a

Please sign in to comment.