summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorabrahamwl <abrahamwl@gmail.com>2009-10-31 06:16:23 -0700
committerSteven Noonan <steven@uplinklabs.net>2009-10-31 06:29:17 -0700
commit76596a5ea224f9ed96f1282b526a86a32032c547 (patch)
treeedc249c3ea9235b78e1cf405c62579a1e58302a4
parente232445b8157b09e53b3897acbf9e47183d98a96 (diff)
downloadcrawl-ref-76596a5ea224f9ed96f1282b526a86a32032c547.tar.gz
crawl-ref-76596a5ea224f9ed96f1282b526a86a32032c547.zip
Combine mons_is_submerged(monsters *m) into monsters::submerged()
...and replace all references to mons_is_submerged() with submerged(). It's a dirty job, but someone's got to do it. (Thank God for regex!)
-rw-r--r--crawl-ref/source/acr.cc2
-rw-r--r--crawl-ref/source/delay.cc2
-rw-r--r--crawl-ref/source/misc.cc2
-rw-r--r--crawl-ref/source/mon-util.cc35
-rw-r--r--crawl-ref/source/mon-util.h1
-rw-r--r--crawl-ref/source/monstuff.cc26
-rw-r--r--crawl-ref/source/player.cc6
-rw-r--r--crawl-ref/source/terrain.cc2
-rw-r--r--crawl-ref/source/tilepick.cc2
-rw-r--r--crawl-ref/source/view.cc2
-rw-r--r--crawl-ref/source/xom.cc2
11 files changed, 39 insertions, 43 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index bb6c9cbc4c..75a813d937 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -3892,7 +3892,7 @@ static void _move_player(coord_def move)
coord_def mon_swap_dest;
- if (targ_monst && !mons_is_submerged(targ_monst))
+ if (targ_monst && !targ_monst->submerged())
{
if (can_swap_places && !beholder)
{
diff --git a/crawl-ref/source/delay.cc b/crawl-ref/source/delay.cc
index e308fb3e6a..8cc8bce644 100644
--- a/crawl-ref/source/delay.cc
+++ b/crawl-ref/source/delay.cc
@@ -1933,7 +1933,7 @@ static bool _paranoid_option_disable( activity_interrupt_type ai,
if (ai == AI_HIT_MONSTER || ai == AI_MONSTER_ATTACKS)
{
const monsters* mon = static_cast<const monsters*>(at.data);
- if (mon && !mon->visible_to(&you) && !mons_is_submerged(mon))
+ if (mon && !mon->visible_to(&you) && !mon->submerged())
autotoggle_autopickup(true);
return (true);
}
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc
index 4cdd12829e..b17bbb422f 100644
--- a/crawl-ref/source/misc.cc
+++ b/crawl-ref/source/misc.cc
@@ -2799,7 +2799,7 @@ std::vector<monsters*> get_nearby_monsters(bool want_move,
{
if (mon->alive()
&& (!require_visible || mon->visible_to(&you))
- && !mons_is_submerged(mon)
+ && !mon->submerged()
&& !mons_is_unknown_mimic(mon)
&& (!dangerous_only || !mons_is_safe(mon, want_move,
consider_user_options)))
diff --git a/crawl-ref/source/mon-util.cc b/crawl-ref/source/mon-util.cc
index f8d3085c05..67c6e4fca6 100644
--- a/crawl-ref/source/mon-util.cc
+++ b/crawl-ref/source/mon-util.cc
@@ -2058,7 +2058,7 @@ static std::string _str_monam(const monsters& mon, description_level_type desc,
return make_stringf("INVALID MONSTER (#%d)", mon.type);
const bool arena_submerged = crawl_state.arena && !force_seen
- && mons_is_submerged(&mon);
+ && mon.submerged();
// Handle non-visible case first.
if (!force_seen && !you.can_see(&mon) && !arena_submerged)
@@ -2699,21 +2699,6 @@ mon_attitude_type mons_attitude(const monsters *m)
return ATT_HOSTILE;
}
-bool mons_is_submerged(const monsters *m)
-{
- // FIXME, switch to 4.1's MF_SUBMERGED system which is much cleaner.
- if (m->has_ench(ENCH_SUBMERGED))
- return (true);
-
- if (grd(m->pos()) == DNGN_DEEP_WATER
- && !monster_habitable_grid(m, DNGN_DEEP_WATER))
- {
- return (true);
- }
-
- return (false);
-}
-
bool mons_is_paralysed(const monsters *m)
{
return (m->has_ench(ENCH_PARALYSIS));
@@ -3732,7 +3717,19 @@ bool monsters::wants_submerge() const
bool monsters::submerged() const
{
- return (mons_is_submerged(this));
+ // FIXME, switch to 4.1's MF_SUBMERGED system which is much cleaner.
+ // Can't find any reference to MF_SUBMERGED anywhere. Don't know what
+ // this means. - abrahamwl
+ if (has_ench(ENCH_SUBMERGED))
+ return (true);
+
+ if (grd(pos()) == DNGN_DEEP_WATER
+ && !monster_habitable_grid(this, DNGN_DEEP_WATER))
+ {
+ return (true);
+ }
+
+ return (false);
}
bool monsters::extra_balanced() const
@@ -5854,14 +5851,14 @@ bool monsters::fumbles_attack(bool verbose)
mprf("%s splashes around in the water.",
this->name(DESC_CAP_THE).c_str());
}
- else if (player_can_hear(this->pos()))
+ else if (player_can_hear(pos()))
mpr("You hear a splashing noise.", MSGCH_SOUND);
}
return (true);
}
- if (mons_is_submerged(this))
+ if (submerged())
return (true);
return (false);
diff --git a/crawl-ref/source/mon-util.h b/crawl-ref/source/mon-util.h
index ca3d87c4f9..02ff85115b 100644
--- a/crawl-ref/source/mon-util.h
+++ b/crawl-ref/source/mon-util.h
@@ -838,7 +838,6 @@ bool mons_is_fast( const monsters *mon );
bool mons_is_insubstantial(int mc);
bool mons_has_blood(int mc);
-bool mons_is_submerged(const monsters *m);
bool invalid_monster(const monsters *mon);
bool invalid_monster_type(monster_type mt);
diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc
index c7f5f5c775..77bdebd4e3 100644
--- a/crawl-ref/source/monstuff.cc
+++ b/crawl-ref/source/monstuff.cc
@@ -2860,7 +2860,7 @@ bool swap_check(monsters *monster, coord_def &loc, bool quiet)
// monster has tentacles).
bool monster_can_hit_monster(monsters *monster, const monsters *targ)
{
- if (!mons_is_submerged(targ) || monster->has_damage_type(DVORP_TENTACLE))
+ if (!targ->submerged() || monster->has_damage_type(DVORP_TENTACLE))
return (true);
if (grd(targ->pos()) != DNGN_SHALLOW_WATER)
@@ -5653,7 +5653,7 @@ static void _handle_nearby_ability(monsters *monster)
if (!foe
|| !monster->can_see(foe)
|| monster->asleep()
- || mons_is_submerged(monster))
+ || monster->submerged())
{
return;
}
@@ -5808,7 +5808,7 @@ static bool _siren_movement_effect(const monsters *monster)
{
swapping = true;
}
- else if (!mons_is_submerged(mon))
+ else if (!mon->submerged())
do_resist = true;
}
@@ -5865,7 +5865,7 @@ static bool _handle_special_ability(monsters *monster, bolt & beem)
// Slime creatures can split while out of sight.
if ((!mons_near(monster)
|| monster->asleep()
- || mons_is_submerged(monster))
+ || monster->submerged())
&& monster->mons_species() != MONS_SLIME_CREATURE)
{
return (false);
@@ -6442,7 +6442,7 @@ static bool _handle_reaching(monsters *monster)
bool ret = false;
const int wpn = monster->inv[MSLOT_WEAPON];
- if (mons_is_submerged(monster))
+ if (monster->submerged())
return (false);
if (mons_aligned(monster_index(monster), monster->foe))
@@ -6504,7 +6504,7 @@ static bool _handle_scroll(monsters *monster)
// Yes, there is a logic to this ordering {dlb}:
if (monster->asleep()
|| mons_is_confused(monster)
- || mons_is_submerged(monster)
+ || monster->submerged()
|| monster->inv[MSLOT_SCROLL] == NON_ITEM
|| !one_chance_in(3))
{
@@ -6845,7 +6845,7 @@ static bool _handle_spell(monsters *monster, bolt &beem)
// Yes, there is a logic to this ordering {dlb}:
if (monster->asleep()
- || mons_is_submerged(monster)
+ || monster->submerged()
|| !mons_class_flag(monster->type, M_SPELLCASTER)
&& !spellcasting_poly
&& draco_breath == SPELL_NO_SPELL)
@@ -7557,7 +7557,7 @@ static void _handle_monster_move(monsters *monster)
// Handle clouds on nonmoving monsters.
if (monster->speed == 0
&& env.cgrid(monster->pos()) != EMPTY_CLOUD
- && !mons_is_submerged(monster))
+ && !monster->submerged())
{
_mons_in_cloud( monster );
}
@@ -7677,7 +7677,7 @@ static void _handle_monster_move(monsters *monster)
{
if (avoid_cloud)
{
- if (mons_is_submerged(monster))
+ if (monster->submerged())
{
monster->speed_increment -= entry->energy_usage.swim;
break;
@@ -7768,7 +7768,7 @@ static void _handle_monster_move(monsters *monster)
if (monster->foe != MHITNOT
&& grid_distance(monster->target, monster->pos()) <= 1)
{
- if (mons_is_submerged(monster))
+ if (monster->submerged())
{
// Don't unsubmerge if the monster is too damaged or
// if the monster is afraid, or if it's avoiding the
@@ -7809,7 +7809,7 @@ static void _handle_monster_move(monsters *monster)
if (mons_is_confused(monster)
|| monster->type == MONS_AIR_ELEMENTAL
- && mons_is_submerged(monster))
+ && monster->submerged())
{
mmov.reset();
int pfound = 0;
@@ -8339,7 +8339,7 @@ static bool _monster_eat_food(monsters *monster, bool nearby)
//---------------------------------------------------------------
static bool _handle_pickup(monsters *monster)
{
- if (monster->asleep() || mons_is_submerged(monster))
+ if (monster->asleep() || monster->submerged())
return (false);
const bool nearby = mons_near(monster);
@@ -9060,7 +9060,7 @@ static bool _monster_move(monsters *monster)
if (monster->type == MONS_TRAPDOOR_SPIDER)
{
- if (mons_is_submerged(monster))
+ if (monster->submerged())
return (false);
// Trapdoor spiders hide if they can't see their foe.
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 272eceb391..d5c6ccf3c6 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -119,7 +119,7 @@ bool move_player_to_grid( const coord_def& p, bool stepped, bool allow_shift,
// Better not be an unsubmerged monster either.
ASSERT(swapping && mgrd(p) != NON_MONSTER
|| !swapping && (mgrd(p) == NON_MONSTER
- || mons_is_submerged( &menv[ mgrd(p) ])
+ || menv[ mgrd(p) ].submerged()
|| feawn_passthrough(&menv[mgrd(p)])));
// Don't prompt if force is true.
@@ -1053,7 +1053,7 @@ int player_damage_type(void)
// the player has a polearm).
bool player_can_hit_monster(const monsters *mon)
{
- if (!mons_is_submerged(mon))
+ if (!mon->submerged())
return (true);
if (grd(mon->pos()) != DNGN_SHALLOW_WATER)
@@ -2729,7 +2729,7 @@ void check_beholders()
{
const monsters* mon = &menv[you.mesmerised_by[i]];
if (!mon->alive() || mons_genus(mon->type) != MONS_MERMAID
- || mons_is_submerged(mon))
+ || mon->submerged())
{
#ifdef DEBUG
if (!mon->alive())
diff --git a/crawl-ref/source/terrain.cc b/crawl-ref/source/terrain.cc
index b3ea553313..86b4e9cf14 100644
--- a/crawl-ref/source/terrain.cc
+++ b/crawl-ref/source/terrain.cc
@@ -705,7 +705,7 @@ void _dgn_check_terrain_player(const coord_def pos)
// there aren't any adjacent squares where it can stay
// submerged then move it.
monsters* mon = monster_at(pos);
- if (mon && !mons_is_submerged(mon))
+ if (mon && !mon->submerged())
monster_teleport(mon, true, false);
move_player_to_grid(pos, false, true, true);
}
diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc
index c56e79f1e6..775f51b939 100644
--- a/crawl-ref/source/tilepick.cc
+++ b/crawl-ref/source/tilepick.cc
@@ -2409,7 +2409,7 @@ int tileidx_feature(int object, int gx, int gy)
{
monsters *mon = &menv[mgrd[gx][gy]];
// Add disturbance to tile.
- if (mons_is_submerged(mon))
+ if (mon->submerged())
t += tile_dngn_count(t);
}
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index 85a06eea98..204803c98c 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -1277,7 +1277,7 @@ void handle_monster_shouts(monsters* monster, bool force)
channel = MSGCH_SOUND;
// Monster must come up from being submerged if it wants to shout.
- if (mons_is_submerged(monster))
+ if (monster->submerged())
{
if (!monster->del_ench(ENCH_SUBMERGED))
{
diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc
index 3627197c6e..7c77d0d76d 100644
--- a/crawl-ref/source/xom.cc
+++ b/crawl-ref/source/xom.cc
@@ -867,7 +867,7 @@ static int _xom_give_item(int power, bool debug = false)
static bool _choose_mutatable_monster(const monsters* mon)
{
return (mon->alive() && mon->can_safely_mutate()
- && !mons_is_submerged(mon));
+ && !mon->submerged());
}
static bool _is_chaos_upgradeable(const item_def &item,