From 040607c9277312227bf8bebc242f9a8ac6ffcfab Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 4 Feb 2017 13:10:03 -0500 Subject: [PATCH] v0.5.0: many balance changes --- .../shatteredpixeldungeon/actors/hero/Hero.java | 2 +- .../shatteredpixeldungeon/items/armor/Armor.java | 2 +- .../items/armor/glyphs/Entanglement.java | 4 ++-- .../items/armor/glyphs/Viscosity.java | 2 +- .../items/artifacts/DriedRose.java | 10 +++++----- .../shatteredpixeldungeon/items/wands/WandOfFrost.java | 2 +- .../items/weapon/curses/Exhausting.java | 4 ++-- .../items/weapon/melee/Quarterstaff.java | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index 6c56659ae..cafad869f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -962,7 +962,7 @@ public class Hero extends Char { //TODO improve this when I have proper damage source logic if (belongings.armor != null && belongings.armor.hasGlyph(AntiMagic.class) && RingOfElements.FULL.contains(src.getClass())){ - dmg -= Random.NormalIntRange(belongings.armor.DRMin(), belongings.armor.DRMax())/2; + dmg -= Random.NormalIntRange(belongings.armor.DRMin(), belongings.armor.DRMax())/3; } if (subClass == HeroSubClass.BERSERKER && berserk == null){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java index 81187771d..06b3a3645 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java @@ -233,7 +233,7 @@ public class Armor extends EquipableItem { public int DRMin(int lvl){ if (glyph != null && glyph instanceof Stone) - return 2 + 2*lvl; + return 2*lvl; else return lvl; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Entanglement.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Entanglement.java index 6fd0de6de..a66f3a867 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Entanglement.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Entanglement.java @@ -42,10 +42,10 @@ public class Entanglement extends Glyph { int level = Math.max( 0, armor.level() ); - if (Random.Int( 3 ) == 0) { + if (Random.Int( 4 ) == 0) { Buff.prolong( defender, Roots.class, 5 ); - Buff.affect( defender, Earthroot.Armor.class ).level( 5 + level ); + 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 ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Viscosity.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Viscosity.java index 0d743120f..1b4c85009 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Viscosity.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Viscosity.java @@ -118,7 +118,7 @@ public class Viscosity extends Glyph { public boolean act() { if (target.isAlive()) { - int damageThisTick = Math.max(1, damage/10); + int damageThisTick = Math.max(1, (int)(damage*0.15f)); target.damage( damageThisTick, this ); if (target == Dungeon.hero && !target.isAlive()) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java index 1ed016aff..124b47751 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java @@ -205,7 +205,7 @@ public class DriedRose extends Artifact { LockedFloor lock = target.buff(LockedFloor.class); if (charge < chargeCap && !cursed && (lock == null || lock.regenOn())) { - partialCharge += 1/5f; //500 turns to a full charge + partialCharge += 1/4f; //400 turns to a full charge if (partialCharge > 1){ charge++; partialCharge--; @@ -376,14 +376,14 @@ public class DriedRose extends Artifact { @Override public int damageRoll() { - int lvl = (HT-10)/3; - return Random.NormalIntRange( lvl/2, 5+lvl); + int lvl = (HT-10)/4; + return Random.NormalIntRange( 3+lvl/2, 8+lvl); } @Override public int drRoll() { - //defence is equal to the level of rose. - return Random.NormalIntRange(0, (HT-10)/3); + int lvl = (HT-10)/4; + return Random.NormalIntRange(0, 2+lvl); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java index 2bdf34113..b06035e1e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFrost.java @@ -72,7 +72,7 @@ public class WandOfFrost extends DamageWand { if (ch.buff(Chill.class) != null){ //7.5% less damage per turn of chill remaining float chill = ch.buff(Chill.class).cooldown(); - damage = (int)Math.round(damage * Math.pow(0.925f, chill)); + damage = (int)Math.round(damage * Math.pow(0.9f, chill)); } else { ch.sprite.burst( 0xFF99CCFF, level() / 2 + 2 ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/curses/Exhausting.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/curses/Exhausting.java index 94654b9e0..db6f55319 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/curses/Exhausting.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/curses/Exhausting.java @@ -35,8 +35,8 @@ public class Exhausting extends Weapon.Enchantment { @Override public int proc(Weapon weapon, Char attacker, Char defender, int damage ) { - if (attacker == Dungeon.hero && Random.Int(20) == 0) { - Buff.affect(attacker, Weakness.class, Random.Float(5f, 25f)); + if (attacker == Dungeon.hero && Random.Int(15) == 0) { + Buff.affect(attacker, Weakness.class, Random.NormalIntRange(5, 20)); } return damage; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java index 8a26369b1..901179050 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Quarterstaff.java @@ -39,6 +39,6 @@ public class Quarterstaff extends MeleeWeapon { @Override public int defenseFactor(Hero hero) { - return 2; //2 extra defence + return 3; //3 extra defence } }