summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mutation.cc
diff options
context:
space:
mode:
authorNeil Moore <neil@s-z.org>2014-06-19 11:51:17 -0400
committerNeil Moore <neil@s-z.org>2014-06-19 11:52:09 -0400
commitdf118164fecb6f63ba9eee7a6a750bee6b4b940f (patch)
tree3f6d3cd23f63c6f412ac6fe354ea2b9abcb69b37 /crawl-ref/source/mutation.cc
parent0879b052e7ed595e257ca48bd2e640f437e6377e (diff)
downloadcrawl-ref-df118164fecb6f63ba9eee7a6a750bee6b4b940f.tar.gz
crawl-ref-df118164fecb6f63ba9eee7a6a750bee6b4b940f.zip
Don't count augmented innate mutations for silver damage.
If you had an innate mutation at non-maximum level, then gained the last level as a non-innate mutation, how_mutated was counting all the levels, including the innate ones. This meant that a minotaur who got Horns from !benemut would take three times as much silver damage as one who got, say, scales. This doesn't affect demonspawn, whose innate mutations do count for purposes of silver damage.
Diffstat (limited to 'crawl-ref/source/mutation.cc')
-rw-r--r--crawl-ref/source/mutation.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index e0ea9a5151..47341d4c0d 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -2419,7 +2419,11 @@ int how_mutated(bool all, bool levels)
continue;
if (levels)
+ {
j += you.mutation[i];
+ if (!all)
+ j -= you.innate_mutation[i];
+ }
else
j++;
}