git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4229 c06c8d41-db1a-0410-9941-cceddc491573
7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC 7TK2D5RI45FKCIQBHGU4FA75NSFZA3ZYFF2UYQJEGHCOV7I4XUGQC ITXXL3C3XOWESEDE4TXCPJSDUSITZXBKIFM52XIC3ZRDMS4ZB43AC KAFCZ5PNUDUJMOEOILTX7V5GDAMBS7VQCBVH7PFDN35DOQ77YRZQC 47WMN3S37XT6E2JM5S77CNZ37SD5IZKMSHINGY3CDY4QOOS7CLXQC CIMAKN37NS7XUMGVZO3LTGBMDHXC4GPWMYFJ6GEXOIGTHUIO7EDQC JEJWZDHWOUETI7JUTX7JPMZM4X53F5ZYE6NGIA27XGY6QSV3JZLAC 5LRCNSKG4ZBIOK3YL7DARYHMTEY4M5BCAP36KWNHBG2SJMEFXGLQC ILFGYFIGMG2TGMEGOLYIBNCOTWK526EDQYXPZ3CUST6OEH77QFKAC YBXZWBUWXXLLYKP5IHXU46AHJ4YO55NM5QE34I3DFB25NLPQXZPAC NPCTY7SLKPF6POZZDNAIJ4RZPWOH6R65APHPZ7IPRGCOR77CSVFAC AMAPVOFKH3YS5VCVOG2YNHXNDAZATMXFUL6ODZUIOF5OYYKBVKGAC C5U3HSOOQ7BKXKXIDS7MLVXUKDTHAWJ5NXNX6YDXTM3GWY5UWX4QC HWTL2S7OVOJRJAAN66ZTT26HJDAOIW6RKAG5NFMNZJU63CTU2U5AC TPPJRQ2NTCV3GI2VRHEXQJREDERPJODCJWUG5WCOQGN4REPPPAMAC IPYQUTCWLI46CL62UXHR6PULPO4JPPXPFAJCGZULBQM67SHGPXTAC JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC LNYPEXOYU2MHSCPQOFOA3LL22OY5ONJVQZYEB7DPZ37M6WE4CK5AC VXMRWJ2CPHIB2NAHMZKUV7DAFA7GLVA32WDS53WNT3BIDHK6GOZQC YGLH2MKT4HM2RF4W6U33ANH7Z32MTWD6WNEL2AUD3B3AGFVJMQGQC W45PMU4HNPSAMMEBJ4XH4MTHLPVIASZT4FXTBPID5LFXKIMNUBKAC ENI6P5WUO7DS4Y7EUDCYB4PSNT7CXH2L5JIB5BLZHNMWN4QDXMWQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC IE3INS4WUXZOBVXB5VWRBYPVPXADD2U2W5H3TBTOYNWJ3EGRSGQQC SJOTTUZMA3UTGT5D6LKUTBDP2CZFXT24FB5IAWCUFHSHLLACM75QC LJK4ZQATLSB4MKZG3ARZX5V6RFGTN3NLCN6GTCUGJQKU26SOXMUAC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC B62ICMDTN5V7R7RBL4JALFVKEMVOOVLRSJASRNYS6CGFWBEEF5JQC 247OW5JFN34ZV3GRVHRE25AXLLISUBPOX5YRGUE64BCM2V7QNEHAC RCPQNIRPR3NQXEMVLBAQW6657UJFIP43N54UJVEZHJH22OH4UQIQC FVCAZQ5Y3MJUSYWOLGBWPGE2CNXVGQF3LHF2GT2JZ7Z2ZPWL2YNAC UH3CJQMQ3NPICXD34NTCTUZJWOCEF4P5XEGXFLLNDDFLZK7QPUBQC YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 4UXFU3FZOCBSLDQ4S7MJKAE2H7VUHCNRDQMIY6NJ3PHYXWNGISDQC BRGAZR5AXWC2IALBVXO5SB354IRQEIRHSK55RZPGFI4AGIOD4LUQC KKEPQAZMWQFWPQ4P4KT5PWG2YFPG7H4JHL5K7USVHQ3Y6L4NWURQC AUXVWXWIFSTWFA6VZXN2FMG7FQEKRZVV6MD32VQQ7J2RKCXHAVGAC TFNFP2YQA4EOVE4VIXBEQSGACZSXHWIQ2T4TIPQ46R2MJW2C4B5AC DTO3EUKWHZ5RJNGNCFYXSOVTIPVXPP637F2W7WFGYKJ7JK7VNKNQC L6SQXI6VUPDACCYYJAOHBRDPXMIBLLVVDSRADTEIEPJSZMYRBNRQC VS246W2SVNBUAI5SZE3RS5WPQWLEYXHHJHFXP45BZO76CB56NI6QC Q3DNEB5OOJ34P5ML4CMK3L6SCP7RLW7DDOZEG24KZBX3C7BJRQDAC V53DXVC5T3N6J47H2CNG4MMPRR4PHW4AIS66QNVTKJNNYTTTQL4AC JEMXAQZQWBO2IIQ4EKD7VY5FLWDKD3BAODAUFXVIUHLI6WFZDCAAC Q3XHNSHW6FI4JCXSEABATRFBJPMCF7PXNG2K6ZQTRRPVMIZFHUBQC BZC4SQHQJSDAJKSVQCW6ZUUT7FVAPWID5GF3E4RGWZY25OTG7AFAC M2HMYLYYXSP5XGX6MCI77IT6UW5K4YSEUJWHPQPYXVSW5L36BJ2AC KX6HOBTF5OBZLH2VNEFHH6YAX66FSE6JGBY5I2WIAW5IEJUGNL6AC QS3ZRS3E6KL3YJHPKYEWCWJYRBJSXD5OOYF6Y25HZVECGPJRDB5QC WFQH23BWXTHXKIGOAWWT45ZTSJQAUX6CZWLT7KPGQMDOEYC24HWAC CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC 6JBULLXOSQVDJZP2R73BFMPV2OHWFT4V3KBPU5CTGN7REHBOB5NQC SFT2ECCWJJWIMK7V3POVHXECNQIGTIOPA7BEIKHBLWLJMUJ4FFTAC 5V47S4NNTHWTSAHV3YLO2VGH7JTUIYJ3GBPDN5ZM4UQALT2ZEXDQC 2QMDACGXJJYBL2CQIXJLNJ65GL3WJMW4ZRE3BTKK4HRWCBLST5UQC YX2LDGNQNB6AQRKAVXNYQ473X6EVPQEBT5AJKBIIWFIMS3U2BNQQC 6XJP54KUBUB46BX7ANY5DHMN24Q7EHJSQKS7U2BHCAUQUKNJD7DQC JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC XYBPIU6AQ77EID4VNOMI7KQZULZI4VBZHHIGBRYO7QRJVCODEKYAC GNF4E3QZL4L24PB5KIRO5JJAZYIAIQLGH6PEJB3ONWMIIYDKTY6AC NVJBJYMBL5QMGDAXDYBF5Z63UMPKWX27V6PUSQ7QM6NISI3RCFZQC EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC O6ZMFKDI3XO2SWPNEYHIPYFDWJR4TVDP5BAATK6LVCVETQID6E7AC VNIAJEGE3PYE6F6EAMCQDWMAS52EQTKJUPAFXK7ARCITZ326WTTQC XFIU6NZ2FVPF7EPMMXLC5O4P7EKGVBC6K2IA3WSVJ57JONFIPKZQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC GDHH6O4KVTDWSENR573WKVFCRM2L4AVOBRSVPI6F5A2UR7U7SPXAC 5FECCMAC5QKG3SJ4ATZFE2QF7I3A4YKWKCU4XQEW2P2SWZ2J33YQC 34RCM6RXIWHZMYXNGFQKLKQIAJ6QISIQ3D5HMK4HZNLVX66BSUBAC XKAJWK6MPHS3ZCZIPPLTIMOPF6AROGLRDDCS6EFE3IGE4AHT7MYQC JUNF2JNFSVAITA6XQU3CEOMP5PG4PVSHKIGFTSUCYCN4ICPEXEKAC CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC BDFIS53HAIHOCXQ5BE7WCO2MEOFCUQPFY4JGUWVLWY6JO3IFMEKQC SSCG2FLJMUTTIRXBFSPLAUUBUIN375ZGL5UOAF3SC62ZIILSMMKAC ZNOLV6MQ475T5IXWQRGTYTWHIFAD5ELNWX63M6ZVBNUXOMTSG5NQC RREJL4WZKWFEMA62AC5G5UDTOXMW4UULIQXVA5RPFASPODMHQZ7AC 547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC CH7JECYYH35H4TRHRNRTRJCQTQLZ2WRH62TKV72SUIU2RTK5OH7AC SGR2P5BGJIJHVSSQYQHWS4ORLVHQBZTDES3D4BFC6SVAQXSKENNQC 5CNYJQGEILRX2TAYBWMVECJ6D4OPV2CD6YPDIERS2SR77Z4LTZPAC BKU2GWFNG6H74G76JX4RP3WVMU4IKTHPSKRMLWZAGA6BXMMZ227AC SSQP7MS6LZYY73QEF66EYNNQJJSB6TVLLWXLWL7JJAYBLXCEY2XAC 34C4U6EQWERY75GZJKUCM5KVGU2OUICETS5LGZF6RMKMZT4R5SQAC 5KJCHLIUFKRPMIVWUAYT6EOF7SW4PTQF6Y5OPEFWXGLE7DUGYLZAC 3GLHLYH34NUBL2C5HSECKNVAO4ZFAAYXCW3Q5VZ2PXDDZ4SDD7LQC CE6FLTWU5PYFBSGVTIJXQXRMHOIHQ3VJCKHQVIMUUAIFHQ73X7NAC 72CQFK27NR37P2WQ32U4PEXXKMRIO7JEMJN2ZCPNVPZMT7UPFJJAC FA2V3G4NYTWJWUT7EWH75L3YOUX6YVOZ5LNRSFLO2XF273JKSUTAC YPALSPBPRHBZ6AA7Q2JVYWM53XIPB536EJGHUMESY4GKF4XFILZQC 2H32CFFM2FNS63JJPNM2S6HMO543EX72GMPOU5GI6HTMQYPL6I3AC 6GQU5BMORHTHJGGVYPGJZSEIHPOVXDAS23BE7OHU4X6WVDYRC2MAC CJWCTWT75S4P3OSCMUZ2W6UTWI6GOQMUSBUN6KEN4TVFEG4HHHGQC HW7XKO7HRAUQVDVVKG5GA7PYAEL5J5GKVDPT2CKAD3FLERAY5HLAC EGV2HM7SD7UQSWJGLR65NQJTUBAJ7WHLM67FMH4UFP7JRSFKREPAC JPYDWBRN75GC6UZ26MXJTCXGORTJOWGRDEU4JFPU52LYHGK6UI2QC A7NKTYZ6VZC42TSSSDEWD5ROPE3P3M5I2QSNAVUMCYJ46PCXTDPQC Z7SW3IKYNXMOHHD77NGXN6RGL32PZBO6AIHLJY74IRO23AIRKWMQC B7MSPF6X2RLGWN4M6ZZF3WSOPKGYPTTD7LIJVST7DXN27DG6JHNAC PTHJX2MZO5SDSHZMZOWBUPHUEZZPNU6NQAFOC6L3IYMO7C3C4UWQC RR2J4VLJCZSAKY3HNS334KI4YUAPOMSETO2HGCGEEIUCUJAYAGSQC KHHAE5ZK7ITEZVMMUKYROKECLE2RU5ZU5OQ4Z4XSRQXE2R65O67AC DH3YTI6VVI727SQXO4CXSDCSBG2UN3UAWLFULBGRLBVH22ACRXIAC 3KAINFIXO7WNWGUGZB43EUNFRS2ZPBLQZDTY456QACMRHYIJ7WDAC Y2CHAC4BULOT2UHD47F7JTSLUGGMVHYOJZB4W76AXMSLIDVHULEQC TLTANJP2MIQGO5I6HSL6R3J2NIWURGQMZZSZJSSGC72ESTF3F66AC XEC3L6W6TGIRWHINULNLKCIP4UBMHFYE33WJL7272I2GRRCFZBWAC S3RNWZ2RPHNTLEPNYRJPQ3PIAP5PW5S3YAQAYQQ5INWLKDKS7XNAC 3YBQGKQ22WFXA5RXDSKLFWMABLJ6KHBVWEIA3WIDHWM25OECNTYAC EWQIUA5WOC7YATFBBYEC4FM3V36MPM44EEDIMR4NU2DEUCSB2GSAC SJXOZ6J66G3S5VYGIZ3YHEUCKUF5554YEFUYLVBH7X4ALYSXKTGQC TF5WVX4WNGWZTEB6BN3CLPOTLT7KWA3B6P2L2QWRFH67YTH5LVMAC C7EEMEI6FU6L2VWZBTDCZO5ZTB2N5TCNGSMIBZTN6NZRE7BUBFPQC VEOWM6UDFNWRAXP5YUO7XBH4ZALAJXCWRA4IRDITXJ3QWH42CTWAC I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC TMFNNWBMIPWM2FDC7I5R2RUKWNBS3GD3DX6VN452VYRPC3GU2HCQC L2LHJGBUBQKEE5BVJ66Q5HX6LD7EVNE4WNRVU34G2W576L7SIEUQC 3C2VE43SHCSBY4LTRTFYFLIPRWFUN6DXU6D34QVWDQTSNRBUFG7AC 6O5667Y65C5GTP4V3NBKWUN22IRGCAXEELJ6MCANMYPBOKDUO75QC J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC 45FTVJJ5FMXBXQ2GVUZVJZU6Y6NUYG2JZIHWVMONA7QYYCZQSM2QC ZHFUXYUHS6V47WK2NRH7OU6RX77NRKTXOZC3MND2GG7PEEWSGFTAC J5AAA4LUTW6PLS2DBKGTXPSW2SGOBMICEOA3VDHRSKVLU36EGQMAC 5UC5TI7B6NWGIGN74QRBZKDBYUMHLM2ZO5ATXEZ6TZOGOLF3JX5QC RSIUBEQUGNU4LO6KH4PKVROWQS33DAKSY4XFVGN7T3CEKSXABCSAC E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC KQNIGKATHT4YSPJFPJGIGPD6VNR5B753SE2JN2LCXZZJNHCGY3DQC FUEEIUKGHHFPIRZCN3N753GONWAZTWQ2ZWR53IBJAAZ6FZUNGOMAC HJV7BZBM752K5I47ILBQJJXSPODBBLGKDX5DWJTRDXPJ3V7AEVWAC AO3KHGKGSX2ZR24KJVIOTUY7EHYHMMI5W4HN3CAG4YGQHBOHLGDQC FSD7GIK3YLZXWLEH37BU6KV3IUCFGXPQL6IZ7H65YWNRBEKDBX5AC AF7VAKCSGEYCXRTITS2WAW7VTM3OEQOECMNXR6YMOQLBCVZZFAVQC X5OHFTHRXTI5KHFIYFJ6DB3W5MY3JUJKNTL4HF37MKABYNCOBOZAC L254F6ZIU2HWGLFFGPIORTN4C3TDQ3E5JZ7Z7GQA5AEDIKL6PKDAC 2YSMM7QMFZOPD5NXAD2OAMDJEY5LOZO4NCYBC7UCQVANKINJRNBAC WLX2RQMMOMP2PYPAGJRM4VFD2WTLJTOAZZPPY3MV76FU2EGEJ54QC W52PTX4I7TUG2LS36FJHLZ72DWCVXGUCTUIKPI3IGEYO5KWL6OVAC ZVK4J5HTKFNOOIVCI62ZWEYGXEE5TYJ65DLYYZAZWTADFSXE62ZAC UZ5623MOLKBTGBSRBJ4OBOEI4IEZSPV3NCV2DRMUZ3CHHJQVHIIAC RBKHIKKQ5LSNWJA7ZIJ6B7HF36UA6LPZLVEWOJ3X5CUSQUOJGFZQC OHJE4HQ2B3HVV4BOPBRFKO6HBRTLZEI74P5PLJF5GLSRD2MFWXHQC RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC PR42BCP5BPRFD2MP5H6CIJP7E57Q6TKL6SOXZWFKMFVR2OZWHT7AC TDE7UVSZX4XJDAQWKCAPZ5IU25C75KKYUHXFI53JRIWHKK5SAGHQC KAOE5HB3THUKVGFZRO5EZESHEB3Q34WUO5DFMLWIKOBF47LZTIYAC HFXCFYFH2X3BIZR55ZADL3CV4MQJEEHDSIJZ7YSTHO3HTZP7GWEAC KN5WFFRSNGHIGI5IUYRBOA4R4K7XK3AEAAMN6ELDFTSYKPN7QX7AC C5VA63WAQRWPENIMXRPUPZLZJMC77PL2B3A77HYFWDCZU5QDG7VQC AOAJ6D3OKSELEYKAT55XCVU5LYJ7SMCZKC6DIEGLLB3TF2LEENWQC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC W74555HMPXUQ72AGKBXC5P3STMMX5DZAW6ZESUDLNVJBCAG43PLAC 5K2ANIEXD3CPJM4XNKNPZINP2G4NT7SJBKRN62WNBUKJXFERTILQC MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC CAGCTYIUYWDHQAJOLVLKOEV5HG6K5ZG7IDHONLIG6BDNCWZJAK4AC QKGDOYIYKE6B36ION5O2DRW65DWWPZMYNWJVH7LJJ7FPGGM2MYAQC HH3HFWVXABJ4IRMN22PPJCREMULZSN6DA7VYKOGECGMNUQTZ5QNQC FCZSQBKDNMJZRJS2LWQQWLUFGOXSKXDJZQIHC7L5S7HXCXQPOMMAC 6GT5JAWOIIL4SQ5MWIID6ZVO3KKQFWDQDZNVFHZ6DNK5QCBXJ4UAC DDU4A3JGN5IUIPP5IASOODKPR2WBHSDSV4FITZ6HNXNSXXQACWAQC MZXKH5NHXRMX5Y5FG4XXNHZQ7HTQZFX3ARQU55DO4RM5NR3GIAIQC MG6LLF3XYCOEBQRX7TJ4MUTKM3IROYWUMZGCMYVW4TGDG36CJMJQC 6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC OREY5XZ7FHN4UHDW4E6EQKGZHQUGK26LOGVHLKFN3YJI3B2734BAC TQLWCGVXVZ75H7MDBJD3DJDUFNW62WOAEDJUVKCHQTAXKBP47CSAC // XXX: Turn this into a separate function and merge with// the messes over in butchery, animating, and maybe even// item pickup from stacks (which would make it easier to
// XXX: Turn this into a separate function and merge with// the messes over in butchery, animating, and maybe even// item pickup from stacks (which would make it easier to
// Okay, first we scan all items to see if we have something// linked to this item. We're not going to return if we find// such a case... instead, since things are already out of
// Okay, first we scan all items to see if we have something// linked to this item. We're not going to return if we find// such a case... instead, since things are already out of
// Moves mitm[obj] to (x,y)... will modify the value of obj to// be the index of the final object (possibly different).
// Moves mitm[obj] to (x,y)... will modify the value of obj to// be the index of the final object (possibly different).
// In order to get the sub-type, we'll fill out the base type...// then we're going to iterate over all possible subtype values
// In order to get the sub-type, we'll fill out the base type...// then we're going to iterate over all possible subtype values
int baseHit = 0, baseDam = 0; // from thrown or ammoint ammoHitBonus = 0, ammoDamBonus = 0; // from thrown or ammoint lnchHitBonus = 0, lnchDamBonus = 0; // special add from launcherint exHitBonus = 0, exDamBonus = 0; // 'extra' bonus from skill/dex/strint effSkill = 0; // effective launcher skillint dice_mult = 100;bool returning = false; // item can return to packbool did_return = false; // returning item actually does return to packint slayDam = 0;
int baseHit = 0, baseDam = 0; // from thrown or ammoint ammoHitBonus = 0, ammoDamBonus = 0; // from thrown or ammoint lnchHitBonus = 0, lnchDamBonus = 0; // special add from launcherint exHitBonus = 0, exDamBonus = 0; // 'extra' bonus from skill/dex/strint effSkill = 0; // effective launcher skillint dice_mult = 100;bool returning = false; // item can return to packbool did_return = false; // returning item actually does return to packint slayDam = 0;
// In order to get the sub-type, we'll fill out the base type...// then we're going to iterate over all possible subtype values
// In order to get the sub-type, we'll fill out the base type...// then we're going to iterate over all possible subtype values
// The following examples should make it clear that this is the// effective maximum power. Its not easy to get to 100 power,// but 20-20-1 or 25-16-1 is certainly attainable by a high level
// The following examples should make it clear that this is the// effective maximum power. Its not easy to get to 100 power,// but 20-20-1 or 25-16-1 is certainly attainable by a high level
if ((YOU_KILL(beam.thrower) &&!thrown_object_destroyed(item, x, y, false)) ||(MON_KILL(beam.thrower) &&!mons_thrown_object_destroyed(item, x, y, false,beam.beam_source)))
if (YOU_KILL(beam.thrower)&& !thrown_object_destroyed(item, x, y, false)|| MON_KILL(beam.thrower)&& !mons_thrown_object_destroyed(item, x, y, false,beam.beam_source))