public static synchronized void remove( Actor actor ) { if (actor != null) { all.remove( actor ); chars.remove( actor ); actor.onRemove(); if (actor.id > 0) { ids.remove( actor.id ); } } }
public void uproot( int pos ) { plants.remove(pos); GameScene.updateMap( pos ); }
public static synchronized void remove( Actor actor ) { if (actor != null) { all.remove( actor ); chars.remove( actor ); actor.onRemove(); if (actor.id > 0) { ids.remove( actor.id ); } } }
public void destroy() { Dungeon.level.heaps.remove( this.pos ); if (sprite != null) { sprite.kill(); } items.clear(); }
public void destroy() { Dungeon.level.heaps.remove( this.pos ); if (sprite != null) { sprite.kill(); } items.clear(); items = null; }
public void destroy() { Dungeon.level.heaps.remove( this.pos ); if (sprite != null) { sprite.kill(); } items.clear(); }
public static void set( int cell, int terrain, Level level ) { Painter.set( level, cell, terrain ); if (terrain != Terrain.TRAP && terrain != Terrain.SECRET_TRAP && terrain != Terrain.INACTIVE_TRAP){ level.traps.remove( cell ); } int flags = Terrain.flags[terrain]; level.passable[cell] = (flags & Terrain.PASSABLE) != 0; level.losBlocking[cell] = (flags & Terrain.LOS_BLOCKING) != 0; level.flamable[cell] = (flags & Terrain.FLAMABLE) != 0; level.secret[cell] = (flags & Terrain.SECRET) != 0; level.solid[cell] = (flags & Terrain.SOLID) != 0; level.avoid[cell] = (flags & Terrain.AVOID) != 0; level.pit[cell] = (flags & Terrain.PIT) != 0; level.water[cell] = terrain == Terrain.WATER; SmokeScreen s = (SmokeScreen)level.blobs.get(SmokeScreen.class); if (s != null && s.volume > 0){ level.losBlocking[cell] = level.losBlocking[cell] || s.cur[cell] > 0; } }
public static void set( int cell, int terrain, Level level ) { Painter.set( level, cell, terrain ); if (terrain != Terrain.TRAP && terrain != Terrain.SECRET_TRAP && terrain != Terrain.INACTIVE_TRAP){ level.traps.remove( cell ); } int flags = Terrain.flags[terrain]; level.passable[cell] = (flags & Terrain.PASSABLE) != 0; level.losBlocking[cell] = (flags & Terrain.LOS_BLOCKING) != 0; level.flamable[cell] = (flags & Terrain.FLAMABLE) != 0; level.secret[cell] = (flags & Terrain.SECRET) != 0; level.solid[cell] = (flags & Terrain.SOLID) != 0; level.avoid[cell] = (flags & Terrain.AVOID) != 0; level.pit[cell] = (flags & Terrain.PIT) != 0; level.water[cell] = terrain == Terrain.WATER; SmokeScreen s = (SmokeScreen)level.blobs.get(SmokeScreen.class); if (s != null && s.volume > 0){ level.losBlocking[cell] = level.losBlocking[cell] || s.cur[cell] > 0; } }
public Trap setTrap( Trap trap, int pos ){ Trap existingTrap = traps.get(pos); if (existingTrap != null){ traps.remove( pos ); } trap.set( pos ); traps.put( pos, trap ); GameScene.updateMap( pos ); return trap; }
public Trap setTrap( Trap trap, int pos ){ Trap existingTrap = traps.get(pos); if (existingTrap != null){ traps.remove( pos ); } trap.set( pos ); traps.put( pos, trap ); GameScene.updateMap( pos ); return trap; }
private void clearEntities(Room safeArea){ for (Heap heap : heaps.values()){ if (safeArea == null || !safeArea.inside(cellToPoint(heap.pos))){ for (Item item : heap.items) storedItems.add(item); heap.destroy(); } } for (Mob mob : Dungeon.level.mobs.toArray(new Mob[Dungeon.level.mobs.size()])){ if (mob != tengu && (safeArea == null || !safeArea.inside(cellToPoint(mob.pos)))){ mob.destroy(); if (mob.sprite != null) mob.sprite.killAndErase(); } } for (Plant plant : plants.values()){ if (safeArea == null || !safeArea.inside(cellToPoint(plant.pos))){ plants.remove(plant.pos); } } }
private void clearEntities(Room safeArea){ for (Heap heap : heaps.values()){ if (safeArea == null || !safeArea.inside(cellToPoint(heap.pos))){ for (Item item : heap.items) storedItems.add(item); heap.destroy(); } } for (Mob mob : Dungeon.level.mobs.toArray(new Mob[Dungeon.level.mobs.size()])){ if (mob != tengu && (safeArea == null || !safeArea.inside(cellToPoint(mob.pos)))){ mob.destroy(); if (mob.sprite != null) mob.sprite.killAndErase(); } } for (Plant plant : plants.values()){ if (safeArea == null || !safeArea.inside(cellToPoint(plant.pos))){ plants.remove(plant.pos); } } }
if (map[corner - 1] == Terrain.WALL && map[corner - w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner); if (map[corner + 1] == Terrain.WALL && map[corner - w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner); if (map[corner - 1] == Terrain.WALL && map[corner + w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner); if (map[corner + 1] == Terrain.WALL && map[corner + w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner);
@Override protected void evolve() { super.evolve(); int cell; for (int i = area.left; i < area.right; i++){ for (int j = area.top; j < area.bottom; j++){ cell = i + j*Dungeon.level.width(); if (off[cell] > 0) { int terr = Dungeon.level.map[cell]; if (terr == Terrain.EMPTY || terr == Terrain.GRASS || terr == Terrain.EMBERS || terr == Terrain.EMPTY_SP || terr == Terrain.HIGH_GRASS || terr == Terrain.FURROWED_GRASS || terr == Terrain.EMPTY_DECO) { Level.set(cell, Terrain.WATER); GameScene.updateMap(cell); } else if (terr == Terrain.SECRET_TRAP || terr == Terrain.TRAP || terr == Terrain.INACTIVE_TRAP) { Level.set(cell, Terrain.WATER); Dungeon.level.traps.remove(cell); GameScene.updateMap(cell); } } } } }
@Override protected void evolve() { super.evolve(); int cell; for (int i = area.left; i < area.right; i++){ for (int j = area.top; j < area.bottom; j++){ cell = i + j*Dungeon.level.width(); if (off[cell] > 0) { int terr = Dungeon.level.map[cell]; if (terr == Terrain.EMPTY || terr == Terrain.GRASS || terr == Terrain.EMBERS || terr == Terrain.EMPTY_SP || terr == Terrain.HIGH_GRASS || terr == Terrain.FURROWED_GRASS || terr == Terrain.EMPTY_DECO) { Level.set(cell, Terrain.WATER); GameScene.updateMap(cell); } else if (terr == Terrain.SECRET_TRAP || terr == Terrain.TRAP || terr == Terrain.INACTIVE_TRAP) { Level.set(cell, Terrain.WATER); Dungeon.level.traps.remove(cell); GameScene.updateMap(cell); } } } } }
if (map[corner - 1] == Terrain.WALL && map[corner - w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner); if (map[corner + 1] == Terrain.WALL && map[corner - w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner); if (map[corner - 1] == Terrain.WALL && map[corner + w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner); if (map[corner + 1] == Terrain.WALL && map[corner + w] == Terrain.WALL) { map[corner] = Terrain.WALL; level.traps.remove(corner);
@Override public void activate() { Heap heap = Dungeon.level.heaps.get( pos ); if (heap != null){ for (Item item : heap.items){ Dungeon.dropToChasm(item); } heap.sprite.kill(); GameScene.discard(heap); Dungeon.level.heaps.remove( pos ); } Char ch = Actor.findChar( pos ); if (ch != null && !ch.flying) { if (ch == Dungeon.hero) { Chasm.heroFall(pos); } else { Chasm.mobFall((Mob) ch); } } }
@Override public void activate() { Heap heap = Dungeon.level.heaps.get( pos ); if (heap != null){ for (Item item : heap.items){ Dungeon.dropToChasm(item); } heap.sprite.kill(); GameScene.discard(heap); Dungeon.level.heaps.remove( pos ); } Char ch = Actor.findChar( pos ); if (ch != null && !ch.flying) { if (ch == Dungeon.hero) { Chasm.heroFall(pos); } else { Chasm.mobFall((Mob) ch); } } }
Dungeon.droppedItems.remove( Dungeon.depth );