v0.9.3: fixed large fly swarms duplicating into enclosed spaces

This commit is contained in:
Evan Debenham 2021-03-30 19:49:27 -04:00
parent dc68785be1
commit d25564e9d3

View File

@ -85,11 +85,11 @@ public class Swarm extends Mob {
if (HP >= damage + 2) { if (HP >= damage + 2) {
ArrayList<Integer> candidates = new ArrayList<>(); ArrayList<Integer> candidates = new ArrayList<>();
boolean[] solid = Dungeon.level.solid;
int[] neighbours = {pos + 1, pos - 1, pos + Dungeon.level.width(), pos - Dungeon.level.width()}; int[] neighbours = {pos + 1, pos - 1, pos + Dungeon.level.width(), pos - Dungeon.level.width()};
for (int n : neighbours) { for (int n : neighbours) {
if (!solid[n] && Actor.findChar( n ) == null) { if (!Dungeon.level.solid[n] && Actor.findChar( n ) == null
&& (!properties.contains(Property.LARGE) || Dungeon.level.openSpace[n])) {
candidates.add( n ); candidates.add( n );
} }
} }