v1.2.0: implemented boss music!
This commit is contained in:
BIN
core/src/main/assets/music/caves_boss.ogg
Normal file
BIN
core/src/main/assets/music/caves_boss.ogg
Normal file
Binary file not shown.
BIN
core/src/main/assets/music/city_boss.ogg
Normal file
BIN
core/src/main/assets/music/city_boss.ogg
Normal file
Binary file not shown.
BIN
core/src/main/assets/music/halls_boss.ogg
Normal file
BIN
core/src/main/assets/music/halls_boss.ogg
Normal file
Binary file not shown.
BIN
core/src/main/assets/music/prison_boss.ogg
Normal file
BIN
core/src/main/assets/music/prison_boss.ogg
Normal file
Binary file not shown.
BIN
core/src/main/assets/music/sewers_boss.ogg
Normal file
BIN
core/src/main/assets/music/sewers_boss.ogg
Normal file
Binary file not shown.
@@ -115,18 +115,23 @@ 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_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_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_BOSS = "music/caves_boss.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_BOSS = "music/city_boss.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_BOSS = "music/halls_boss.ogg";
|
||||
}
|
||||
|
||||
public static class Sounds {
|
||||
|
||||
@@ -203,7 +203,7 @@ public class Dungeon {
|
||||
quickslot.reset();
|
||||
QuickSlotButton.reset();
|
||||
|
||||
depth = 0;
|
||||
depth = 24;
|
||||
gold = 0;
|
||||
energy = 0;
|
||||
|
||||
|
||||
@@ -228,6 +228,7 @@ public class Goo extends Mob {
|
||||
public void damage(int dmg, Object src) {
|
||||
if (!BossHealthBar.isAssigned()){
|
||||
BossHealthBar.assignBoss( this );
|
||||
Dungeon.level.seal();
|
||||
}
|
||||
boolean bleeding = (HP*2 <= HT);
|
||||
super.damage(dmg, src);
|
||||
@@ -271,6 +272,7 @@ public class Goo extends Mob {
|
||||
super.notice();
|
||||
if (!BossHealthBar.isAssigned()) {
|
||||
BossHealthBar.assignBoss(this);
|
||||
Dungeon.level.seal();
|
||||
yell(Messages.get(this, "notice"));
|
||||
for (Char ch : Actor.chars()){
|
||||
if (ch instanceof DriedRose.GhostHero){
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Challenges;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
||||
@@ -53,7 +54,10 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.YogSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BossHealthBar;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.GameMath;
|
||||
import com.watabou.utils.PathFinder;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -475,6 +479,12 @@ public class YogDzewa extends Mob {
|
||||
((DriedRose.GhostHero) ch).sayBoss();
|
||||
}
|
||||
}
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.play(Assets.Music.HALLS_BOSS, true);
|
||||
}
|
||||
});
|
||||
if (phase == 0) {
|
||||
phase = 1;
|
||||
summonCooldown = Random.NormalFloat(MIN_SUMMON_CD, MAX_SUMMON_CD);
|
||||
|
||||
@@ -48,12 +48,15 @@ import com.shatteredpixel.shatteredpixeldungeon.tiles.CustomTilemap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.Image;
|
||||
import com.watabou.noosa.Tilemap;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.noosa.particles.Emitter;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.PathFinder;
|
||||
import com.watabou.utils.Point;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -68,6 +71,21 @@ public class CavesBossLevel extends Level {
|
||||
color2 = 0xb9d661;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
if (locked){
|
||||
Music.INSTANCE.play(Assets.Music.CAVES_BOSS, true);
|
||||
//if wall isn't broken
|
||||
} else if (map[14 + 13*width()] == Terrain.SIGN){
|
||||
Music.INSTANCE.stop();
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String tilesTex() {
|
||||
return Assets.Environment.TILES_CAVES;
|
||||
@@ -266,6 +284,13 @@ public class CavesBossLevel extends Level {
|
||||
} while (!openSpace[boss.pos] || map[boss.pos] == Terrain.EMPTY_SP || Actor.findChar(boss.pos) != null);
|
||||
GameScene.add( boss );
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.play(Assets.Music.CAVES_BOSS, true);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -288,6 +313,13 @@ public class CavesBossLevel extends Level {
|
||||
|
||||
Dungeon.observe();
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.stop();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void activatePylon(){
|
||||
|
||||
@@ -45,6 +45,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.particles.PixelParticle;
|
||||
import com.watabou.utils.PointF;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -57,7 +58,15 @@ public class CavesLevel extends RegularLevel {
|
||||
color1 = 0x534f3e;
|
||||
color2 = 0xb9d661;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.CAVES_1, Assets.Music.CAVES_2, Assets.Music.CAVES_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ArrayList<Room> initRooms() {
|
||||
return Blacksmith.Quest.spawn(super.initRooms());
|
||||
|
||||
@@ -37,10 +37,13 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.ImpShopRoo
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.CustomTilemap;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.Tilemap;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.tweeners.AlphaTweener;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.PathFinder;
|
||||
import com.watabou.utils.Point;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -80,6 +83,21 @@ public class CityBossLevel extends Level {
|
||||
|
||||
private ImpShopRoom impShop;
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
if (locked){
|
||||
Music.INSTANCE.play(Assets.Music.CITY_BOSS, true);
|
||||
//if top door isn't unlocked
|
||||
} else if (map[topDoor] == Terrain.LOCKED_DOOR){
|
||||
Music.INSTANCE.stop();
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String tilesTex() {
|
||||
return Assets.Environment.TILES_CITY;
|
||||
@@ -290,6 +308,13 @@ public class CityBossLevel extends Level {
|
||||
set( bottomDoor, Terrain.LOCKED_DOOR );
|
||||
GameScene.updateMap( bottomDoor );
|
||||
Dungeon.observe();
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.play(Assets.Music.CITY_BOSS, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -306,6 +331,13 @@ public class CityBossLevel extends Level {
|
||||
spawnShop();
|
||||
}
|
||||
Dungeon.observe();
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void spawnShop(){
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WeakeningTrap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.particles.Emitter;
|
||||
import com.watabou.noosa.particles.PixelParticle;
|
||||
import com.watabou.utils.PointF;
|
||||
@@ -57,7 +58,15 @@ public class CityLevel extends RegularLevel {
|
||||
color1 = 0x4b6636;
|
||||
color2 = 0xf2f2f2;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.CITY_1, Assets.Music.CITY_2, Assets.Music.CITY_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int standardRooms(boolean forceMax) {
|
||||
if (forceMax) return 8;
|
||||
|
||||
@@ -37,9 +37,12 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.CustomTilemap;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.Tilemap;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.PathFinder;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
@@ -60,6 +63,21 @@ public class HallsBossLevel extends Level {
|
||||
private static final int ROOM_TOP = 8;
|
||||
private static final int ROOM_BOTTOM = ROOM_TOP + 8;
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
if (locked){
|
||||
Music.INSTANCE.play(Assets.Music.HALLS_BOSS, true);
|
||||
//if exit isn't unlocked
|
||||
} else if (map[exit] != Terrain.EXIT){
|
||||
Music.INSTANCE.stop();
|
||||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String tilesTex() {
|
||||
return Assets.Environment.TILES_HALLS;
|
||||
@@ -230,6 +248,13 @@ public class HallsBossLevel extends Level {
|
||||
}
|
||||
|
||||
Dungeon.observe();
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -51,6 +51,7 @@ import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.watabou.glwrap.Blending;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.particles.PixelParticle;
|
||||
import com.watabou.utils.PointF;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -67,6 +68,14 @@ public class HallsLevel extends RegularLevel {
|
||||
color2 = 0xa68521;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.HALLS_1, Assets.Music.HALLS_2, Assets.Music.HALLS_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ArrayList<Room> initRooms() {
|
||||
ArrayList<Room> rooms = super.initRooms();
|
||||
|
||||
@@ -305,6 +305,10 @@ public abstract class Level implements Bundlable {
|
||||
}
|
||||
createMobs();
|
||||
}
|
||||
|
||||
public void playLevelMusic(){
|
||||
//do nothing by default
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restoreFromBundle( Bundle bundle ) {
|
||||
|
||||
@@ -49,12 +49,15 @@ import com.shatteredpixel.shatteredpixeldungeon.tiles.CustomTilemap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.TargetHealthIndicator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
|
||||
import com.watabou.noosa.Camera;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.Tilemap;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.noosa.tweeners.AlphaTweener;
|
||||
import com.watabou.utils.Bundlable;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.PathFinder;
|
||||
import com.watabou.utils.Point;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -82,7 +85,21 @@ public class PrisonBossLevel extends Level {
|
||||
|
||||
private State state;
|
||||
private Tengu tengu;
|
||||
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
if (state == State.START){
|
||||
Music.INSTANCE.stop();
|
||||
} 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);
|
||||
} else {
|
||||
Music.INSTANCE.play(Assets.Music.PRISON_BOSS, true);
|
||||
}
|
||||
}
|
||||
|
||||
public State state(){
|
||||
return state;
|
||||
}
|
||||
@@ -395,6 +412,13 @@ public class PrisonBossLevel extends Level {
|
||||
tengu.notice();
|
||||
|
||||
state = State.FIGHT_START;
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.play(Assets.Music.PRISON_BOSS, true);
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
||||
case FIGHT_START:
|
||||
@@ -485,6 +509,12 @@ public class PrisonBossLevel extends Level {
|
||||
Sample.INSTANCE.play(Assets.Sounds.BLAST);
|
||||
|
||||
state = State.WON;
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.stop();
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.Halo;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.particles.Emitter;
|
||||
import com.watabou.utils.PointF;
|
||||
import com.watabou.utils.Random;
|
||||
@@ -58,7 +59,15 @@ public class PrisonLevel extends RegularLevel {
|
||||
color1 = 0x6a723d;
|
||||
color2 = 0x88924c;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.PRISON_1, Assets.Music.PRISON_2, Assets.Music.PRISON_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ArrayList<Room> initRooms() {
|
||||
return Wandmaker.Quest.spawnRoom(super.initRooms());
|
||||
|
||||
@@ -21,9 +21,12 @@
|
||||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.levels;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Bones;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Goo;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Heap;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.builders.Builder;
|
||||
@@ -37,8 +40,12 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.sewerboss.SewerBoss
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.sewerboss.SewerBossExitRoom;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard.StandardRoom;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BossHealthBar;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.utils.Bundle;
|
||||
import com.watabou.utils.Callback;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -52,6 +59,32 @@ public class SewerBossLevel extends SewerLevel {
|
||||
|
||||
private int stairs = 0;
|
||||
|
||||
@Override
|
||||
public void playLevelMusic() {
|
||||
if (locked){
|
||||
Music.INSTANCE.play(Assets.Music.SEWERS_BOSS, true);
|
||||
return;
|
||||
}
|
||||
|
||||
boolean gooAlive = false;
|
||||
for (Mob m : mobs){
|
||||
if (m instanceof Goo) {
|
||||
gooAlive = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (gooAlive){
|
||||
Music.INSTANCE.stop();
|
||||
} 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ArrayList<Room> initRooms() {
|
||||
ArrayList<Room> initRooms = new ArrayList<>();
|
||||
@@ -144,6 +177,13 @@ public class SewerBossLevel extends SewerLevel {
|
||||
|
||||
stairs = entrance;
|
||||
entrance = 0;
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.play(Assets.Music.SEWERS_BOSS, true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,6 +198,12 @@ public class SewerBossLevel extends SewerLevel {
|
||||
set( entrance, Terrain.ENTRANCE );
|
||||
GameScene.updateMap( entrance );
|
||||
|
||||
Game.runOnRenderThread(new Callback() {
|
||||
@Override
|
||||
public void call() {
|
||||
Music.INSTANCE.stop();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||
import com.watabou.noosa.Game;
|
||||
import com.watabou.noosa.Group;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.particles.Emitter;
|
||||
import com.watabou.noosa.particles.PixelParticle;
|
||||
import com.watabou.utils.ColorMath;
|
||||
@@ -56,6 +57,13 @@ public class SewerLevel extends RegularLevel {
|
||||
color1 = 0x48763c;
|
||||
color2 = 0x59994a;
|
||||
}
|
||||
|
||||
public void playLevelMusic(){
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.SEWERS_1, Assets.Music.SEWERS_2, Assets.Music.SEWERS_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int standardRooms(boolean forceMax) {
|
||||
|
||||
@@ -198,32 +198,7 @@ public class GameScene extends PixelScene {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Dungeon.depth <= 5) {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.SEWERS_1, Assets.Music.SEWERS_2, Assets.Music.SEWERS_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
} else if (Dungeon.depth <= 10) {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.PRISON_1, Assets.Music.PRISON_2, Assets.Music.PRISON_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
} else if (Dungeon.depth <= 15) {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.CAVES_1, Assets.Music.CAVES_2, Assets.Music.CAVES_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
} else if (Dungeon.depth <= 20) {
|
||||
Music.INSTANCE.playTracks(
|
||||
new String[]{Assets.Music.CITY_1, Assets.Music.CITY_2, Assets.Music.CITY_2},
|
||||
new float[]{1, 1, 0.5f},
|
||||
false);
|
||||
} 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);
|
||||
}
|
||||
Dungeon.level.playLevelMusic();
|
||||
|
||||
SPDSettings.lastClass(Dungeon.hero.heroClass.ordinal());
|
||||
|
||||
|
||||
@@ -49,6 +49,8 @@ public enum Icons {
|
||||
//grey icons, mainly used for buttons, spacing for 16x16
|
||||
EXIT,
|
||||
DISPLAY, //2 separate images, changes based on orientation
|
||||
DISPLAY_LAND,
|
||||
DISPLAY_PORT,
|
||||
DATA,
|
||||
AUDIO,
|
||||
LANGS,
|
||||
@@ -164,10 +166,15 @@ public enum Icons {
|
||||
break;
|
||||
case DISPLAY:
|
||||
if (!PixelScene.landscape()){
|
||||
icon.frame( icon.texture.uvRectBySize( 16, 32, 12, 16 ) );
|
||||
return get(DISPLAY_PORT);
|
||||
} else {
|
||||
icon.frame( icon.texture.uvRectBySize( 32, 32, 16, 12 ) );
|
||||
return get(DISPLAY_LAND);
|
||||
}
|
||||
case DISPLAY_PORT:
|
||||
icon.frame( icon.texture.uvRectBySize( 16, 32, 12, 16 ) );
|
||||
break;
|
||||
case DISPLAY_LAND:
|
||||
icon.frame( icon.texture.uvRectBySize( 32, 32, 16, 12 ) );
|
||||
break;
|
||||
case DATA:
|
||||
icon.frame( icon.texture.uvRectBySize( 48, 32, 16, 15 ) );
|
||||
|
||||
BIN
ios/assets/music/caves_boss.mp3
Normal file
BIN
ios/assets/music/caves_boss.mp3
Normal file
Binary file not shown.
BIN
ios/assets/music/city_boss.mp3
Normal file
BIN
ios/assets/music/city_boss.mp3
Normal file
Binary file not shown.
BIN
ios/assets/music/halls_boss.mp3
Normal file
BIN
ios/assets/music/halls_boss.mp3
Normal file
Binary file not shown.
BIN
ios/assets/music/prison_boss.mp3
Normal file
BIN
ios/assets/music/prison_boss.mp3
Normal file
Binary file not shown.
BIN
ios/assets/music/sewers_boss.mp3
Normal file
BIN
ios/assets/music/sewers_boss.mp3
Normal file
Binary file not shown.
Reference in New Issue
Block a user