v0.3.3b: fixed crashes with mobs fleeing, further tweaked thief behaviour
This commit is contained in:
parent
e03988defe
commit
6d3bce93e2
|
@ -642,7 +642,7 @@ public abstract class Mob extends Char {
|
||||||
public boolean act( boolean enemyInFOV, boolean justAlerted ) {
|
public boolean act( boolean enemyInFOV, boolean justAlerted ) {
|
||||||
enemySeen = enemyInFOV;
|
enemySeen = enemyInFOV;
|
||||||
//loses target when 0-dist rolls a 6 or greater.
|
//loses target when 0-dist rolls a 6 or greater.
|
||||||
if (!enemyInFOV && 1 + Random.Int(Level.distance(pos, target)) >= 6){
|
if (enemy == null || !enemyInFOV && 1 + Random.Int(Level.distance(pos, target)) >= 6){
|
||||||
target = -1;
|
target = -1;
|
||||||
} else {
|
} else {
|
||||||
target = enemy.pos;
|
target = enemy.pos;
|
||||||
|
|
|
@ -22,6 +22,7 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||||
|
@ -186,7 +187,7 @@ public class Thief extends Mob {
|
||||||
private class Fleeing extends Mob.Fleeing {
|
private class Fleeing extends Mob.Fleeing {
|
||||||
@Override
|
@Override
|
||||||
protected void nowhereToRun() {
|
protected void nowhereToRun() {
|
||||||
if (buff( Terror.class ) == null) {
|
if (buff( Terror.class ) == null && buff( Corruption.class ) == null) {
|
||||||
if (enemySeen) {
|
if (enemySeen) {
|
||||||
sprite.showStatus(CharSprite.NEGATIVE, TXT_RAGE);
|
sprite.showStatus(CharSprite.NEGATIVE, TXT_RAGE);
|
||||||
state = HUNTING;
|
state = HUNTING;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user