summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-01 12:39:38 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-01 12:39:38 +0000
commitae5abcdab69c7caa0570e98378f864aaf07096d0 (patch)
tree60c4390c208eb9d2d13584760bd5391c79f3d009 /crawl-ref/source/player.cc
parentf6ec4c4fbdcfbc223d6490c783142311e9d5021c (diff)
downloadcrawl-ref-ae5abcdab69c7caa0570e98378f864aaf07096d0.tar.gz
crawl-ref-ae5abcdab69c7caa0570e98378f864aaf07096d0.zip
[1612448] Allow polearm users to attack monster submerged in shallow water.
Need to update the AI so the monster either flees or unsubmerges and fights. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1501 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index ccb9e67f32..2542bf2da0 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -319,6 +319,21 @@ bool move_player_to_grid( int x, int y, bool stepped, bool allow_shift,
return (true);
}
+// Given an adjacent monster, returns true if the player can hit it (the
+// monster should either not be submerged or submerged in shallow water,
+// if the player has a polearm).
+bool player_can_hit_monster(const monsters *mons)
+{
+ if (!mons_is_submerged(mons))
+ return (true);
+
+ if (grd(mons->pos()) != DNGN_SHALLOW_WATER)
+ return (false);
+
+ const item_def *weapon = you.weapon();
+ return (weapon && weapon_skill(*weapon) == SK_POLEARMS);
+}
+
bool player_can_swim()
{
return you.can_swim();
@@ -4649,6 +4664,11 @@ bool player::swimming() const
return in_water() && can_swim();
}
+bool player::submerged() const
+{
+ return (false);
+}
+
bool player::has_spell(int spell) const
{
for (int i = 0; i < 25; i++)