diff options
author | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-12 08:05:12 +0000 |
---|---|---|
committer | dolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-12 08:05:12 +0000 |
commit | 21695abdc349e579845565976a72d5600a1f8c4a (patch) | |
tree | 81ce4d25a33513f9abe9b0979d9e928e36cb0fcb /crawl-ref/source/abl-show.cc | |
parent | f14293feb83a9a1790c0e158697bf36634655188 (diff) | |
download | crawl-ref-21695abdc349e579845565976a72d5600a1f8c4a.tar.gz crawl-ref-21695abdc349e579845565976a72d5600a1f8c4a.zip |
Give Zin a one-shot ability at piety > 160 (cf. TSO's/Lugonu's weapon
blessings) to remove all mutations.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10173 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/abl-show.cc')
-rw-r--r-- | crawl-ref/source/abl-show.cc | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc index a76fad1eb3..520cd54255 100644 --- a/crawl-ref/source/abl-show.cc +++ b/crawl-ref/source/abl-show.cc @@ -225,6 +225,7 @@ static const ability_def Ability_List[] = { ABIL_ZIN_RECITE, "Recite", 3, 0, 120, 0, ABFLAG_DELAY }, { ABIL_ZIN_VITALISATION, "Vitalisation", 0, 0, 100, 2, ABFLAG_CONF_OK }, { ABIL_ZIN_SANCTUARY, "Sanctuary", 7, 0, 150, 15, ABFLAG_NONE }, + { ABIL_ZIN_CURE_ALL_MUTATIONS, "Cure All Mutations", 0, 0, 0, 0, ABFLAG_NONE }, // The Shining One { ABIL_TSO_DIVINE_SHIELD, "Divine Shield", 3, 0, 50, 2, ABFLAG_NONE }, @@ -1482,6 +1483,10 @@ static bool _do_ability(const ability_def& abil) exercise(SK_INVOCATIONS, 5 + random2(8)); break; + case ABIL_ZIN_CURE_ALL_MUTATIONS: + zin_remove_all_mutations(); + break; + case ABIL_TSO_DIVINE_SHIELD: cast_divine_shield(); exercise(SK_INVOCATIONS, (coinflip() ? 3 : 2)); @@ -2208,21 +2213,29 @@ std::vector<talent> your_talents(bool check_confused) } } } + + if (you.religion == GOD_ZIN + && !you.num_gifts[GOD_ZIN] + && you.piety > 160) + { + _add_talent(talents, ABIL_ZIN_CURE_ALL_MUTATIONS, + check_confused); + } } // And finally, the ability to opt-out of your faith {dlb}: if (you.religion != GOD_NO_GOD && !silenced( you.pos() )) _add_talent(talents, ABIL_RENOUNCE_RELIGION, check_confused); - //jmf: Check for breath weapons -- they're exclusive of each other, I hope! - // Make better come ones first. + //jmf: Check for breath weapons - they're exclusive of each other, I hope! + // Make better ones come first. if (you.attribute[ATTR_TRANSFORMATION] == TRAN_DRAGON || player_mutation_level(MUT_BREATHE_FLAMES)) { _add_talent(talents, ABIL_BREATHE_FIRE, check_confused); } - // Checking for unreleased delayed Fireball. + // Checking for unreleased Delayed Fireball. if (you.attribute[ ATTR_DELAYED_FIREBALL ]) _add_talent(talents, ABIL_DELAYED_FIREBALL, check_confused); |