diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index 20066f7a7..9ae234ec2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -1619,7 +1619,6 @@ public class Hero extends Char { } if (ankh != null) { - ankh.detach(belongings.backpack); interrupt(); resting = false; @@ -1635,6 +1634,8 @@ public class Hero extends Char { GLog.w(Messages.get(this, "revive")); Statistics.ankhsUsed++; + ankh.detach(belongings.backpack); + for (Char ch : Actor.chars()) { if (ch instanceof DriedRose.GhostHero) { ((DriedRose.GhostHero) ch).sayAnhk(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index 43758f3f6..74acc4ab8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -549,14 +549,14 @@ public class GameScene extends PixelScene { //re-show WndResurrect if needed if (!Dungeon.hero.isAlive()){ //check if hero has an unblessed ankh - boolean hasAnkh = false; + Ankh ankh = null; for (Ankh i : Dungeon.hero.belongings.getAllItems(Ankh.class)){ if (!i.isBlessed()){ - hasAnkh = true; + ankh = i; } } - if (hasAnkh) { - add(new WndResurrect()); + if (ankh != null) { + add(new WndResurrect(ankh)); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java index 3f6e5abd1..4c2a48c23 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndResurrect.java @@ -56,13 +56,11 @@ public class WndResurrect extends Window { RedButton btnContinue; - public WndResurrect() { + public WndResurrect( final Ankh ankh ) { super(); instance = this; - - Ankh ankh = new Ankh(); IconTitle titlebar = new IconTitle(); titlebar.icon( new ItemSprite( ankh.image(), null ) ); @@ -104,6 +102,8 @@ public class WndResurrect extends Window { Statistics.ankhsUsed++; + ankh.detach(Dungeon.hero.belongings.backpack); + if (btnItem1.item != null){ btnItem1.item.keptThoughLostInvent = true; }