monster-creating spells, and avoid assertion failures caused by setting an abjuration duration of 0 and a spell_type to something other than 0.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8162 c06c8d41-db1a-0410-9941-cceddc491573
XGPPA2X3G3266EVSTXGQ7ZWYOCJ32FEYPEUJV55AI5TGFYHTYTQQC SZZXVYILGCHJC3NI3RWK2GQQEEN46SGQO2IRJYSEQ4DLHNIUZS3AC MJLQ4KWA2RV6L45QWWUIU4ABW4NGQ5A3DUJHO2XYJ3KNDNWSF6XQC XWC7QAAK6UYBQED7MTA4NO7EOEYM4IEJAKLZWERCPUER2GCVY33AC NNHSQNYOLBUL6C5W7NNM7XYRHJZKU3ALJZKA5YIPQQVQ7GWPWL7QC WEXUI7XAIWYPGH6BNFTFXR5UHPHMSUV2BQS3RKBH67MFHZ7HK6JAC EC76VUBNPZVDOVDX3KPSDF3KCNMOOGXZEALYVDATPE42BCA4GUVQC AA3I6WU2SPJUPKRIPGXCLU4EZOV4QELVVZ7EIAW3H73GES5DSFXQC G6U4Z6D52TVBX4MQLECOVYDMYUV4SCOX3K7LRGASRKTFILS7NVKQC SLLTYX5LKR3TL75K5CTVINM42WQR5XY5HWYROSCXHP4DTFEGTCMAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC N3NXT75G2JYKVON7ZTE3TG34BBWITCL2HHVQ6H7QREYCDTVQFSGAC KLCR26P7MSX4ZWIHQHRK7BZH7M2QGCITN46FCFVHNX7U7WQWYDAQC GP7DDCLYNLI6SDXJJ7MH6XHXS5FGFM4SNL2J7J5DGE2EJOETJPHAC 3DQXSE4YGFBBDUWK4YEOFWW4UPWILWELFSLP37SL6BERGAZJC5YAC AYU5OVG2HZO46KDAPKUWAVHS5HTYFKUWIMIRMTHAXVVFEDJE7YPAC 4SWAT5KCKQV527NKELAXFQ5XA4Q5HONQXD4VBXMUZNPVPQKPCPNAC DZD6YG52TXNI4CJ2FRGFULBH6G5MDLRVQV3X3V35AW533Z3TVBKAC XMQ2SLCLZOJMBDJYLSQKQRJ3FGLMEEESBS4N3C2LD4Y4BFHRU4HQC Y5IKTUDW3HOMUJBEUKVTLM4KZTNX4KMPE544A5LFY2S2BKSQRNSQC WZWOQZCXUB7QX7PGQMIUCH5JM5YME25GE2GMMT2NIJP5OIZUZLBQC AX7U6QDL2V7RIIB26R7YUCDD36OE7LCEWBQXYJUST2ZURV2VBZZQC KJO5N6UIPKQ6TZNNOWZEHUAWZNUW7CAHLIW2ARX47K4SIE3N5LYAC UW6UG6U4J27IFH2472MBAU6BT7AUKO5YW7YOTYZ5KX4JRHUNORUAC 2ED6A5MQQW2S74LJO3T23TRWWVYAAF2ZN6PXH7LRDK64RWKMOVLQC SYNARO4WXXFW5D6XQYFPSNS23LK44OPQPKPUD4PNL3AWKQWGA5WQC GB3AUQG7L5SP2UWS4SBW6OTBTHHDQA7W2TVPOVDWWFPQ4GEDV27QC BH2RBXQLAMSL2UYMSB7XGDEDO3WZRTJXKMFKDMYCPKEXNBX3YDXAC ZI3XDQ75HFW54FG6ZK6ERZYV6FEXUGFY35Z6VZMKMQK3IMDG6XBQC NFJKJYTT6CBLOKLGT6HIVIDEPWXMGXJV5AAL37SBZTG2HSFMJMKQC ARUYZ6FYS52BELXCRNAU3EREQHTFTIGZWHZPL4OLKQRL6MFNMCHAC M3CHZA76JC34OROJ2A3HD5KBAFYMU3D7HYZPXT6UOD5DUNIDWT7QC L5J2VB34AN7QGOSP5SVJ5FTXDVYCY34VHN3M6VLRGPBMPUHBNZQQC D5XNQEDVMK5UZPEE2HI7BNESRN7Y23FQ44LXJDURDLFBN6GUNYHQC NQ2PC2EO6VIBYU5MR4LNSLV3LDOYABKSKZEVEDTML6BAJAQAWWBAC U3KGUJJQWQORJIIFH3ADVNIEEX5HOX6KEOXO7DJSL7L3Z6GG3PAQC UME4OHLPT46275QEB5TLLWKQR34D632UEH44QK3Y353A7RPNE6WAC EJYL6BLIGHOMKK35VYL2X2MT2HILY2XGKIP4NYU6Q7R5YTYEAT5QC XQYNQDAY5HSS57HPEH3GG3OZHAK6NUQZUU5DHZSJ3H7TAFZPMWZAC XEZ5PLCFGH7YHIQVUCB3VO5C35DXE7N4RSBC7M3AKXJW4OBDZWVQC PWY4VZVHDLYL7UVNCCOW7BM7LYK2BOGTL23P75HXUJ33MHJPEJPQC GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC 3XL4DKV7PSWAU3ZBJSKZFJ2VUYABC47I7KKWGIRCJYXULQD453MQC JOE4G4IU6O64WRW4CYDALGFCN6XHDI57MGLBBDHS4KHFLAH473PAC 7O3C7BZXXFHJQQMLE636R26QJPETYRADNLVJWQDJYGWLQFEG2ISAC KQNMFSLV62B4ANDKTUZ7LQH2MD2NDGNCP55MKM5YAATQ4T52H2PQC Y2NYY7HWFZ2LQDK3ACSLGS37F2J2IJ5LRGCIMZYXLEOSVPD3A4DAC 5ETBQI75XWCYG5UALQR6TKD7FCJYTCVQEN64D6OHXVOGO3QB3AKAC DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC 7OUAAZXWRGOXSQR5ELUZ25KQ5DMWAZBBPFIIZNSEXTTANSJKONLAC OEITBWQWZDJ2VBG24XPTJYA445XKT3X7XHGZL3F2WX4IVZEXQL5QC JBB7GZTVO3UJSPFVELSP4WPJZ5SC5LY36FJJ7WF2BJGZTVPNIV3AC 3BYQVNIM2NMSGEW7MJCZDSH5WSQQDM5NKJFGR4GVMB6DGAOCOEXAC DQBVHSQ2AD3666R763NHIJ7KVJ7GER5NHXPVQCISIUFSNNRSIM6QC YO7TE72UUQA22IZVAYEFAKVFC24Q3AMVUQZHQGKVKKM34T52TJZAC UAJN2CFA2QHYDHW2UFAVPPHDQFCD54RKM6V2UC4AMEDJUBBLNWIQC XLFUVG5L5ESJZAGXKU4QQE6FUJPOQG75TWOVCBWFMD6EDIEIE3OAC KEYK3CH5J46U6TTOKTWRNMYTZXMQXFVEAZUC4ZQ4QCOSJHVIBDRQC I2OEVGXBBJ3MFLF7GCYA73LMKUFXMZ72YQER66VGJ4HJM5WK5ZIAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 3RNRFLMD2X4RUFTDVITLXAP377YB6F6YMQLL3DAXSUZDZBTWSLRQC ZUV76RGZDBOY745YXVMGFUOWEH2B47J74BCT5MDKHIDHC4URGMKAC AZEDPVKNGB4BVHN2XBSBQAC3RCG7AWT3TWPH7ATUG43RQADRPNKAC 5AZ6MLZVJXRGXNJYLWDQB5RS3A3GKIYS52RA4SOST3PR2FTFNNNQC XGAEDOORDNSVEDQ577A7QNKMYJJ2BZXFL6JITM7RAVRIDHHBRJXAC 7P5WSNAGXFBICVTPQO6EHXMJ7O2HAYOIGVRS37EPA5GDQY7KUMIQC 57QTW7NCMZ7EU7BDETQP252YVCJZJWSEFV7MHF5OXESSNBDH3CFQC UPA65AL4JXYLIHH4D42IWJHRTOAF2BPOVZOAKOXBLZBYIMDZDFFQC 7XJLSTDZDOSHW6JF3Y4545YGGK5BC2SOXJVQXXVOFR3I7PXYUJZQC QHQ3XPTZT5KCOGNPTZS62XEBHO7NQUXZ2YZ2GGBDAJJ4JMT2N3XQC 5XNQ3SSNBFXFNWA6DPM74W6FH65NX665P3DMH6YCWVFOPZTJSYCQC FVKF37R37QZRNUKHBLKGKA3YU2YH3DDQZR54QCARFBZWIVRWSSCAC B7MSPF6X2RLGWN4M6ZZF3WSOPKGYPTTD7LIJVST7DXN27DG6JHNAC MWA35QHODXDNH2OYJ3URQQOXSEONHFXY4OG4VMGHYBBTAC777NLQC // If data.abjuration_duration == 0 then data.summon_type will simply// be ignored.if (you.penance[god] > 0)data.summon_type = MON_SUMM_WRATH;else if (source == ZOT_TRAP_MISCAST)data.summon_type = MON_SUMM_ZOT;elsedata.summon_type = MON_SUMM_MISCAST;
// If data.abjuration_duration == 0, then data.summon_type will// simply be ignored.if (data.abjuration_duration != 0){if (you.penance[god] > 0)data.summon_type = MON_SUMM_WRATH;else if (source == ZOT_TRAP_MISCAST)data.summon_type = MON_SUMM_ZOT;elsedata.summon_type = MON_SUMM_MISCAST;}
static bool _summon_demon_wrapper(int pow, god_type god, monster_type mon,int dur, bool friendly, bool charmed,bool quiet)
static bool _summon_demon_wrapper(int pow, god_type god, int spell,monster_type mon, int dur, bool friendly,bool charmed, bool quiet)
static bool _summon_demon_wrapper(int pow, god_type god, demon_class_type dct,int dur, bool friendly, bool charmed,bool quiet)
static bool _summon_demon_wrapper(int pow, god_type god, int spell,demon_class_type dct, int dur, bool friendly,bool charmed, bool quiet)
static bool _summon_holy_being_wrapper(int pow, god_type god,holy_being_class_type hbct,int dur, bool friendly, bool quiet)
static bool _summon_holy_being_wrapper(int pow, god_type god, int spell,holy_being_class_type hbct, int dur,bool friendly, bool quiet)
abjuration_duration(abj), summon_type(0), pos(p), foe(mfoe),flags(monflags), god(which_god), number(monnumber), colour(moncolour),power(monpower), proximity(prox), level_type(ltype), map_mask(0){}mgen_data(monster_type mt,beh_type beh,int abj,int st,const coord_def &p = coord_def(-1, -1),unsigned short mfoe = MHITNOT,unsigned monflags = 0,god_type which_god = GOD_NO_GOD,monster_type base = MONS_PROGRAM_BUG,int monnumber = 0,int moncolour = BLACK,int monpower = you.your_level,proximity_type prox = PROX_ANYWHERE,level_area_type ltype = you.level_type): cls(mt), base_type(base), behaviour(beh),
// Non-spell "summoning" types to give to monsters::mark_summoned(), or as// the fourth parameter of mgen_data's second constructor.
// Non-spell "summoning" types to give to monsters::mark_summoned(), or// as the fourth parameter of mgen_data's constructor.