v0.6.0: balance changes

This commit is contained in:
Evan Debenham 2017-03-26 20:45:03 -04:00
parent 8ead7fe7be
commit 7b47dc5200
8 changed files with 17 additions and 30 deletions

View File

@ -45,7 +45,7 @@ public class Entanglement extends Glyph {
if (Random.Int( 4 ) == 0) {
Buff.prolong( defender, Roots.class, 5 );
Buff.prolong( defender, Roots.class, 3 );
Buff.affect( defender, Earthroot.Armor.class ).level( 5 + 2*level );
CellEmitter.bottom( defender.pos ).start( EarthParticle.FACTORY, 0.05f, 8 );
Camera.main.shake( 1, 0.4f );

View File

@ -43,15 +43,13 @@ public class Potential extends Glyph {
if (Random.Int( level + 20 ) >= 18) {
int shockDmg = Random.NormalIntRange( defender.HT/20, defender.HT/10 );
shockDmg *= Math.pow(0.9, level);
int shockDmg = Random.NormalIntRange( 2, 6 );
defender.damage( shockDmg, LightningTrap.LIGHTNING );
checkOwner( defender );
if (defender == Dungeon.hero) {
Dungeon.hero.belongings.charge(1f);
Dungeon.hero.belongings.charge(1f + level/10f);
Camera.main.shake( 2, 0.3f );
}

View File

@ -49,7 +49,7 @@ public class Viscosity extends Glyph {
int level = Math.max( 0, armor.level() );
if (Random.Int( level + 4 ) >= 3) {
if (Random.Int( level + 6 ) >= 5) {
DeferedDamage debuff = defender.buff( DeferedDamage.class );
if (debuff == null) {
@ -119,7 +119,7 @@ public class Viscosity extends Glyph {
public boolean act() {
if (target.isAlive()) {
int damageThisTick = Math.max(1, (int)(damage*0.15f));
int damageThisTick = Math.max(1, (int)(damage*0.1f));
target.damage( damageThisTick, this );
if (target == Dungeon.hero && !target.isAlive()) {

View File

@ -21,11 +21,7 @@
package com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Berserk;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite.Glowing;
@ -39,19 +35,12 @@ public class Lucky extends Weapon.Enchantment {
public int proc( Weapon weapon, Char attacker, Char defender, int damage ) {
int level = Math.max( 0, weapon.level() );
if (Random.Int(100) < (55 + level)){
int exStr = 0;
if (attacker == Dungeon.hero) exStr = Math.max(0, Dungeon.hero.STR() - weapon.STRReq());
damage = weapon.imbue.damageFactor(weapon.max()) + exStr - defender.drRoll();
if (Random.Int(100) < (60 + level)){
return 2*damage;
} else {
damage = weapon.imbue.damageFactor(weapon.min()) - defender.drRoll();
return 0;
}
if (attacker == Dungeon.hero && Dungeon.hero.subClass == HeroSubClass.BERSERKER ){
damage = Buff.affect(Dungeon.hero, Berserk.class).damageFactor(damage);
}
return Math.max(0, damage);
}
@Override

View File

@ -38,10 +38,10 @@ public class Vampiric extends Weapon.Enchantment {
int level = Math.max( 0, weapon.level() );
// lvl 0 - 20%
// lvl 1 - 21.5%
// lvl 2 - 23%
int maxValue = Math.round(damage * ((level + 10) / (float)(level + 50)));
// lvl 0 - 16%
// lvl 1 - 17.65%
// lvl 2 - 19.23%
int maxValue = Math.round(damage * ((level + 8) / (float)(level + 50)));
int effValue = Math.min( Random.IntRange( 0, maxValue ), attacker.HT - attacker.HP );
if (effValue > 0) {

View File

@ -33,7 +33,7 @@ public class Greataxe extends MeleeWeapon {
@Override
public int max(int lvl) {
return 5*(tier+3) + //40 base, up from 30
return 5*(tier+5) + //50 base, up from 30
lvl*(tier+1); //scaling unchanged
}

View File

@ -34,8 +34,8 @@ public class Greatshield extends MeleeWeapon {
@Override
public int max(int lvl) {
return 2*(tier+1) + //12 base, down from 30
lvl*(tier-2); //+3 per level, down from +6
return Math.round(2.5f*(tier+1)) + //15 base, down from 30
lvl*(tier-2); //+3 per level, down from +6
}
@Override

View File

@ -750,7 +750,7 @@ items.weapon.enchantments.grim.name=grim %s
items.weapon.enchantments.grim.desc=This powerful enchantment possesses the power to instantly execute an enemy. The effect is more likely to occur the weaker the enemy is.
items.weapon.enchantments.lucky.name=lucky %s
items.weapon.enchantments.lucky.desc=With this enchantment a weapon will either deal its maximum or minimum damage, never an amount in between.
items.weapon.enchantments.lucky.desc=With this enchantment a weapon will deal double damage or no damage at all. Thankfully, the odds are tipped in your favour.
items.weapon.enchantments.projecting.name=projecting %s
items.weapon.enchantments.projecting.desc=With this enchantment melee weapons will gain extra reach. Ranged weapons will be able to penetrate nearby walls.