v3.2.0: reduced liquid metal cost scaling per lvl to 1.33x from 2x
This commit is contained in:
committed by
Evan Debenham
parent
6cc40bd07f
commit
38c59724b4
@@ -2369,7 +2369,7 @@ items.liquidmetal.ac_apply=APPLY
|
|||||||
items.liquidmetal.prompt=Select a thrown weapon
|
items.liquidmetal.prompt=Select a thrown weapon
|
||||||
items.liquidmetal.already_fixed=That thrown weapon is already in perfect condition!
|
items.liquidmetal.already_fixed=That thrown weapon is already in perfect condition!
|
||||||
items.liquidmetal.apply=You use %d liquid metal to repair your thrown weapon.
|
items.liquidmetal.apply=You use %d liquid metal to repair your thrown weapon.
|
||||||
items.liquidmetal.desc=When poured over a thrown weapon, this magical liquid will fill into the cracks and tears from use, restoring the thrown weapon to perfect condition!\n\nA tier 1 weapon requires 10 liquid metal to be fully repaired, a tier 5 weapon requires 30. Each upgrade also doubles the amount of metal needed.\n\nLiquid metal cannot be used to repair the tips on tipped darts.
|
items.liquidmetal.desc=When poured over a thrown weapon, this magical liquid will fill into the cracks and tears from use, restoring the thrown weapon to perfect condition!\n\nA tier 1 weapon requires 10 liquid metal to be fully repaired, a tier 5 weapon requires 30. Each upgrade also increases the amount of metal needed by 33%.\n\nLiquid metal cannot be used to repair the tips on tipped darts.
|
||||||
items.liquidmetal.discover_hint=You can craft this item via alchemy.
|
items.liquidmetal.discover_hint=You can craft this item via alchemy.
|
||||||
|
|
||||||
items.lostbackpack.name=lost backpack
|
items.lostbackpack.name=lost backpack
|
||||||
|
|||||||
@@ -136,24 +136,24 @@ public class LiquidMetal extends Item {
|
|||||||
if (item != null && item instanceof MissileWeapon) {
|
if (item != null && item instanceof MissileWeapon) {
|
||||||
MissileWeapon m = (MissileWeapon)item;
|
MissileWeapon m = (MissileWeapon)item;
|
||||||
|
|
||||||
int maxToUse = 5*(m.tier+1);
|
float maxToUse = 5*(m.tier+1);
|
||||||
maxToUse *= Math.pow(2, m.level());
|
maxToUse *= Math.pow(1.35f, m.level());
|
||||||
|
|
||||||
float durabilityPerMetal = 100 / (float)maxToUse;
|
float durabilityPerMetal = 100 / maxToUse;
|
||||||
|
|
||||||
//we remove a tiny amount here to account for rounding errors
|
//we remove a tiny amount here to account for rounding errors
|
||||||
float percentDurabilityLost = 0.999f - (m.durabilityLeft()/100f);
|
float percentDurabilityLost = 0.999f - (m.durabilityLeft()/100f);
|
||||||
maxToUse = (int)Math.ceil(maxToUse*percentDurabilityLost);
|
int toUse = (int)Math.ceil(maxToUse*percentDurabilityLost);
|
||||||
float durPerUse = m.durabilityPerUse()/100f;
|
float durPerUse = m.durabilityPerUse()/100f;
|
||||||
if (maxToUse == 0 ||
|
if (toUse == 0 ||
|
||||||
Math.ceil(m.durabilityLeft()/ m.durabilityPerUse()) >= Math.ceil(m.MAX_DURABILITY/ m.durabilityPerUse()) ){
|
Math.ceil(m.durabilityLeft()/ m.durabilityPerUse()) >= Math.ceil(m.MAX_DURABILITY/ m.durabilityPerUse()) ){
|
||||||
GLog.w(Messages.get(LiquidMetal.class, "already_fixed"));
|
GLog.w(Messages.get(LiquidMetal.class, "already_fixed"));
|
||||||
return;
|
return;
|
||||||
} else if (maxToUse < quantity()) {
|
} else if (toUse < quantity()) {
|
||||||
Catalog.countUses(LiquidMetal.class, maxToUse);
|
Catalog.countUses(LiquidMetal.class, toUse);
|
||||||
m.repair(maxToUse*durabilityPerMetal);
|
m.repair(maxToUse*durabilityPerMetal);
|
||||||
quantity(quantity()-maxToUse);
|
quantity(quantity()-toUse);
|
||||||
GLog.i(Messages.get(LiquidMetal.class, "apply", maxToUse));
|
GLog.i(Messages.get(LiquidMetal.class, "apply", toUse));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Catalog.countUses(LiquidMetal.class, quantity());
|
Catalog.countUses(LiquidMetal.class, quantity());
|
||||||
@@ -215,7 +215,7 @@ public class LiquidMetal extends Item {
|
|||||||
if (m.defaultQuantity() != 3){
|
if (m.defaultQuantity() != 3){
|
||||||
quantityPerWeapon = 3f / m.defaultQuantity();
|
quantityPerWeapon = 3f / m.defaultQuantity();
|
||||||
}
|
}
|
||||||
quantityPerWeapon += Math.pow(2, Math.min(3, m.level()));
|
quantityPerWeapon *= Math.pow(1.33f, Math.min(5, m.level()));
|
||||||
|
|
||||||
float quantity = m.quantity()-1;
|
float quantity = m.quantity()-1;
|
||||||
quantity += 0.25f + 0.0075f*m.durabilityLeft();
|
quantity += 0.25f + 0.0075f*m.durabilityLeft();
|
||||||
|
|||||||
Reference in New Issue
Block a user