From 4c75de1bfa7aa65659a36ec34f8435abbf0df92a Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 13 Mar 2017 19:45:50 -0400 Subject: [PATCH] v0.6.0: standardized calculations relating to room dimensions --- .../actors/mobs/npcs/Blacksmith.java | 2 +- .../actors/mobs/npcs/Wandmaker.java | 2 +- .../levels/CavesLevel.java | 2 +- .../levels/HallsLevel.java | 5 ++-- .../shatteredpixeldungeon/levels/Painter.java | 6 ++-- .../levels/RegularLevel.java | 4 +-- .../levels/SewerBossLevel.java | 2 +- .../levels/builders/LegacyBuilder.java | 21 ++++++------- .../levels/rooms/LibraryRoom.java | 2 +- .../levels/rooms/MassGraveRoom.java | 2 +- .../levels/rooms/MazeRoom.java | 2 +- .../levels/rooms/PassageRoom.java | 4 +-- .../levels/rooms/Room.java | 16 ++++++++++ .../levels/rooms/RotGardenRoom.java | 2 +- .../levels/rooms/ShopRoom.java | 4 +-- .../levels/rooms/StandardRoom.java | 30 +++++++++---------- .../levels/rooms/StatueRoom.java | 8 ++--- .../levels/rooms/TrapsRoom.java | 8 ++--- .../levels/rooms/WeakFloorRoom.java | 8 ++--- 19 files changed, 74 insertions(+), 56 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Blacksmith.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Blacksmith.java index 1bd95ea36..10fad3906 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Blacksmith.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Blacksmith.java @@ -284,7 +284,7 @@ public class Blacksmith extends NPC { Room blacksmith; for (Room r : rooms) { - if (r instanceof StandardRoom && r.width() > 4 && r.height() > 4) { + if (r instanceof StandardRoom && r.width() >= 6 && r.height() >= 6) { blacksmith = new BlacksmithRoom().set(r); rooms.set(rooms.indexOf(r), blacksmith); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java index db96c1749..eaf3468ba 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/npcs/Wandmaker.java @@ -295,7 +295,7 @@ public class Wandmaker extends NPC { //we don't re-roll the quest, it will try to assign itself to that new level with the same type. Room questRoom = null; for (Room r : rooms){ - if (r instanceof StandardRoom && r.width() > 5 && r.height() > 5){ + if (r instanceof StandardRoom && r.width() >= 7 && r.height() >= 7){ if (type == 2 || r.connected.size() == 1){ questRoom = r; break; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java index 0dacb3d02..53bf9abd1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java @@ -106,7 +106,7 @@ public class CavesLevel extends RegularLevel { continue; } - if (room.width() <= 3 || room.height() <= 3) { + if (room.width() <= 4 || room.height() <= 4) { continue; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java index 97d3d3eac..0eb55847d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java @@ -22,9 +22,9 @@ package com.shatteredpixel.shatteredpixeldungeon.levels; import android.opengl.GLES20; + import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap; import com.shatteredpixel.shatteredpixeldungeon.items.Torch; import com.shatteredpixel.shatteredpixeldungeon.levels.traps.BlazingTrap; import com.shatteredpixel.shatteredpixeldungeon.levels.traps.CursingTrap; @@ -46,6 +46,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.VenomTrap; import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap; import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WeakeningTrap; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap; import com.watabou.noosa.Game; import com.watabou.noosa.Group; import com.watabou.noosa.particles.PixelParticle; @@ -58,7 +59,7 @@ import javax.microedition.khronos.opengles.GL10; public class HallsLevel extends RegularLevel { { - minRoomSize = 6; + minRoomSize = 7; viewDistance = Math.max( 25 - Dungeon.depth, 1 ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Painter.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Painter.java index b9c289904..87e223b16 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Painter.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Painter.java @@ -52,15 +52,15 @@ public class Painter { } public static void fill( Level level, Rect rect, int value ) { - fill( level, rect.left, rect.top, rect.width() + 1, rect.height() + 1, value ); + fill( level, rect.left, rect.top, rect.width(), rect.height(), value ); } public static void fill( Level level, Rect rect, int m, int value ) { - fill( level, rect.left + m, rect.top + m, rect.width() + 1 - m*2, rect.height() + 1 - m*2, value ); + fill( level, rect.left + m, rect.top + m, rect.width() - m*2, rect.height() - m*2, value ); } public static void fill( Level level, Rect rect, int l, int t, int r, int b, int value ) { - fill( level, rect.left + l, rect.top + t, rect.width() + 1 - (l + r), rect.height() + 1 - (t + b), value ); + fill( level, rect.left + l, rect.top + t, rect.width() - (l + r), rect.height() - (t + b), value ); } public static Point drawInside( Level level, Room room, Point from, int n, int value ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java index 1d47a8d16..5994ac6da 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java @@ -201,8 +201,8 @@ public abstract class RegularLevel extends Level { return new float[]{1}; } - protected int minRoomSize = 7; - protected int maxRoomSize = 9; + protected int minRoomSize = 8; + protected int maxRoomSize = 10; protected boolean paint() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java index 9f65c466a..a9c6804cb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java @@ -102,7 +102,7 @@ public class SewerBossLevel extends RegularLevel { @Override protected void decorate() { int start = roomExit.top * width() + roomExit.left + 1; - int end = start + roomExit.width() - 1; + int end = start + roomExit.width() - 2; for (int i=start; i < end; i++) { if (i != exit && map[i] == Terrain.WALL) { map[i] = Terrain.WALL_DECO; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/builders/LegacyBuilder.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/builders/LegacyBuilder.java index f55214fd5..c92483a65 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/builders/LegacyBuilder.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/builders/LegacyBuilder.java @@ -90,11 +90,11 @@ public class LegacyBuilder extends Builder { do { do { roomEntrance = Random.element( rooms ); - } while (roomEntrance.width() < 4 || roomEntrance.height() < 4); + } while (roomEntrance.width() <= 4 || roomEntrance.height() <= 4); do { roomExit = Random.element( rooms ); - } while (roomExit == roomEntrance || roomExit.width() < 4 || roomExit.height() < 4); + } while (roomExit == roomEntrance || roomExit.width() <= 4 || roomExit.height() <= 4); Graph.buildDistanceMap( rooms, roomExit ); distance = roomEntrance.distance(); @@ -153,7 +153,7 @@ public class LegacyBuilder extends Builder { if (Dungeon.shopOnLevel()) { Room shop = null; for (Room r : roomEntrance.connected.keySet()) { - if (r.connected.size() == 1 && ((r.width()-1)*(r.height()-1) >= ShopRoom.spaceNeeded())) { + if (r.connected.size() == 1 && ((r.width()-2)*(r.height()-2) >= ShopRoom.spaceNeeded())) { shop = r; break; } @@ -163,7 +163,7 @@ public class LegacyBuilder extends Builder { return null; } else { temp = shop; - shop = new LaboratoryRoom().set(temp); + shop = new ShopRoom().set(temp); rooms.set(rooms.indexOf(temp), shop); } } @@ -213,7 +213,7 @@ public class LegacyBuilder extends Builder { return null; } roomEntrance = Random.element( rooms ); - } while (roomEntrance.width() != 8 || roomEntrance.height() < 5 || roomEntrance.top == 0 || roomEntrance.top >= 8); + } while (roomEntrance.width() != 9 || roomEntrance.height() < 6 || roomEntrance.top == 0 || roomEntrance.top >= 8); Room temp = roomEntrance; roomEntrance = new EntranceRoom().set(temp); @@ -322,7 +322,7 @@ public class LegacyBuilder extends Builder { return null; } roomEntrance = Random.element( rooms ); - } while (roomEntrance.width() < 4 || roomEntrance.height() < 4); + } while (roomEntrance.width() <= 4 || roomEntrance.height() <= 4); innerRetry = 0; do { @@ -330,7 +330,7 @@ public class LegacyBuilder extends Builder { return null; } roomExit = Random.element( rooms ); - } while (roomExit == roomEntrance || roomExit.width() < 6 || roomExit.height() < 6 || roomExit.top == 0); + } while (roomExit == roomEntrance || roomExit.width() <= 6 || roomExit.height() <= 6 || roomExit.top == 0); Graph.buildDistanceMap( rooms, roomExit ); distance = Graph.buildPath( rooms, roomEntrance, roomExit ).size(); @@ -413,8 +413,9 @@ public class LegacyBuilder extends Builder { private void split( Rect rect ) { - int w = rect.width(); - int h = rect.height(); + //To match with rooms + int w = rect.width()+1; + int h = rect.height()+1; if (w > maxRoomSize && h < minRoomSize) { @@ -462,7 +463,7 @@ public class LegacyBuilder extends Builder { r.connected.size() == 1) { if (specials.size() > 0 && - r.width() > 3 && r.height() > 3 && + r.width() > 4 && r.height() > 4 && Random.Int( specialRooms * specialRooms + 2 ) == 0) { if (Level.pitRoomNeeded && !pitMade) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/LibraryRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/LibraryRoom.java index e00995418..3d14c16f3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/LibraryRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/LibraryRoom.java @@ -45,7 +45,7 @@ public class LibraryRoom extends Room { Point a = null; Point b = null; - Painter.fill( level, room.left + 1, room.top+1, room.width() - 1, 1 , Terrain.BOOKSHELF ); + Painter.fill( level, room.left + 1, room.top+1, room.width() - 2, 1 , Terrain.BOOKSHELF ); if (entrance.y == room.top){ Painter.set( level, entrance.x, entrance.y + 1, Terrain.EMPTY_SP ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MassGraveRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MassGraveRoom.java index 59e76c100..58b9014e1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MassGraveRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MassGraveRoom.java @@ -52,7 +52,7 @@ public class MassGraveRoom extends Room { Bones b = new Bones(); - b.setRect(room.left+1, room.top, room.width()-1, room.height()); + b.setRect(room.left+1, room.top, room.width()-2, room.height()-1); level.customTiles.add(b); //50% 1 skeleton, 50% 2 skeletons diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MazeRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MazeRoom.java index a0467cfe1..043a993b4 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MazeRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/MazeRoom.java @@ -32,7 +32,7 @@ public class MazeRoom extends Room { Painter.fill(level, room, 1, Terrain.EMPTY); //true = space, false = wall - boolean[][] maze = new boolean[room.width() + 1][room.height() + 1]; + boolean[][] maze = new boolean[room.width()][room.height()]; for (int x = 0; x < maze.length; x++) { for (int y = 0; y < maze[0].length; y++) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/PassageRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/PassageRoom.java index a562e2124..2095e4661 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/PassageRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/PassageRoom.java @@ -35,8 +35,8 @@ public class PassageRoom extends Room { public void paint( Level level, Room room ) { - pasWidth = room.width() - 2; - pasHeight = room.height() - 2; + pasWidth = room.width() - 3; + pasHeight = room.height() - 3; int floor = level.tunnelTile(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/Room.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/Room.java index 3a6e60cc7..104dd422f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/Room.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/Room.java @@ -66,6 +66,22 @@ public class Room extends Rect implements Graph.Node, Bundlable { return this; } + //Width and height are increased by 1 because rooms are inclusive to their right and bottom sides + @Override + public int width() { + return super.width()+1; + } + + @Override + public int height() { + return super.height()+1; + } + + @Override + public int square() { + return width()*height(); + } + public void paint(Level level){ paint(level, this); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/RotGardenRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/RotGardenRoom.java index ce123b461..f45597e41 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/RotGardenRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/RotGardenRoom.java @@ -59,7 +59,7 @@ public class RotGardenRoom extends Room { placePlant(level, heartX + heartY * level.width(), new RotHeart()); - int lashers = ((room.right-room.left-1)*(room.bottom-room.top-1))/8; + int lashers = ((room.width()-2)*(room.height()-2))/8; for (int i = 1; i <= lashers; i++){ int pos; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/ShopRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/ShopRoom.java index 388813026..4947566b6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/ShopRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/ShopRoom.java @@ -90,8 +90,8 @@ public class ShopRoom extends Room { Painter.fill( level, room, Terrain.WALL ); Painter.fill( level, room, 1, Terrain.EMPTY_SP ); - pasWidth = room.width() - 2; - pasHeight = room.height() - 2; + pasWidth = room.width() - 3; + pasHeight = room.height() - 3; int per = pasWidth * 2 + pasHeight * 2; if (itemsToSpawn == null) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StandardRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StandardRoom.java index 30e5b615c..c626a55f7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StandardRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StandardRoom.java @@ -46,7 +46,7 @@ public class StandardRoom extends Room { switch (Random.Int( 6 )) { case 0: if (level.feeling != Level.Feeling.GRASS) { - if (Math.min( room.width(), room.height() ) >= 4 && Math.max( room.width(), room.height() ) >= 6) { + if (Math.min( room.width(), room.height() ) > 4 && Math.max( room.width(), room.height() ) > 6) { paintGraveyard( level, room ); return; } @@ -61,20 +61,20 @@ public class StandardRoom extends Room { } break; case 2: - if (Math.max( room.width(), room.height() ) >= 4) { + if (Math.max( room.width(), room.height() ) > 4) { paintStriped( level, room ); return; } break; case 3: - if (room.width() >= 6 && room.height() >= 6) { + if (room.width() > 6 && room.height() > 6) { paintStudy( level, room ); return; } break; case 4: if (level.feeling != Level.Feeling.WATER) { - if (room.connected.size() == 2 && room.width() >= 4 && room.height() >= 4) { + if (room.connected.size() == 2 && room.width() > 4 && room.height() > 4) { paintBridge( level, room ); return; } @@ -84,7 +84,7 @@ public class StandardRoom extends Room { } case 5: if (!Dungeon.bossLevel() && !Dungeon.bossLevel( Dungeon.depth + 1 ) && - Math.min( room.width(), room.height() ) >= 5) { + Math.min( room.width(), room.height() ) > 5) { paintFissure( level, room ); return; } @@ -125,10 +125,10 @@ public class StandardRoom extends Room { } private static void paintGraveyard( Level level, Room room ) { - Painter.fill( level, room.left + 1, room.top + 1, room.width() - 1, room.height() - 1 , Terrain.GRASS ); + Painter.fill( level, room , 1 , Terrain.GRASS ); - int w = room.width() - 1; - int h = room.height() - 1; + int w = room.width() - 2; + int h = room.height() - 2; int nGraves = Math.max( w, h ) / 2; int index = Random.Int( nGraves ); @@ -143,23 +143,23 @@ public class StandardRoom extends Room { } private static void paintStriped( Level level, Room room ) { - Painter.fill( level, room.left + 1, room.top + 1, room.width() - 1, room.height() - 1 , Terrain.EMPTY_SP ); + Painter.fill( level, room, 1 , Terrain.EMPTY_SP ); if (room.width() > room.height()) { for (int i=room.left + 2; i < room.right; i += 2) { - Painter.fill( level, i, room.top + 1, 1, room.height() - 1, Terrain.HIGH_GRASS ); + Painter.fill( level, i, room.top + 1, 1, room.height() - 2, Terrain.HIGH_GRASS ); } } else { for (int i=room.top + 2; i < room.bottom; i += 2) { - Painter.fill( level, room.left + 1, i, room.width() - 1, 1, Terrain.HIGH_GRASS ); + Painter.fill( level, room.left + 1, i, room.width() - 2, 1, Terrain.HIGH_GRASS ); } } } //TODO: this is almost a special room type now, consider moving this into its own painter if/when you address room gen significantly. private static void paintStudy( Level level, Room room ) { - Painter.fill( level, room.left + 1, room.top + 1, room.width() - 1, room.height() - 1 , Terrain.BOOKSHELF ); - Painter.fill( level, room.left + 2, room.top + 2, room.width() - 3, room.height() - 3 , Terrain.EMPTY_SP ); + Painter.fill( level, room, 1 , Terrain.BOOKSHELF ); + Painter.fill( level, room, 2 , Terrain.EMPTY_SP ); for (Point door : room.connected.values()) { if (door.x == room.left) { @@ -189,7 +189,7 @@ public class StandardRoom extends Room { private static void paintBridge( Level level, Room room ) { - Painter.fill( level, room.left + 1, room.top + 1, room.width() - 1, room.height() - 1 , + Painter.fill( level, room, 1, !Dungeon.bossLevel() && !Dungeon.bossLevel( Dungeon.depth + 1 ) && Random.Int( 3 ) == 0 ? Terrain.CHASM : Terrain.WATER ); @@ -249,7 +249,7 @@ public class StandardRoom extends Room { } private static void paintFissure( Level level, Room room ) { - Painter.fill( level, room.left + 1, room.top + 1, room.width() - 1, room.height() - 1 ,Terrain.EMPTY ); + Painter.fill( level, room, 1, Terrain.EMPTY ); for (int i=room.top + 2; i < room.bottom - 1; i++) { for (int j=room.left + 2; j < room.right - 1; j++) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StatueRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StatueRoom.java index fdb207ec0..b6344a8ad 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StatueRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/StatueRoom.java @@ -47,22 +47,22 @@ public class StatueRoom extends Room { if (door.x == room.left) { - Painter.fill( level, room.right - 1, room.top + 1, 1, room.height() - 1 , Terrain.STATUE ); + Painter.fill( level, room.right - 1, room.top + 1, 1, room.height() - 2 , Terrain.STATUE ); cx = room.right - 2; } else if (door.x == room.right) { - Painter.fill( level, room.left + 1, room.top + 1, 1, room.height() - 1 , Terrain.STATUE ); + Painter.fill( level, room.left + 1, room.top + 1, 1, room.height() - 2 , Terrain.STATUE ); cx = room.left + 2; } else if (door.y == room.top) { - Painter.fill( level, room.left + 1, room.bottom - 1, room.width() - 1, 1 , Terrain.STATUE ); + Painter.fill( level, room.left + 1, room.bottom - 1, room.width() - 2, 1 , Terrain.STATUE ); cy = room.bottom - 2; } else if (door.y == room.bottom) { - Painter.fill( level, room.left + 1, room.top + 1, room.width() - 1, 1 , Terrain.STATUE ); + Painter.fill( level, room.left + 1, room.top + 1, room.width() - 2, 1 , Terrain.STATUE ); cy = room.top + 2; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/TrapsRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/TrapsRoom.java index 9fd1e6bac..0ef93df7e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/TrapsRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/TrapsRoom.java @@ -83,19 +83,19 @@ public class TrapsRoom extends Room { if (door.x == room.left) { x = room.right - 1; y = room.top + room.height() / 2; - Painter.fill( level, x, room.top + 1, 1, room.height() - 1 , lastRow ); + Painter.fill( level, x, room.top + 1, 1, room.height() - 2 , lastRow ); } else if (door.x == room.right) { x = room.left + 1; y = room.top + room.height() / 2; - Painter.fill( level, x, room.top + 1, 1, room.height() - 1 , lastRow ); + Painter.fill( level, x, room.top + 1, 1, room.height() - 2 , lastRow ); } else if (door.y == room.top) { x = room.left + room.width() / 2; y = room.bottom - 1; - Painter.fill( level, room.left + 1, y, room.width() - 1, 1 , lastRow ); + Painter.fill( level, room.left + 1, y, room.width() - 2, 1 , lastRow ); } else if (door.y == room.bottom) { x = room.left + room.width() / 2; y = room.top + 1; - Painter.fill( level, room.left + 1, y, room.width() - 1, 1 , lastRow ); + Painter.fill( level, room.left + 1, y, room.width() - 2, 1 , lastRow ); } for(Point p : room.getPoints()) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/WeakFloorRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/WeakFloorRoom.java index 5a843f3b7..2045a3079 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/WeakFloorRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/WeakFloorRoom.java @@ -43,19 +43,19 @@ public class WeakFloorRoom extends Room { if (door.x == room.left) { for (int i=room.top + 1; i < room.bottom; i++) { - Painter.drawInside( level, room, new Point( room.left, i ), Random.IntRange( 1, room.width() - 2 ), Terrain.EMPTY_SP ); + Painter.drawInside( level, room, new Point( room.left, i ), Random.IntRange( 1, room.width() - 3 ), Terrain.EMPTY_SP ); } } else if (door.x == room.right) { for (int i=room.top + 1; i < room.bottom; i++) { - Painter.drawInside( level, room, new Point( room.right, i ), Random.IntRange( 1, room.width() - 2 ), Terrain.EMPTY_SP ); + Painter.drawInside( level, room, new Point( room.right, i ), Random.IntRange( 1, room.width() - 3 ), Terrain.EMPTY_SP ); } } else if (door.y == room.top) { for (int i=room.left + 1; i < room.right; i++) { - Painter.drawInside( level, room, new Point( i, room.top ), Random.IntRange( 1, room.height() - 2 ), Terrain.EMPTY_SP ); + Painter.drawInside( level, room, new Point( i, room.top ), Random.IntRange( 1, room.height() - 3 ), Terrain.EMPTY_SP ); } } else if (door.y == room.bottom) { for (int i=room.left + 1; i < room.right; i++) { - Painter.drawInside( level, room, new Point( i, room.bottom ), Random.IntRange( 1, room.height() - 2 ), Terrain.EMPTY_SP ); + Painter.drawInside( level, room, new Point( i, room.bottom ), Random.IntRange( 1, room.height() - 3 ), Terrain.EMPTY_SP ); } }