v0.9.2: fixed targeting issues when enemies become corrupted

This commit is contained in:
Evan Debenham 2021-02-05 17:58:55 -05:00
parent 4eb658c012
commit c9cec834cf
2 changed files with 5 additions and 4 deletions

View File

@ -92,7 +92,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfTenacity;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping;
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfLivingEarth; 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.SpiritBow;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Blocking; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Blocking;
@ -1190,8 +1189,8 @@ public class Hero extends Char {
Char lastTarget = QuickSlotButton.lastTarget; Char lastTarget = QuickSlotButton.lastTarget;
if (target != null && (lastTarget == null || if (target != null && (lastTarget == null ||
!lastTarget.isAlive() || !lastTarget.isAlive() ||
!fieldOfView[lastTarget.pos]) || lastTarget.alignment == Alignment.ALLY ||
(lastTarget instanceof WandOfWarding.Ward && mindVisionEnemies.contains(lastTarget))){ !fieldOfView[lastTarget.pos])){
QuickSlotButton.target(target); QuickSlotButton.target(target);
} }

View File

@ -92,8 +92,9 @@ public class QuickSlotButton extends Button implements WndBag.Listener {
} }
} else { } else {
Item item = select(slotNum); Item item = select(slotNum);
if (item.usesTargeting) if (item.usesTargeting) {
useTargeting(); useTargeting();
}
item.execute( Dungeon.hero ); item.execute( Dungeon.hero );
} }
} }
@ -207,6 +208,7 @@ public class QuickSlotButton extends Button implements WndBag.Listener {
if (lastTarget != null && if (lastTarget != null &&
Actor.chars().contains( lastTarget ) && Actor.chars().contains( lastTarget ) &&
lastTarget.isAlive() && lastTarget.isAlive() &&
lastTarget.alignment != Char.Alignment.ALLY &&
Dungeon.level.heroFOV[lastTarget.pos]) { Dungeon.level.heroFOV[lastTarget.pos]) {
targeting = true; targeting = true;