v0.3.1b: cleaned up code and fixed bugs with distortion trap

This commit is contained in:
Evan Debenham 2015-09-03 02:47:53 -04:00
parent e0e1c74af0
commit f3df4f2b37
2 changed files with 18 additions and 6 deletions

View File

@ -44,11 +44,7 @@ public class DistortionTrap extends Trap{
item.detachAll(Dungeon.hero.belongings.backpack); item.detachAll(Dungeon.hero.belongings.backpack);
} }
} }
Dungeon.depth--; InterlevelScene.mode = InterlevelScene.Mode.RESET;
Level level = Dungeon.newLevel();
Dungeon.switchLevel( level, level.entrance);
InterlevelScene.returnPos = level.entrance;
InterlevelScene.mode = InterlevelScene.Mode.RETURN;
Game.switchScene(InterlevelScene.class); Game.switchScene(InterlevelScene.class);
} }

View File

@ -48,6 +48,7 @@ public class InterlevelScene extends PixelScene {
private static final String TXT_RESURRECTING= "Resurrecting..."; private static final String TXT_RESURRECTING= "Resurrecting...";
private static final String TXT_RETURNING = "Returning..."; private static final String TXT_RETURNING = "Returning...";
private static final String TXT_FALLING = "Falling..."; private static final String TXT_FALLING = "Falling...";
private static final String TXT_RESETTING = "Resetting...";
private static final String ERR_FILE_NOT_FOUND = "Save file not found. If this error persists after restarting, " + private static final String ERR_FILE_NOT_FOUND = "Save file not found. If this error persists after restarting, " +
"it may mean this save game is corrupted. Sorry about that."; "it may mean this save game is corrupted. Sorry about that.";
@ -55,7 +56,7 @@ public class InterlevelScene extends PixelScene {
"it may mean this save game is corrupted. Sorry about that."; "it may mean this save game is corrupted. Sorry about that.";
public static enum Mode { public static enum Mode {
DESCEND, ASCEND, CONTINUE, RESURRECT, RETURN, FALL DESCEND, ASCEND, CONTINUE, RESURRECT, RETURN, FALL, RESET
}; };
public static Mode mode; public static Mode mode;
@ -101,6 +102,9 @@ public class InterlevelScene extends PixelScene {
case FALL: case FALL:
text = TXT_FALLING; text = TXT_FALLING;
break; break;
case RESET:
text = TXT_RESETTING;
break;
} }
message = PixelScene.createText( text, 9 ); message = PixelScene.createText( text, 9 );
@ -139,6 +143,9 @@ public class InterlevelScene extends PixelScene {
case FALL: case FALL:
fall(); fall();
break; break;
case RESET:
reset();
break;
} }
if ((Dungeon.depth % 5) == 0) { if ((Dungeon.depth % 5) == 0) {
@ -296,6 +303,15 @@ public class InterlevelScene extends PixelScene {
Dungeon.resetLevel(); Dungeon.resetLevel();
} }
} }
private void reset() throws IOException {
Actor.fixTime();
Dungeon.depth--;
Level level = Dungeon.newLevel();
Dungeon.switchLevel( level, level.entrance );
}
@Override @Override
protected void onBackPressed() { protected void onBackPressed() {