@Override public Group addVisuals() { super.addVisuals(); addCityVisuals( this, visuals ); return visuals; }
@Override protected Painter painter() { return new CityPainter() .setWater(feeling == Feeling.WATER ? 0.90f : 0.30f, 4) .setGrass(feeling == Feeling.GRASS ? 0.80f : 0.20f, 3) .setTraps(nTraps(), trapClasses(), trapChances()); }
public static void spawn( CityLevel level ) { if (!spawned && Dungeon.depth > 16 && Random.Int( 20 - Dungeon.depth ) == 0) { Imp npc = new Imp(); do { npc.pos = level.randomRespawnCell(); } while ( npc.pos == -1 || level.heaps.get( npc.pos ) != null || level.traps.get( npc.pos) != null || level.findMob( npc.pos ) != null || //The imp doesn't move, so he cannot obstruct a passageway !(level.passable[npc.pos + PathFinder.CIRCLE4[0]] && level.passable[npc.pos + PathFinder.CIRCLE4[2]]) || !(level.passable[npc.pos + PathFinder.CIRCLE4[1]] && level.passable[npc.pos + PathFinder.CIRCLE4[3]])); level.mobs.add( npc ); spawned = true; alternative = Random.Int( 2 ) == 0; given = false; do { reward = (Ring)Generator.random( Generator.Category.RING ); } while (reward.cursed); reward.upgrade( 2 ); reward.cursed = true; } }
case 18: case 19: level = new CityLevel(); break; case 20:
public static void spawn( CityLevel level ) { if (!spawned && Dungeon.depth > 16 && Random.Int( 20 - Dungeon.depth ) == 0) { Imp npc = new Imp(); do { npc.pos = level.randomRespawnCell(); } while ( npc.pos == -1 || level.heaps.get( npc.pos ) != null || level.traps.get( npc.pos) != null || level.findMob( npc.pos ) != null || //The imp doesn't move, so he cannot obstruct a passageway !(level.passable[npc.pos + PathFinder.CIRCLE4[0]] && level.passable[npc.pos + PathFinder.CIRCLE4[2]]) || !(level.passable[npc.pos + PathFinder.CIRCLE4[1]] && level.passable[npc.pos + PathFinder.CIRCLE4[3]])); level.mobs.add( npc ); spawned = true; alternative = Random.Int( 2 ) == 0; given = false; do { reward = (Ring)Generator.random( Generator.Category.RING ); } while (reward.cursed); reward.upgrade( 2 ); reward.cursed = true; } }
case 18: case 19: level = new CityLevel(); break; case 20:
@Override protected Painter painter() { return new CityPainter() .setWater(feeling == Feeling.WATER ? 0.90f : 0.30f, 4) .setGrass(feeling == Feeling.GRASS ? 0.80f : 0.20f, 3) .setTraps(nTraps(), trapClasses(), trapChances()); }
@Override public Group addVisuals( ) { super.addVisuals(); CityLevel.addCityVisuals(this, visuals); return visuals; } }
@Override public Group addVisuals( ) { super.addVisuals(); CityLevel.addCityVisuals(this, visuals); return visuals; } }
@Override public Group addVisuals( ) { super.addVisuals(); CityLevel.addCityVisuals(this, visuals); return visuals; } }
@Override public Group addVisuals( ) { super.addVisuals(); CityLevel.addCityVisuals(this, visuals); return visuals; } }
@Override public Group addVisuals() { super.addVisuals(); addCityVisuals( this, visuals ); return visuals; }