From 6f8e02bb67c56908d9dbaf3edb285a21bbe896b5 Mon Sep 17 00:00:00 2001 From: dshaligram Date: Sat, 17 Nov 2007 18:33:26 +0000 Subject: Trunk->0.3 merge (2863): Xom mutation fix for 0.3. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.3@2864 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/mutation.cc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc index 19e9191c8e..d001a6eb45 100644 --- a/crawl-ref/source/mutation.cc +++ b/crawl-ref/source/mutation.cc @@ -1449,7 +1449,8 @@ bool mutate(mutation_type which_mutation, bool failMsg, bool force_mutation, return (false); } - if (which_mutation == RANDOM_MUTATION) + if (which_mutation == RANDOM_MUTATION + || which_mutation == RANDOM_XOM_MUTATION) { if ( random2(15) < how_mutated() ) { @@ -1458,15 +1459,16 @@ bool mutate(mutation_type which_mutation, bool failMsg, bool force_mutation, else return (delete_mutation(RANDOM_MUTATION)); } - else + } + + if (which_mutation == RANDOM_MUTATION) + { + do { - do - { - mutat = static_cast(random2(NUM_MUTATIONS)); - if (one_chance_in(1000)) - return false; - } while ( !accept_mutation(mutat) ); - } + mutat = static_cast(random2(NUM_MUTATIONS)); + if (one_chance_in(1000)) + return false; + } while ( !accept_mutation(mutat) ); } else if (which_mutation == RANDOM_XOM_MUTATION) { -- cgit v1.2.3-54-g00ecf