v0.2.4b: minor tweaks to mob targeting behaviour
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
|
|
||||||
public class Amok extends FlavourBuff {
|
public class Amok extends FlavourBuff {
|
||||||
@@ -25,8 +26,15 @@ public class Amok extends FlavourBuff {
|
|||||||
public int icon() {
|
public int icon() {
|
||||||
return BuffIndicator.AMOK;
|
return BuffIndicator.AMOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
public void detach() {
|
||||||
|
super.detach();
|
||||||
|
if (target instanceof Mob)
|
||||||
|
((Mob)target).aggro( null );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Amok";
|
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)
|
//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 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 &&
|
if ( enemy != null &&
|
||||||
!enemy.isAlive() || state == WANDERING ||
|
!enemy.isAlive() || state == WANDERING ||
|
||||||
(buff( Amok.class ) != null && enemy == Dungeon.hero ) ||
|
(buff( Amok.class ) != null && enemy == Dungeon.hero ))
|
||||||
(buff( Amok.class ) == null && enemy instanceof Mob && ((Mob) enemy).hostile ))
|
|
||||||
enemy = null;
|
enemy = null;
|
||||||
|
|
||||||
//if there is no current target, find a new one.
|
//if there is no current target, find a new one.
|
||||||
|
|||||||
Reference in New Issue
Block a user