diff --git a/src/de/miaurizius/jgame2d/core/GamePanel.java b/src/de/miaurizius/jgame2d/core/GamePanel.java index 1ab1dff..0ce2f21 100644 --- a/src/de/miaurizius/jgame2d/core/GamePanel.java +++ b/src/de/miaurizius/jgame2d/core/GamePanel.java @@ -263,18 +263,16 @@ public class GamePanel extends JPanel implements Runnable { fScreenWidth = Boot.window.getWidth(); fScreenHeight = Boot.window.getHeight(); } - public void retry() { + public void resetGame(boolean restart) { player.setDefaultPositions(); - player.restoreLife(); + player.restoreStatus(); assetSetter.setNPC(); assetSetter.setMonster(); - } - public void restart() { + + if(!restart) return; player.setDefaultValues(); assetSetter.setObject(); - assetSetter.setNPC(); - assetSetter.setMonster(); assetSetter.setITiles(); + eManager.lighting.resetDay(); } - } diff --git a/src/de/miaurizius/jgame2d/core/UI.java b/src/de/miaurizius/jgame2d/core/UI.java index ff4bca4..c7a966d 100644 --- a/src/de/miaurizius/jgame2d/core/UI.java +++ b/src/de/miaurizius/jgame2d/core/UI.java @@ -736,6 +736,7 @@ public class UI { if(commandNum == 1) { graphics2d.drawString(">", textX-25, textY); if(panel.keyH.spacePressed) optionState = OptionState.OVERVIEW; + panel.resetGame(true); } } diff --git a/src/de/miaurizius/jgame2d/core/handlers/KeyHandler.java b/src/de/miaurizius/jgame2d/core/handlers/KeyHandler.java index fe21f14..a8f8c7f 100644 --- a/src/de/miaurizius/jgame2d/core/handlers/KeyHandler.java +++ b/src/de/miaurizius/jgame2d/core/handlers/KeyHandler.java @@ -152,12 +152,12 @@ public class KeyHandler implements KeyListener { if(panel.ui.commandNum == 0) { panel.gameState = GameState.PLAY; panel.playMusic(0); - panel.retry(); + panel.resetGame(false); } if(panel.ui.commandNum == 1) { panel.gameState = GameState.TITLE; panel.ui.commandNum = 0; - panel.restart(); + panel.resetGame(true); panel.stopMusic(); } } diff --git a/src/de/miaurizius/jgame2d/entity/Player.java b/src/de/miaurizius/jgame2d/entity/Player.java index 6770997..bea37c3 100644 --- a/src/de/miaurizius/jgame2d/entity/Player.java +++ b/src/de/miaurizius/jgame2d/entity/Player.java @@ -311,9 +311,14 @@ public class Player extends Entity { worldY = panel.tileSize * 21; direction = Direction.DOWN; } - public void restoreLife() { + public void restoreStatus() { life = maxLife; invincible = false; + transparent = false; + attacking = false; + guarding = false; + knockback = false; + lightUpdated = true; } public void getSleepingImage(BufferedImage image) { down1 = image; @@ -346,6 +351,7 @@ public class Player extends Entity { coins = 500; currentWeapon = new SwordNormalObj(panel); currentShield = new ShieldWoodObj(panel); + currentLight = null; projectile = new FireballObj(panel); attack = getAttack(); defense = getDefense(); diff --git a/src/de/miaurizius/jgame2d/environment/Lighting.java b/src/de/miaurizius/jgame2d/environment/Lighting.java index 471fa03..9f3667d 100644 --- a/src/de/miaurizius/jgame2d/environment/Lighting.java +++ b/src/de/miaurizius/jgame2d/environment/Lighting.java @@ -75,6 +75,11 @@ public class Lighting { } } } + public void resetDay() { + dayState = DayState.DAY; + filterAlpha = 0f; + dayCount = 0; + } // ... public void setLightSource() {