Clean up some corpse handling, add food_is_rotten() function instead of manually checking special < 100 everywhere.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3283 c06c8d41-db1a-0410-9941-cceddc491573
5TG5LXU4DX65KMWCZ7YJHOB3VAETQAVBUHEUSQTPMA327XV2HQWAC VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC YMC3RKF4Z7DOHZNGG7INC343SXCTWOPK7ISD42I3WA3AZZNVBGIAC ESWIM76FGJL4QFLSHU6AC4D74PT7OPLQ7ZCJYWLZS5UCBAJDXYHAC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC TTJ3ZULM45YPPVIYM5AQ5WE362I5WCJ7RUILQDGVCBEXKVQ3YAYAC E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC VNHFP63ZLLZU3A3PLXP4BITX57DUIYDHFOHQYK3BOBHV3S64G26QC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC 7Q4H6B62UZACQOUDHCHPMPBYEBXM5GVQINIHVHM4KLRENSH6VGTAC ARVJY7XPMCHI4IAQMD2VUWTAXQLCRNVSM2MK3YT4S4WHQYFTLEMAC MBBPLL4SZUB3JUUYQYLZW7S5OXRCEGJX3WWADOQXGHWQ7BIKCY5QC O2GH2BHUL4XXIIJSMKNV2NIC4KQACE6HLMUL4KEUDFNFEAGMZSZAC 74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC 264FLET5STFALEWUDOEFCR273Y5CY2WZDHL56WHZUAQ635RUN6MAC MMND435BVG6KUGRUEMSHBQX27FRASBK5HJ6OSKLPON2LOG63L75QC P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC JXOE7KJIEAJHPLMZAJ6O4YHDTRB6BGNP6XT3ZSEFYGSIUMHR77KQC 2H32CFFM2FNS63JJPNM2S6HMO543EX72GMPOU5GI6HTMQYPL6I3AC 5ZG33P3GHTV45HM5STF23BNSV7T4Z6MGCLPRGCNHIVCQUTHDPOTQC 7HMVMNBIRU5WDSIWYK6RX57E4LA35N3HLT7RPIAGCDLEKAEEDX2QC CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC HIRKGUMNJPWKSVTR6TVBPD3MWNA63CEHCLCIPWEMGDFHVB3NPLDQC } // end offer_corpse()
// ritual sacrifice can also bloodify the groundconst int mons_class = mitm[corpse].plus;const int max_chunks = mons_weight( mons_class ) / 150;bleed_onto_floor(you.x_pos, you.y_pos, mons_class, max_chunks, true);destroy_item(corpse);}
}{if (!dbname)buff << mons_type_name(it_plus, DESC_PLAIN) << ' ';if (item_typ == CORPSE_BODY)buff << "corpse";else if (item_typ == CORPSE_SKELETON)buff << "skeleton";elsebuff << "corpse bug";}
if (!dbname)buff << mons_type_name(it_plus, DESC_PLAIN) << ' ';if (item_typ == CORPSE_BODY)buff << "corpse";else if (item_typ == CORPSE_SKELETON)buff << "skeleton";elsebuff << "corpse bug";
std::string prompt = "Butcher " + mitm[o].name(DESC_NOCAP_A) + '?';const int answer = yesnoquit( prompt.c_str(), true, 'n', false );if ( answer == 1 )
mprf("Butcher %s? [y/n/q/D]", mitm[o].name(DESC_NOCAP_A).c_str());// possible results:// 0 - cancel all butchery (quit)// 1 - say no to this butchery, continue prompting// 2 - OK this butchery// Yes, this is a hack because it's too annoying to adapt// yesnoquit() to this purpose.int result = 100;while (result == 100)
corpse_id = o;break;
const int keyin = getchm(KC_CONFIRM);if (keyin == CK_ESCAPE || keyin == 'q' || keyin == 'Q')result = 0;if (keyin == ' ' || keyin == '\r' || keyin == '\n' ||keyin == 'n' || keyin == 'N')result = 1;if (keyin == 'y' || keyin == 'Y' || keyin == 'd' ||keyin == 'D')result = 2;
bool rotten = (mitm[corpse_id].special < 100);if (you.duration[DUR_PRAYER] && !rotten &&god_likes_butchery(you.religion)){
const bool rotten = food_is_rotten(mitm[corpse_id]);if (can_sac && !rotten)
// ritual sacrifice can also bloodify the groundconst int mons_class = mitm[corpse_id].plus;const int max_chunks = mons_weight( mons_class ) / 150;bleed_onto_floor(you.x_pos, you.y_pos, mons_class, max_chunks, true);destroy_item(corpse_id);}
you.inv[which_inventory_slot].sub_type = CORPSE_SKELETON;you.inv[which_inventory_slot].special = 90;you.inv[which_inventory_slot].colour = LIGHTGREY;
food.sub_type = CORPSE_SKELETON;food.special = 90;food.colour = LIGHTGREY;
const int chunk_type = mons_corpse_effect( mitm[item_link].plus );const int intel = mons_intel( mitm[item_link].plus ) - I_ANIMAL;const bool cannibal = is_player_same_species( mitm[item_link].plus );const bool rotten = (mitm[item_link].special < 100);if (!prompt_eat_chunk(mitm[item_link], rotten))
const int chunk_type = mons_corpse_effect( food.plus );const int intel = mons_intel( food.plus ) - I_ANIMAL;const bool cannibal = is_player_same_species( food.plus );const bool rotten = food_is_rotten(food);if (!prompt_eat_chunk(food, rotten))