diff options
author | DracoOmega <a@a.com> | 2012-09-22 19:00:48 -0230 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2012-10-26 23:38:19 +0200 |
commit | 370af8b5378324ccf7bb93face5555785e0b1eb5 (patch) | |
tree | 530d65d94923615837f73b1cbee8d3f6e06effa2 /crawl-ref/source/mutation.h | |
parent | cbc41225cb4bc876ba076005ec66e0dd0b7f45db (diff) | |
download | crawl-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.h | 6 |
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 |