v2.4.0: fixed createMobs discarding mobs it can't immediately place
This commit is contained in:
+4
-1
@@ -236,8 +236,9 @@ public abstract class RegularLevel extends Level {
|
|||||||
ShadowCaster.castShadow(c.x, c.y, width(), entranceFOV, losBlocking, 6);
|
ShadowCaster.castShadow(c.x, c.y, width(), entranceFOV, losBlocking, 6);
|
||||||
PathFinder.buildDistanceMap(entrance(), BArray.not(solid, null), 8);
|
PathFinder.buildDistanceMap(entrance(), BArray.not(solid, null), 8);
|
||||||
|
|
||||||
|
Mob mob = null;
|
||||||
while (mobsToSpawn > 0) {
|
while (mobsToSpawn > 0) {
|
||||||
Mob mob = createMob();
|
if (mob == null) mob = createMob();
|
||||||
Room roomToSpawn;
|
Room roomToSpawn;
|
||||||
|
|
||||||
if (!stdRoomIter.hasNext()) {
|
if (!stdRoomIter.hasNext()) {
|
||||||
@@ -261,6 +262,7 @@ public abstract class RegularLevel extends Level {
|
|||||||
if (tries >= 0) {
|
if (tries >= 0) {
|
||||||
mobsToSpawn--;
|
mobsToSpawn--;
|
||||||
mobs.add(mob);
|
mobs.add(mob);
|
||||||
|
mob = null;
|
||||||
|
|
||||||
//chance to add a second mob to this room, except on floor 1
|
//chance to add a second mob to this room, except on floor 1
|
||||||
if (Dungeon.depth > 1 && mobsToSpawn > 0 && Random.Int(4) == 0){
|
if (Dungeon.depth > 1 && mobsToSpawn > 0 && Random.Int(4) == 0){
|
||||||
@@ -282,6 +284,7 @@ public abstract class RegularLevel extends Level {
|
|||||||
if (tries >= 0) {
|
if (tries >= 0) {
|
||||||
mobsToSpawn--;
|
mobsToSpawn--;
|
||||||
mobs.add(mob);
|
mobs.add(mob);
|
||||||
|
mob = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user