git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10155 c06c8d41-db1a-0410-9941-cceddc491573
OJM4PHYETFEMK43FQ4O2KFWL4TMZTSBAPAWMDST733S7SIXTU4RAC 77TCDR7AO42VYBIYZYWRWFSX34MPZCNW6SLBREFZZZ5NBPXEKDFAC DA4SGKR5R6YAADTB3R2KLIMCFH45H7UOO7YTC665C7TSY4BRBTJQC CCNYYIJ7WWYIXGFC27V4XO75QR6LRF45BTVBLE7RXOIKURNE3SQQC 5QRXZHCR7QAYOILGUCQPVNLM4NQM5E5PPVNRGGMARWAIRJYKUJEQC A3QXTQ5RKIGDWIKA7JHIGIHQE5EVGO6WNNWF6XY2VZNP67JESDHQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 5LDEEBB7DT4CORJZOAYLQFXNI7FOURUJGAKVDVX7YL745NNRW63AC LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC WHY6LRRJ5T2NSBE3IUCR4X3TOAH7TTK5NPUPUIFT7TPNJ6J4HBDAC CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC FL5OQVX5UXHYHPKC2YZ3PSD4QQ6OHRYXBIVSSKR4RIPUJNC3TORAC 2UVHNPJRS352B7HNGZMEQRAIN5NE4R44B7JRQWCHUMZJIALWOEGAC BQ5QKUWLCYSBO4A7EWZN4FXPNSIAR6JPBAZE4PSV6XCUNTV53ERQC CMNLYUECIMEZSOYG4KOSINOPER5OM7PPCGIHCM7LQVWEO77XFUYQC UEEDQIFBOUZOXHCWGSEBED4Z3SYGN3DVHOVRJYQVWQQ6BIDLWAQAC 4BSWRAIA7TLRFRZ4RMLOVDHWDWBGJCAQZUOPXPJYW6OJY6B3HPLQC 3ZWALZFSTSIVYXY4BAY6ANGINTDACZC6RSSJTEMQSTSUIE66YOBQC TH2RUX3XQ5I43J4ASC4C3KHFCBUOYQ4EUBMXPQV4JCJGPTZZAYAAC GETZ2YQJEBLH7WVPSMKYRW25CTHYMCYTWPMTWJTUMBPFPPA5G7XAC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC SUPHSH236UYIFASEHHFIVAJETU6CCXCJL6Y2B7J2SPZDVT3MSVBAC 5SCR65HLLU7VGN7A4NTAOGH6AQQ55F3WUX2OXLOESDW2RA7LC5OQC UISCFODQTHZG4576DDR4QCFOGGOIT4BQI7DTVBSMLKHANTE7D3IAC X3B7EVFL3GJOEID2C42QJQIQBJS4YLA4R2HT4LXGDPIBKHGDDEHQC Z7NYYNCWCAXZCRAWIAX4IKON52ZHVXLHXQCF2ED7VHJBT6DY7MOAC L7LNOGIPMKCFARJWTLEGFFWX6W2KSXVPRPZ7V42XTGADYCJRLRCAC U52YN2JQUGBRV434NNAKL3YXFLG3JDYBW3VV3HOIEJGGBFZRT6WQC 4LFTDJY3DK6S7C7SQLLML6UIZ42GZOWK2EIMZZSNEKBWSA3YNUZAC simple_god_message(" is no longer ready to bless your weapon.");
if (you.religion == GOD_SHINING_ONE || you.religion == GOD_LUGONU)simple_god_message(" is no longer ready to bless your weapon.");
ASSERT(!non_fatal || _is_random(which_mutation));mutation_type mutat = which_mutation;if (!force_mutation){if (!god_gift){if (player_mutation_level(MUT_MUTATION_RESISTANCE) > 1&& (player_mutation_level(MUT_MUTATION_RESISTANCE) == 3|| coinflip())){if (failMsg)mpr("You feel rather odd for a moment.", MSGCH_MUTATION);return (false);}}}if (which_mutation == RANDOM_MUTATION|| which_mutation == RANDOM_XOM_MUTATION|| which_mutation == RANDOM_GOOD_MUTATION|| which_mutation == RANDOM_BAD_MUTATION){while (true){if (one_chance_in(1000))return (false);mutat = static_cast<mutation_type>(random2(NUM_MUTATIONS));if (you.mutation[mutat] == 0&& mutat != MUT_STRONG&& mutat != MUT_CLEVER&& mutat != MUT_AGILE&& mutat != MUT_WEAK&& mutat != MUT_DOPEY&& mutat != MUT_CLUMSY){continue;}if (!_accept_mutation(mutat, true, non_fatal, true))continue;if (you.demon_pow[mutat] >= you.mutation[mutat])continue;const mutation_def& mdef = get_mutation_def(mutat);if (random2(10) >= mdef.rarity)continue;bool mismatch = (which_mutation == RANDOM_GOOD_MUTATION && mdef.bad)|| (which_mutation == RANDOM_BAD_MUTATION && !mdef.bad);if (mismatch && !one_chance_in(10))continue;break;}}
mutation_type mutat = which_mutation;if (!force_mutation){if (!god_gift){if (player_mutation_level(MUT_MUTATION_RESISTANCE) > 1&& (player_mutation_level(MUT_MUTATION_RESISTANCE) == 3|| coinflip())){if (failMsg)mpr("You feel rather odd for a moment.", MSGCH_MUTATION);return (false);}}}if (which_mutation == RANDOM_MUTATION|| which_mutation == RANDOM_XOM_MUTATION|| which_mutation == RANDOM_GOOD_MUTATION|| which_mutation == RANDOM_BAD_MUTATION){while (true){if (one_chance_in(1000))return (false);mutat = static_cast<mutation_type>(random2(NUM_MUTATIONS));if (you.mutation[mutat] == 0&& mutat != MUT_STRONG&& mutat != MUT_CLEVER&& mutat != MUT_AGILE&& mutat != MUT_WEAK&& mutat != MUT_DOPEY&& mutat != MUT_CLUMSY){continue;}if (!_accept_mutation(mutat, true, non_fatal, true))continue;if (you.demon_pow[mutat] >= you.mutation[mutat])continue;const mutation_def& mdef = get_mutation_def(mutat);if (random2(10) >= mdef.rarity)continue;const bool mismatch =(which_mutation == RANDOM_GOOD_MUTATION && mdef.bad)|| (which_mutation == RANDOM_BAD_MUTATION && !mdef.bad);if (mismatch && !one_chance_in(10))continue;break;}}return (_delete_single_mutation_level(mutat));}