v3.2.0: fixed thrown wep value logic

This commit is contained in:
Evan Debenham
2025-07-20 13:51:58 -04:00
parent 744419f432
commit 9545a3b333
4 changed files with 17 additions and 4 deletions

View File

@@ -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";

View File

@@ -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
}
}

View File

@@ -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() {

View File

@@ -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<?extends Plant.Seed>, Class<?extends TippedDart>> types = new LinkedHashMap<>();