v0.2.4b: minor tweaks to mob targeting behaviour
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||
|
||||
public class Amok extends FlavourBuff {
|
||||
@@ -25,8 +26,15 @@ public class Amok extends FlavourBuff {
|
||||
public int icon() {
|
||||
return BuffIndicator.AMOK;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@Override
|
||||
public void detach() {
|
||||
super.detach();
|
||||
if (target instanceof Mob)
|
||||
((Mob)target).aggro( null );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Amok";
|
||||
}
|
||||
|
||||
@@ -169,11 +169,9 @@ public abstract class Mob extends Char {
|
||||
|
||||
//resets target if: the target is dead, the target has been lost (wandering)
|
||||
//or if the mob is amoked and targeting the hero (will try to target something else)
|
||||
//or if the mob is not amoked, and is targeting a hostile mob
|
||||
if ( enemy != null &&
|
||||
!enemy.isAlive() || state == WANDERING ||
|
||||
(buff( Amok.class ) != null && enemy == Dungeon.hero ) ||
|
||||
(buff( Amok.class ) == null && enemy instanceof Mob && ((Mob) enemy).hostile ))
|
||||
(buff( Amok.class ) != null && enemy == Dungeon.hero ))
|
||||
enemy = null;
|
||||
|
||||
//if there is no current target, find a new one.
|
||||
|
||||
Reference in New Issue
Block a user