summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-31 00:11:33 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-31 00:11:33 +0000
commitf77258b7ef4d0c6943bc825956cd027b234c6977 (patch)
treedd2c1df1ac2bc80811fb4dc0c03fce41fa9b240b
parent1692e3c729741d2019bf803e7a7e6bd6d01802ca (diff)
downloadcrawl-ref-f77258b7ef4d0c6943bc825956cd027b234c6977.tar.gz
crawl-ref-f77258b7ef4d0c6943bc825956cd027b234c6977.zip
Add miscellaneous minor fixes.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8034 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/beam.cc10
-rw-r--r--crawl-ref/source/describe.cc2
-rw-r--r--crawl-ref/source/externs.h1
-rw-r--r--crawl-ref/source/mon-util.cc45
-rw-r--r--crawl-ref/source/mon-util.h11
-rw-r--r--crawl-ref/source/monplace.cc5
-rw-r--r--crawl-ref/source/stuff.cc2
7 files changed, 38 insertions, 38 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 99b1e1b0ab..2fb6c3764e 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -2065,7 +2065,7 @@ int mons_adjust_flavoured(monsters *monster, bolt &pbolt, int hurted,
}
else if (original < hurted)
{
- if (mons_is_icy(monster))
+ if (mons_is_icy(monster->type))
{
if (doFlavouredEffects)
simple_monster_message(monster, " melts!");
@@ -2285,7 +2285,7 @@ int mons_adjust_flavoured(monsters *monster, bolt &pbolt, int hurted,
}
else if (hurted > original)
{
- if (mons_is_icy(monster))
+ if (mons_is_icy(monster->type))
{
if (doFlavouredEffects)
simple_monster_message(monster, " melts!");
@@ -2316,7 +2316,7 @@ int mons_adjust_flavoured(monsters *monster, bolt &pbolt, int hurted,
}
else if (resist < 0)
{
- if (mons_is_icy(monster))
+ if (mons_is_icy(monster->type))
{
if (doFlavouredEffects)
simple_monster_message(monster, " melts!");
@@ -2375,10 +2375,10 @@ static bool _monster_resists_mass_enchantment(monsters *monster,
if (mons_friendly(monster))
return (true);
- if (mons_class_holiness(monster->type) != MH_UNDEAD)
+ if (mons_holiness(monster) != MH_UNDEAD)
return (true);
- if (check_mons_resist_magic( monster, pow ))
+ if (check_mons_resist_magic(monster, pow))
{
simple_monster_message(monster,
mons_immune_magic(monster)? " is unaffected."
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index a2ba75be49..3cd82d7aff 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -2727,7 +2727,7 @@ void describe_monsters(const monsters& mons)
break;
}
- if (!mons.can_use_stairs())
+ if (!mons_can_use_stairs(&mons))
{
body << mons_pronoun(static_cast<monster_type>(mons.type),
PRONOUN_CAP, true)
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h
index 134c247218..41885c7f7a 100644
--- a/crawl-ref/source/externs.h
+++ b/crawl-ref/source/externs.h
@@ -1338,7 +1338,6 @@ public:
bool is_travelling() const;
bool is_patrolling() const;
- bool can_use_stairs() const;
bool needs_transit() const;
void set_transit(const level_id &destination);
bool find_place_to_live(bool near_player = false);
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index 4870fc5d0a..606394de73 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -594,17 +594,12 @@ bool mons_is_poisoner(const monsters *mon)
|| attk_flavour == AF_POISON_STR);
}
-bool mons_is_icy(const monsters *mon)
+bool mons_is_icy(int mc)
{
- return (mons_is_icy(mon->type));
-}
-
-bool mons_is_icy(int mtype)
-{
- return (mtype == MONS_ICE_BEAST
- || mtype == MONS_SIMULACRUM_SMALL
- || mtype == MONS_SIMULACRUM_LARGE
- || mtype == MONS_ICE_STATUE);
+ return (mc == MONS_ICE_BEAST
+ || mc == MONS_SIMULACRUM_SMALL
+ || mc == MONS_SIMULACRUM_LARGE
+ || mc == MONS_ICE_STATUE);
}
bool invalid_monster(const monsters *mon)
@@ -816,7 +811,7 @@ bool mons_see_invis(const monsters *mon)
return (false);
}
-bool mon_can_see_monster( const monsters *mon, const monsters *targ )
+bool mon_can_see_monster(const monsters *mon, const monsters *targ)
{
if (!mon->mon_see_grid(targ->pos()))
return (false);
@@ -824,10 +819,9 @@ bool mon_can_see_monster( const monsters *mon, const monsters *targ )
return (mons_monster_visible(mon, targ));
}
-
// This does NOT do line of sight! It checks the targ's visibility
// with respect to mon's perception, but doesn't do walls or range.
-bool mons_monster_visible( 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))
@@ -840,7 +834,7 @@ bool mons_monster_visible( const monsters *mon, const monsters *targ )
// This does NOT do line of sight! It checks the player's visibility
// with respect to mon's perception, but doesn't do walls or range.
-bool mons_player_visible( const monsters *mon )
+bool mons_player_visible(const monsters *mon)
{
if (you.invisible())
{
@@ -935,6 +929,16 @@ bool mons_can_be_zombified(const monsters *mon)
&& !mons_enslaved_body_and_soul(mon));
}
+bool mons_class_can_use_stairs(int mc)
+{
+ return (!mons_class_is_zombified(mc));
+}
+
+bool mons_can_use_stairs(const monsters *mon)
+{
+ return (!mons_is_zombified(mon) || mons_enslaved_intact_soul(mon));
+}
+
bool mons_enslaved_body_and_soul(const monsters *mon)
{
return (testbits(mon->flags, MF_ENSLAVED_SOUL)
@@ -3163,7 +3167,7 @@ bool monster_shover(const monsters *m)
// Monsters too stupid to use stairs (e.g. zombified undead) are also
// disqualified.
- if (!m->can_use_stairs())
+ if (!mons_can_use_stairs(m))
return (false);
// Smiters profit from staying back and smiting.
@@ -3206,8 +3210,8 @@ bool monster_senior(const monsters *m1, const monsters *m2)
// If they're the same holiness, monsters smart enough to use stairs can
// push past monsters too stupid to use stairs (so that e.g. non-zombified
// undead can push past zombified undead).
- if (m1->holiness() == m2->holiness() && m1->can_use_stairs()
- && !m2->can_use_stairs())
+ if (m1->holiness() == m2->holiness() && mons_can_use_stairs(m1)
+ && !mons_can_use_stairs(m2))
{
return (true);
}
@@ -5846,18 +5850,13 @@ bool monsters::is_patrolling() const
return (!patrol_point.origin());
}
-bool monsters::can_use_stairs() const
-{
- return (!mons_is_zombified(this) || mons_enslaved_intact_soul(this));
-}
-
bool monsters::needs_transit() const
{
return ((mons_is_unique(type)
|| (flags & MF_BANISHED)
|| you.level_type == LEVEL_DUNGEON
&& hit_dice > 8 + random2(25)
- && can_use_stairs())
+ && mons_can_use_stairs(this))
&& !mons_is_summoned(this));
}
diff --git a/crawl-ref/source/mon-util.h b/crawl-ref/source/mon-util.h
index 01eb8b8545..751e4a8ec4 100644
--- a/crawl-ref/source/mon-util.h
+++ b/crawl-ref/source/mon-util.h
@@ -493,9 +493,9 @@ mon_itemuse_type mons_itemuse(const monsters *mon);
* *********************************************************************** */
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 );
-bool mons_player_visible( const monsters *mon );
+bool mon_can_see_monster(const monsters *mon, const monsters *targ);
+bool mons_monster_visible(const monsters *mon, const monsters *targ);
+bool mons_player_visible(const monsters *mon);
// last updated 12may2000 {dlb}
@@ -638,6 +638,8 @@ bool mons_class_is_zombified(int mc);
bool mons_is_zombified(const monsters *monster);
bool mons_class_can_be_zombified(int mc);
bool mons_can_be_zombified(const monsters *mon);
+bool mons_class_can_use_stairs(int mc);
+bool mons_can_use_stairs(const monsters *mon);
bool mons_enslaved_body_and_soul(const monsters *mon);
bool mons_enslaved_twisted_soul(const monsters *mon);
bool mons_enslaved_intact_soul(const monsters *mon);
@@ -765,8 +767,7 @@ bool mons_is_holy(const monsters *mon);
bool mons_is_evil(const monsters *mon);
bool mons_is_unholy(const monsters *mon);
bool mons_is_evil_or_unholy(const monsters *mon);
-bool mons_is_icy(const monsters *mon);
-bool mons_is_icy(int mtype);
+bool mons_is_icy(int mc);
bool mons_has_lifeforce(const monsters *mon);
monster_type mons_genus(int mc);
monster_type mons_species(int mc);
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc
index 62c8cb5df3..22cc0b19e7 100644
--- a/crawl-ref/source/monplace.cc
+++ b/crawl-ref/source/monplace.cc
@@ -596,9 +596,10 @@ static monster_type _resolve_monster_type(monster_type mon_type,
// Now pick a monster of the given branch and level.
mon_type = pick_random_monster(place, *lev_mons, *lev_mons);
- // Don't allow zombified monsters to be placed at stairs.
+ // Don't allow monsters too stupid to use stairs (e.g.
+ // zombified undead) to be placed at stairs.
if (proximity != PROX_NEAR_STAIRS
- || !mons_class_is_zombified(mon_type))
+ || mons_class_can_use_stairs(mon_type))
{
break;
}
diff --git a/crawl-ref/source/stuff.cc b/crawl-ref/source/stuff.cc
index 6a2eb44922..ee9a82986b 100644
--- a/crawl-ref/source/stuff.cc
+++ b/crawl-ref/source/stuff.cc
@@ -342,8 +342,8 @@ static bool _tag_follower_at(const coord_def &pos)
if (fmenv->type == MONS_PLAYER_GHOST
|| !fmenv->alive()
- || !fmenv->can_use_stairs()
|| fmenv->incapacitated()
+ || !mons_can_use_stairs(fmenv)
|| mons_is_stationary(fmenv))
{
return (false);