which gift. There was an unused god parameter in the monsters struct,
which was probably intended to hold which god a monster worshipped.
I've used it as an indicator of which god sent the monster, under the
assumption that gods would send their own worshippers as gifts. (I hope
this isn't an abuse of it.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5748 c06c8d41-db1a-0410-9941-cceddc491573
4SWAT5KCKQV527NKELAXFQ5XA4Q5HONQXD4VBXMUZNPVPQKPCPNAC
ERTQJ5ZXDBRGKC5N3GZ6U4MFFK5HB6737FVLVD4GSMGTIFCSJJJQC
ZUVXQB2FJWJQZQ7474ZHCYG5374BGDIZZUSGJW3QZ3X2UPJAUREAC
SUGQXSK6UN6W4WQQHRG2X6QYC5JRWEIYPATYRCP4ADD6DUMACNFQC
EMOBSWJHHB4V6WVMZL7JCF2V3KZN454Z6NS346OKFPMBNO24EJDQC
4NLIWHILQSORFQXPUEGKYVPL2J5UZ4GT5WFUM5YZCHTI7ZSYY4YQC
ADIVVYTV2MJ3XVRYDNBLPTAEACCNF27XZDCRVZFQEHRHPMZGNITQC
YZEMUABJPKIFXOVAZJFA2YRRZX5575H7XQJTYRMICDFZI5HMUM3AC
Y5IKTUDW3HOMUJBEUKVTLM4KZTNX4KMPE544A5LFY2S2BKSQRNSQC
AZEDPVKNGB4BVHN2XBSBQAC3RCG7AWT3TWPH7ATUG43RQADRPNKAC
SGJYXCP2TMR2VQNNO2W4HDHOA72LZOULFORRQVOIURH3KGGZPTDAC
DMDUCZ3IY5MNAFQJZZOVZSDWV36PWF4YXEJJSDU4LWBUP7AESDSAC
WVRX3ZBRHZ3WBHS5C37VVZEFCRTT36JYDTCASHKRY6FK57FVPDRQC
5IDWJF6VEZYCN64IW2XQYR42VEFAB6BR4WE4RNWXZ35JFDOZA77QC
3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC
OJKUO2UJ2O2MUITGVQNF3BQITGVYE3XK6QTG7XW6OYPJ4YFWCFQQC
KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC
NIJDQAJEWQIYKPDWIXYCCT4JIWVE6CWJ3J3K4N5PPGHWENGNZZXQC
73URNFZM2NNHOTIYX6RAUXJ27LYPA6K3XA3OOSHGNGAR4KPQJSTAC
OJXLFQMDM4XF2WSDVMAC3FXG5HJQB3QAQXLZM35RA34YYLTAP2HQC
UKBVBVJK23OUOOKQJRGLZWEZYED5KZ4NLODW6U67UEBYCFWGGQOAC
64LQALS66EFDRQUEN3NRAWD2PWE7VMNRSEUTMRKQSEQTS55ZRZXAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
VBQODM6G5B35WWYGNT36EQDJFVTHMZB6CJWAFP3UQVD6NRUSKJAQC
BH2RBXQLAMSL2UYMSB7XGDEDO3WZRTJXKMFKDMYCPKEXNBX3YDXAC
ZI3XDQ75HFW54FG6ZK6ERZYV6FEXUGFY35Z6VZMKMQK3IMDG6XBQC
NFJKJYTT6CBLOKLGT6HIVIDEPWXMGXJV5AAL37SBZTG2HSFMJMKQC
77G2A767EQKROYP7WEHAITU4T6V6PU6QO33CRSA3QWDYFD45SNSAC
M3CHZA76JC34OROJ2A3HD5KBAFYMU3D7HYZPXT6UOD5DUNIDWT7QC
RDLF4VIJMMHHL2OCQEXOK6HNCS5QX3FZF3S4IHPY3OZUKC2FZ24AC
ARUYZ6FYS52BELXCRNAU3EREQHTFTIGZWHZPL4OLKQRL6MFNMCHAC
L5J2VB34AN7QGOSP5SVJ5FTXDVYCY34VHN3M6VLRGPBMPUHBNZQQC
QFHC4VZHHDG5PKLY7A263OJFT2OQ3MF2HX423AKINPRNR5UUT7LQC
YF6CE2VBFK6K4V34PKBVYVQUTJRDDDCF2M5RMUGW6V6N2M4SUPLAC
KLCR26P7MSX4ZWIHQHRK7BZH7M2QGCITN46FCFVHNX7U7WQWYDAQC
N3NXT75G2JYKVON7ZTE3TG34BBWITCL2HHVQ6H7QREYCDTVQFSGAC
GP7DDCLYNLI6SDXJJ7MH6XHXS5FGFM4SNL2J7J5DGE2EJOETJPHAC
XMQ2SLCLZOJMBDJYLSQKQRJ3FGLMEEESBS4N3C2LD4Y4BFHRU4HQC
67WUNL6XO77CNOMQEZ6BMV4LL2VTCMUBG57DQMCHNEMPCGYXLO3QC
ZFC4PVI443VVPRI3FQK5ZIOKRLC776OEAZRPZUIYZNBUPKIKRLLQC
EY6KXNVGJ5OWJQWBE3W5E4T625XZXUNJMXIEQLCZUAJASUK4KHMQC
WZWOQZCXUB7QX7PGQMIUCH5JM5YME25GE2GMMT2NIJP5OIZUZLBQC
NLRA7GU2LWOTUCAPAZOJLMWJ6L7CC2W6Y32NAYNCLIBZGJH4HWUAC
DL4ZORRUZ3X4OCAGW5GVSIXLNK72KFHQOVA5QXU5QHT4YPRLFS2QC
6DHYNXJ2UAN6YCQCTIBX6PFZQIR435E3TBSPUQ6PBXNJDJTPYS3AC
AREBCIU2RU2RNHBWD4GARWEBKSL7HDFGDLII22H56OJO2AQUOMLQC
ABQY3PFFBHPOGF4TRKNIV5KOTKZ2IYLAJR362XIKHJMQSYS7TKHQC
IPGDTHHTT2NM4UZNEE37JDMBRSER222VVI5XGSDBTHBSD3JNU56QC
VKDDAEFRLGRFE6XRPVIKFK43PCMISCTIWXS5RV4KW7C6MSBNYSKQC
MKTQW2V35UQ45B6BQETHQEMNNXQHKWDERKNKY2CSUTUS22LHNKNQC
UKDT3XRY6C6UJ6XW6SNX6KOB4ZUZ676ERJGBTQFJYHXEDQ3P24YQC
5AZ6MLZVJXRGXNJYLWDQB5RS3A3GKIYS52RA4SOST3PR2FTFNNNQC
HWARR4GI55BIEIJFDE57Y6QOBJ35QP64BJKGEN4T6LR7SKQCFOUQC
7P3DLNFFFSZX43ZJRCWBB3EBTTYPCTDH5KMVXHIZS7JFFMTZNHXAC
P2NAXH6LSMPHCUNEJ6GFCFDVFKHDYBURZE7GRJOEW7L54CCVO4MAC
SCXTTP2FDNB2A7F4XXGXSSOEKZQ7ODDGN5YBCTZXGZ22CLCEH3WQC
FI6AL3IS7HK4G5ZHQMIZYGHT4NJMLVH66DMLIQTQG5VLU6ITVPWQC
SS6TGQMYUEQEFVKYE77VHVQRKSR3ELRQ5Q6VE5KYXZF226OJUSXAC
RA7RDZC5P4OYMR4MKTBO463YCREXENESV2VTMWKIT4G4SBJHFGLQC
DZD6YG52TXNI4CJ2FRGFULBH6G5MDLRVQV3X3V35AW533Z3TVBKAC
AX7U6QDL2V7RIIB26R7YUCDD36OE7LCEWBQXYJUST2ZURV2VBZZQC
EEXPOHBIJ7CZLM4L7ZDIYANWJ4SDA4XNDEVOEPHAVFPUSKX465AAC
SO6OPFUUGKUK24KOXKAPNXR334J7NG76F3Y7ZGC6H3XYSGWTWXWAC
ATIPL5YS7PRHIEEBBLNOJMAZWTQLPBWGWOQZO5SHPZB475GEZK7AC
KJO5N6UIPKQ6TZNNOWZEHUAWZNUW7CAHLIW2ARX47K4SIE3N5LYAC
4TQTAIRCCA3BRVOUIQUIX3QIAXT3ZDAEQ7QV3SYOY76XINSSNWYAC
UW6UG6U4J27IFH2472MBAU6BT7AUKO5YW7YOTYZ5KX4JRHUNORUAC
GB3AUQG7L5SP2UWS4SBW6OTBTHHDQA7W2TVPOVDWWFPQ4GEDV27QC
KATZLWENEIQMKKWIV4ZLXJ5HFUW6SU5K4ZU6NENBOL4XAAVTDUKAC
I2OEVGXBBJ3MFLF7GCYA73LMKUFXMZ72YQER66VGJ4HJM5WK5ZIAC
MED2SJP7F7BIPCRUXOJRTELR3EOKRN5PFOO2LLMQOEIJLID3LTOAC
RQIADBIESWPIW3Y6T7PQ7UH6PBH32ECSM65SM2DFVUEJME6P524AC
PACHJJO52BZM5BCXAWPQGJKLIRFSKAY6SIXZQFTHJ2HQWFQS2MCAC
7KBQYZSNXBMQGEEOAZI6YU34XZ5ECFGTJA32QIJDZP2NYS3SF3IQC
D5XNQEDVMK5UZPEE2HI7BNESRN7Y23FQ44LXJDURDLFBN6GUNYHQC
NQ2PC2EO6VIBYU5MR4LNSLV3LDOYABKSKZEVEDTML6BAJAQAWWBAC
U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC
5MGUZD2UACJCSG74TEZHI3Z4YL5KL6ZVUCQ3XVZKDOLKM7EMGWJAC
XQYNQDAY5HSS57HPEH3GG3OZHAK6NUQZUU5DHZSJ3H7TAFZPMWZAC
62CWUC7WKYRODVOOUFHRPDZXGTBUIU7XPR3EHJWESPG2XVUM7SDAC
PA2AUORPJHOD7XBRM34UMBZRJVTKUFD3PINRMSEE4GKM7AH2KDVAC
N6AB4D7CBK3YG43GL5MZIHKGYXSQWQ3MRKXGEX3QAADLGNDIKL7AC
PJWXE2ZLK4YCJM77CENEMB5XKVFTXFPMJEWC3TAMOTPZ5HSD3JZAC
G2EYUPAIPISVAEG26BS3SQANL37EEZJ3TZBJKKWHGKQ66LB3RFQAC
LEGFIEUGVU2LZELGQH4TZTIJGKEVUHFTRGQ4Y2KGLSK7KNDI7BFQC
JOE4G4IU6O64WRW4CYDALGFCN6XHDI57MGLBBDHS4KHFLAH473PAC
KQNMFSLV62B4ANDKTUZ7LQH2MD2NDGNCP55MKM5YAATQ4T52H2PQC
KYVZGUJXV23ELA4CKPVQZO3NTJCODXMCWYAZJYWVWJVLPETNHLGQC
P2OYYNPHIBGOLT4CRLNTTIXDN34EU2QCMFQJNLAMUAHQXZTEDPXQC
DOP4ZWBT26AXTY5P3JZVGHEUI64KNUKFGP2ISBAXKULOP53TXGPAC
UFKLHUYL7WAQ3CI3D42T4C6KBGAUR63DSQAUQTTZG7GJMXSCVJWAC
BC6CG2UUZWUUMWTHYYDMOSRRZ5DVQ367ZSNRGMEOB6GPCZN4NPDQC
NLQNXH3SVJ52CWXEV35FSSZP32VHC4QFGN3HINF4KO5GZHZMOBKQC
F7QFSXE22UPQTBLYJLY26HJ3QPHFNBJMUOFJRV35R5YCHSGKTBYQC
RUJXBJYRHCLDLXQD3ZRTI7AVECGURT7E5E6PMI2GL7Q4RHYXF4IAC
GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC
P5TRGRH7XMQSPCZKM5IEEO34TY6WMLGHHX7BU6Y453JFRXLUR2VQC
2TFYJ7D72JY4DYQW3GSPEONA2WYIVHAJXTIQ2QRDIWF65XN2QFGAC
XKFXUJ5YV3HQUSBDHADFIH5JFFNBMORLXOUJKWFXV743F5Y2BSSAC
J2A4YGNZ64W3UVI3GGUXOHWE3YMZAJNODOMW3REP7KIE6TCMGX7QC
4LNIHTHZTCOEZEHZ4GW6WCZH4UCDWKK5UVUKEDODEBBS4YH2KONQC
2DORUQ4B574MDOOMRYWGU5I72AKHMCSTZ6B3VSHQBUQOZYHRC7FAC
D7SLVLRNCYCBDYYRANHDG3JYEF25CFCSUY5FMF5KXVD5D4UZSDDAC
FLDIOEND63BONSOAIZ7WYAVNQLJ35O3VFY3PTVRWWYOJL4JXREHAC
TS7X6ZTTQRB2I53VV4LXZPXZWM3DIKYI3T5PPHZANSEW4Q7QZBOAC
57JTN5J5UWWO5NP2CSHQ3DSJRA6HEHPDYTRNEZRNG5Y5TPEYARQAC
X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC
J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC
HOPP345EQLSF24XJYE3625VKU23PBKM5ZZKNCXBXUWYYORYPMDAAC
QDWDUURSNLMT6AXNNJ3DEQCWAKCAIHV6MP5F7QGIBGXOG2BI2NPQC
PVLLIAYFIAU4TQFBIP7B4ARIBUX2CVTSBQECEU6VTONJV4ANHVFAC
TN2D3PHU7VSGUND2BDIC2F4U6O2HFSV3JXLF7HMYYMY7GZXM6IFAC
QDBILCQHREAKSVXBJJGE2EPNR4ATTQWUZMV7BLJYZWWUI737TSKQC
YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC
CG4TL4AKSN4J7CMATZFJ5N7PSDCQXLS3QYX7PZ3K67KMMBT675OQC
WMHFDQKUDCUGM3R245LLVZ5NNEZSCXFDSTNMVS2O5EFUHHO7HU3AC
YX2LDGNQNB6AQRKAVXNYQ473X6EVPQEBT5AJKBIIWFIMS3U2BNQQC
bool cast_call_imp(int pow, bool god_gift = false);
bool summon_lesser_demon(int pow, bool god_gift = false, bool quiet = false);
bool summon_common_demon(int pow, bool god_gift = false, bool quiet = false);
bool summon_greater_demon(int pow, bool god_gift = false, bool quiet = false);
bool summon_demon_type(monster_type mon, int pow, bool god_gift = false);
bool cast_summon_demon(int pow, bool god_gift = false);
bool cast_demonic_horde(int pow, bool god_gift = false);
bool cast_summon_greater_demon(int pow, bool god_gift = false);
bool cast_shadow_creatures(bool god_gift = false);
bool cast_summon_horrible_things(int pow, bool god_gift = false);
bool cast_call_imp(int pow, god_type god = GOD_NO_GOD);
bool summon_lesser_demon(int pow, god_type god = GOD_NO_GOD,
bool quiet = false);
bool summon_common_demon(int pow, god_type god = GOD_NO_GOD,
bool quiet = false);
bool summon_greater_demon(int pow, god_type god = GOD_NO_GOD,
bool quiet = false);
bool summon_demon_type(monster_type mon, int pow, god_type god = GOD_NO_GOD);
bool cast_summon_demon(int pow, god_type god = GOD_NO_GOD);
bool cast_demonic_horde(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_greater_demon(int pow, god_type god = GOD_NO_GOD);
bool cast_shadow_creatures(god_type god = GOD_NO_GOD);
bool cast_summon_horrible_things(int pow, god_type god = GOD_NO_GOD);
bool cast_simulacrum(int pow, bool god_gift = false);
bool cast_twisted_resurrection(int pow, bool god_gift = false);
bool cast_summon_wraiths(int pow, bool god_gift = false);
bool cast_death_channel(int pow, bool god_gift = false);
bool cast_simulacrum(int pow, god_type god = GOD_NO_GOD);
bool cast_twisted_resurrection(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_wraiths(int pow, god_type god = GOD_NO_GOD);
bool cast_death_channel(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_butterflies(int pow, bool god_gift = false);
bool cast_summon_small_mammals(int pow, bool god_gift = false);
bool cast_sticks_to_snakes(int pow, bool god_gift = false);
bool cast_summon_scorpions(int pow, bool god_gift = false);
bool cast_summon_butterflies(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_small_mammals(int pow, god_type god = GOD_NO_GOD);
bool cast_sticks_to_snakes(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_scorpions(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_ice_beast(int pow, bool god_gift = false);
bool cast_summon_ugly_thing(int pow, bool god_gift = false);
bool cast_summon_dragon(int pow, bool god_gift = false);
bool cast_summon_ice_beast(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_ugly_thing(int pow, god_type god = GOD_NO_GOD);
bool cast_summon_dragon(int pow, god_type god = GOD_NO_GOD);
bool summon_guardian(int pow, bool god_gift = false, bool quiet = false);
bool summon_daeva(int pow, bool god_gift = false, bool quiet = false);
bool summon_guardian(int pow, god_type god = GOD_NO_GOD, bool quiet = false);
bool summon_daeva(int pow, god_type god = GOD_NO_GOD, bool quiet = false);
MF_GOD_GIFT = 0x02, // player not penalized by its death
MF_BATTY = 0x04, // flutters like a bat
MF_JUST_SUMMONED = 0x08, // monster skips next available action
MF_TAKING_STAIRS = 0x10, // is following player through stairs
MF_BATTY = 0x02, // flutters like a bat
MF_JUST_SUMMONED = 0x04, // monster skips next available action
MF_TAKING_STAIRS = 0x08, // is following player through stairs
MF_INTERESTING = 0x20, // Player finds monster interesting
MF_SEEN = 0x40, // Player already seen monster
MF_DIVINE_PROTECTION = 0x80, // Monster has divine protection.
MF_INTERESTING = 0x10, // Player finds monster interesting
MF_SEEN = 0x20, // Player already seen monster
MF_DIVINE_PROTECTION = 0x40, // Monster has divine protection.
MF_BANISHED = 0x200, // Monster that has been banished.
MF_HARD_RESET = 0x400, // Summoned, should not drop gear on reset
MF_WAS_NEUTRAL = 0x800, // mirror to CREATED_FRIENDLY for neutrals
MF_ATT_CHANGE_ATTEMPT = 0x1000, // Saw player and attitude changed (or
MF_BANISHED = 0x100, // Monster that has been banished.
MF_HARD_RESET = 0x200, // Summoned, should not drop gear on reset
MF_WAS_NEUTRAL = 0x400, // mirror to CREATED_FRIENDLY for neutrals
MF_ATT_CHANGE_ATTEMPT = 0x800, // Saw player and attitude changed (or
MF_WAS_IN_VIEW = 0x2000, // Was in view during previous turn
MF_BAND_MEMBER = 0x4000, // Created as a member of a band
MF_GOT_HALF_XP = 0x8000 // Player already got half xp value earlier
MF_WAS_IN_VIEW = 0x1000, // Was in view during previous turn
MF_BAND_MEMBER = 0x2000, // Created as a member of a band
MF_GOT_HALF_XP = 0x4000 // Player already got half xp value earlier