diff --git a/core/src/main/assets/environment/tiles_sewers.png b/core/src/main/assets/environment/tiles_sewers.png index 083273c97..a2ed23896 100644 Binary files a/core/src/main/assets/environment/tiles_sewers.png and b/core/src/main/assets/environment/tiles_sewers.png differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java index cfae6e4d1..f9d1de59a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java @@ -61,7 +61,8 @@ public class Terrain { public static final int STATUE = 25; public static final int STATUE_SP = 26; //These decorations are environment-specific - //33 and 34 are reserved for future statue-like decorations + public static final int REGION_DECO = 33; + public static final int REGION_DECO_SP = 34; public static final int MINE_CRYSTAL = 35; public static final int MINE_BOULDER = 36; @@ -116,6 +117,8 @@ public class Terrain { flags[STATUE] = SOLID; flags[STATUE_SP] = flags[STATUE]; + flags[REGION_DECO] = flags[STATUE]; + flags[REGION_DECO_SP] = flags[STATUE_SP]; flags[MINE_CRYSTAL] = SOLID; flags[MINE_BOULDER] = SOLID; 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 6a0bcfb4d..9569c350a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java @@ -70,6 +70,10 @@ public class DungeonTerrainTilemap extends DungeonTilemap { return DungeonTileSheet.RAISED_STATUE; } else if (tile == Terrain.STATUE_SP) { return DungeonTileSheet.RAISED_STATUE_SP; + } else if (tile == Terrain.REGION_DECO) { + return DungeonTileSheet.RAISED_REGION_DECO; + } else if (tile == Terrain.REGION_DECO_SP) { + return DungeonTileSheet.RAISED_REGION_DECO_SP; } else if (tile == Terrain.MINE_CRYSTAL) { return DungeonTileSheet.getVisualWithAlts( DungeonTileSheet.RAISED_MINE_CRYSTAL, 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 a0712f3bf..bc2ff3a63 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java @@ -92,6 +92,7 @@ public class DungeonTileSheet { chasmStitcheable.put( Terrain.EMPTY_WELL, CHASM_FLOOR ); chasmStitcheable.put( Terrain.WELL, CHASM_FLOOR ); chasmStitcheable.put( Terrain.STATUE, CHASM_FLOOR ); + chasmStitcheable.put( Terrain.REGION_DECO, CHASM_FLOOR ); chasmStitcheable.put( Terrain.SECRET_TRAP, CHASM_FLOOR ); chasmStitcheable.put( Terrain.INACTIVE_TRAP,CHASM_FLOOR ); chasmStitcheable.put( Terrain.TRAP, CHASM_FLOOR ); @@ -105,6 +106,7 @@ public class DungeonTileSheet { //special floor chasmStitcheable.put( Terrain.EMPTY_SP, CHASM_FLOOR_SP ); chasmStitcheable.put( Terrain.STATUE_SP, CHASM_FLOOR_SP ); + chasmStitcheable.put( Terrain.REGION_DECO_SP,CHASM_FLOOR_SP ); //wall chasmStitcheable.put( Terrain.WALL, CHASM_WALL ); @@ -136,7 +138,7 @@ public class DungeonTileSheet { Terrain.ENTRANCE, Terrain.EXIT, Terrain.EMBERS, Terrain.BARRICADE, Terrain.HIGH_GRASS, Terrain.FURROWED_GRASS, Terrain.SECRET_TRAP, Terrain.TRAP, Terrain.INACTIVE_TRAP, Terrain.EMPTY_DECO, - Terrain.CUSTOM_DECO, Terrain.WELL, Terrain.STATUE, Terrain.ALCHEMY, + Terrain.CUSTOM_DECO, Terrain.WELL, Terrain.STATUE, Terrain.REGION_DECO, Terrain.ALCHEMY, Terrain.CUSTOM_DECO_EMPTY, Terrain.MINE_CRYSTAL, Terrain.MINE_BOULDER, Terrain.DOOR, Terrain.OPEN_DOOR, Terrain.LOCKED_DOOR, Terrain.CRYSTAL_DOOR )); @@ -187,6 +189,8 @@ public class DungeonTileSheet { public static final int FLAT_STATUE = FLAT_OTHER+8; public static final int FLAT_STATUE_SP = FLAT_OTHER+9; + public static final int FLAT_REGION_DECO = FLAT_OTHER+10; + public static final int FLAT_REGION_DECO_SP = FLAT_OTHER+11; public static final int FLAT_MINE_CRYSTAL = FLAT_OTHER+12; public static final int FLAT_MINE_CRYSTAL_ALT = FLAT_OTHER+13; @@ -284,6 +288,8 @@ public class DungeonTileSheet { public static final int RAISED_STATUE = RAISED_OTHER+8; public static final int RAISED_STATUE_SP = RAISED_OTHER+9; + public static final int RAISED_REGION_DECO = RAISED_OTHER+10; + public static final int RAISED_REGION_DECO_SP = RAISED_OTHER+11; public static final int RAISED_MINE_CRYSTAL = RAISED_OTHER+12; public static final int RAISED_MINE_CRYSTAL_ALT = RAISED_OTHER+13; @@ -367,6 +373,8 @@ public class DungeonTileSheet { public static final int STATUE_OVERHANG = OTHER_OVERHANG+8; public static final int STATUE_SP_OVERHANG = OTHER_OVERHANG+9; + public static final int REGION_DECO_OVERHANG = OTHER_OVERHANG+10; + public static final int REGION_DECO_SP_OVERHANG = OTHER_OVERHANG+11; public static final int MINE_CRYSTAL_OVERHANG = OTHER_OVERHANG+12; public static final int MINE_CRYSTAL_OVERHANG_ALT = OTHER_OVERHANG+13; @@ -428,6 +436,8 @@ public class DungeonTileSheet { directFlatVisuals.put(Terrain.STATUE, FLAT_STATUE); directFlatVisuals.put(Terrain.STATUE_SP, FLAT_STATUE_SP); + directFlatVisuals.put(Terrain.REGION_DECO, FLAT_REGION_DECO); + directFlatVisuals.put(Terrain.REGION_DECO_SP, FLAT_REGION_DECO_SP); directFlatVisuals.put(Terrain.MINE_CRYSTAL, FLAT_MINE_CRYSTAL); directFlatVisuals.put(Terrain.MINE_BOULDER, FLAT_MINE_BOULDER); 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 7640e54b8..751bf945a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java @@ -92,6 +92,10 @@ public class DungeonWallsTilemap extends DungeonTilemap { return DungeonTileSheet.STATUE_OVERHANG; } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.STATUE_SP){ return DungeonTileSheet.STATUE_SP_OVERHANG; + } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.REGION_DECO){ + return DungeonTileSheet.REGION_DECO_OVERHANG; + } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.REGION_DECO_SP){ + return DungeonTileSheet.REGION_DECO_SP_OVERHANG; } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.MINE_CRYSTAL){ return DungeonTileSheet.getVisualWithAlts(DungeonTileSheet.MINE_CRYSTAL_OVERHANG, pos + mapWidth); } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.MINE_BOULDER){