git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7439 c06c8d41-db1a-0410-9941-cceddc491573
SUIDQIK6BZDJSYSFG6AK5A6K76EKGPKBKGGRCIU2AN6XOTCUHOBAC STZQCHS5Q45AVVPKQFF5FWKWXZ246BC6FXUTCLDUUVAAZ47F7GNQC VVVOUK7QZU3NNYAI6SJNWM5ZK7362HIXXSQI5BKVMHHL2CXMYXMQC 46I36AWFYIFDOUPKFEMJSJTPQ27CQP7FNKOLT3ZOBUI6SF4EL7RQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC QDTVLBRGHDTRUVT7I3O72K6TMOYAUSAJBZUHGOEFU2RKJNUPWZSQC JI4NDSOXGGZ7QHXXFB3ZTHAKHABXYBZXPDGLUFV5SKYEOL5FT7JQC ENOQQ6DEA6ECRNTBGYYNK7G3DFEILMKQBNKP4SUQIZW2L6HWVR7QC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC ISUJEAPPWKP2UIYPT6BJUUNSVH52NEXWGXNUATL7I3IO7TPO32HAC 7X5YDPAU34LOFKEGJYE6GC7EOEDKGT3O6CUGZBYJI45L3FQOAKHQC TGPVUXV5JRLW4FHYUHOUIPFXDVVMYN36WQHMNXCOXWMGZKWEAG2QC S34LKQDIQJLIWVIPASOJBBZ6ZCXDHP5KPS7TRBZJSCDRVNCLK6UAC KBBSDMAXAGEDFMIVL6BSPMMSOBZKWPJTFCLBGCHRLE5DGTVAACSAC FBK5ECMQ6HJSQSN7C3DICKJIRJ3CSO3CHCQ3ONPBKLLSHDGPBQ7QC LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC 27JI3J23EXDY2G4X7NHTFTSHSEUDGDPFOYPG6P53UNSSJP3DDQTAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 5FHWTG7M6FW4B3I33YI7QSM3OZIB6ZGC6TI6JISSLY5Y43HI56VAC GVW4OBPGXY2Q75HB7QHADZIOHKL22FI2BSJ2TM4K5SBJENBFTQKAC PI5BATR2SER3RFE76IUGHM2AGXVFOUM3PLU7WC2K2Q2BA5K2E73QC FZKMVCODMWQEVVBBQHTTXFBRO4LZEYLB646ZPVUMLHH6EER7FAOAC C5U3HSOOQ7BKXKXIDS7MLVXUKDTHAWJ5NXNX6YDXTM3GWY5UWX4QC TCZNXMPFNAWJYUIBTUEOTT73KLB4CU5S6HBKTHRT6KCD4ZVGBGUQC X6W4FXCQ72PYSDPGMQCZ44QQANZFGTXPUHDC5GW4YFSJ2KPBVAMAC KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC PHBACPMH3F34GODHVDKNCMXWU373RJQGVTDLBFCCDLLWDXVYOLTAC RWCCZ64BG3HSOTM54ANIGENC3F3AIR42LJFRYSAKMCPCIUSOZY5QC QEX3OFNT4IDUY3FNCPNKXB2RWHXRGEXTQQXB63GMVOTGQQ3IO5TAC if (!you.duration[DUR_POISONING])canned_msg(MSG_NOTHING_HAPPENS);
if (you.duration[DUR_POISONING] > 0)reduce_poison_player(2 + random2(pow) + random2(3));
const bool res_poison = player_res_poison();
if (amount <= 0)return (false);if (resistable && wearing_amulet(AMU_CLARITY)){mpr("You feel momentarily confused.");return (false);}const int old_value = you.duration[DUR_CONF];you.duration[DUR_CONF] += amount;if (you.duration[DUR_CONF] > 40)you.duration[DUR_CONF] = 40;if (you.duration[DUR_CONF] > old_value){you.check_awaken(500);mprf(MSGCH_WARN, "You are %sconfused.",old_value > 0 ? "more " : "");learned_something_new(TUT_YOU_ENCHANTED);xom_is_stimulated(you.duration[DUR_CONF] - old_value);}
}void dec_poison_player(){if (you.duration[DUR_POISONING] > 0){if (x_chance_in_y(you.duration[DUR_POISONING], 5)){int hurted = 1;msg_channel_type channel = MSGCH_PLAIN;const char *adj = "";if (you.duration[DUR_POISONING] > 10&& random2(you.duration[DUR_POISONING]) >= 8){hurted = random2(10) + 5;channel = MSGCH_DANGER;adj = "extremely ";}else if (you.duration[DUR_POISONING] > 5 && coinflip()){hurted = coinflip() ? 3 : 2;channel = MSGCH_WARN;adj = "very ";}ouch(hurted, NON_MONSTER, KILLED_BY_POISON);mprf(channel, "You feel %ssick.", adj);if ((you.hp == 1 && one_chance_in(3)) || one_chance_in(8))reduce_poison_player(1);}}
}bool confuse_player(int amount, bool resistable){if (amount <= 0)return (false);if (resistable && wearing_amulet(AMU_CLARITY)){mpr("You feel momentarily confused.");return (false);}const int old_value = you.duration[DUR_CONF];you.duration[DUR_CONF] += amount;if (you.duration[DUR_CONF] > 40)you.duration[DUR_CONF] = 40;if (you.duration[DUR_CONF] > old_value){you.check_awaken(500);mprf(MSGCH_WARN, "You are %sconfused.",(old_value > 0) ? "more " : "" );learned_something_new(TUT_YOU_ENCHANTED);xom_is_stimulated(you.duration[DUR_CONF] - old_value);}return (true);}void reduce_confuse_player(int amount){if (you.duration[DUR_CONF] == 0 || amount <= 0)return;you.duration[DUR_CONF] -= amount;if (you.duration[DUR_CONF] <= 0){you.duration[DUR_CONF] = 0;mpr("You feel less confused.");}
}bool wake_mimic = true;if (item && item->base_type == OBJ_MISSILES&& item->special == SPMSL_CURARE){if (beam.ench_power == AUTOMATIC_HIT&& curare_hits_monster( beam, mon, _whose_kill(beam), 2 ))
else if (item->special == SPMSL_CURARE)
if (you.duration[DUR_POISONING] > 0){if (x_chance_in_y(you.duration[DUR_POISONING], 5)){if (you.duration[DUR_POISONING] > 10 && random2(you.duration[DUR_POISONING]) >= 8){ouch(random2(10) + 5, NON_MONSTER, KILLED_BY_POISON);mpr("You feel extremely sick.", MSGCH_DANGER);}else if (you.duration[DUR_POISONING] > 5 && coinflip()){ouch((coinflip() ? 3 : 2), NON_MONSTER, KILLED_BY_POISON);mpr("You feel very sick.", MSGCH_WARN);}else{// "the poison running through your veins.");ouch(1, NON_MONSTER, KILLED_BY_POISON);mpr("You feel sick.");}