diff options
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/mon-util.cc | 15 | ||||
-rw-r--r-- | crawl-ref/source/mon-util.h | 3 | ||||
-rw-r--r-- | crawl-ref/source/monstuff.cc | 12 | ||||
-rw-r--r-- | crawl-ref/source/mstuff2.cc | 2 |
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!"); |