diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Amok.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Amok.java index 55db63ec7..d6bbd3223 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Amok.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Amok.java @@ -21,6 +21,8 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.buffs; +import com.shatteredpixel.shatteredpixeldungeon.Dungeon; +import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; @@ -38,9 +40,20 @@ public class Amok extends FlavourBuff { @Override public void detach() { - super.detach(); - if (target instanceof Mob && target.isAlive()) { - ((Mob) target).aggro(null); + //if our target is an enemy, reset any enemy-to-enemy aggro involving it + if (target.isAlive()) { + if (target.alignment == Char.Alignment.ENEMY) { + for (Mob m : Dungeon.level.mobs) { + if (m.alignment == Char.Alignment.ENEMY && m.isTargeting(target)) { + m.aggro(null); + } + if (target instanceof Mob && ((Mob) target).isTargeting(m)){ + ((Mob) target).aggro(null); + } + } + } } + + super.detach(); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java index 104d1a41e..11c7b5b5a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java @@ -89,7 +89,7 @@ public class StoneOfAggression extends Runestone { @Override public void detach() { - //if our target is an enemy, reset the aggro of any enemies targeting it + //if our target is an enemy, reset any enemy-to-enemy aggro involving it if (target.isAlive()) { if (target.alignment == Char.Alignment.ENEMY) { for (Mob m : Dungeon.level.mobs) {