v0.4.2: various balance changes

This commit is contained in:
Evan Debenham
2016-08-30 02:47:06 -04:00
parent 6627ba4736
commit 3d2fd64a53
10 changed files with 16 additions and 32 deletions

View File

@@ -356,12 +356,12 @@ public class Armor extends EquipableItem {
public int STRReq(int lvl){
lvl = Math.max(0, lvl);
int effectiveTier = tier;
float effectiveTier = tier;
if (glyph != null) effectiveTier += glyph.tierSTRAdjust();
effectiveTier = Math.max(0, effectiveTier);
//strength req decreases at +1,+3,+6,+10,etc.
return (8 + effectiveTier * 2) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2;
return (8 + Math.round(effectiveTier * 2)) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2;
}
@Override
@@ -468,7 +468,7 @@ public class Armor extends EquipableItem {
return 0;
}
public int tierSTRAdjust(){
public float tierSTRAdjust(){
return 0;
}

View File

@@ -140,12 +140,12 @@ abstract public class ClassArmor extends Armor {
@Override
public int STRReq(int lvl) {
lvl = Math.max(0, lvl);
int effectiveTier = armorTier;
float effectiveTier = armorTier;
if (glyph != null) effectiveTier += glyph.tierSTRAdjust();
effectiveTier = Math.max(0, effectiveTier);
//strength req decreases at +1,+3,+6,+10,etc.
return (8 + effectiveTier * 2) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2;
return (8 + Math.round(effectiveTier * 2)) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2;
}
@Override

View File

@@ -30,13 +30,13 @@ public class Stone extends Armor.Glyph {
@Override
public int proc(Armor armor, Char attacker, Char defender, int damage) {
//no proc effect
//no proc effect, see armor.DrMin
return damage;
}
@Override
public int tierSTRAdjust() {
return 1;
public float tierSTRAdjust() {
return 1.5f;
}
@Override

View File

@@ -40,7 +40,7 @@ public class Swiftness extends Armor.Glyph {
}
@Override
public int tierSTRAdjust() {
public float tierSTRAdjust() {
return -1;
}

View File

@@ -70,10 +70,6 @@ public class WandOfFireblast extends DamageWand {
@Override
protected void onZap( Ballistica bolt ) {
if (Level.flamable[bolt.sourcePos]){
GameScene.add( Blob.seed( bolt.sourcePos, 2, Fire.class ) );
}
for( int cell : affectedCells){
GameScene.add( Blob.seed( cell, 1+chargesPerCast(), Fire.class ) );
Char ch = Actor.findChar( cell );

View File

@@ -146,7 +146,7 @@ abstract public class Weapon extends KindOfWeapon {
if (this instanceof MissileWeapon) {
int bonus = RingOfSharpshooting.getBonus(hero, RingOfSharpshooting.Aim.class);
ACC *= (float)(Math.pow(1.1, bonus));
ACC *= (float)(Math.pow(1.2, bonus));
}
return encumbrance > 0 ? (float)(ACC / Math.pow( 1.5, encumbrance )) : ACC;

View File

@@ -41,8 +41,8 @@ public class Grim extends Weapon.Enchantment {
int enemyHealth = defender.HP - damage;
if (enemyHealth == 0) return damage; //no point in proccing if they're already dead.
//scales from 0 - 20% based on how low hp the enemy is, plus 1% per level
int chance = Math.round(((defender.HT - enemyHealth) / (float)defender.HT)*20 + level);
//scales from 0 - 30% based on how low hp the enemy is, plus 1% per level
int chance = Math.round(((defender.HT - enemyHealth) / (float)defender.HT)*30 + level);
if (Random.Int( 100 ) < chance) {

View File

@@ -32,12 +32,6 @@ public class Glaive extends MeleeWeapon {
RCH = 2; //extra reach
}
@Override
public int min(int lvl) {
return tier + //base unchanged
lvl*2; //+2 per level, up from +1
}
@Override
public int max(int lvl) {
return Math.round(6.67f*(tier+1)) + //40 base, up from 30

View File

@@ -30,12 +30,12 @@ public class RunicBlade extends MeleeWeapon {
tier = 4;
}
//Essentially it's a tier 4 weapon, with tier 3 base max damage, and slightly more than tier 5 scaling.
//equal to tier 4 in damage at +4
//Essentially it's a tier 4 weapon, with tier 3 base max damage, and tier 5 scaling.
//equal to tier 4 in damage at +5
@Override
public int max(int lvl) {
return 5*(tier) + //20 base, down from 25
Math.round(lvl*(tier+2.25f)); //+6.25 per level, up from +5
return 5*(tier) + //20 base, down from 25
Math.round(lvl*(tier+2)); //+6 per level, up from +5
}
}

View File

@@ -32,12 +32,6 @@ public class Spear extends MeleeWeapon {
RCH = 2; //extra reach
}
@Override
public int min(int lvl) {
return tier + //base unchanged
lvl*2; //+2 per level, up from +1
}
@Override
public int max(int lvl) {
return Math.round(6.67f*(tier+1)) + //20 base, up from 15