git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2504 c06c8d41-db1a-0410-9941-cceddc491573
MLZSEZWNNZMSIDQNAAIOJJR4K7VSVJICL5SAGHD3ROM7SYDVZABAC F77HEHFP26LGS3LSDB6J7ZWZUU4X6DMYPMQEAL2JXM4Y3KJU2UDQC FCB6QLN5VMVEH5G6PHSP5J5SOPMQRUWHAB5J37MLY2EMWMU4OUZAC 736HRWOCKZH7GETIX4TTNLYR4SHV42THVUAERWKL6KK252U7DWPAC 7HMVMNBIRU5WDSIWYK6RX57E4LA35N3HLT7RPIAGCDLEKAEEDX2QC KBBSDMAXAGEDFMIVL6BSPMMSOBZKWPJTFCLBGCHRLE5DGTVAACSAC AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC UFNXOEBCAUO3QMYOF6EXYILHZ44AXVMCOV76SFV3VV7DMVUPZWBAC Y4ZNLX7ZW3DDSUXXQSQ235EHKVLLEFOTG2J2FOT7Z6HM6OMPY2OAC 6RJVKSL7RVZIZIZIC4TWIYJQ24RUSB346ODS3NYGDHUIRTC4Z5FQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC LIBWXPN6HLJAIGEFJYLOL4HLIUD236U3WM5QPHIZ3DSB4CCUJERAC 43ZTEB57FU7KE5EVMYWZONNVJBZCGF3JEAJZIY25LC4LGE65PG5QC UA567W6JTM5YXHN7ASN6KU3K66JCXPLTKSAOK5ZEXQMEI6K2SHZAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC Z2KSBD2LWXDNFJPIIYS3GGXHBXQLTLDYGPAJY4T3LNNSOVT5ALZAC 7NDXS36TE7QVXTXJWMYSVG5UHCCLPIO4VL6NXFGTDK3ZNKE3A2IAC JR2RAQ523LOWNDYJNK6AZVKI6WVMI622PIV72XWOVZYPXPUKSQWAC RGWUYJO74FDGTH22CYSHBKFDGJ4S76WTLIULKPXA4QT5ZCNOB4LQC 22QXEMVWB4WB7NRHBLXMRVAYNG36KKTJJABENPBRXYERXEYVBLFQC XD27UUFYG5CXSQMTO5TMCAND5QUDNGLNGZFNISRFWCNO7R2ODAPQC X6JLXMSRNWRGP2PVQYX6Z4OUZLDSSQ2VL3EQQM5Q427MXBMRILEQC ZCRK2DJ5VKECRQXZTWT4NUDL2VT5ZHUK7NT6NQPLRJ56TDX5PJSAC AQ36MO7VNGSGQ5KK7JCQA2WEHUELAFLSU2QBUWROVJFOTPMGFGMQC PGTE3JC4J5U536IJTCJFXTUOSRE73JXZJINWAGCANOQOCGC7J6AAC 3BYA46OYLVN6ZPGAZD5OGIMMH5PRWGNSU3ITJRCVBE6P5HYYYAYQC LABXKXWWQY2V4FUDLGVTDYHXINAP6KRHZDHBQ2FE22FFOEIZPL6QC P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC UVJBHQ5KGUIEFRHKTYQPKSXYDUDKTRAXINUXGJJJ6QGNCR6JO7ZAC JK3HFJG76OOQHJMXJUSZRTR5CX5ZMS52LRVBLOR7E2NBI6PRSHHAC NR7PW3FTNYTZEM7RSWVNMWB5NQHRDMMY3TB6L5II5VCW76OAMT6QC KBTDCQ7GYBRPB346ZEOJ4OM2XHOHN6FJMVMTOJ42EDK5KJX7VLIAC CMNLYUECIMEZSOYG4KOSINOPER5OM7PPCGIHCM7LQVWEO77XFUYQC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC EHCZCD3WGKXB4KDQKZXE7FZQHJ6E4IHHCM7GZJBRMDEQSDC223YAC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC X2FMEN4E345XD26Z2X7JMJ7VGHOGCGIELMHQRE2ITLVNQACP3NOQC RYT42Z6CED4KV5CCJ45CHZ3DQGLFMDCVH6CSQZNXOILULDG4MXVQC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC 3FBKOX4Y5QYPMBOCSAMHNZXCY7Z75YDQDL4EJZHZIGDXL7RMZ7TAC TTHOIZMSG2GWUO5IQWOPYK5V5DS6HIPD7ULFI6P6E7LQ6MMKPMHAC int saplevel = 0;switch (you.species){case SP_GHOUL:saplevel = 3;snprintf(buf, sizeof buf, "%sSaprovore : %s",determine_color_string(3), itosym3(3) );break;case SP_KOBOLD:case SP_TROLL:saplevel = 2;snprintf(buf, sizeof buf, "%sSaprovore : %s",determine_color_string(2), itosym3(2) );break;
int saplevel = 0;switch (you.species){case SP_GHOUL:saplevel = 3;snprintf(buf, sizeof buf, "%sSaprovore : %s",determine_color_string(3), itosym3(3) );break;case SP_KOBOLD:case SP_TROLL:saplevel = 2;snprintf(buf, sizeof buf, "%sSaprovore : %s",determine_color_string(2), itosym3(2) );break;case SP_HILL_ORC:case SP_OGRE:saplevel = 1;break;default:saplevel = 0;break;}
int saplevel = you.mutation[MUT_SAPROVOROUS];
// XXX: should probably still notice?case SP_MUMMY: // no smellcase SP_TROLL: // stupid, living in mess - doesn't care about itbreak;
switch (you.mutation[MUT_SAPROVOROUS]){// level 1 and level 2 saprovores aren't so touchycase 1:case 2:temp_rand = random2(8);mpr( ((temp_rand < 5) ? "You smell something rotten." :(temp_rand == 5) ? "You smell rotting flesh." :(temp_rand == 6) ? "You smell decay.": "There is something rotten in your inventory."),MSGCH_ROTTEN_MEAT );break;
case SP_GHOUL: //likes ittemp_rand = random2(8);mpr( ((temp_rand < 5) ? "You smell something rotten." :(temp_rand == 5) ? "The smell of rotting flesh makes you hungry." :(temp_rand == 6) ? "You smell decay. Yum-yum.": "Wow! There is something tasty in your inventory."),MSGCH_ROTTEN_MEAT );break;
// level 3 saprovores like itcase 3:temp_rand = random2(8);mpr( ((temp_rand < 5) ? "You smell something rotten." :(temp_rand == 5) ? "The smell of rotting flesh makes you hungry." :(temp_rand == 6) ? "You smell decay. Yum-yum.": "Wow! There is something tasty in your inventory."),MSGCH_ROTTEN_MEAT );break;
case SP_KOBOLD: //mv: IMO these race aren't so "touchy"case SP_OGRE:case SP_MINOTAUR:case SP_HILL_ORC:temp_rand = random2(8);mpr( ((temp_rand < 5) ? "You smell something rotten." :(temp_rand == 5) ? "You smell rotting flesh." :(temp_rand == 6) ? "You smell decay.": "There is something rotten in your inventory."),MSGCH_ROTTEN_MEAT );break;default:temp_rand = random2(8);mpr( ((temp_rand < 5) ? "You smell something rotten." :(temp_rand == 5) ? "The smell of rotting flesh makes you sick." :(temp_rand == 6) ? "You smell decay. Yuck!": "Ugh! There is something really disgusting in your inventory."),MSGCH_ROTTEN_MEAT );break;
default:temp_rand = random2(8);mpr( ((temp_rand < 5) ? "You smell something rotten." :(temp_rand == 5) ? "The smell of rotting flesh makes you sick." :(temp_rand == 6) ? "You smell decay. Yuck!": "Ugh! There is something really disgusting in your inventory."),MSGCH_ROTTEN_MEAT );break;}
bool likes_chunks = (you.species == SP_OGRE || you.species == SP_TROLL ||you.mutation[MUT_CARNIVOROUS] > 0);
bool likes_chunks = (you.omnivorous() ||you.mutation[MUT_CARNIVOROUS]);int nutrition = chunk_nutrition(likes_chunks);int hp_amt = 0;bool suppress_msg = false; // do we display the chunk nutrition message?bool do_eat = false;
ghoul_consume_flesh(chunk_effect);start_delay( DELAY_EAT, 2 );lessen_hunger( CHUNK_BASE_NUTRITION, true );
nutrition = CHUNK_BASE_NUTRITION;hp_amt = 1 + random2(5) + random2(1 + you.experience_level);suppress_msg = true;
switch (chunk_effect){case CE_MUTAGEN_RANDOM:mpr("This meat tastes really weird.");mutate(RANDOM_MUTATION);xom_is_stimulated(100);break;
case CE_MUTAGEN_RANDOM:mpr("This meat tastes really weird.");mutate(RANDOM_MUTATION);xom_is_stimulated(100);break;case CE_MUTAGEN_BAD:mpr("This meat tastes *really* weird.");give_bad_mutation();xom_is_stimulated(random2(200));break;case CE_HCL:rot_player( 10 + random2(10) );if (disease_player( 50 + random2(100) ))xom_is_stimulated(random2(100));break;
case CE_MUTAGEN_BAD:mpr("This meat tastes *really* weird.");give_bad_mutation();xom_is_stimulated(random2(200));break;
case CE_POISONOUS:mpr("Yeeuch - this meat is poisonous!");if (poison_player( 3 + random2(4) ))xom_is_stimulated(random2(128));break;
case CE_HCL:rot_player( 10 + random2(10) );if (disease_player( 50 + random2(100) ))xom_is_stimulated(random2(100));break;
case CE_ROTTEN:case CE_CONTAMINATED:if (you.mutation[MUT_SAPROVOROUS] == 3){mprf("This %sflesh tastes delicious!",(chunk_effect == CE_ROTTEN) ? "rotting " : "");
case CE_POISONOUS:mpr("Yeeuch - this meat is poisonous!");if (poison_player( 3 + random2(4) ))xom_is_stimulated(random2(128));break;
if (you.species == SP_GHOUL)heal_from_food(hp_amt, 0, !one_chance_in(4),one_chance_in(5));
say_chunk_flavour(likes_chunks);const int nutrition = chunk_nutrition(likes_chunks);start_delay( DELAY_EAT, 2, nutrition );lessen_hunger( nutrition, true );break;}}}
mpr("This raw flesh tastes good.");
mpr("This raw flesh tastes good.");heal_from_food((!one_chance_in(5)) ? hp_amt : 0, 0,!one_chance_in(3), false);
start_delay( DELAY_EAT, 2, (suppress_msg) ? 0 : nutrition );lessen_hunger( nutrition, true );
case SP_HILL_ORC:case SP_OGRE:if (!one_chance_in(15))this_chunk_effect = CE_CLEAN;
case 3:// Doing this here causes a odd message later. -- bwr// this_chunk_effect = CE_ROTTEN;
// the amulet of the gourmad will permit consumption of// contaminated meat as though it were "clean" meat - ghouls get// rotting meat effect from clean chunks, since they love rotting// meat.
// The amulet of the gourmand will permit consumption of// contaminated meat as though it were "clean" meat - level 3// saprovores get rotting meat effect from clean chunks, since they// love rotting meat.
if (you.species == SP_GHOUL)description << "It smells great!";else if (player_can_smell())description << "It stinks.";
if (player_can_smell()){if (you.mutation[MUT_SAPROVOROUS] == 3)description << "It smells great!";elsedescription << "It stinks.";}