diff --git a/core/src/main/assets/tiles_caves.png b/core/src/main/assets/tiles_caves.png index ff8c835f8..cb4823fe8 100644 Binary files a/core/src/main/assets/tiles_caves.png and b/core/src/main/assets/tiles_caves.png differ diff --git a/core/src/main/assets/tiles_city.png b/core/src/main/assets/tiles_city.png index f37660687..f4caff233 100644 Binary files a/core/src/main/assets/tiles_city.png and b/core/src/main/assets/tiles_city.png differ diff --git a/core/src/main/assets/tiles_halls.png b/core/src/main/assets/tiles_halls.png index 3f4dfc51e..f204158dd 100644 Binary files a/core/src/main/assets/tiles_halls.png and b/core/src/main/assets/tiles_halls.png differ diff --git a/core/src/main/assets/tiles_prison.png b/core/src/main/assets/tiles_prison.png index 5548cdc92..d492f3511 100644 Binary files a/core/src/main/assets/tiles_prison.png and b/core/src/main/assets/tiles_prison.png differ diff --git a/core/src/main/assets/tiles_sewers.png b/core/src/main/assets/tiles_sewers.png index 5a916b4be..9725036d0 100644 Binary files a/core/src/main/assets/tiles_sewers.png and b/core/src/main/assets/tiles_sewers.png differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java index b1f895d09..c09187392 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java @@ -67,6 +67,12 @@ public class DungeonTerrainTilemap extends DungeonTilemap { pos + mapWidth < size ? map[pos + mapWidth] : -1, pos % mapWidth != 0 ? map[pos - 1] : -1 ); + } else if (tile == Terrain.SIGN) { + return DungeonTileSheet.RAISED_SIGN; + } else if (tile == Terrain.STATUE) { + return DungeonTileSheet.RAISED_STATUE; + } else if (tile == Terrain.STATUE_SP) { + return DungeonTileSheet.RAISED_STATUE_SP; } else if (tile == Terrain.BARRICADE) { return DungeonTileSheet.RAISED_BARRICADE; } else { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java index c3bee802b..9acd754e3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java @@ -65,13 +65,10 @@ public class DungeonTileSheet { public static final int ENTRANCE = GROUND +16; public static final int EXIT = GROUND +17; - public static final int SIGN = GROUND +18; - public static final int STATUE = GROUND +19; - public static final int STATUE_SP = GROUND +20; - public static final int WELL = GROUND +21; - public static final int EMPTY_WELL = GROUND +22; - public static final int ALCHEMY_POT = GROUND +23; - public static final int PEDESTAL = GROUND +24; + public static final int WELL = GROUND +18; + public static final int EMPTY_WELL = GROUND +19; + public static final int ALCHEMY_POT = GROUND +20; + public static final int PEDESTAL = GROUND +21; @@ -171,7 +168,11 @@ public class DungeonTileSheet { public static final int UNLOCKED_EXIT = FLAT_DOORS+3; public static final int LOCKED_EXIT = FLAT_DOORS+4; - public static final int FLAT_BARRICADE = xy(1, 7); + public static final int FLAT_OTHER = xy(1, 7); //16 slots + public static final int FLAT_SIGN = FLAT_OTHER+0; + public static final int FLAT_STATUE = FLAT_OTHER+1; + public static final int FLAT_STATUE_SP = FLAT_OTHER+2; + public static final int FLAT_BARRICADE = FLAT_OTHER+3; /********************************************************************** @@ -231,7 +232,11 @@ public class DungeonTileSheet { Terrain.DOOR, Terrain.LOCKED_DOOR, Terrain.OPEN_DOOR )); - public static final int RAISED_BARRICADE = xy(1, 11); + private static final int RAISED_OTHER = xy(1, 11); //16 slots + public static final int RAISED_SIGN = RAISED_OTHER+0; + public static final int RAISED_STATUE = RAISED_OTHER+1; + public static final int RAISED_STATUE_SP = RAISED_OTHER+2; + public static final int RAISED_BARRICADE = RAISED_OTHER+3; @@ -285,7 +290,8 @@ public class DungeonTileSheet { public static final int DOOR_SIDEWAYS = WALL_OVERHANG+23; public static final int DOOR_SIDEWAYS_LOCKED = WALL_OVERHANG+24; - public static final int BARRICADE_OVERHANG = WALL_OVERHANG+26; + public static final int STATUE_OVERHANG = WALL_OVERHANG+26; + public static final int BARRICADE_OVERHANG = WALL_OVERHANG+27; /********************************************************************** * Logic for the selection of tile visuals @@ -311,10 +317,7 @@ public class DungeonTileSheet { directVisuals.put(Terrain.EMPTY_DECO, FLOOR_DECO); directVisuals.put(Terrain.LOCKED_EXIT, LOCKED_EXIT); directVisuals.put(Terrain.UNLOCKED_EXIT, UNLOCKED_EXIT); - directVisuals.put(Terrain.SIGN, SIGN); directVisuals.put(Terrain.WELL, WELL); - directVisuals.put(Terrain.STATUE, STATUE); - directVisuals.put(Terrain.STATUE_SP, STATUE_SP); directVisuals.put(Terrain.ALCHEMY, ALCHEMY_POT); } @@ -328,6 +331,9 @@ public class DungeonTileSheet { directFlatVisuals.put(Terrain.LOCKED_DOOR, FLAT_DOOR_LOCKED); directFlatVisuals.put(Terrain.WALL_DECO, FLAT_WALL_DECO); directFlatVisuals.put(Terrain.BOOKSHELF, FLAT_BOOKSHELF); + directFlatVisuals.put(Terrain.SIGN, FLAT_SIGN); + directFlatVisuals.put(Terrain.STATUE, FLAT_STATUE); + directFlatVisuals.put(Terrain.STATUE_SP, FLAT_STATUE_SP); directFlatVisuals.put(Terrain.BARRICADE, FLAT_BARRICADE); directFlatVisuals.put(Terrain.SECRET_DOOR, directFlatVisuals.get(Terrain.WALL)); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java index 6aa7e3bf9..c3f1cbcdb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java @@ -79,6 +79,8 @@ public class DungeonWallsTilemap extends DungeonTilemap { return DungeonTileSheet.DOOR_OVERHANG; } else if (Dungeon.level.insideMap(pos) && map[pos+mapWidth] == Terrain.OPEN_DOOR ) { return DungeonTileSheet.DOOR_OVERHANG_OPEN; + } else if (pos + mapWidth < size && (map[pos+mapWidth] == Terrain.STATUE || map[pos+mapWidth] == Terrain.STATUE_SP)){ + return DungeonTileSheet.STATUE_OVERHANG; } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.BARRICADE){ return DungeonTileSheet.BARRICADE_OVERHANG; }