summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/fight.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-03-29 19:42:25 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-03-29 19:42:25 +0000
commitce8b57822e05def892bca46e7e724bc6625d73ba (patch)
tree033beef59721cd41a6900e874d10ea78d8a4fb1e /crawl-ref/source/fight.cc
parent996361d167065bc29bef5da248e3d18bd0d9cbab (diff)
downloadcrawl-ref-ce8b57822e05def892bca46e7e724bc6625d73ba.tar.gz
crawl-ref-ce8b57822e05def892bca46e7e724bc6625d73ba.zip
* Merfolk may wear heavy armour while swimming, though their armour
penalty is doubled in deep water. * Change "zombified ally" -> "mindless thrall" (and only count friendly monsters). * Call trackers_init_new_level() earlier, in load(), so that TileNewLevel() can use the correct travel information when drawing exclusions on the minimap. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9566 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/fight.cc')
-rw-r--r--crawl-ref/source/fight.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index f19d487dbb..ac73a80723 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -221,8 +221,15 @@ int calc_heavy_armour_penalty( bool random_factor )
// Heavy armour modifiers for PARM_EVASION.
if (player_wearing_slot(EQ_BODY_ARMOUR))
{
- const int ev_pen = property( you.inv[you.equip[EQ_BODY_ARMOUR]],
- PARM_EVASION );
+ int ev_pen = property( you.inv[you.equip[EQ_BODY_ARMOUR]],
+ PARM_EVASION );
+
+ // Wearing heavy armour in water is particularly cumbersome.
+ if (you.species == SP_MERFOLK && grd(you.pos()) == DNGN_DEEP_WATER
+ && player_is_swimming())
+ {
+ ev_pen *= 2;
+ }
if (ev_pen < 0 && maybe_random2(you.skills[SK_ARMOUR],
random_factor) < abs(ev_pen))