diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blazing.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blazing.java index a4071688d..0da66fd77 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blazing.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blazing.java @@ -44,10 +44,11 @@ public class Blazing extends Weapon.Enchantment { if (Random.Int( level + 3 ) >= 2) { - if (defender.buff(Burning.class) != null || Dungeon.level.flamable[defender.pos]){ + if (defender.buff(Burning.class) != null){ Buff.affect(defender, Burning.class).reignite(defender, 8f); + defender.damage( Random.NormalIntRange( 1, 3 ), this ); } else { - Buff.affect(defender, Burning.class).reignite(defender, 4f); + Buff.affect(defender, Burning.class).reignite(defender, 8f); } defender.sprite.emitter().burst( FlameParticle.FACTORY, level + 1 ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blocking.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blocking.java index 5222d21a8..d01956bef 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blocking.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blocking.java @@ -41,7 +41,7 @@ public class Blocking extends Weapon.Enchantment { int level = Math.max( 0, weapon.level() ); - Buff.prolong(attacker, BlockBuff.class, 1 + level/2).setBlocking(level + 1); + Buff.prolong(attacker, BlockBuff.class, 2 + level/2).setBlocking(level + 1); return damage; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blooming.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blooming.java index 593fc748d..47ab8c6ae 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blooming.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Blooming.java @@ -49,19 +49,24 @@ public class Blooming extends Weapon.Enchantment { if (Random.Int( level + 3 ) >= 2) { - if (!plantGrass(defender.pos)){ - ArrayList positions = new ArrayList<>(); - for (int i : PathFinder.NEIGHBOURS8){ - positions.add(i); - } - Random.shuffle( positions ); - for (int i : positions){ - if (plantGrass(defender.pos + i)){ - break; - } + boolean secondPlant = level > Random.Int(20); + if (plantGrass(defender.pos)){ + if (secondPlant) secondPlant = false; + else return damage; + } + + ArrayList positions = new ArrayList<>(); + for (int i : PathFinder.NEIGHBOURS8){ + positions.add(i); + } + Random.shuffle( positions ); + for (int i : positions){ + if (plantGrass(defender.pos + i)){ + if (secondPlant) secondPlant = false; + else return damage; } } - + } return damage; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java index 912d56d7c..5b8427be8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java @@ -42,8 +42,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 - 40% based on how low hp the enemy is, plus 2% per level - float maxChance = 0.4f + .02f*level; + //scales from 0 - 50% based on how low hp the enemy is, plus 5% per level + float maxChance = 0.5f + .05f*level; float chanceMulti = (float)Math.pow( ((defender.HT - enemyHealth) / (float)defender.HT), 2); float chance = maxChance * chanceMulti; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Lucky.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Lucky.java index 6b1afb504..e6fbb77b4 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Lucky.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Lucky.java @@ -39,8 +39,8 @@ public class Lucky extends Weapon.Enchantment { public int proc( Weapon weapon, Char attacker, Char defender, int damage ) { int level = Math.max( 0, weapon.level() ); - //5% chance, + 1% per weapon level - if (defender.HP <= damage && Random.Float() < (0.05f + .01f*level)){ + //10% chance, + 1% per weapon level + if (defender.HP <= damage && Random.Float() < (0.1f + .01f*level)){ Buff.affect(defender, LuckProc.class); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java index 3f64f1318..f7f4fecb0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java @@ -50,7 +50,6 @@ public class Shocking extends Weapon.Enchantment { affected.clear(); arcs.clear(); - arcs.add(new Lightning.Arc(attacker.sprite.center(), defender.sprite.center())); arc(attacker, defender, 2); affected.remove(defender); //defender isn't hurt by lightning diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Swift.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Swift.java index 94e341f6b..c61bcdf0d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Swift.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Swift.java @@ -45,7 +45,7 @@ public class Swift extends Weapon.Enchantment { int level = Math.max( 0, weapon.level() ); if (Random.Int( level + 8 ) >= 7) { - Buff.prolong(attacker, SwiftAttack.class, 2).setSourceType(weapon instanceof MeleeWeapon); + Buff.prolong(attacker, SwiftAttack.class, 5).setSourceType(weapon instanceof MeleeWeapon); } return damage; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vampiric.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vampiric.java index 5a5ff2341..8880990e8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vampiric.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vampiric.java @@ -35,9 +35,9 @@ public class Vampiric extends Weapon.Enchantment { @Override public int proc( Weapon weapon, Char attacker, Char defender, int damage ) { - //heals for 0-10% of damage dealt, based on missing HP + //heals for 2.5-15% of damage dealt, based on missing HP float missingPercent = (attacker.HT - attacker.HP) / (float)attacker.HT; - float healPercent = missingPercent * 0.1f; + float healPercent = .025f + (missingPercent * 0.125f); int healAmt = Math.round(healPercent * damage); healAmt = Math.min( healAmt, attacker.HT - attacker.HP );