summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monster.cc
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2009-12-29 08:26:24 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2009-12-29 08:26:24 +0530
commit22c9c1dd3fe93c8ccab01eec647fb002877018f8 (patch)
tree61647db7597a0c8b9055bfdba86ee1ffcaa5fb10 /crawl-ref/source/monster.cc
parentda206768a436941bf7acfc67f005a518fb90ca7e (diff)
downloadcrawl-ref-22c9c1dd3fe93c8ccab01eec647fb002877018f8.tar.gz
crawl-ref-22c9c1dd3fe93c8ccab01eec647fb002877018f8.zip
Merfolk (water/ice) elementalists join the Shoals guard.
Diffstat (limited to 'crawl-ref/source/monster.cc')
-rw-r--r--crawl-ref/source/monster.cc21
1 files changed, 19 insertions, 2 deletions
diff --git a/crawl-ref/source/monster.cc b/crawl-ref/source/monster.cc
index f9d18c97d9..f6003c3b81 100644
--- a/crawl-ref/source/monster.cc
+++ b/crawl-ref/source/monster.cc
@@ -3308,6 +3308,21 @@ int monsters::res_asphyx() const
return (res);
}
+int monsters::res_water_drowning() const
+{
+ const int res = res_asphyx();
+ if (res)
+ return res;
+ switch (mons_habitat(this))
+ {
+ case HT_WATER:
+ case HT_AMPHIBIOUS_WATER:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
int monsters::res_poison() const
{
int u = get_mons_resists(this).poison;
@@ -5550,7 +5565,9 @@ void monsters::check_redraw(const coord_def &old) const
}
}
-void monsters::apply_location_effects(const coord_def &oldpos)
+void monsters::apply_location_effects(const coord_def &oldpos,
+ killer_type killer,
+ int killernum)
{
if (oldpos != pos())
dungeon_events.fire_position_event(DET_MONSTER_MOVED, pos());
@@ -5583,7 +5600,7 @@ void monsters::apply_location_effects(const coord_def &oldpos)
ptrap->trigger(*this);
if (alive())
- mons_check_pool(this, pos());
+ mons_check_pool(this, pos(), killer, killernum);
if (alive() && has_ench(ENCH_SUBMERGED)
&& (!monster_can_submerge(this, grd(pos()))