summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-12-30 20:31:38 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-12-30 20:31:38 +0000
commite864f4d3b84c1efe09175652a9830dddbc0bd6a5 (patch)
tree7322d1cc0393f62adb256204a714cdcd976a2d62 /crawl-ref/source/beam.cc
parent7554b6525e58b192f168e50233479f3fb1d19f5e (diff)
downloadcrawl-ref-e864f4d3b84c1efe09175652a9830dddbc0bd6a5.tar.gz
crawl-ref-e864f4d3b84c1efe09175652a9830dddbc0bd6a5.zip
A completely reworked version of Zin as per the lengthy
discussion in October/November. Zin effects: - protection from harm (like all good gods) - feeding when starving (as before) - mutation resistance (chance of piety/200) Zin restrictions: - no cannibalism (like all good gods) - no attacking friends - no eating of intelligent beings' corpses - no deliberate mutating Zin invocations: - Smiting (general priestly ability?) - Revitalisation (Minor Healing + 5 mp) - Sanctuary (protection from attacks) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3164 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index bd6ffba766..fd38a1aa4c 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -3692,6 +3692,12 @@ static int affect_monster(bolt &beam, monsters *mon)
{
if (YOU_KILL( beam.thrower ))
{
+ if (is_sanctuary(mon->x, mon->y)
+ || is_sanctuary(you.x_pos, you.y_pos))
+ {
+ remove_sanctuary(true);
+ }
+
if (mons_friendly( mon ))
did_god_conduct( DID_ATTACK_FRIEND, 5, true, mon );
@@ -3855,6 +3861,12 @@ static int affect_monster(bolt &beam, monsters *mon)
beam.aux_source == "reading a scroll of immolation"
&& !beam.effect_known;
+ if (is_sanctuary(mon->x, mon->y)
+ || is_sanctuary(you.x_pos, you.y_pos))
+ {
+ remove_sanctuary(true);
+ }
+
if (mons_friendly(mon))
conduct.set( DID_ATTACK_FRIEND, 5, !okay, mon );