summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/transfor.cc
diff options
context:
space:
mode:
authorDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-12 20:14:49 -0500
committerDavid Lawrence Ramsey <dolorous@users.sourceforge.net>2009-10-12 20:14:49 -0500
commit9cc9c1350516b56581c8bf86aafa695677d819f9 (patch)
tree0107beb99991e6e723b270388755d7e0b3033a37 /crawl-ref/source/transfor.cc
parent533796c8cabcf71b654d45531bb25f0ba3af1506 (diff)
downloadcrawl-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.cc10
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