From 442aebeae866eb5d0f86622145ae6727461bd428 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 12 Sep 2022 16:07:04 -0400 Subject: [PATCH] v1.4.0: adjusted blooming to prefer to not place grass on the hero --- .../items/weapon/enchantments/Blooming.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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 4d007109a..5a764a5b7 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 @@ -46,7 +46,7 @@ public class Blooming extends Weapon.Enchantment { // lvl 0 - 33% // lvl 1 - 50% // lvl 2 - 60% - float procChance = (level+1f)/(level+3f) * procChanceMultiplier(attacker); + float procChance = (level+1f)/(level+1f) * procChanceMultiplier(attacker); if (Random.Float() < procChance) { float powerMulti = Math.max(1f, procChance); @@ -67,11 +67,19 @@ public class Blooming extends Weapon.Enchantment { ArrayList positions = new ArrayList<>(); for (int i : PathFinder.NEIGHBOURS8){ - positions.add(i); + if (defender.pos + i != attacker.pos) { + positions.add(defender.pos + i); + } } Random.shuffle( positions ); + + //The attacker's position is always lowest priority + if (Dungeon.level.adjacent(attacker.pos, defender.pos)){ + positions.add(attacker.pos); + } + for (int i : positions){ - if (plantGrass(defender.pos + i)){ + if (plantGrass(i)){ plants--; if (plants <= 0) { return damage;