diff options
author | Brendan Hickey <brendan@bhickey.net> | 2009-11-15 16:43:50 -0500 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2009-11-16 00:15:51 +0100 |
commit | e99302324e74bd0a6dc88c08842c03e2807e1318 (patch) | |
tree | c7528e685601d090c82929e0b03217ddb3f8cf2b /crawl-ref/source/player.cc | |
parent | f364926f2791764bf570872f8e4effae33f707d5 (diff) | |
download | crawl-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.cc | 21 |
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; |