From 9545a3b3339dbd7627417537e1ae6eec7af7b1ec Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 20 Jul 2025 13:51:58 -0400 Subject: [PATCH] v3.2.0: fixed thrown wep value logic --- .../items/weapon/missiles/MissileWeapon.java | 15 ++++++++++++++- .../items/weapon/missiles/ThrowingStone.java | 2 +- .../items/weapon/missiles/darts/Dart.java | 2 +- .../items/weapon/missiles/darts/TippedDart.java | 2 +- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java index 5a1a18f30..f591148dd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/MissileWeapon.java @@ -631,7 +631,20 @@ abstract public class MissileWeapon extends Weapon { @Override public int value() { - return 6 * tier * quantity * (level() + 1); + int price = 5 * tier * quantity; + if (hasGoodEnchant()) { + price *= 1.5; + } + if (cursedKnown && (cursed || hasCurseEnchant())) { + price /= 2; + } + if (levelKnown && level() > 0) { + price *= (level() + 1); + } + if (price < 1) { + price = 1; + } + return price; } private static final String SET_ID = "set_id"; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java index 27a65f4fd..8cb6b9693 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingStone.java @@ -40,6 +40,6 @@ public class ThrowingStone extends MissileWeapon { @Override public int value() { - return super.value()/2; //half normal value + return Math.round(super.value()/2f); //half normal value } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java index e28efca99..68182982c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/Dart.java @@ -260,7 +260,7 @@ public class Dart extends MissileWeapon { @Override public int value() { - return super.value()/2; //half normal value + return Math.round(super.value()/2f); //half normal value } private final WndBag.ItemSelector itemSelector = new WndBag.ItemSelector() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java index 2cca69f40..55984efd6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/TippedDart.java @@ -217,7 +217,7 @@ public abstract class TippedDart extends Dart { @Override public int value() { //value of regular dart plus half of the seed - return 8 * quantity; + return Math.round(7.5f * quantity); } public static final LinkedHashMap, Class> types = new LinkedHashMap<>();