diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java index da413b7ab..cd1ac4a03 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java @@ -163,6 +163,7 @@ public abstract class Level implements Bundlable { protected ArrayList itemsToSpawn = new ArrayList<>(); protected Group visuals; + protected Group wallVisuals; public int color1 = 0x004400; public int color2 = 0x88CC44; @@ -608,6 +609,18 @@ public abstract class Level implements Bundlable { } return visuals; } + + //for visual effects that should render above wall overhang tiles + public Group addWallVisuals(){ + if (wallVisuals == null || wallVisuals.parent == null){ + wallVisuals = new Group(); + } else { + wallVisuals.clear(); + wallVisuals.camera = null; + } + return wallVisuals; + } + public int mobLimit() { return 0; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/MiningLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/MiningLevel.java index 2f769a8e8..038a66858 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/MiningLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/MiningLevel.java @@ -123,10 +123,17 @@ public class MiningLevel extends CavesLevel { @Override public Group addVisuals() { super.addVisuals(); - CavesLevel.addCavesVisuals(this, visuals); + visuals.clear(); //we re-add these in wall visuals return visuals; } + @Override + public Group addWallVisuals() { + super.addWallVisuals(); + CavesLevel.addCavesVisuals(this, wallVisuals); + return wallVisuals; + } + public static class BorderTopDarken extends CustomTilemap { { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 1861ff1de..c6871c743 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -167,6 +167,7 @@ public class GameScene extends PixelScene { private Group terrain; private Group customTiles; private Group levelVisuals; + private Group levelWallVisuals; private Group customWalls; private Group ripples; private Group plants; @@ -312,6 +313,9 @@ public class GameScene extends PixelScene { addCustomWall(visual); } + levelWallVisuals = Dungeon.level.addWallVisuals(); + add( levelWallVisuals ); + wallBlocking = new WallBlockingTilemap(); add (wallBlocking);