diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-12-30 20:31:38 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-12-30 20:31:38 +0000 |
commit | e864f4d3b84c1efe09175652a9830dddbc0bd6a5 (patch) | |
tree | 7322d1cc0393f62adb256204a714cdcd976a2d62 /crawl-ref/source/beam.cc | |
parent | 7554b6525e58b192f168e50233479f3fb1d19f5e (diff) | |
download | crawl-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.cc | 12 |
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 ); |