v0.2.2: reworked weightstone

This commit is contained in:
Evan Debenham
2014-10-26 17:30:23 -04:00
parent a1fd965145
commit c7b63271aa
3 changed files with 25 additions and 24 deletions
@@ -48,7 +48,7 @@ public class Weapon extends KindOfWeapon {
public float DLY = 1f; // Speed modifier
public enum Imbue {
NONE, SPEED, ACCURACY
NONE, LIGHT, HEAVY
}
public Imbue imbue = Imbue.NONE;
@@ -113,9 +113,7 @@ public class Weapon extends KindOfWeapon {
ACU *= (float)(Math.pow(1.1, bonus));
}
return
(encumbrance > 0 ? (float)(ACU / Math.pow( 1.5, encumbrance )) : ACU) *
(imbue == Imbue.ACCURACY ? 1.5f : 1.0f);
return encumbrance > 0 ? (float)(ACU / Math.pow( 1.5, encumbrance )) : ACU;
}
@Override
@@ -135,7 +133,7 @@ public class Weapon extends KindOfWeapon {
return
(encumrance > 0 ? (float)(DLY * Math.pow( 1.2, encumrance )) : DLY) *
(imbue == Imbue.SPEED ? 0.6f : 1.0f);
(imbue == Imbue.LIGHT ? 0.667f : (imbue == Imbue.HEAVY ? 1.667f : 1.0f));
}
@Override
@@ -150,7 +148,7 @@ public class Weapon extends KindOfWeapon {
}
}
return damage;
return Math.round(damage * (imbue == Imbue.LIGHT ? 0.7f : (imbue == Imbue.HEAVY ? 1.5f : 1f)));
}
public Item upgrade( boolean enchant ) {
@@ -91,7 +91,9 @@ public class MeleeWeapon extends Weapon {
info.append( " tier-" + tier + " melee weapon. " );
if (levelKnown) {
info.append( "Its average damage is " + (MIN + (MAX - MIN) / 2) + " points per hit. " );
info.append( "Its average damage is " +
Math.round((MIN + (MAX - MIN) / 2)*(imbue == Imbue.LIGHT ? 0.75f : (imbue == Imbue.HEAVY ? 1.5f : 1)))
+ " points per hit. " );
} else {
info.append(
"Its typical average damage is " + (min() + (max() - min()) / 2) + " points per hit " +
@@ -116,11 +118,11 @@ public class MeleeWeapon extends Weapon {
info.append( "This is a rather " + (ACU > 1f ? "accurate" : "inaccurate") + " weapon. " );
}
switch (imbue) {
case SPEED:
info.append( "It was balanced to make it faster. " );
case LIGHT:
info.append( "It was balanced to be lighter. " );
break;
case ACCURACY:
info.append( "It was balanced to make it more accurate. " );
case HEAVY:
info.append( "It was balanced to be heavier. " );
break;
case NONE:
}