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);