summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mutation.h
diff options
context:
space:
mode:
authorRobert Burnham <burnhamrobertp@gmail.com>2010-04-30 11:57:52 -0500
committerRobert Burnham <burnhamrobertp@gmail.com>2010-05-04 12:05:10 -0500
commit5a59108b0370ed3aa353192bbec306f7249258b1 (patch)
tree88eb94531c3581cec5d71b630d92e0b91b600e81 /crawl-ref/source/mutation.h
parent38b48859bbf4ce9527548828088c6707ec3dc3aa (diff)
downloadcrawl-ref-5a59108b0370ed3aa353192bbec306f7249258b1.tar.gz
crawl-ref-5a59108b0370ed3aa353192bbec306f7249258b1.zip
Rewrite player_aux_unarmed for maintainability
Also adds in monstrous code for DS monstrous mutation sets.
Diffstat (limited to 'crawl-ref/source/mutation.h')
-rw-r--r--crawl-ref/source/mutation.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/crawl-ref/source/mutation.h b/crawl-ref/source/mutation.h
index c1fc8307fc..6894d0c496 100644
--- a/crawl-ref/source/mutation.h
+++ b/crawl-ref/source/mutation.h
@@ -12,6 +12,29 @@
class formatted_string;
+struct body_facet_def
+{
+ equipment_type eq;
+ mutation_type mut;
+ int level_lost;
+};
+
+struct facet_def
+{
+ mutation_type muts[3];
+ int tiers[3];
+};
+
+struct demon_mutation_info
+{
+ mutation_type mut;
+ int tier;
+ int facet;
+
+ demon_mutation_info(mutation_type m, int t, int f)
+ : mut(m), tier(t), facet(f) { }
+};
+
struct mutation_def
{
mutation_type mutation;
@@ -32,6 +55,7 @@ struct mutation_def
void init_mut_index();
bool is_valid_mutation(mutation_type mut);
+bool is_body_facet(mutation_type mut);
const mutation_def& get_mutation_def(mutation_type mut);
void fixup_mutations();
@@ -64,8 +88,8 @@ void roll_demonspawn_mutations();
bool perma_mutate(mutation_type which_mut, int how_much);
int how_mutated(bool all = false, bool levels = false);
-
void check_demonic_guardian();
void check_antennae_detect();
int handle_pbd_corpses(bool do_rot);
+
#endif