From 54501b3a6ef4285673dd8e2140e5111a8fa00fdf Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 30 Jan 2023 11:33:56 -0500 Subject: [PATCH] v2.0.0: fixed secondary wep abilities using primary wep's attack range --- .../shatteredpixeldungeon/items/quest/Pickaxe.java | 2 ++ .../shatteredpixeldungeon/items/weapon/melee/Greataxe.java | 2 ++ .../shatteredpixeldungeon/items/weapon/melee/Mace.java | 2 ++ .../shatteredpixeldungeon/items/weapon/melee/RunicBlade.java | 2 ++ .../shatteredpixeldungeon/items/weapon/melee/Sai.java | 2 ++ .../shatteredpixeldungeon/items/weapon/melee/Spear.java | 3 +++ .../shatteredpixeldungeon/items/weapon/melee/Sword.java | 2 ++ .../shatteredpixeldungeon/items/weapon/melee/Whip.java | 1 - 8 files changed, 15 insertions(+), 1 deletion(-) 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