summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mutation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/mutation.cc')
-rw-r--r--crawl-ref/source/mutation.cc74
1 files changed, 30 insertions, 44 deletions
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index 62b06e3d70..b4e28e416f 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -911,20 +911,6 @@ formatted_string describe_mutations()
have_any = true;
break;
- case SP_SPRIGGAN:
- result += "You can see invisible." EOL;
- result += "You cover the ground extremely quickly." EOL;
- have_any = true;
- break;
-
- case SP_CENTAUR:
- if (!you.mutation[MUT_FAST])
- result += "You cover the ground quickly." EOL;
- else
- result += "You cover the ground extremely quickly." EOL;
- have_any = true;
- break;
-
case SP_NAGA:
// breathe poison replaces spit poison:
if (!you.mutation[MUT_BREATHE_POISON])
@@ -932,8 +918,6 @@ formatted_string describe_mutations()
else
result += "<lightred>You can exhale a cloud of poison.</lightred>" EOL;
- result += "Your system is immune to poisons." EOL;
- result += "You can see invisible." EOL;
// slowness can be overriden
if ( you.mutation[MUT_FAST] )
result += "<lightred>";
@@ -944,11 +928,6 @@ formatted_string describe_mutations()
have_any = true;
break;
- case SP_GNOME:
- result += "You can sense your surroundings." EOL;
- have_any = true;
- break;
-
case SP_TROLL:
result += "Your body regenerates quickly." EOL;
if ( you.mutation[MUT_CLAWS] )
@@ -1100,27 +1079,42 @@ formatted_string describe_mutations()
if (you.species == SP_NAGA &&
(i == MUT_BREATHE_POISON || i == MUT_FAST))
continue;
- if (you.species == SP_CENTAUR && i == MUT_FAST)
- continue;
if (you.species == SP_TROLL && i == MUT_CLAWS)
continue;
+ const char* colourname = "";
// mutation is actually a demonic power
- if (you.demon_pow[i] != 0)
- // enhanced by mutation
- if ( you.demon_pow[i] < you.mutation[i] )
- result += "<lightred>";
- else
- result += "<red>";
+ if ( you.demon_pow[i] )
+ {
+ if ( you.species == SP_DEMONSPAWN )
+ {
+ if ( you.demon_pow[i] < you.mutation[i] )
+ colourname = "lightred";
+ else
+ colourname = "red";
+ }
+ else // innate ability
+ {
+ if ( you.demon_pow[i] < you.mutation[i] )
+ colourname = "lightred";
+ else
+ colourname = "lightblue";
+ }
+ }
+ if ( you.demon_pow[i] )
+ {
+ result += '<';
+ result += colourname;
+ result += '>';
+ }
result += mutation_name(i);
-
- if (you.demon_pow[i] != 0)
- if ( you.demon_pow[i] < you.mutation[i] )
- result += "</lightred>";
- else
- result += "</red>";
-
+ if ( you.demon_pow[i] )
+ {
+ result += "</";
+ result += colourname;
+ result += '>';
+ }
result += EOL;
}
}
@@ -1288,14 +1282,6 @@ bool mutate(int which_mutation, bool failMsg)
}
}
- // gnomes can already sense surroundings
- if (you.species == SP_GNOME && mutat == MUT_MAPPING)
- return false;
-
- // spriggans already run at max speed (centaurs can get a bit faster)
- if (you.species == SP_SPRIGGAN && mutat == MUT_FAST)
- return false;
-
// this might have issues if we allowed it -- bwr
if (you.species == SP_KOBOLD
&& (mutat == MUT_CARNIVOROUS || mutat == MUT_HERBIVOROUS))