v0.5.0b: added better checking and handling for mobs and grass
This commit is contained in:
parent
13091b735d
commit
5f31ee7e67
|
@ -282,8 +282,6 @@ public abstract class Level implements Bundlable {
|
||||||
createMobs();
|
createMobs();
|
||||||
createItems();
|
createItems();
|
||||||
|
|
||||||
buildFlagMaps();
|
|
||||||
|
|
||||||
Random.seed();
|
Random.seed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -602,8 +602,6 @@ public abstract class RegularLevel extends Level {
|
||||||
if (findMob(mob.pos) == null && Level.passable[mob.pos]) {
|
if (findMob(mob.pos) == null && Level.passable[mob.pos]) {
|
||||||
mobsToSpawn--;
|
mobsToSpawn--;
|
||||||
mobs.add(mob);
|
mobs.add(mob);
|
||||||
if (map[mob.pos] == Terrain.HIGH_GRASS)
|
|
||||||
map[mob.pos] = Terrain.GRASS;
|
|
||||||
|
|
||||||
//TODO: perhaps externalize this logic into a method. Do I want to make mobs more likely to clump deeper down?
|
//TODO: perhaps externalize this logic into a method. Do I want to make mobs more likely to clump deeper down?
|
||||||
if (mobsToSpawn > 0 && Random.Int(4) == 0){
|
if (mobsToSpawn > 0 && Random.Int(4) == 0){
|
||||||
|
@ -613,12 +611,19 @@ public abstract class RegularLevel extends Level {
|
||||||
if (findMob(mob.pos) == null && Level.passable[mob.pos]) {
|
if (findMob(mob.pos) == null && Level.passable[mob.pos]) {
|
||||||
mobsToSpawn--;
|
mobsToSpawn--;
|
||||||
mobs.add(mob);
|
mobs.add(mob);
|
||||||
if (map[mob.pos] == Terrain.HIGH_GRASS)
|
|
||||||
map[mob.pos] = Terrain.GRASS;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (Mob m : mobs){
|
||||||
|
if (map[m.pos] == Terrain.HIGH_GRASS) {
|
||||||
|
map[m.pos] = Terrain.GRASS;
|
||||||
|
losBlocking[m.pos] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -56,6 +56,7 @@ public class FlockTrap extends Trap {
|
||||||
Sheep sheep = new Sheep();
|
Sheep sheep = new Sheep();
|
||||||
sheep.lifespan = 2 + Random.Int(Dungeon.depth + 10);
|
sheep.lifespan = 2 + Random.Int(Dungeon.depth + 10);
|
||||||
sheep.pos = i;
|
sheep.pos = i;
|
||||||
|
Dungeon.level.mobPress(sheep);
|
||||||
GameScene.add(sheep);
|
GameScene.add(sheep);
|
||||||
CellEmitter.get(i).burst(Speck.factory(Speck.WOOL), 4);
|
CellEmitter.get(i).burst(Speck.factory(Speck.WOOL), 4);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user