v0.2.4: corrected some mob AI faults.
This commit is contained in:
parent
794adb8e7a
commit
ce619510ea
|
@ -120,7 +120,7 @@ public class Bee extends Mob {
|
|||
//find all mobs near the pot
|
||||
HashSet<Char> enemies = new HashSet<Char>();
|
||||
for (Mob mob : Dungeon.level.mobs)
|
||||
if (!(mob instanceof Bee) && Level.distance(mob.pos, potPos) <= 3 && mob.hostile)
|
||||
if (!(mob instanceof Bee) && Level.distance(mob.pos, potPos) <= 3 && (mob.hostile || mob.ally))
|
||||
enemies.add(mob);
|
||||
|
||||
//pick one, if there are none, check if the hero is near the pot, go for them, otherwise go for nothing.
|
||||
|
|
|
@ -168,10 +168,12 @@ 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 a friendly (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 &&
|
||||
!enemy.isAlive() || state == WANDERING ||
|
||||
(buff( Amok.class ) != null && (enemy == Dungeon.hero || (enemy instanceof Mob && ((Mob)enemy).ally))))
|
||||
(buff( Amok.class ) != null && enemy == Dungeon.hero ) ||
|
||||
(buff( Amok.class ) == null && enemy instanceof Mob && ((Mob) enemy).hostile ))
|
||||
enemy = null;
|
||||
|
||||
//if there is no current target, find a new one.
|
||||
|
|
Loading…
Reference in New Issue
Block a user