with mons_friendly_real() and monst_wont_attack_real() having the old behaviour of ignoring arena mode. Remove all special casing of "mons_friendly(mon) && !crawl_state.arena", instead using mons_friendly_real() and mons_wont_attack_real() in the monster code which distinguishes friend from foe. Might be a bit buggy.
Make Zot traps affect all monsters in arena mode, and never the player.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8255 c06c8d41-db1a-0410-9941-cceddc491573
XZTGZ7MOPX7ZOHQ4IQPXOHGUH5WPRNOYAQ6IQOMZDZYNVSAYFTNAC
DHO5XJ4A2GXAZPVUQBYU2A775CMIXH5Z22BALA5IOHFIDCZXO6HQC
HB76TYHVGGAV2Z37EIIU3UWU3RFNGSANU73KEKQFKAX6P2JNSNGQC
V5SYTPXSEUOCYVBE3KRNZSOJMDIVOOLSOGJKQNHGZO26SHICPNCQC
2DWQ5F6EYSBKF7CN3MFNMXQWS6NWHKDJN6RN6AH2FWAJUZGLB6RAC
ACSERNMWRXP4VUEUVKDBSDGTBZRI34P2PUVUDTKSAHNTCEDDCCVAC
O3HPZYTEN566YZRQ27OKFJOEOKZOJX3YOTDVYAKTO6T2H2IUNRFAC
MB3ZKRP3CSLCJJSXQ44QTAME4M4OOAQLNQ2K3D3AFQV5FO6H3EPQC
I6UO62GLJASOSMHEV4M74WQ3U4YFUFLM4AUA6XGWROCIK2LVDA7QC
2UBGHTABAAOWTCULH7HWGSVXVCHJR3ZBTD3Q2YRULMK2J4DHMQ3AC
YNRHNJMZQVKSOW3HDFRSILEYMDN5TPDXFOXI4VXC3P2CSF5AUD2QC
OP6CTAKWCAU64JXQ3USQYR5E5IFHQHNCACII5UMVRXUTZXJQOAZAC
X3RDT655FEYO6XEVPIUAPEPJZAFE55KZBH2AZOLK3NGHINMVIGFQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
XVFTIQ7MSVKQDMQ2HT3IY6FJOZFK4H6OFGTUAID5VGCA5BGVXYPAC
PFEJ4LMDNEKLMGRCMWQ7EIRVU4JMYGICI4G7X4WVWOROVXQCBZ7QC
WT66JDIRTLLP37SHTV4GI3V64JFJ4D25LNRLGCHFG6CLEFKJ3QGQC
H7AOW4T4Q7AKOXREMK6ZXN3GK6A4I24ICE6VTROMJ5Y3LX47TSDAC
2YK255CF5YJ3LZTKOI633NJSVM63HFB3MAIYDV7ZJDCC5SWQIO6AC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
KIDHPMZSLUVK3TF4565MH7SJ57C45SORJXR274VJTOULNOTGHQ4AC
CK7CT5TUFUL2AQY7FUHB5JI3FC2KSPWUWHXC6VEUJJ7G4OWUQFTAC
Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC
7G4KWTOOBRLHOZZGFGAXGTUCDF3FGSZOXVHUZZ3V2KVWYSFE7EKAC
5FA5IEAXTMXYS2VUBVDKBKHPKAIOY4GN5SXYJORBYWQIGHVW3FFQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
3SQQ4MM6YO4I37CQ6GIBIX6BXAEVHNVNHPVMR3PPBBNO454D6XWQC
ZEFGFQHN6J2S6EIPX7EPDG22C5YXTI6DMKQHHRCLWN5MQC44KY3AC
VQZEJTCSRZ5RVLCCKUCIS3IVZPFYRC26I74X4WIJAPEY7NYID2UQC
5OEVFYM62MOO5TE2HLSKC53QE65NF47R3TLYEPHE7O46FN2P6N5QC
5JS3QSE3EIXSBVI4DATH2EIFD7QN3POAFEUM7MK4NRMPH5JOPAAQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
YSIROVP23L7IDSVTBG7OQFQWLORVWWYINH7WPWTZO2I5BH4S7YPQC
SM6YRPYZS6LMDQA6X3VAOK2PGMUFKPD7JMWJISOQSMX2CBR4ISPAC
HQSI2RK5QGNSOR5Y67GZDK4ZWFZ5DSRPASXAV4VHYVB5TUXFZWJQC
LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC
YOH32TMLN6QJG4ZFLYWPJF3YUEGIMZPVPYN57RTB26QBBHMICV3AC
RSIUBEQUGNU4LO6KH4PKVROWQS33DAKSY4XFVGN7T3CEKSXABCSAC
E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC
MSMWAL6JZAWNGZXCNXPATUMAU6TVXBWWFY666P7UBSZ5LPYJYUCQC
BLN5LDH5NRRJPBY77A36Q4THEY75N42MVCJMZRUZ2D5YSXTDL4HQC
66DDSFAHW4O32QBBARNSYI6HHZFCQL6LEUKRVKJVGFUFAAJGS4IQC
N5XD5IAOMEDF37AXEBALHFINB4H527T6YNTCHN5KKO6YHXAP5PNQC
T6RHDGQQWMHGQTTDXLXIJZUQ5MSGI4R6BNISTE7WV73BABJHK2YQC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC
PSCYVKJ7DGXAL3V5U4O6AJTRV6Q3N3SHQWAZ73VIPRTE4W64F2XAC
NUYXKJP5YXHRDUQW5QW7UC3D5U3VPANIOZAOHFCPWMSRYGMA3GCAC
2E4RV454MTTCKYLKMSHEEAFPNAFVUXXPBZV3XP6V7QMF4BBWE7TAC
47NSOFQMBZCDIBHEAZSENFUGDSQCX3GJHFBUZ65ARDKCYIZ435LAC
EJRKMYKMOYRQXTWGFTMADEWIGWLMWHMUDA73AUT7HO5OBK2GUQEAC
ONH7AQ3AEA243UATI74P3TIWSS772XK3TA2JOZQZN6I5GO4Q5IZAC
PKENI7REL6MQ5KKGSBIOVMPJKITY6OLQRXHVD4Z6PU7HMS23XM7AC
IA6EPF5ZQE6276Q4JSUKBSXHX5ODRY5I5UK7LXH4MQEDG36P6PZAC
OCAXB5FMLNTM6ZOSWRFWBMRFFXHTLSJXHXR2AT6Q6MZN5RX5V2QAC
NCRXRQNCAMQQOZCL7TBMKGM6TOGDAHR3GRXAVVB26FLGE2KUZC2QC
JGKYRZ34S3I23PMJX6IUBR7EHEFD6I4XXEGXNT7GKT2M2VIRBSMQC
4HATGRJJE7Q6LXHJ3ZGYTNBLG542KAUEK6ERKARIYRKRWY6VTDKQC
ZGUJWUFJ4NFFJ6PGXLFGQWCWBCZHPWGWI44NJHJEVPRG5L36PADQC
NFOXLH722RGWYY5D63VV6SF2XEJBEOQEFQME6FSA4HZRK3CPLSRQC
KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC
4UXFU3FZOCBSLDQ4S7MJKAE2H7VUHCNRDQMIY6NJ3PHYXWNGISDQC
YXIS433HOV7EZPNYWGA4ZXOKLTQWU55G3HFEN22IBI5ZXTCRIKAAC
4C4D3H4E5MDQ3KT5CWXN5K6H4FVT567PN66GAAHHIWVROHZWG5CQC
PKHOZG6TIUP2NZZIP6CW5OIPZ3O6PCGWXXW5MH4I6P2WVM24HZEQC
5BPJZOGZ6VTUNTJXBTP22KIPGT5NNNSXZVW5J2BGQYBP4MTCZ3CQC
PKXXBHS3LWLPZI2QVRX22MSQ4R2626IXRSNHFFYHXYTLJJQU54LQC
ASH5CK6CPBKMLGGIRJ5GKTWMS5W3OBVHTL66RTYZIPFM6KFBYA3QC
Y2NYY7HWFZ2LQDK3ACSLGS37F2J2IJ5LRGCIMZYXLEOSVPD3A4DAC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC
3GSAVTNKEG45AT2U734R5STSRP22WJZL3H6KUFRUWCIA6A4CZE5QC
IGN3Q5YCLHXKWFZQRSRABCHW2JFW5TFVU7TM5EXE2EW7PDBBSQWAC
IJ4GH6RYJYT4METQIJYT3IITJEHZ4IAF4WBPA5RH6RSYX4KHXMYAC
46I36AWFYIFDOUPKFEMJSJTPQ27CQP7FNKOLT3ZOBUI6SF4EL7RQC
RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC
P5TRGRH7XMQSPCZKM5IEEO34TY6WMLGHHX7BU6Y453JFRXLUR2VQC
UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC
7HYUCUM7VRDLLOPHIEYMKGNXYFBCGCBQN4BOAFVD7U646KLEPHQQC
OMTU7OMVWDVAGJCQGQJDZ3YU252T6IM2LPS2ZMPWB7MIXCJK62AQC
ESHSNJO7LNU6GCDNEBRZAXZYVJK63CUGSXO5FO2Q6ZVGJGJ5NXOQC
#define SAME_ATTITUDE(x) (mons_friendly(x) ? BEH_FRIENDLY : \
mons_good_neutral(x) ? BEH_GOOD_NEUTRAL : \
mons_neutral(x) ? BEH_NEUTRAL \
: BEH_HOSTILE)
#define SAME_ATTITUDE(x) (mons_friendly_real(x) ? BEH_FRIENDLY : \
mons_good_neutral(x) ? BEH_GOOD_NEUTRAL : \
mons_neutral(x) ? BEH_NEUTRAL \
: BEH_HOSTILE)
if (!mons_reset)
{
if (MONST_INTERESTING(monster))
{
take_note(Note(NOTE_KILL_MONSTER,
monster->type, mons_friendly(monster),
monster->name(DESC_NOCAP_A, true).c_str()));
}
}
if (!mons_reset && !crawl_state.arena && MONST_INTERESTING(monster))
take_note(Note(NOTE_KILL_MONSTER,
monster->type, mons_friendly(monster),
monster->name(DESC_NOCAP_A, true).c_str()));
bool wontAttack = mons_wont_attack(mon);
bool proxPlayer = mons_near(mon);
bool wontAttack = mons_wont_attack_real(mon);
bool proxPlayer = mons_near(mon) && !crawl_state.arena;