diff --git a/core/src/main/assets/music/caves_3.ogg b/core/src/main/assets/music/caves_3.ogg new file mode 100644 index 000000000..faed82bb0 Binary files /dev/null and b/core/src/main/assets/music/caves_3.ogg differ diff --git a/core/src/main/assets/music/city_3.ogg b/core/src/main/assets/music/city_3.ogg new file mode 100644 index 000000000..92df2877a Binary files /dev/null and b/core/src/main/assets/music/city_3.ogg differ diff --git a/core/src/main/assets/music/halls_3.ogg b/core/src/main/assets/music/halls_3.ogg new file mode 100644 index 000000000..266bad256 Binary files /dev/null and b/core/src/main/assets/music/halls_3.ogg differ diff --git a/core/src/main/assets/music/prison_3.ogg b/core/src/main/assets/music/prison_3.ogg new file mode 100644 index 000000000..c10a239f0 Binary files /dev/null and b/core/src/main/assets/music/prison_3.ogg differ diff --git a/core/src/main/assets/music/sewers_3.ogg b/core/src/main/assets/music/sewers_3.ogg new file mode 100644 index 000000000..554c482ae Binary files /dev/null and b/core/src/main/assets/music/sewers_3.ogg differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java index 6dca8f351..d0e0de3ae 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Assets.java @@ -119,28 +119,33 @@ public class Assets { public static final String SEWERS_1 = "music/sewers_1.ogg"; public static final String SEWERS_2 = "music/sewers_2.ogg"; + public static final String SEWERS_3 = "music/sewers_3.ogg"; public static final String SEWERS_TENSE = "music/sewers_tense.ogg"; public static final String SEWERS_BOSS = "music/sewers_boss.ogg"; public static final String PRISON_1 = "music/prison_1.ogg"; public static final String PRISON_2 = "music/prison_2.ogg"; + public static final String PRISON_3 = "music/prison_3.ogg"; public static final String PRISON_TENSE = "music/prison_tense.ogg"; public static final String PRISON_BOSS = "music/prison_boss.ogg"; public static final String CAVES_1 = "music/caves_1.ogg"; public static final String CAVES_2 = "music/caves_2.ogg"; + public static final String CAVES_3 = "music/caves_3.ogg"; public static final String CAVES_TENSE = "music/caves_tense.ogg"; public static final String CAVES_BOSS = "music/caves_boss.ogg"; public static final String CAVES_BOSS_FINALE = "music/caves_boss_finale.ogg"; public static final String CITY_1 = "music/city_1.ogg"; public static final String CITY_2 = "music/city_2.ogg"; + public static final String CITY_3 = "music/city_3.ogg"; public static final String CITY_TENSE = "music/city_tense.ogg"; public static final String CITY_BOSS = "music/city_boss.ogg"; public static final String CITY_BOSS_FINALE = "music/city_boss_finale.ogg"; public static final String HALLS_1 = "music/halls_1.ogg"; public static final String HALLS_2 = "music/halls_2.ogg"; + public static final String HALLS_3 = "music/halls_3.ogg"; public static final String HALLS_TENSE = "music/halls_tense.ogg"; public static final String HALLS_BOSS = "music/halls_boss.ogg"; public static final String HALLS_BOSS_FINALE = "music/halls_boss_finale.ogg"; 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 ee3e5d0a9..2d4e9656c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesBossLevel.java @@ -87,10 +87,7 @@ public class CavesBossLevel extends Level { } else if (map[14 + 13*width()] == Terrain.CUSTOM_DECO){ Music.INSTANCE.end(); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.CAVES_1, Assets.Music.CAVES_2, Assets.Music.CAVES_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(CavesLevel.CAVES_TRACK_LIST, CavesLevel.CAVES_TRACK_CHANCES, false); } } 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 192c9eab3..06fb3eb1e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CavesLevel.java @@ -72,15 +72,17 @@ public class CavesLevel extends RegularLevel { color2 = 0xb9d661; } + public static final String[] CAVES_TRACK_LIST + = new String[]{Assets.Music.CAVES_1, Assets.Music.CAVES_2, Assets.Music.CAVES_2, + Assets.Music.CAVES_1, Assets.Music.CAVES_3, Assets.Music.CAVES_3}; + public static final float[] CAVES_TRACK_CHANCES = new float[]{1f, 1f, 0.5f, 0.25f, 1f, 0.5f}; + @Override public void playLevelMusic() { if (Statistics.amuletObtained){ Music.INSTANCE.play(Assets.Music.CAVES_TENSE, true); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.CAVES_1, Assets.Music.CAVES_2, Assets.Music.CAVES_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(CAVES_TRACK_LIST, CAVES_TRACK_CHANCES, false); } } 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 badde4d35..8cc6baee1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityBossLevel.java @@ -98,10 +98,7 @@ public class CityBossLevel extends Level { } else if (map[topDoor] == Terrain.LOCKED_DOOR){ Music.INSTANCE.end(); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.CITY_1, Assets.Music.CITY_2, Assets.Music.CITY_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(CityLevel.CITY_TRACK_LIST, CityLevel.CITY_TRACK_CHANCES, false); } } 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 86cd56982..5b2cd8ded 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/CityLevel.java @@ -60,15 +60,17 @@ public class CityLevel extends RegularLevel { color2 = 0xf2f2f2; } + public static final String[] CITY_TRACK_LIST + = new String[]{Assets.Music.CITY_1, Assets.Music.CITY_2, Assets.Music.CITY_2, + Assets.Music.CITY_1, Assets.Music.CITY_3, Assets.Music.CITY_3}; + public static final float[] CITY_TRACK_CHANCES = new float[]{1f, 1f, 0.5f, 0.25f, 1f, 0.5f}; + @Override public void playLevelMusic() { if (Statistics.amuletObtained){ Music.INSTANCE.play(Assets.Music.CITY_TENSE, true); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.CITY_1, Assets.Music.CITY_2, Assets.Music.CITY_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(CITY_TRACK_LIST, CITY_TRACK_CHANCES, false); } } 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 d2fcbacec..95c126b57 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsBossLevel.java @@ -89,10 +89,7 @@ public class HallsBossLevel extends Level { } else if (map[exit()] != Terrain.EXIT || Statistics.amuletObtained){ Music.INSTANCE.end(); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.HALLS_1, Assets.Music.HALLS_2, Assets.Music.HALLS_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(HallsLevel.HALLS_TRACK_LIST, HallsLevel.HALLS_TRACK_CHANCES, false); } } 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 c91286a42..1d1e0c455 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/HallsLevel.java @@ -69,15 +69,18 @@ public class HallsLevel extends RegularLevel { color2 = 0xa68521; } + public static final String[] HALLS_TRACK_LIST + = new String[]{Assets.Music.HALLS_1, Assets.Music.HALLS_2, Assets.Music.HALLS_2, + Assets.Music.HALLS_1, Assets.Music.HALLS_3, Assets.Music.HALLS_3}; + public static final float[] HALLS_TRACK_CHANCES = new float[]{1f, 1f, 0.5f, 0.25f, 1f, 0.5f}; + + @Override public void playLevelMusic() { if (Statistics.amuletObtained){ Music.INSTANCE.play(Assets.Music.HALLS_TENSE, true); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.HALLS_1, Assets.Music.HALLS_2, Assets.Music.HALLS_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(HALLS_TRACK_LIST, HALLS_TRACK_CHANCES, false); } } 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 fa507b66a..f248d313b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonBossLevel.java @@ -94,10 +94,7 @@ public class PrisonBossLevel extends Level { if (state == State.START){ Music.INSTANCE.end(); } else if (state == State.WON) { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.PRISON_1, Assets.Music.PRISON_2, Assets.Music.PRISON_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(PrisonLevel.PRISON_TRACK_LIST, PrisonLevel.PRISON_TRACK_CHANCES, false); } else { Music.INSTANCE.play(Assets.Music.PRISON_BOSS, true); } 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 ee4fdbd22..df43a958e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/PrisonLevel.java @@ -64,15 +64,17 @@ public class PrisonLevel extends RegularLevel { color2 = 0x88924c; } + public static final String[] PRISON_TRACK_LIST + = new String[]{Assets.Music.PRISON_1, Assets.Music.PRISON_2, Assets.Music.PRISON_2, + Assets.Music.PRISON_1, Assets.Music.PRISON_3, Assets.Music.PRISON_3}; + public static final float[] PRISON_TRACK_CHANCES = new float[]{1f, 1f, 0.5f, 0.25f, 1f, 0.5f}; + @Override public void playLevelMusic() { if (Wandmaker.Quest.active() || Statistics.amuletObtained){ Music.INSTANCE.play(Assets.Music.PRISON_TENSE, true); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.PRISON_1, Assets.Music.PRISON_2, Assets.Music.PRISON_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(PRISON_TRACK_LIST, PRISON_TRACK_CHANCES, false); } wandmakerQuestWasActive = Wandmaker.Quest.active(); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java index 9b2b22a73..9d3f4f6e6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java @@ -76,10 +76,7 @@ public class SewerBossLevel extends SewerLevel { if (gooAlive){ Music.INSTANCE.end(); } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.SEWERS_1, Assets.Music.SEWERS_2, Assets.Music.SEWERS_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(SewerLevel.SEWER_TRACK_LIST, SewerLevel.SEWER_TRACK_CHANCES, false); } } 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 de8cda0e3..1031b6c1f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerLevel.java @@ -66,6 +66,11 @@ public class SewerLevel extends RegularLevel { color2 = 0x59994a; } + public static final String[] SEWER_TRACK_LIST + = new String[]{Assets.Music.SEWERS_1, Assets.Music.SEWERS_2, Assets.Music.SEWERS_2, + Assets.Music.SEWERS_1, Assets.Music.SEWERS_3, Assets.Music.SEWERS_3}; + public static final float[] SEWER_TRACK_CHANCES = new float[]{1f, 1f, 0.5f, 0.25f, 1f, 0.5f}; + public void playLevelMusic(){ if (Ghost.Quest.active() || Statistics.amuletObtained){ if (Statistics.amuletObtained && Dungeon.depth == 1){ @@ -74,10 +79,7 @@ public class SewerLevel extends RegularLevel { Music.INSTANCE.play(Assets.Music.SEWERS_TENSE, true); } } else { - Music.INSTANCE.playTracks( - new String[]{Assets.Music.SEWERS_1, Assets.Music.SEWERS_2, Assets.Music.SEWERS_2}, - new float[]{1, 1, 0.5f}, - false); + Music.INSTANCE.playTracks(SEWER_TRACK_LIST, SEWER_TRACK_CHANCES, false); } } diff --git a/ios/assets/music/caves_3.mp3 b/ios/assets/music/caves_3.mp3 new file mode 100644 index 000000000..db2890644 Binary files /dev/null and b/ios/assets/music/caves_3.mp3 differ diff --git a/ios/assets/music/city_3.mp3 b/ios/assets/music/city_3.mp3 new file mode 100644 index 000000000..33e9133aa Binary files /dev/null and b/ios/assets/music/city_3.mp3 differ diff --git a/ios/assets/music/halls_3.mp3 b/ios/assets/music/halls_3.mp3 new file mode 100644 index 000000000..9ac7b2471 Binary files /dev/null and b/ios/assets/music/halls_3.mp3 differ diff --git a/ios/assets/music/prison_3.mp3 b/ios/assets/music/prison_3.mp3 new file mode 100644 index 000000000..49fae5699 Binary files /dev/null and b/ios/assets/music/prison_3.mp3 differ diff --git a/ios/assets/music/sewers_3.mp3 b/ios/assets/music/sewers_3.mp3 new file mode 100644 index 000000000..0fea5c389 Binary files /dev/null and b/ios/assets/music/sewers_3.mp3 differ