From 666e009334212effd3abe05b3affc226a7fd9af9 Mon Sep 17 00:00:00 2001 From: Evan Debenham <Evan@ShatteredPixel.com> Date: Sat, 25 Jul 2020 14:34:44 -0400 Subject: [PATCH] v0.8.2: added a temp reference to equipped weps when using thrown weps --- .../shatteredpixeldungeon/actors/hero/Belongings.java | 3 +++ .../shatteredpixeldungeon/actors/hero/Hero.java | 5 +++-- .../shatteredpixeldungeon/items/KindOfWeapon.java | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java index c422ef10a..22b594be1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Belongings.java @@ -52,6 +52,9 @@ public class Belongings implements Iterable<Item> { public Artifact artifact = null; public KindofMisc misc = null; public Ring ring = null; + + //used when thrown weapons temporary occupy the weapon slot + public KindOfWeapon stashedWeapon = null; public Belongings( Hero owner ) { this.owner = owner; 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 29bee39b6..067bb21a3 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 @@ -323,11 +323,12 @@ public class Hero extends Char { public boolean shoot( Char enemy, MissileWeapon wep ) { //temporarily set the hero's weapon to the missile weapon being used - KindOfWeapon equipped = belongings.weapon; + belongings.stashedWeapon = belongings.weapon; belongings.weapon = wep; boolean hit = attack( enemy ); Invisibility.dispel(); - belongings.weapon = equipped; + belongings.weapon = belongings.stashedWeapon; + belongings.stashedWeapon = null; if (subClass == HeroSubClass.GLADIATOR){ if (hit) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java index d6bde2a0c..7f28929b6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/KindOfWeapon.java @@ -42,7 +42,7 @@ abstract public class KindOfWeapon extends EquipableItem { @Override public boolean isEquipped( Hero hero ) { - return hero.belongings.weapon == this; + return hero.belongings.weapon == this || hero.belongings.stashedWeapon == this; } @Override