From b9c5dfc47cb4581657edfd4bb04922a5d81d8465 Mon Sep 17 00:00:00 2001 From: dolorous Date: Sun, 27 Apr 2008 16:08:56 +0000 Subject: Simplify special-case mutation handling. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4696 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/mutation.cc | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'crawl-ref/source') diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc index 53d424c211..1399422a4c 100644 --- a/crawl-ref/source/mutation.cc +++ b/crawl-ref/source/mutation.cc @@ -2055,10 +2055,11 @@ bool mutate(mutation_type which_mutation, bool failMsg, return true; } mpr(gain_mutation[mutat][you.mutation[mutat]], MSGCH_MUTATION); + // special-case check you.mutation[mutat]++; calc_hp(); - // special-case check - goto mutate_done; + you.mutation[mutat]--; + break; case MUT_ROBUST: if (you.mutation[MUT_FRAIL] > 0) @@ -2067,10 +2068,11 @@ bool mutate(mutation_type which_mutation, bool failMsg, return true; } mpr(gain_mutation[mutat][you.mutation[mutat]], MSGCH_MUTATION); + // special-case check you.mutation[mutat]++; calc_hp(); - // special-case check - goto mutate_done; + you.mutation[mutat]--; + break; case MUT_LOW_MAGIC: if (you.mutation[MUT_HIGH_MAGIC] > 0) @@ -2079,10 +2081,11 @@ bool mutate(mutation_type which_mutation, bool failMsg, return true; } mpr(gain_mutation[mutat][you.mutation[mutat]], MSGCH_MUTATION); + // special-case check you.mutation[mutat]++; calc_mp(); - // special-case check - goto mutate_done; + you.mutation[mutat]--; + break; case MUT_HIGH_MAGIC: if (you.mutation[MUT_LOW_MAGIC] > 0) @@ -2091,10 +2094,11 @@ bool mutate(mutation_type which_mutation, bool failMsg, return true; } mpr(gain_mutation[mutat][you.mutation[mutat]], MSGCH_MUTATION); + // special-case check you.mutation[mutat]++; calc_mp(); - // special-case check - goto mutate_done; + you.mutation[mutat]--; + break; case MUT_BLACK_SCALES: case MUT_BONEY_PLATES: @@ -2133,7 +2137,6 @@ bool mutate(mutation_type which_mutation, bool failMsg, you.mutation[mutat]++; -mutate_done: // amusement value will be 16 * (11-rarity) * Xom's-sense-of-humor int amusementvalue = calc_mutation_amusement_value(mutat); xom_is_stimulated(amusementvalue); -- cgit v1.2.3-54-g00ecf