v0.4.2: various balance changes
This commit is contained in:
@@ -356,12 +356,12 @@ public class Armor extends EquipableItem {
|
|||||||
|
|
||||||
public int STRReq(int lvl){
|
public int STRReq(int lvl){
|
||||||
lvl = Math.max(0, lvl);
|
lvl = Math.max(0, lvl);
|
||||||
int effectiveTier = tier;
|
float effectiveTier = tier;
|
||||||
if (glyph != null) effectiveTier += glyph.tierSTRAdjust();
|
if (glyph != null) effectiveTier += glyph.tierSTRAdjust();
|
||||||
effectiveTier = Math.max(0, effectiveTier);
|
effectiveTier = Math.max(0, effectiveTier);
|
||||||
|
|
||||||
//strength req decreases at +1,+3,+6,+10,etc.
|
//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
|
@Override
|
||||||
@@ -468,7 +468,7 @@ public class Armor extends EquipableItem {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int tierSTRAdjust(){
|
public float tierSTRAdjust(){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -140,12 +140,12 @@ abstract public class ClassArmor extends Armor {
|
|||||||
@Override
|
@Override
|
||||||
public int STRReq(int lvl) {
|
public int STRReq(int lvl) {
|
||||||
lvl = Math.max(0, lvl);
|
lvl = Math.max(0, lvl);
|
||||||
int effectiveTier = armorTier;
|
float effectiveTier = armorTier;
|
||||||
if (glyph != null) effectiveTier += glyph.tierSTRAdjust();
|
if (glyph != null) effectiveTier += glyph.tierSTRAdjust();
|
||||||
effectiveTier = Math.max(0, effectiveTier);
|
effectiveTier = Math.max(0, effectiveTier);
|
||||||
|
|
||||||
//strength req decreases at +1,+3,+6,+10,etc.
|
//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
|
@Override
|
||||||
|
|||||||
+3
-3
@@ -30,13 +30,13 @@ public class Stone extends Armor.Glyph {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int proc(Armor armor, Char attacker, Char defender, int damage) {
|
public int proc(Armor armor, Char attacker, Char defender, int damage) {
|
||||||
//no proc effect
|
//no proc effect, see armor.DrMin
|
||||||
return damage;
|
return damage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int tierSTRAdjust() {
|
public float tierSTRAdjust() {
|
||||||
return 1;
|
return 1.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ public class Swiftness extends Armor.Glyph {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int tierSTRAdjust() {
|
public float tierSTRAdjust() {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-4
@@ -70,10 +70,6 @@ public class WandOfFireblast extends DamageWand {
|
|||||||
@Override
|
@Override
|
||||||
protected void onZap( Ballistica bolt ) {
|
protected void onZap( Ballistica bolt ) {
|
||||||
|
|
||||||
if (Level.flamable[bolt.sourcePos]){
|
|
||||||
GameScene.add( Blob.seed( bolt.sourcePos, 2, Fire.class ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
for( int cell : affectedCells){
|
for( int cell : affectedCells){
|
||||||
GameScene.add( Blob.seed( cell, 1+chargesPerCast(), Fire.class ) );
|
GameScene.add( Blob.seed( cell, 1+chargesPerCast(), Fire.class ) );
|
||||||
Char ch = Actor.findChar( cell );
|
Char ch = Actor.findChar( cell );
|
||||||
|
|||||||
+1
-1
@@ -146,7 +146,7 @@ abstract public class Weapon extends KindOfWeapon {
|
|||||||
|
|
||||||
if (this instanceof MissileWeapon) {
|
if (this instanceof MissileWeapon) {
|
||||||
int bonus = RingOfSharpshooting.getBonus(hero, RingOfSharpshooting.Aim.class);
|
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;
|
return encumbrance > 0 ? (float)(ACC / Math.pow( 1.5, encumbrance )) : ACC;
|
||||||
|
|||||||
+2
-2
@@ -41,8 +41,8 @@ public class Grim extends Weapon.Enchantment {
|
|||||||
int enemyHealth = defender.HP - damage;
|
int enemyHealth = defender.HP - damage;
|
||||||
if (enemyHealth == 0) return damage; //no point in proccing if they're already dead.
|
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
|
//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)*20 + level);
|
int chance = Math.round(((defender.HT - enemyHealth) / (float)defender.HT)*30 + level);
|
||||||
|
|
||||||
if (Random.Int( 100 ) < chance) {
|
if (Random.Int( 100 ) < chance) {
|
||||||
|
|
||||||
|
|||||||
-6
@@ -32,12 +32,6 @@ public class Glaive extends MeleeWeapon {
|
|||||||
RCH = 2; //extra reach
|
RCH = 2; //extra reach
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int min(int lvl) {
|
|
||||||
return tier + //base unchanged
|
|
||||||
lvl*2; //+2 per level, up from +1
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int max(int lvl) {
|
public int max(int lvl) {
|
||||||
return Math.round(6.67f*(tier+1)) + //40 base, up from 30
|
return Math.round(6.67f*(tier+1)) + //40 base, up from 30
|
||||||
|
|||||||
+3
-3
@@ -30,12 +30,12 @@ public class RunicBlade extends MeleeWeapon {
|
|||||||
tier = 4;
|
tier = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Essentially it's a tier 4 weapon, with tier 3 base max damage, and slightly more than tier 5 scaling.
|
//Essentially it's a tier 4 weapon, with tier 3 base max damage, and tier 5 scaling.
|
||||||
//equal to tier 4 in damage at +4
|
//equal to tier 4 in damage at +5
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int max(int lvl) {
|
public int max(int lvl) {
|
||||||
return 5*(tier) + //20 base, down from 25
|
return 5*(tier) + //20 base, down from 25
|
||||||
Math.round(lvl*(tier+2.25f)); //+6.25 per level, up from +5
|
Math.round(lvl*(tier+2)); //+6 per level, up from +5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-6
@@ -32,12 +32,6 @@ public class Spear extends MeleeWeapon {
|
|||||||
RCH = 2; //extra reach
|
RCH = 2; //extra reach
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int min(int lvl) {
|
|
||||||
return tier + //base unchanged
|
|
||||||
lvl*2; //+2 per level, up from +1
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int max(int lvl) {
|
public int max(int lvl) {
|
||||||
return Math.round(6.67f*(tier+1)) + //20 base, up from 15
|
return Math.round(6.67f*(tier+1)) + //20 base, up from 15
|
||||||
|
|||||||
Reference in New Issue
Block a user