From ae5abcdab69c7caa0570e98378f864aaf07096d0 Mon Sep 17 00:00:00 2001 From: dshaligram Date: Fri, 1 Jun 2007 12:39:38 +0000 Subject: [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 --- crawl-ref/source/player.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'crawl-ref/source/player.cc') 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++) -- cgit v1.2.3-54-g00ecf