diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java index 932a1034f..1cd708f08 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/Pickaxe.java @@ -187,10 +187,12 @@ public class Pickaxe extends MeleeWeapon { return; } + hero.belongings.abilityWeapon = this; if (!hero.canAttack(enemy)){ GLog.w(Messages.get(this, "ability_bad_position")); return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java index e59bb4e0a..1e479274b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java @@ -77,10 +77,12 @@ public class Greataxe extends MeleeWeapon { return; } + hero.belongings.abilityWeapon = this; if (!hero.canAttack(enemy)){ GLog.w(Messages.get(this, "ability_bad_position")); return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java index da6b5b9b3..a5544a86c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Mace.java @@ -74,10 +74,12 @@ public class Mace extends MeleeWeapon { return; } + hero.belongings.abilityWeapon = wep; if (!hero.canAttack(enemy)){ GLog.w(Messages.get(wep, "ability_bad_position")); return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java index 47ffdbc14..cea83ab56 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java @@ -74,11 +74,13 @@ public class RunicBlade extends MeleeWeapon { //we apply here because of projecting RunicSlashTracker tracker = Buff.affect(hero, RunicSlashTracker.class); + hero.belongings.abilityWeapon = this; if (!hero.canAttack(enemy)){ GLog.w(Messages.get(this, "ability_bad_position")); tracker.detach(); return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java index c24620f87..a51d8b07e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java @@ -76,10 +76,12 @@ public class Sai extends MeleeWeapon { return; } + hero.belongings.abilityWeapon = wep; if (!hero.canAttack(enemy)){ GLog.w(Messages.get(wep, "ability_bad_position")); return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java index e6a9d9553..41818870e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java @@ -75,10 +75,13 @@ public class Spear extends MeleeWeapon { return; } + hero.belongings.abilityWeapon = wep; if (!hero.canAttack(enemy) || Dungeon.level.adjacent(hero.pos, enemy.pos)){ GLog.w(Messages.get(wep, "ability_bad_position")); + hero.belongings.abilityWeapon = null; return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java index 08cd97c3b..812a66967 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java @@ -77,10 +77,12 @@ public class Sword extends MeleeWeapon { return; } + hero.belongings.abilityWeapon = wep; if (!hero.canAttack(enemy)){ GLog.w(Messages.get(wep, "ability_bad_position")); return; } + hero.belongings.abilityWeapon = null; hero.sprite.attack(enemy.pos, new Callback() { @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java index 1b072408d..32885e7c7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java @@ -57,7 +57,6 @@ public class Whip extends MeleeWeapon { ArrayList targets = new ArrayList<>(); - //temporarily set whip as ability weapon before the attack, as we want to use its range hero.belongings.abilityWeapon = this; for (Char ch : Actor.chars()){ if (ch.alignment == Char.Alignment.ENEMY