From b2124e13e28c830e488b3b16cbec47fa52c47232 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 17 Jan 2023 14:12:16 -0500 Subject: [PATCH] v2.0.0: fixed DM-201s rarely lobbing grenades through closed doors --- .../shatteredpixeldungeon/actors/mobs/DM200.java | 2 +- .../shatteredpixeldungeon/actors/mobs/DM201.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM200.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM200.java index 92a445da6..af27f8113 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM200.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM200.java @@ -128,7 +128,7 @@ public class DM200 extends Mob { } - private boolean canVent(int target){ + protected boolean canVent(int target){ if (ventCooldown > 0) return false; PathFinder.buildDistanceMap(target, BArray.not(Dungeon.level.solid, null), Dungeon.level.distance(pos, target)+1); //vent can go around blocking terrain, but not through it diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM201.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM201.java index 9630796ef..c89d3123e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM201.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/DM201.java @@ -59,8 +59,8 @@ public class DM201 extends DM200 { Dungeon.level.updateFieldOfView( this, fieldOfView ); } - if (paralysed <= 0 && state == HUNTING && enemy != null && enemySeen - && threatened && !Dungeon.level.adjacent(pos, enemy.pos) && fieldOfView[enemy.pos]){ + if (paralysed <= 0 && state == HUNTING && enemy != null && enemySeen && threatened + && canVent(enemy.pos) && !Dungeon.level.adjacent(pos, enemy.pos) && fieldOfView[enemy.pos]){ enemySeen = enemy.isAlive() && fieldOfView[enemy.pos] && enemy.invisible <= 0; if (sprite != null && (sprite.visible || enemy.sprite.visible)) { sprite.zap( enemy.pos );