summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-10-22 18:18:16 +0200
committerRobert Vollmert <rvollmert@gmx.net>2009-10-22 22:37:07 +0200
commit346761406bb570a727aea4d844e875a1e7cccf8b (patch)
tree042340cb0f02cf1af5edd04d098098f4d7b0dd62
parent78f7b9d8e5921ef3e1f64d01c802436a654c177a (diff)
downloadcrawl-ref-346761406bb570a727aea4d844e875a1e7cccf8b.tar.gz
crawl-ref-346761406bb570a727aea4d844e875a1e7cccf8b.zip
Remove mons_see_invis in favour of monsters::can_see_invisible.
-rw-r--r--crawl-ref/source/beam.cc2
-rw-r--r--crawl-ref/source/directn.cc4
-rw-r--r--crawl-ref/source/mon-util.cc24
-rw-r--r--crawl-ref/source/mon-util.h1
4 files changed, 12 insertions, 19 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 29aa469aac..a8cf344bcc 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2792,7 +2792,7 @@ void fire_tracer(const monsters *monster, bolt &pbolt, bool explode_only)
pbolt.is_tracer = true;
pbolt.source = monster->pos();
pbolt.beam_source = monster->mindex();
- pbolt.can_see_invis = mons_see_invis(monster);
+ pbolt.can_see_invis = monster->can_see_invisible();
pbolt.smart_monster = (mons_intel(monster) >= I_NORMAL);
pbolt.attitude = mons_attitude(monster);
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index e4181e26e6..9c4a05d51d 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -3148,14 +3148,14 @@ static std::string _get_monster_desc(const monsters *mon)
// invisible creatures.
if (mons_behaviour_perceptible(mon) && !mons_is_sleeping(mon)
&& !mons_is_confused(mon)
- && (mons_see_invis(mon) || mons_sense_invis(mon)))
+ && (mon->can_see_invisible() || mons_sense_invis(mon)))
{
const actor* foe = mon->get_foe();
if (foe && foe->invisible() && !mons_is_fleeing(mon))
{
if (!you.can_see(foe))
text += pronoun + " is looking at something unseen.\n";
- else if (mons_see_invis(mon))
+ else if (mon->can_see_invisible())
{
text += pronoun + " is watching "
+ foe->name(DESC_NOCAP_THE)
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 8829e968cb..d15649f65f 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -898,18 +898,6 @@ bool mons_sense_invis(const monsters *mon)
return (mons_class_flag(mon->type, M_SENSE_INVIS));
}
-bool mons_see_invis(const monsters *mon)
-{
- if (mons_is_ghost_demon(mon->type))
- return (mon->ghost->see_invis);
- else if (mons_class_flag(mon->type, M_SEE_INVIS))
- return (true);
- else if (_scan_mon_inv_randarts(mon, ARTP_EYESIGHT) > 0)
- return (true);
-
- return (false);
-}
-
bool mon_can_see_monster(const monsters *mon, const monsters *targ)
{
if (!mon->mon_see_cell(targ->pos()))
@@ -923,7 +911,7 @@ bool mon_can_see_monster(const monsters *mon, const monsters *targ)
bool mons_monster_visible(const monsters *mon, const monsters *targ)
{
if (targ->has_ench(ENCH_SUBMERGED)
- || targ->invisible() && !mons_see_invis(mon))
+ || targ->invisible() && !mon->can_see_invisible())
{
return (false);
}
@@ -940,7 +928,7 @@ bool mons_player_visible(const monsters *mon)
if (player_in_water())
return (true);
- if (mons_see_invis(mon) || mons_sense_invis(mon))
+ if (mon->can_see_invisible() || mons_sense_invis(mon))
return (true);
return (false);
@@ -8006,7 +7994,13 @@ bool monsters::needs_berserk(bool check_spells) const
bool monsters::can_see_invisible() const
{
- return (mons_see_invis(this));
+ if (mons_is_ghost_demon(this->type))
+ return (this->ghost->see_invis);
+ else if (mons_class_flag(this->type, M_SEE_INVIS))
+ return (true);
+ else if (_scan_mon_inv_randarts(this, ARTP_EYESIGHT) > 0)
+ return (true);
+ return (false);
}
bool monsters::invisible() const
diff --git a/crawl-ref/source/mon-util.h b/crawl-ref/source/mon-util.h
index afc4aace5a..1cb6f39f8d 100644
--- a/crawl-ref/source/mon-util.h
+++ b/crawl-ref/source/mon-util.h
@@ -513,7 +513,6 @@ mon_itemeat_type mons_itemeat(const monsters *mon);
/* ***********************************************************************
* called from: beam - fight - monstuff - view
* *********************************************************************** */
-bool mons_see_invis(const monsters *mon);
bool mons_sense_invis(const monsters *mon);
bool mon_can_see_monster(const monsters *mon, const monsters *targ);
bool mons_monster_visible(const monsters *mon, const monsters *targ);