summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
authorBrendan Hickey <brendan@bhickey.net>2009-11-15 16:43:50 -0500
committerAdam Borowski <kilobyte@angband.pl>2009-11-16 00:15:51 +0100
commite99302324e74bd0a6dc88c08842c03e2807e1318 (patch)
treec7528e685601d090c82929e0b03217ddb3f8cf2b /crawl-ref/source/player.cc
parentf364926f2791764bf570872f8e4effae33f707d5 (diff)
downloadcrawl-ref-e99302324e74bd0a6dc88c08842c03e2807e1318.tar.gz
crawl-ref-e99302324e74bd0a6dc88c08842c03e2807e1318.zip
Chei Fluff: * Ruininous Time -> Slouch * Better player titles Mechanics: * Ponderous items stack * The ponderous brand can be placed on all armour.
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc21
1 files changed, 16 insertions, 5 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 765c40ebd1..0c8e9cf601 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -1796,6 +1796,17 @@ int player_prot_life(bool calc_unid, bool temp, bool items)
return (pl);
}
+int _ponderous_count(){
+ int count = 0;
+
+ for( int slot = EQ_CLOAK ; slot <= EQ_BODY_ARMOUR; ++slot){
+ if (player_equip_ego_type( slot, SPARM_PONDEROUSNESS ))
+ count += 1;
+ }
+
+ return count;
+}
+
// New player movement speed system... allows for a bit more than
// "player runs fast" and "player walks slow" in that the speed is
// actually calculated (allowing for centaurs to get a bonus from
@@ -1830,9 +1841,9 @@ int player_movement_speed(void)
if (player_equip_ego_type( EQ_BOOTS, SPARM_RUNNING ))
mv -= 2;
- if (player_equip_ego_type( EQ_BODY_ARMOUR, SPARM_PONDEROUSNESS ))
- mv += 2;
-
+ // ponderous brand
+ mv += 2 * _ponderous_count();
+
// In the air, can fly fast (should be lightly burdened).
if (you.light_flight())
mv--;
@@ -2103,8 +2114,8 @@ int player_evasion(ev_ignore_type evit)
ev += player_equip( EQ_RINGS_PLUS, RING_EVASION );
ev += scan_artefacts( ARTP_EVASION );
- if (player_equip_ego_type( EQ_BODY_ARMOUR, SPARM_PONDEROUSNESS ))
- ev -= 2;
+ // ponderous ev mod
+ ev -= 2 * _ponderous_count();
if (player_mutation_level(MUT_REPULSION_FIELD) > 0)
ev += (player_mutation_level(MUT_REPULSION_FIELD) * 2) - 1;