v0.6.0: balance changes
This commit is contained in:
parent
8ead7fe7be
commit
7b47dc5200
|
@ -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 );
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
|
||||
|
|
|
@ -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()) {
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue
Block a user