From 96f972836989e78dec23d43c49a81cecb72c92f3 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 3 Sep 2024 11:45:56 -0400 Subject: [PATCH] v2.5.0: DM-300 will not longer spew gas at inorganic allies --- .../shatteredpixeldungeon/actors/mobs/DM300.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java index 034dbd86b..f2dc3ccfa 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM300.java @@ -205,7 +205,7 @@ public class DM300 extends Mob { if (turnsSinceLastAbility >= MIN_COOLDOWN){ //use a coneAOE to try and account for trickshotting angles ConeAOE aim = new ConeAOE(new Ballistica(pos, enemy.pos, Ballistica.WONT_STOP), Float.POSITIVE_INFINITY, 30, Ballistica.STOP_SOLID); - if (aim.cells.contains(enemy.pos)) { + if (aim.cells.contains(enemy.pos) && !Char.hasProp(enemy, Property.INORGANIC)) { lastAbility = GAS; turnsSinceLastAbility = 0; @@ -217,7 +217,7 @@ public class DM300 extends Mob { Sample.INSTANCE.play(Assets.Sounds.GAS); return true; } - //if we can't gas, then drop rocks + //if we can't gas, or if target is inorganic then drop rocks //unless enemy is already stunned, we don't want to stunlock them } else if (enemy.paralysed <= 0) { lastAbility = ROCKS; @@ -248,6 +248,10 @@ public class DM300 extends Mob { lastAbility = Random.Int(4) != 0 ? GAS : ROCKS; } + if (Char.hasProp(enemy, Property.INORGANIC)){ + lastAbility = ROCKS; + } + //doesn't spend a turn if enemy is at a distance if (Dungeon.level.adjacent(pos, enemy.pos)){ spend(TICK);