diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-01-06 10:54:31 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-01-06 10:54:31 +0000 |
commit | 6bc2ed8d726d40e06198a96719d0b7457c53a284 (patch) | |
tree | d03858a788b00109c78a4782eb1caafdd29a2a27 /crawl-ref/source/beam.cc | |
parent | 7281e182f7ade312409dee7b007188906169918e (diff) | |
download | crawl-ref-6bc2ed8d726d40e06198a96719d0b7457c53a284.tar.gz crawl-ref-6bc2ed8d726d40e06198a96719d0b7457c53a284.zip |
Change conducts of Zin and TSO (!)
Zin:
- DID_UNDEAD_KILLED_BY_SERVANT
- DID_DEMON_KILLED_BY_SERVANT
+ DID_KILL_MUTATOR_OR_ROTTER
(shapeshifters and monsters that have an attack AF_MUTATE or AF_ROT)
TSO:
+ DID_KILL_NATURAL_EVIL
+ DID_NATURAL_EVIL_KILLED_BY_SERVANT
Removed M_EVIL flag from a number of early monsters such as goblins
and hobgoblins, and also from orcs, ogres, trolls and big kobold.
Reasoning: The corresponding species are not considered evil
themselves and are allowed to worship the good gods).
Note that this weakens all forms of holy attacks!
Any attempt to charm evil, undead or demonic monsters will fail
(no effect) for worshippers of TSO.
Like Makhleb, TSO now gets returning power (arguable) and hp from
killing evil, undead and demonic monsters.
Zin's piety pool (from donations) is drained much quicker now, on
average once every 5 turns.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3213 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r-- | crawl-ref/source/beam.cc | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc index a876a3fd02..a09fdbb141 100644 --- a/crawl-ref/source/beam.cc +++ b/crawl-ref/source/beam.cc @@ -70,7 +70,8 @@ // from remaining range #define MON_RESIST 0 // monster resisted #define MON_UNAFFECTED 1 // monster unaffected -#define MON_AFFECTED 2 // monster was unaffected +#define MON_AFFECTED 2 // monster was affected +#define MON_OTHER 3 // monster unaffected, but for other reasons static int spreadx[] = { 0, 0, 1, -1 }; static int spready[] = { -1, 1, 0, 0 }; @@ -2112,6 +2113,13 @@ int mons_ench_f2(monsters *monster, bolt &pbolt) return (MON_AFFECTED); } case BEAM_CHARM: /* 9 = charm */ + if (you.religion == GOD_SHINING_ONE + && is_mons_evil_demonic_or_undead(monster)) + { + simple_monster_message(monster, " is repulsed!"); + return (MON_OTHER); + } + if (monster->add_ench(ENCH_CHARM)) { // put in an exception for fungi, plants and other things you won't @@ -4182,8 +4190,14 @@ static int affect_monster_enchantment(bolt &beam, monsters *mon) if (check_mons_resist_magic( mon, beam.ench_power )) return mons_immune_magic(mon) ? MON_UNAFFECTED : MON_RESIST; - simple_monster_message(mon, " is enslaved."); beam.obvious_effect = true; + if (you.religion == GOD_SHINING_ONE) + { + simple_monster_message(mon, " is repulsed!"); + return (MON_OTHER); + } + + simple_monster_message(mon, " is enslaved."); // wow, permanent enslaving mon->attitude = ATT_FRIENDLY; @@ -4208,8 +4222,14 @@ static int affect_monster_enchantment(bolt &beam, monsters *mon) if (mons_friendly(mon)) return (MON_UNAFFECTED); - simple_monster_message(mon, " is enslaved."); beam.obvious_effect = true; + if (you.religion == GOD_SHINING_ONE) + { + simple_monster_message(mon, " is repulsed!"); + return (MON_OTHER); + } + + simple_monster_message(mon, " is enslaved."); // wow, permanent enslaving if (one_chance_in(2 + mon->hit_dice / 4)) |