diff options
author | David Lawrence Ramsey <dolorous@users.sourceforge.net> | 2009-10-12 20:14:49 -0500 |
---|---|---|
committer | David Lawrence Ramsey <dolorous@users.sourceforge.net> | 2009-10-12 20:14:49 -0500 |
commit | 9cc9c1350516b56581c8bf86aafa695677d819f9 (patch) | |
tree | 0107beb99991e6e723b270388755d7e0b3033a37 /crawl-ref/source/transfor.cc | |
parent | 533796c8cabcf71b654d45531bb25f0ba3af1506 (diff) | |
download | crawl-ref-9cc9c1350516b56581c8bf86aafa695677d819f9.tar.gz crawl-ref-9cc9c1350516b56581c8bf86aafa695677d819f9.zip |
Apply n78291's patch in [2877049], with a few tweaks, to expand Jiyva's
wrath, allow uncancelable transformations as part of it, and adjust his
Slimify power.
Diffstat (limited to 'crawl-ref/source/transfor.cc')
-rw-r--r-- | crawl-ref/source/transfor.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crawl-ref/source/transfor.cc b/crawl-ref/source/transfor.cc index fcadaef4dd..3330fe472b 100644 --- a/crawl-ref/source/transfor.cc +++ b/crawl-ref/source/transfor.cc @@ -524,6 +524,14 @@ bool transform(int pow, transformation_type which_trans, bool force, if (!force && crawl_state.is_god_acting()) force = true; + if (!force && !you.transform_cancellable) + { + // Jiyva's wrath-induced transformation is blocking the attempt. + // May need to be updated if transform_cancellable is used for + // other uses. + return (false); + } + if (you.species == SP_MERFOLK && player_is_swimming() && which_trans != TRAN_DRAGON && which_trans != TRAN_BAT) { @@ -961,6 +969,8 @@ void untransform(bool skip_wielding) handle_interrupted_swap(true, false, true); you.turn_is_over = true; + if (!you.transform_cancellable) + you.transform_cancellable = true; } // XXX: This whole system is a mess as it still relies on special |