@Override public void kill() { if (key != -1) { synchronized (stacks) { stacks.get(key).remove(this); } key = -1; } super.kill(); }
public static void dropToChasm( Item item ) { int depth = Dungeon.depth + 1; ArrayList<Item> dropped = (ArrayList<Item>)Dungeon.droppedItems.get( depth ); if (dropped == null) { Dungeon.droppedItems.put( depth, dropped = new ArrayList<Item>() ); } dropped.add( item ); }
public static void dropToChasm( Item item ) { int depth = Dungeon.depth + 1; ArrayList<Item> dropped = (ArrayList<Item>)Dungeon.droppedItems.get( depth ); if (dropped == null) { Dungeon.droppedItems.put( depth, dropped = new ArrayList<Item>() ); } dropped.add(item); }
public static void dropToChasm( Item item ) { int depth = Dungeon.depth + 1; ArrayList<Item> dropped = (ArrayList<Item>)Dungeon.droppedItems.get( depth ); if (dropped == null) { Dungeon.droppedItems.put( depth, dropped = new ArrayList<Item>() ); } dropped.add( item ); }
@Override protected void onItemSelected(Item item) { Item result = item.detachAll(curUser.belongings.backpack); int portDepth = 5 * (1 + Dungeon.depth/5); ArrayList<Item> ported = Dungeon.portedItems.get(portDepth); if (ported == null) { Dungeon.portedItems.put(portDepth, ported = new ArrayList<>()); } ported.add(result); }
private int plantPos( Level level ){ int pos; do{ pos = level.pointToCell(random()); } while (level.plants.get(pos) != null); return pos; }
protected int randomDropCell( boolean ignoreHeaps ) { while ( true ) { Room room = randomRoom( Room.Type.STANDARD, 1 ); if ( room != null ) { int pos = room.random(); if ( mob_passable[pos] && ( ignoreHeaps || heaps.get( pos ) == null ) ) { return pos; } } } }
private int plantPos( Level level ){ int pos; do{ pos = level.pointToCell(random()); } while (level.plants.get(pos) != null); return pos; } }
private void placeItem(Item item, Level level){ int itemPos; do { itemPos = level.pointToCell(random()); } while (level.heaps.get(itemPos) != null); level.drop(item, itemPos); } }
public static void leave( int pos ) { if (Dungeon.level.heaps.get( pos ) == null) { Level.set( pos, Terrain.DOOR_CLOSED); Dungeon.observe(); if (Dungeon.visible[pos]) { GameScene.updateMap( pos ); } } }
public static void leave( int pos ) { if (Dungeon.level.heaps.get( pos ) == null) { Level.set( pos, Terrain.DOOR ); GameScene.updateMap( pos ); if (Dungeon.level.heroFOV[pos]) Dungeon.observe(); } } }
public static void leave( int pos ) { if (Dungeon.level.heaps.get( pos ) == null) { Level.set( pos, Terrain.DOOR ); GameScene.updateMap( pos ); if (Dungeon.level.heroFOV[pos]) Dungeon.observe(); } } }
public void discover( int cell ) { set( cell, Terrain.discover( map[cell] ) ); Trap trap = traps.get( cell ); if (trap != null) trap.reveal(); GameScene.updateMap( cell ); }
protected void throwItem() { Heap heap = Dungeon.level.heaps.get( pos ); if (heap != null) { int n; do { n = pos + PathFinder.NEIGHBOURS8[Random.Int( 8 )]; } while (!Dungeon.level.passable[n] && !Dungeon.level.avoid[n]); Dungeon.level.drop( heap.pickUp(), n ).sprite.drop( pos ); } }
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 void discover( int cell ) { set( cell, Terrain.discover( map[cell] ) ); Trap trap = traps.get( cell ); if (trap != null) trap.reveal(); GameScene.updateMap( cell ); }
protected void throwItem() { Heap heap = Dungeon.level.heaps.get( pos ); if (heap != null) { int n; do { n = pos + PathFinder.NEIGHBOURS8[Random.Int( 8 )]; } while (!Dungeon.level.passable[n] && !Dungeon.level.avoid[n]); Dungeon.level.drop( heap.pickUp(), n ).sprite.drop( pos ); } }