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 8f3025bc4..609adb1ea 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 @@ -96,6 +96,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLivingEarth; +import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfWarding; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.SpiritBow; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Blocking; @@ -1056,9 +1057,11 @@ public class Hero extends Char { } } - if (target != null && (QuickSlotButton.lastTarget == null || - !QuickSlotButton.lastTarget.isAlive() || - !fieldOfView[QuickSlotButton.lastTarget.pos])){ + Char lastTarget = QuickSlotButton.lastTarget; + if (target != null && (lastTarget == null || + !lastTarget.isAlive() || + !fieldOfView[lastTarget.pos]) || + (lastTarget instanceof WandOfWarding.Ward && mindVisionEnemies.contains(lastTarget))){ QuickSlotButton.target(target); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java index 0046c119c..a999189fe 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfWarding.java @@ -325,7 +325,13 @@ public class WandOfWarding extends Wand { super.updateSpriteState(); ((WardSprite)sprite).updateTier(tier); } - + + @Override + public void destroy() { + super.destroy(); + Dungeon.observe(); + } + @Override public boolean canInteract(Hero h) { return true; diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index 2364f181d..c66e7ef6d 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -281,8 +281,8 @@ items.artifacts.driedrose$ghosthero.player_killed_2=I couldn't help them... items.artifacts.driedrose$ghosthero.player_killed_3=Not like this... items.artifacts.driedrose$ghosthero.direct_prompt=What should I do? -items.artifacts.driedrose$ghosthero.directed_follow_1=Okay, I'll follow you -items.artifacts.driedrose$ghosthero.directed_follow_2=I'll fall in behind you +items.artifacts.driedrose$ghosthero.directed_follow_1=Okay, I'll follow you. +items.artifacts.driedrose$ghosthero.directed_follow_2=I'll fall in behind you. items.artifacts.driedrose$ghosthero.directed_follow_3=Following you... items.artifacts.driedrose$ghosthero.directed_follow_4=Okay, let's go! items.artifacts.driedrose$ghosthero.directed_follow_5=I've got your back.