From 280d409759be7af8b54366f07ccba17348ea24f9 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 13 Sep 2009 16:04:24 +0000 Subject: Commit several patches: * patch 2849505 by weyrava: make submerged monsters use the correct colour * patch 2857771 by caotto: another Feawn update * patch 2838771 by camedo: add potions of brilliance/agility * BR 2841651 by bookofjude: allow Merfolk to control-tele into deep water Now we need tiles for the new potions! git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10669 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/player.cc | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/player.cc') diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 37cf0f061c..8de920345c 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -118,7 +118,8 @@ bool move_player_to_grid( const coord_def& p, bool stepped, bool allow_shift, // Better not be an unsubmerged monster either. ASSERT(swapping && mgrd(p) != NON_MONSTER || !swapping && (mgrd(p) == NON_MONSTER - || mons_is_submerged( &menv[ mgrd(p) ]))); + || mons_is_submerged( &menv[ mgrd(p) ]) + || feawn_passthrough(&menv[mgrd(p)]))); // Don't prompt if force is true. if (!force) @@ -2451,6 +2452,9 @@ int player_evasion() if (dodge_bonus > 0) // always a bonus ev += dodge_bonus; + if (you.duration[DUR_AGILITY]) + ev += 5; + if (you.duration[DUR_PHASE_SHIFT]) ev += 8; @@ -2621,6 +2625,9 @@ int player_mag_abil(bool is_weighted) { int ma = 0; + // Brilliance Potion + ma += 6 * (you.duration[DUR_BRILLIANCE] ? 1 : 0); + ma += 3 * player_equip(EQ_RINGS, RING_WIZARDRY); // Staves @@ -3740,6 +3747,9 @@ int check_stealth(void) if ( you.duration[DUR_STEALTH] ) stealth += 80; + if (you.duration[DUR_AGILITY]) + stealth += 50; + stealth += scan_artefacts( ARTP_STEALTH ); if (player_is_airborne()) @@ -4181,6 +4191,10 @@ void display_char_status() if (you.duration[DUR_MIGHT]) mpr("You are mighty."); + if (you.duration[DUR_BRILLIANCE]) + mpr("You are brilliant."); + if (you.duration[DUR_AGILITY]) + mpr("You are agile."); if (you.duration[DUR_DIVINE_VIGOUR]) mpr("You are divinely vigorous."); @@ -5768,6 +5782,9 @@ static int _int_modifier() { int result = 0; + if (you.duration[DUR_BRILLIANCE]) + result += 5; + if (you.duration[DUR_DIVINE_STAMINA]) result += you.attribute[ATTR_DIVINE_STAMINA]; @@ -5791,6 +5808,9 @@ static int _dex_modifier() { int result = 0; + if (you.duration[DUR_AGILITY]) + result += 5; + if (you.duration[DUR_DIVINE_STAMINA]) result += you.attribute[ATTR_DIVINE_STAMINA]; -- cgit v1.2.3-54-g00ecf