diff --git a/core/src/main/assets/environment/tiles_halls.png b/core/src/main/assets/environment/tiles_halls.png index cf4c5155f..49a9505e8 100644 Binary files a/core/src/main/assets/environment/tiles_halls.png and b/core/src/main/assets/environment/tiles_halls.png differ diff --git a/core/src/main/assets/environment/tiles_prison.png b/core/src/main/assets/environment/tiles_prison.png index 4ea44f038..623537280 100644 Binary files a/core/src/main/assets/environment/tiles_prison.png and b/core/src/main/assets/environment/tiles_prison.png differ diff --git a/core/src/main/assets/messages/levels/levels.properties b/core/src/main/assets/messages/levels/levels.properties index faebb05eb..df444b4f6 100644 --- a/core/src/main/assets/messages/levels/levels.properties +++ b/core/src/main/assets/messages/levels/levels.properties @@ -271,6 +271,8 @@ levels.prisonlevel.empty_deco_desc=There are old blood stains on the floor. levels.prisonlevel.bookshelf_desc=This is probably a vestige of a prison library. Might it burn? levels.prisonlevel.region_deco_name=Prison cage levels.prisonlevel.region_deco_desc=A metal cage just large enough to hold a person. It seems to be locked to the ground in some way, you can't move it. +levels.prisonlevel.region_deco_alt_name=Hanging cage +levels.prisonlevel.region_deco_alt_desc=A metal cage just large enough to hold a person. It's hanging over a deep chasm, suspended by a chain. levels.sewerlevel.water_name=Murky water levels.sewerlevel.empty_deco_desc=Wet yellowish moss covers the floor. diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java index 0f4c9a9a2..8cbf7054f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java @@ -432,7 +432,7 @@ public class CavesBossLevel extends Level { //city statues are used return Messages.get(CityLevel.class, "statue_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CavesLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -460,7 +460,7 @@ public class CavesBossLevel extends Level { case Terrain.STATUE: return Messages.get(CityLevel.class, "statue_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CavesLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); 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 482e30ac8..658f66f5e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java @@ -200,7 +200,7 @@ public class CavesLevel extends RegularLevel { case Terrain.WATER: return Messages.get(CavesLevel.class, "water_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CavesLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -222,7 +222,7 @@ public class CavesLevel extends RegularLevel { case Terrain.BOOKSHELF: return Messages.get(CavesLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CavesLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityBossLevel.java index 4a17dca16..3e6d08861 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityBossLevel.java @@ -389,7 +389,7 @@ public class CityBossLevel extends Level { case Terrain.HIGH_GRASS: return Messages.get(CityLevel.class, "high_grass_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CityLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -415,7 +415,7 @@ public class CityBossLevel extends Level { case Terrain.BOOKSHELF: return Messages.get(CityLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CityLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityLevel.java index 4e68f8279..4b538e22a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityLevel.java @@ -138,7 +138,7 @@ public class CityLevel extends RegularLevel { case Terrain.HIGH_GRASS: return Messages.get(CityLevel.class, "high_grass_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CityLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -164,7 +164,7 @@ public class CityLevel extends RegularLevel { case Terrain.BOOKSHELF: return Messages.get(CityLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CityLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); @@ -195,7 +195,7 @@ public class CityLevel extends RegularLevel { public static void addCityWallVisuals( Level level, Group group ) { for (int i=0; i < level.length(); i++) { - if (level.map[i] == Terrain.REGION_DECO || level.map[i] == Terrain.REGION_DECO_SP) { + if (level.map[i] == Terrain.REGION_DECO || level.map[i] == Terrain.REGION_DECO_ALT) { group.add( new GreenFlame( i ) ); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsBossLevel.java index d8059afc1..606d79f6e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsBossLevel.java @@ -368,7 +368,7 @@ public class HallsBossLevel extends Level { case Terrain.STATUE_SP: return Messages.get(HallsLevel.class, "statue_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(HallsLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -386,7 +386,7 @@ public class HallsBossLevel extends Level { case Terrain.BOOKSHELF: return Messages.get(HallsLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(HallsLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); 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 8b597ad0a..2b3801664 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java @@ -161,7 +161,7 @@ public class HallsLevel extends RegularLevel { case Terrain.STATUE_SP: return Messages.get(HallsLevel.class, "statue_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(HallsLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -179,7 +179,7 @@ public class HallsLevel extends RegularLevel { case Terrain.BOOKSHELF: return Messages.get(HallsLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(HallsLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastLevel.java index 679673552..fa87e1320 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastLevel.java @@ -201,7 +201,7 @@ public class LastLevel extends Level { case Terrain.STATUE_SP: return Messages.get(HallsLevel.class, "statue_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(HallsLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -219,7 +219,7 @@ public class LastLevel extends Level { case Terrain.BOOKSHELF: return Messages.get(HallsLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(HallsLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastShopLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastShopLevel.java index a634c3a65..3445e38dc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastShopLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/LastShopLevel.java @@ -159,7 +159,7 @@ public class LastShopLevel extends RegularLevel { case Terrain.HIGH_GRASS: return Messages.get(CityLevel.class, "high_grass_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CityLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -185,7 +185,7 @@ public class LastShopLevel extends RegularLevel { case Terrain.BOOKSHELF: return Messages.get(CityLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(CityLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java index f14070cb3..67791b0a8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java @@ -723,7 +723,7 @@ public class PrisonBossLevel extends Level { case Terrain.WATER: return Messages.get(PrisonLevel.class, "water_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(PrisonLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -738,7 +738,7 @@ public class PrisonBossLevel extends Level { case Terrain.BOOKSHELF: return Messages.get(PrisonLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(PrisonLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonLevel.java index 30b8ad23a..df5a7725e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonLevel.java @@ -27,6 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Statistics; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Wandmaker; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlameParticle; +import com.shatteredpixel.shatteredpixeldungeon.effects.particles.WindParticle; import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter; import com.shatteredpixel.shatteredpixeldungeon.levels.painters.PrisonPainter; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room; @@ -178,8 +179,9 @@ public class PrisonLevel extends RegularLevel { case Terrain.WATER: return Messages.get(PrisonLevel.class, "water_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: return Messages.get(PrisonLevel.class, "region_deco_name"); + case Terrain.REGION_DECO_ALT: + return Messages.get(PrisonLevel.class, "region_deco_alt_name"); default: return super.tileName( tile ); } @@ -193,8 +195,9 @@ public class PrisonLevel extends RegularLevel { case Terrain.BOOKSHELF: return Messages.get(PrisonLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: return Messages.get(PrisonLevel.class, "region_deco_desc"); + case Terrain.REGION_DECO_ALT: + return Messages.get(PrisonLevel.class, "region_deco_alt_desc"); default: return super.tileDesc( tile ); } @@ -212,6 +215,10 @@ public class PrisonLevel extends RegularLevel { if (level.map[i] == Terrain.WALL_DECO) { group.add( new Torch( i ) ); } + //alt deco is a chasm visual in the prison + if (level.map[i] == Terrain.REGION_DECO_ALT) { + group.add( new WindParticle.Wind( i ) ); + } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerLevel.java index fafae0c54..e4986f1c8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerLevel.java @@ -196,7 +196,7 @@ public class SewerLevel extends RegularLevel { case Terrain.WATER: return Messages.get(SewerLevel.class, "water_name"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(SewerLevel.class, "region_deco_name"); default: return super.tileName( tile ); @@ -211,7 +211,7 @@ public class SewerLevel extends RegularLevel { case Terrain.BOOKSHELF: return Messages.get(SewerLevel.class, "bookshelf_desc"); case Terrain.REGION_DECO: - case Terrain.REGION_DECO_SP: + case Terrain.REGION_DECO_ALT: return Messages.get(SewerLevel.class, "region_deco_desc"); default: return super.tileDesc( tile ); 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 f9d1de59a..61c954fcc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java @@ -62,7 +62,7 @@ public class Terrain { public static final int STATUE_SP = 26; //These decorations are environment-specific public static final int REGION_DECO = 33; - public static final int REGION_DECO_SP = 34; + public static final int REGION_DECO_ALT = 34; //alt visual for region deco, sometimes SP, sometimes other public static final int MINE_CRYSTAL = 35; public static final int MINE_BOULDER = 36; @@ -118,7 +118,7 @@ public class Terrain { flags[STATUE_SP] = flags[STATUE]; flags[REGION_DECO] = flags[STATUE]; - flags[REGION_DECO_SP] = flags[STATUE_SP]; + flags[REGION_DECO_ALT] = flags[STATUE_SP]; flags[MINE_CRYSTAL] = SOLID; flags[MINE_BOULDER] = SOLID; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/HallsPainter.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/HallsPainter.java index a5ac0a05d..bc78a34de 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/HallsPainter.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/HallsPainter.java @@ -59,6 +59,8 @@ public class HallsPainter extends RegularPainter { map[i] = Terrain.WALL_DECO; + } else if (map[i] == Terrain.REGION_DECO && Random.Int(2) == 0){ + map[i] = Terrain.REGION_DECO_ALT; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CirclePitRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CirclePitRoom.java index b9d2b6b11..7e3d2fa1a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CirclePitRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CirclePitRoom.java @@ -93,7 +93,7 @@ public class CirclePitRoom extends StandardRoom { } if (valid) { - Painter.drawLine(level, edge, center, Terrain.REGION_DECO_SP); + Painter.drawLine(level, edge, center, Terrain.REGION_DECO_ALT); Painter.drawInside(level, this, edge, 1, Terrain.EMPTY_SP); Painter.set(level, edge, Terrain.WALL); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CustomDecoBridgeRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CustomDecoBridgeRoom.java index 3123652c5..a46cf8e64 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CustomDecoBridgeRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/CustomDecoBridgeRoom.java @@ -36,7 +36,7 @@ public class CustomDecoBridgeRoom extends StandardBridgeRoom { } protected int spaceTile(){ - return Terrain.REGION_DECO_SP; + return Terrain.REGION_DECO_ALT; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/FissureRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/FissureRoom.java index 7391a3f0d..693052085 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/FissureRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/FissureRoom.java @@ -76,6 +76,7 @@ public class FissureRoom extends StandardRoom { } } } + Painter.fill(level, this, 5, Terrain.REGION_DECO_ALT); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HallwayRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HallwayRoom.java index 9eaf1b5d0..b0478cde4 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HallwayRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HallwayRoom.java @@ -106,7 +106,7 @@ public class HallwayRoom extends StandardRoom { if (Random.Int(2) == 0) { Painter.fill(level, c.left + 1, c.top + 1, 1, 1, Terrain.STATUE_SP); } else { - Painter.fill(level, c.left + 1, c.top + 1, 1, 1, Terrain.REGION_DECO_SP); + Painter.fill(level, c.left + 1, c.top + 1, 1, 1, Terrain.REGION_DECO_ALT); } for (Door door : connected.values()) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/RingRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/RingRoom.java index 67d04f0f5..e8e62ead0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/RingRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/RingRoom.java @@ -82,7 +82,7 @@ public class RingRoom extends StandardRoom { } protected int centerDecoTiles(){ - return Terrain.REGION_DECO_SP; + return Terrain.REGION_DECO_ALT; } protected void placeCenterDetail(Level level, int pos){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StatuesRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StatuesRoom.java index 206d3f277..1270c97d0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StatuesRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/StatuesRoom.java @@ -84,7 +84,7 @@ public class StatuesRoom extends StandardRoom { if (h % 2 == 0 && Random.Int(2) == 0){ cy--; } - Painter.set(level, cx, cy, Terrain.REGION_DECO_SP); + Painter.set(level, cx, cy, Terrain.REGION_DECO_ALT); } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/entrance/HallwayEntranceRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/entrance/HallwayEntranceRoom.java index db76c2d8f..2ad748576 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/entrance/HallwayEntranceRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/entrance/HallwayEntranceRoom.java @@ -42,7 +42,7 @@ public class HallwayEntranceRoom extends HallwayRoom { int entrance = -1; for ( Point p : getPoints()){ if (level.map[level.pointToCell(p)] == Terrain.STATUE_SP - || level.map[level.pointToCell(p)] == Terrain.REGION_DECO_SP){ + || level.map[level.pointToCell(p)] == Terrain.REGION_DECO_ALT){ entrance = level.pointToCell(p); break; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/exit/HallwayExitRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/exit/HallwayExitRoom.java index 0577fc15d..29d4c2a4b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/exit/HallwayExitRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/exit/HallwayExitRoom.java @@ -42,7 +42,7 @@ public class HallwayExitRoom extends HallwayRoom { int exit = -1; for ( Point p : getPoints()){ if (level.map[level.pointToCell(p)] == Terrain.STATUE_SP - || level.map[level.pointToCell(p)] == Terrain.REGION_DECO_SP){ + || level.map[level.pointToCell(p)] == Terrain.REGION_DECO_ALT){ exit = level.pointToCell(p); break; } 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 9569c350a..f3b8bb90e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java @@ -72,8 +72,8 @@ public class DungeonTerrainTilemap extends DungeonTilemap { 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.REGION_DECO_ALT) { + return DungeonTileSheet.RAISED_REGION_DECO_ALT; } 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 bc2ff3a63..065a59945 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java @@ -106,7 +106,6 @@ 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 ); @@ -121,6 +120,13 @@ public class DungeonTileSheet { } public static int stitchChasmTile(int above){ + //alt region deco has different visuals per region, but most commonly FLOOR_SP + if (above == Terrain.REGION_DECO_ALT){ + if (Dungeon.depth <= 5) return CHASM_FLOOR_SP; + if (Dungeon.depth <= 10) return CHASM; + if (Dungeon.depth <= 20) return CHASM_FLOOR_SP; + else return CHASM_FLOOR; + } return chasmStitcheable.get(above, CHASM); } @@ -143,13 +149,22 @@ public class DungeonTileSheet { Terrain.DOOR, Terrain.OPEN_DOOR, Terrain.LOCKED_DOOR, Terrain.CRYSTAL_DOOR )); + public static boolean waterStitcheable(int tile){ + //alt region deco has different visuals per region, is stitcheable in demon halls + if (tile == Terrain.REGION_DECO_ALT){ + if (Dungeon.depth <= 20) return false; + else return true; + } + return waterStitcheable.contains(tile); + } + //+1 for ground above, +2 for ground right, +4 for ground below, +8 for ground left. public static int stitchWaterTile(int top, int right, int bottom, int left){ int result = WATER; - if (waterStitcheable.contains(top)) result += 1; - if (waterStitcheable.contains(right)) result += 2; - if (waterStitcheable.contains(bottom)) result += 4; - if (waterStitcheable.contains(left)) result += 8; + if (waterStitcheable(top)) result += 1; + if (waterStitcheable(right)) result += 2; + if (waterStitcheable(bottom)) result += 4; + if (waterStitcheable(left)) result += 8; return result; } @@ -190,7 +205,7 @@ 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_REGION_DECO_ALT= FLAT_OTHER+11; public static final int FLAT_MINE_CRYSTAL = FLAT_OTHER+12; public static final int FLAT_MINE_CRYSTAL_ALT = FLAT_OTHER+13; @@ -289,7 +304,7 @@ 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_REGION_DECO_ALT = RAISED_OTHER+11; public static final int RAISED_MINE_CRYSTAL = RAISED_OTHER+12; public static final int RAISED_MINE_CRYSTAL_ALT = RAISED_OTHER+13; @@ -374,7 +389,7 @@ 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 REGION_DECO_ALT_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; @@ -437,7 +452,7 @@ 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.REGION_DECO_ALT, FLAT_REGION_DECO_ALT); 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 751bf945a..a847323f7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java @@ -94,8 +94,8 @@ public class DungeonWallsTilemap extends DungeonTilemap { 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.REGION_DECO_ALT){ + return DungeonTileSheet.REGION_DECO_ALT_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){