summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/mon-util.cc15
-rw-r--r--crawl-ref/source/mon-util.h3
-rw-r--r--crawl-ref/source/monstuff.cc12
-rw-r--r--crawl-ref/source/mstuff2.cc2
4 files changed, 19 insertions, 13 deletions
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 13dc10e7c4..1dbf56f850 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -2170,6 +2170,11 @@ bool mons_is_caught(const monsters *m)
return (m->has_ench(ENCH_HELD));
}
+bool mons_is_sleeping(const monsters *m)
+{
+ return (m->behaviour == BEH_SLEEP);
+}
+
bool mons_is_fleeing(const monsters *m)
{
return (m->behaviour == BEH_FLEE);
@@ -2185,9 +2190,9 @@ bool mons_is_cornered(const monsters *m)
return (m->behaviour == BEH_CORNERED);
}
-bool mons_is_sleeping(const monsters *m)
+bool mons_is_lurking(const monsters *m)
{
- return (m->behaviour == BEH_SLEEP);
+ return (m->behaviour == BEH_LURK);
}
bool mons_is_batty(const monsters *m)
@@ -4932,7 +4937,7 @@ void monsters::add_enchantment_effect(const mon_enchant &ench, bool quiet)
if (has_ench(ENCH_SUBMERGED))
del_ench(ENCH_SUBMERGED);
- if (behaviour == BEH_LURK)
+ if (mons_is_lurking(this))
{
behaviour = BEH_WANDER;
behaviour_event(this, ME_EVAL);
@@ -4976,7 +4981,7 @@ void monsters::add_enchantment_effect(const mon_enchant &ench, bool quiet)
if (type == MONS_TRAPDOOR_SPIDER && has_ench(ENCH_SUBMERGED))
del_ench(ENCH_SUBMERGED);
- if (behaviour == BEH_LURK)
+ if (mons_is_lurking(this))
{
behaviour = BEH_WANDER;
behaviour_event(this, ME_EVAL);
@@ -5691,7 +5696,7 @@ void monsters::apply_enchantment(const mon_enchant &me)
else if (type == MONS_TRAPDOOR_SPIDER)
{
// This should probably never happen.
- if (behaviour != BEH_LURK)
+ if (!mons_is_lurking(this))
del_ench(ENCH_SUBMERGED);
break;
}
diff --git a/crawl-ref/source/mon-util.h b/crawl-ref/source/mon-util.h
index c2f871fcb8..ed666cdb6a 100644
--- a/crawl-ref/source/mon-util.h
+++ b/crawl-ref/source/mon-util.h
@@ -651,10 +651,11 @@ bool mons_is_chaotic(const monsters *mon);
bool mons_is_poisoner(const monsters *mon);
bool mons_is_confused(const monsters *m);
bool mons_is_caught(const monsters *m);
+bool mons_is_sleeping(const monsters *m);
bool mons_is_fleeing(const monsters *m);
bool mons_is_panicking(const monsters *m);
bool mons_is_cornered(const monsters *m);
-bool mons_is_sleeping(const monsters *m);
+bool mons_is_lurking(const monsters *m);
bool mons_is_batty(const monsters *m);
bool mons_was_seen(const monsters *m);
bool mons_is_known_mimic(const monsters *m);
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index d8488cf47a..45cac15ee8 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -2147,7 +2147,7 @@ void behaviour_event( monsters *mon, int event, int src,
// Do any resultant foe or state changes.
_handle_behaviour( mon );
- if (old_behaviour == BEH_LURK && mon->behaviour != BEH_LURK)
+ if (old_behaviour == BEH_LURK && !mons_is_lurking(mon))
{
switch(event)
{
@@ -3640,10 +3640,10 @@ static void _handle_nearby_ability(monsters *monster)
if (monster_can_submerge(monster, grd[monster->x][monster->y])
&& !player_beheld_by(monster) // No submerging if player entranced.
- && monster->behaviour != BEH_LURK // Handled elsewhere
+ && !mons_is_lurking(monster) // Handled elsewhere.
&& (one_chance_in(5)
- || grid_distance( monster->x, monster->y,
- you.x_pos, you.y_pos ) > 1
+ || grid_distance(monster->x, monster->y,
+ you.x_pos, you.y_pos) > 1
// FIXME This is better expressed as a
// function such as
// monster_has_ranged_attack:
@@ -5709,10 +5709,10 @@ static void _handle_monster_move(int i, monsters *monster)
}
}
- if (monster->behaviour == BEH_LURK)
+ if (mons_is_lurking(monster))
{
// Lurking monsters only stop lurking if their target is right
- // next tp them, otherwise they just sit there.
+ // next to them, otherwise they just sit there.
if (monster->foe != MHITNOT
&& abs(monster->target_x - monster->x) <= 1
&& abs(monster->target_y - monster->y) <= 1)
diff --git a/crawl-ref/source/mstuff2.cc b/crawl-ref/source/mstuff2.cc
index 6fe4425b0c..ee5d1cd4ad 100644
--- a/crawl-ref/source/mstuff2.cc
+++ b/crawl-ref/source/mstuff2.cc
@@ -1000,7 +1000,7 @@ void monster_teleport(struct monsters *monster, bool instan, bool silent)
}
bool was_seen = player_monster_visible(monster) && mons_near(monster)
- && monster->behaviour != BEH_LURK;
+ && !mons_is_lurking(monster);
if (!silent)
simple_monster_message(monster, " disappears!");