summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mutation.h
diff options
context:
space:
mode:
authorDracoOmega <a@a.com>2012-09-22 19:00:48 -0230
committerAdam Borowski <kilobyte@angband.pl>2012-10-26 23:38:19 +0200
commit370af8b5378324ccf7bb93face5555785e0b1eb5 (patch)
tree530d65d94923615837f73b1cbee8d3f6e06effa2 /crawl-ref/source/mutation.h
parentcbc41225cb4bc876ba076005ec66e0dd0b7f45db (diff)
downloadcrawl-ref-370af8b5378324ccf7bb93face5555785e0b1eb5.tar.gz
crawl-ref-370af8b5378324ccf7bb93face5555785e0b1eb5.zip
Initial implementation of transient mutations
Transient mutations are mutations which will expire on their own after a certain length of time. Currently all transient mutations are lumped into the same timer (since there is only one source of them). The player is also allowed to have transient mutations which conflict with others they have (so as to be able to reverse a -1 int mutation if you already had a +1 int mutation, instead of simply losing that one permenantly) There are still several outstanding issues both with the implementation of transient mutations (and removal from other sources) as well as the wretched star's ability to give them to you.
Diffstat (limited to 'crawl-ref/source/mutation.h')
-rw-r--r--crawl-ref/source/mutation.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/crawl-ref/source/mutation.h b/crawl-ref/source/mutation.h
index a9b7e106e9..575d447e4d 100644
--- a/crawl-ref/source/mutation.h
+++ b/crawl-ref/source/mutation.h
@@ -71,7 +71,8 @@ bool mutate(mutation_type which_mutation, const string &reason,
bool failMsg = true,
bool force_mutation = false, bool god_gift = false,
bool stat_gain_potion = false, bool demonspawn = false,
- bool no_rot = false);
+ bool no_rot = false,
+ bool temporary = false);
static inline bool give_bad_mutation(const string &reason, bool failMsg = true,
bool force_mutation = false)
@@ -97,6 +98,7 @@ string mutation_name(mutation_type which_mutat, int level = -1,
void roll_demonspawn_mutations();
bool perma_mutate(mutation_type which_mut, int how_much, const string &reason);
+bool temp_mutate(mutation_type which_mut, const string &reason);
int how_mutated(bool all = false, bool levels = false);
void check_demonic_guardian();
@@ -106,4 +108,6 @@ equipment_type beastly_slot(int mut);
bool physiology_mutation_conflict(mutation_type mutat);
int augmentation_amount();
+bool delete_temp_mutation();
+
#endif