summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/acr.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-01-08 21:33:27 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-01-08 21:33:27 +0000
commit5b2d47dfa224b441c5d39007bf6f98ef0597f9d6 (patch)
tree96889984514f88f848b6a984ca71b325017a1e9d /crawl-ref/source/acr.cc
parent34bb40ababedcea0f05e00b7a41cdaffaf216357 (diff)
downloadcrawl-ref-5b2d47dfa224b441c5d39007bf6f98ef0597f9d6.tar.gz
crawl-ref-5b2d47dfa224b441c5d39007bf6f98ef0597f9d6.zip
Replace TSO's Smiting with Divine Shield.
Actually, I wasn't entirely sure which of the many attack invocations to replace and I chose Smiting mostly because of the new overlap with Zin and because such a change is easiest to revert (copy code from Zin). :p Divine Shield strengthens existing shields (also magical, which might have to be excluded) or else creates a new magical one. Either way, the shields value is increased by 3 + skills(SHIELDS)/5 and this bonus lasts for 5 + (skills(SHIELS) + 2*skills(INVOCATIONS))/6 turns, after which it is decreased by 1 every two out of three turns until it reaches 0. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3225 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/acr.cc')
-rw-r--r--crawl-ref/source/acr.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index 0bad5ecd37..89e6d0aad1 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -2410,6 +2410,25 @@ static void decrement_durations()
you.duration[DUR_PRAYER] = 0;
}
+ if (you.duration[DUR_DIVINE_SHIELD])
+ {
+ if (you.duration[DUR_DIVINE_SHIELD] > 1)
+ {
+ if (--you.duration[DUR_DIVINE_SHIELD] == 1)
+ mpr("Your divine shield starts to fade.");
+ }
+
+ if (you.duration[DUR_DIVINE_SHIELD] == 1 && !one_chance_in(3))
+ {
+ you.redraw_armour_class = true;
+ if (--you.attribute[ATTR_DIVINE_SHIELD] == 0)
+ {
+ you.duration[DUR_DIVINE_SHIELD] = 0;
+ mpr("Your divine shield fades completely.");
+ }
+ }
+ }
+
//jmf: more flexible weapon branding code
if (you.duration[DUR_WEAPON_BRAND] > 1)
you.duration[DUR_WEAPON_BRAND]--;