diff --git a/core/src/main/assets/environment/tiles_caves.png b/core/src/main/assets/environment/tiles_caves.png index eb22363e2..578462edd 100644 Binary files a/core/src/main/assets/environment/tiles_caves.png and b/core/src/main/assets/environment/tiles_caves.png differ diff --git a/core/src/main/assets/environment/tiles_caves_crystal.png b/core/src/main/assets/environment/tiles_caves_crystal.png new file mode 100644 index 000000000..694deea2d Binary files /dev/null and b/core/src/main/assets/environment/tiles_caves_crystal.png differ diff --git a/core/src/main/assets/environment/tiles_caves_gnoll.png b/core/src/main/assets/environment/tiles_caves_gnoll.png new file mode 100644 index 000000000..f79df4258 Binary files /dev/null and b/core/src/main/assets/environment/tiles_caves_gnoll.png differ diff --git a/core/src/main/assets/sprites/items.png b/core/src/main/assets/sprites/items.png index 90d1257a3..a1d5cbe8a 100644 Binary files a/core/src/main/assets/sprites/items.png and b/core/src/main/assets/sprites/items.png differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java index 9f8669920..ec9bda596 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java @@ -43,6 +43,9 @@ public class Assets { public static final String TILES_CITY = "environment/tiles_city.png"; public static final String TILES_HALLS = "environment/tiles_halls.png"; + public static final String TILES_CAVES_CRYSTAL = "environment/tiles_caves_crystal.png"; + public static final String TILES_CAVES_GNOLL = "environment/tiles_caves_gnoll.png"; + public static final String WATER_SEWERS = "environment/water0.png"; public static final String WATER_PRISON = "environment/water1.png"; public static final String WATER_CAVES = "environment/water2.png"; 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 bb1974275..f3f0a2901 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/MiningLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/MiningLevel.java @@ -69,6 +69,19 @@ import java.util.Arrays; public class MiningLevel extends CavesLevel { + @Override + public String tilesTex() { + switch (Blacksmith.Quest.Type()){ + default: + return Assets.Environment.TILES_CAVES; + case Blacksmith.Quest.CRYSTAL: + return Assets.Environment.TILES_CAVES_CRYSTAL; + case Blacksmith.Quest.GNOLL: + return Assets.Environment.TILES_CAVES_GNOLL; + } + + } + @Override public void playLevelMusic() { Music.INSTANCE.play(Assets.Music.CAVES_TENSE, true); 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 a5f1d8fe1..6a0bcfb4d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java @@ -75,7 +75,9 @@ public class DungeonTerrainTilemap extends DungeonTilemap { DungeonTileSheet.RAISED_MINE_CRYSTAL, pos); } else if (tile == Terrain.MINE_BOULDER) { - return DungeonTileSheet.RAISED_MINE_BOULDER; + return DungeonTileSheet.getVisualWithAlts( + DungeonTileSheet.RAISED_MINE_BOULDER, + pos); } else if (tile == Terrain.ALCHEMY) { return DungeonTileSheet.RAISED_ALCHEMY_POT; } else if (tile == Terrain.BARRICADE) { 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 49a70b1c9..be6af3888 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java @@ -189,8 +189,9 @@ public class DungeonTileSheet { public static final int FLAT_MINE_CRYSTAL = FLAT_OTHER+12; public static final int FLAT_MINE_CRYSTAL_ALT = FLAT_OTHER+13; public static final int FLAT_MINE_CRYSTAL_ALT_2 = FLAT_OTHER+14; - public static final int FLAT_MINE_BOULDER = FLAT_OTHER+15; - + public static final int FLAT_MINE_BOULDER = FLAT_OTHER+12; + public static final int FLAT_MINE_BOULDER_ALT = FLAT_OTHER+13; + public static final int FLAT_MINE_BOULDER_ALT_2 = FLAT_OTHER+14; /********************************************************************** * Raised Tiles, Lower Layer @@ -285,7 +286,9 @@ public class DungeonTileSheet { public static final int RAISED_MINE_CRYSTAL = RAISED_OTHER+12; public static final int RAISED_MINE_CRYSTAL_ALT = RAISED_OTHER+13; public static final int RAISED_MINE_CRYSTAL_ALT_2=RAISED_OTHER+14; - public static final int RAISED_MINE_BOULDER = RAISED_OTHER+15; + public static final int RAISED_MINE_BOULDER = RAISED_OTHER+12; + public static final int RAISED_MINE_BOULDER_ALT = RAISED_OTHER+13; + public static final int RAISED_MINE_BOULDER_ALT_2=RAISED_OTHER+14; /********************************************************************** @@ -366,7 +369,9 @@ public class DungeonTileSheet { public static final int MINE_CRYSTAL_OVERHANG = OTHER_OVERHANG+12; public static final int MINE_CRYSTAL_OVERHANG_ALT = OTHER_OVERHANG+13; public static final int MINE_CRYSTAL_OVERHANG_ALT_2 = OTHER_OVERHANG+14; - public static final int MINE_BOULDER_OVERHANG = OTHER_OVERHANG+15; + public static final int MINE_BOULDER_OVERHANG = OTHER_OVERHANG+12; + public static final int MINE_BOULDER_OVERHANG_ALT = OTHER_OVERHANG+13; + public static final int MINE_BOULDER_OVERHANG_ALT_2 = OTHER_OVERHANG+14; public static final int HIGH_GRASS_UNDERHANG = OTHER_OVERHANG+18; public static final int FURROWED_UNDERHANG = OTHER_OVERHANG+19; @@ -460,6 +465,7 @@ public class DungeonTileSheet { commonAltVisuals.put(FLAT_HIGH_GRASS, FLAT_HIGH_GRASS_ALT); commonAltVisuals.put(FLAT_FURROWED_GRASS, FLAT_FURROWED_ALT); commonAltVisuals.put(FLAT_MINE_CRYSTAL, FLAT_MINE_CRYSTAL_ALT); + commonAltVisuals.put(FLAT_MINE_BOULDER, FLAT_MINE_BOULDER_ALT); commonAltVisuals.put(RAISED_WALL, RAISED_WALL_ALT); commonAltVisuals.put(RAISED_WALL_DECO, RAISED_WALL_DECO_ALT); @@ -470,9 +476,11 @@ public class DungeonTileSheet { commonAltVisuals.put(HIGH_GRASS_OVERHANG, HIGH_GRASS_OVERHANG_ALT); commonAltVisuals.put(FURROWED_OVERHANG, FURROWED_OVERHANG_ALT); commonAltVisuals.put(RAISED_MINE_CRYSTAL, RAISED_MINE_CRYSTAL_ALT); + commonAltVisuals.put(RAISED_MINE_BOULDER, RAISED_MINE_BOULDER_ALT); commonAltVisuals.put(HIGH_GRASS_UNDERHANG, HIGH_GRASS_UNDERHANG_ALT); commonAltVisuals.put(FURROWED_UNDERHANG, FURROWED_UNDERHANG_ALT); commonAltVisuals.put(MINE_CRYSTAL_OVERHANG, MINE_CRYSTAL_OVERHANG_ALT); + commonAltVisuals.put(MINE_BOULDER_OVERHANG, MINE_BOULDER_OVERHANG_ALT); } //These alt visuals trigger 5% of the time (and also override common alts when they show up) @@ -480,8 +488,11 @@ public class DungeonTileSheet { static { rareAltVisuals.put(FLOOR, FLOOR_ALT_2); rareAltVisuals.put(FLAT_MINE_CRYSTAL, FLAT_MINE_CRYSTAL_ALT_2); + rareAltVisuals.put(FLAT_MINE_BOULDER, FLAT_MINE_BOULDER_ALT_2); rareAltVisuals.put(RAISED_MINE_CRYSTAL, RAISED_MINE_CRYSTAL_ALT_2); + rareAltVisuals.put(RAISED_MINE_BOULDER, RAISED_MINE_BOULDER_ALT_2); rareAltVisuals.put(MINE_CRYSTAL_OVERHANG, MINE_CRYSTAL_OVERHANG_ALT_2); + rareAltVisuals.put(MINE_BOULDER_OVERHANG, MINE_BOULDER_OVERHANG_ALT_2); } public static int getVisualWithAlts(int visual, int pos){ 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 12582e79a..7640e54b8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java @@ -95,7 +95,7 @@ public class DungeonWallsTilemap extends DungeonTilemap { } 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){ - return DungeonTileSheet.MINE_BOULDER_OVERHANG; + return DungeonTileSheet.getVisualWithAlts(DungeonTileSheet.MINE_BOULDER_OVERHANG, pos + mapWidth); } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.ALCHEMY){ return DungeonTileSheet.ALCHEMY_POT_OVERHANG; } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.BARRICADE){