git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2425 c06c8d41-db1a-0410-9941-cceddc491573
AQ36MO7VNGSGQ5KK7JCQA2WEHUELAFLSU2QBUWROVJFOTPMGFGMQC EEYHYRJXQKQZZ5PGEV5OCUJHCEPCHBECIPAD5QY4UMZUI5LLSVGAC NR7PW3FTNYTZEM7RSWVNMWB5NQHRDMMY3TB6L5II5VCW76OAMT6QC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC AO7VKBS75RKHQDP3KYUVNMCE562K7NMVO2W3YXH7D5DKMKGO5GOQC PGTE3JC4J5U536IJTCJFXTUOSRE73JXZJINWAGCANOQOCGC7J6AAC P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC CMNLYUECIMEZSOYG4KOSINOPER5OM7PPCGIHCM7LQVWEO77XFUYQC WLX2RQMMOMP2PYPAGJRM4VFD2WTLJTOAZZPPY3MV76FU2EGEJ54QC #endif
"You cover the ground very slowly.", // 10*14/10 = 14"You cover the ground rather slowly.", // 8*14/10 = 11"You cover the ground rather quickly.", // 7*14/10 = 9"You cover the ground quickly." // 6*14/10 = 8
"You cover ground very slowly.", // 10*14/10 = 14"You cover ground rather slowly.", // 8*14/10 = 11"You cover ground rather quickly.", // 7*14/10 = 9"You cover ground quickly." // 6*14/10 = 8
/*Chance out of 10 that mutation will be given/removed randomly. 0 means never.*/const char mutation_rarity[] = {10, // tough skin8, // str8, // int8, // dex2, // gr scales1, // bl scales2, // grey scales1, // bone1, // repuls field4, // res poison
static const mutation_def mutation_defs[] = {{ MUT_TOUGH_SKIN, 10, 3 },{ MUT_STRONG, 8, 14 },{ MUT_CLEVER, 8, 14 },{ MUT_AGILE, 8, 14 },{ MUT_GREEN_SCALES, 2, 3 },{ MUT_BLACK_SCALES, 1, 3 },{ MUT_GREY_SCALES, 2, 3 },{ MUT_BONEY_PLATES, 1, 3 },{ MUT_REPULSION_FIELD, 1, 3 },{ MUT_POISON_RESISTANCE, 4, 1 },
5, // carn5, // herb4, // res fire4, // res cold2, // res elec3, // regen10, // fast meta7, // slow meta10, // abil loss10, // ""
{ MUT_CARNIVOROUS, 5, 3 },{ MUT_HERBIVOROUS, 5, 3 },{ MUT_HEAT_RESISTANCE, 4, 3 },{ MUT_COLD_RESISTANCE, 4, 3 },{ MUT_SHOCK_RESISTANCE, 2, 1 },{ MUT_REGENERATION, 3, 3 },{ MUT_FAST_METABOLISM, 10, 3 },{ MUT_SLOW_METABOLISM, 7, 3 },{ MUT_WEAK, 10, 14 },{ MUT_DOPEY, 10, 14 },
10, // ""2, // tele control3, // teleport5, // res magic1, // run2, // see invis8, // deformation2, // teleport at will8, // spit poison3, // sense surr
{ MUT_CLUMSY, 10, 14 },{ MUT_TELEPORT_CONTROL, 2, 1 },{ MUT_TELEPORT, 3, 3 },{ MUT_MAGIC_RESISTANCE, 5, 3 },{ MUT_FAST, 1, 3 },{ MUT_ACUTE_VISION, 2, 1 },{ MUT_DEFORMED, 8, 3 },{ MUT_TELEPORT_AT_WILL, 2, 3 },{ MUT_SPIT_POISON, 8, 3 },{ MUT_MAPPING, 3, 3 },
4, // breathe fire3, // blink7, // horns10, // strong/stiff muscles10, // weak/loose muscles6, // forgetfulness6, // clarity (as the amulet)7, // berserk/temper10, // deterioration10, // blurred vision
{ MUT_BREATHE_FLAMES, 4, 3 },{ MUT_BLINK, 3, 3 },{ MUT_HORNS, 7, 3 },{ MUT_STRONG_STIFF, 10, 3 },{ MUT_FLEXIBLE_WEAK, 10, 3 },{ MUT_LOST, 6, 3 },{ MUT_CLARITY, 6, 1 },{ MUT_BERSERK, 7, 3 },{ MUT_DETERIORATION, 10, 3 },{ MUT_BLURRY_VISION, 10, 3 },
0,0,0,0,0,0,0,
{ MUT_TORMENT_RESISTANCE, 0, 1 },{ MUT_NEGATIVE_ENERGY_RESISTANCE, 0, 3 },{ MUT_SUMMON_MINOR_DEMONS, 0, 1 },{ MUT_SUMMON_DEMONS, 0, 1 },{ MUT_HURL_HELLFIRE, 0, 1 },{ MUT_CALL_TORMENT, 0, 1 },{ MUT_RAISE_DEAD, 0, 1 },
0,0,0,0,0,0,0,0,2, //jmf: claws1, //jmf: hooves
{ MUT_CONTROL_DEMONS, 0, 1 },{ MUT_PANDEMONIUM, 0, 1 },{ MUT_DEATH_STRENGTH, 0, 1 },{ MUT_CHANNEL_HELL, 0, 1 },{ MUT_DRAIN_LIFE, 0, 1 },{ MUT_THROW_FLAMES, 0, 1 },{ MUT_THROW_FROST, 0, 1 },{ MUT_SMITE, 0, 1 },{ MUT_CLAWS, 2, 3 },{ MUT_HOOVES, 1, 1 },
1, // fangs0,0,0,0,0,0,0,0,0,
{ MUT_FANGS, 1, 3 },{ MUT_BREATHE_POISON, 0, 1 },{ MUT_STINGER, 0, 3 },{ MUT_BIG_WINGS, 0, 3 },{ MUT_BLUE_MARKS, 0, 3 },{ MUT_GREEN_MARKS, 0, 3 },// Four placeholders:{ RANDOM_MUTATION, 0, 3 },{ RANDOM_MUTATION, 0, 3 },{ RANDOM_MUTATION, 0, 3 },{ RANDOM_MUTATION, 0, 3 },
2, // red scales1, // nac scales2, // r-grey scales1, // metal scales2, // black scales2, // wh scales2, // yel scales2, // brown scales2, // blue scales2, // purple scales
{ MUT_RED_SCALES, 2, 3 },{ MUT_NACREOUS_SCALES, 1, 3 },{ MUT_GREY2_SCALES, 2, 3 },{ MUT_METALLIC_SCALES, 1, 3 },{ MUT_BLACK2_SCALES, 2, 3 },{ MUT_WHITE_SCALES, 2, 3 },{ MUT_YELLOW_SCALES, 2, 3 },{ MUT_BROWN_SCALES, 2, 3 },{ MUT_BLUE_SCALES, 2, 3 },{ MUT_PURPLE_SCALES, 2, 3 },
2, // speckled scales2, // orange scales2, // indigo scales1, // kn red scales1, // irid scales1, // pattern scales0, //0, //0, //0 //
{ MUT_SPECKLED_SCALES, 2, 3 },{ MUT_ORANGE_SCALES, 2, 3 },{ MUT_INDIGO_SCALES, 2, 3 },{ MUT_RED2_SCALES, 1, 3 },{ MUT_IRIDESCENT_SCALES, 1, 3 },{ MUT_PATTERNED_SCALES, 1, 3 },
#ifdef DEBUG_DIAGNOSTICSvoid sanity_check_mutation_defs(){ASSERT(ARRAYSIZE(mutation_defs) == NUM_MUTATIONS);for (unsigned i = 0; i < ARRAYSIZE(mutation_defs); ++i){const mutation_def &mdef(mutation_defs[i]);ASSERT(mdef.mutation == static_cast<mutation_type>(i)|| mdef.mutation == RANDOM_MUTATION);}}#endif
int limit = 3;if ( mutat == MUT_STRONG || mutat == MUT_CLEVER ||mutat == MUT_AGILE || mutat == MUT_WEAK ||mutat == MUT_DOPEY || mutat == MUT_CLUMSY )limit = 14;if ( you.mutation[mutat] >= limit )
if ( you.mutation[mutat] >= mutation_defs[mutat].levels )