git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8129 c06c8d41-db1a-0410-9941-cceddc491573
PKENI7REL6MQ5KKGSBIOVMPJKITY6OLQRXHVD4Z6PU7HMS23XM7AC ONOH6OOENDDCK5H25C6RLLVAOCO4T6PG2GTURIDXFK7FFXGIYASQC OKAC6U6XUKANH3325B5UYUYBF3IST74DEMK573ZPUNTSLIT52TSAC HFZQADL3R7ITWM3VPW5G3NCB2AHRMAMKYZOI3STW5LWUCTV4FFFQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC PKXXBHS3LWLPZI2QVRX22MSQ4R2626IXRSNHFFYHXYTLJJQU54LQC EHP6PYCIPYQ3KF4JFGBTZXEUQHN3FVAH4NUWEOWDDNKGPYVOTOJQC LH4OYDEWEON5QNUCM74R7MNBJDP7O4XRETY74ZMYSXUXYQV427PAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC UVGFF3QPZKZNMWFDDANQRBTVOROTA4TZFXGYDPV4GQXZKHZY2EXAC LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC J2U2RWUFKGHXSLYE7CRQTOFUCXLYLLRZGM6TU2BUQ33MZMDFA6VQC YTJOEDICYRXF4ALQEVELA2TFP65ILV7JQLTHMP5IEFJIZTNVP3QQC GDTMDVSG3IGKIEWC5MGJJHRRMKMJY7H2AHBRUXTJ4ADI4RPXL5WQC JTKZNL3XLWHRDRCQLGWH6AUJENEUIOL4Z6CETTL2ML6YBPSAZXXAC VHV3RLNJR3YIFS54AW3ALDD4MNQLXFTKEK5C2TT5TUM63KTGAYFQC T3NY54AEBRWTVKX6A5LAGWL3MTKUZ6NOOCFLTFV7FSUNCRHMQKAQC RXYHWJIDGC2MATMRRJWUQDPLABFDJFA32N5I7WYW7IEHCNSSNZAQC EMOBSWJHHB4V6WVMZL7JCF2V3KZN454Z6NS346OKFPMBNO24EJDQC 2TZT4GURBCNHSVOXO5ZMN7XEIO3K4GWJCDPVSYUCMVZ6UFDL4DIQC 5FMXUX2ZFIF6NQZCS54W7ZOCVSH7XR6UIMQ5FW2UZLEN4EWP5PSAC M6IHSU5JWCTOTUSPCVVHMAQ4XJDGQJOLZTTN5BGKEOS4B6Z7IOWAC P5TRGRH7XMQSPCZKM5IEEO34TY6WMLGHHX7BU6Y453JFRXLUR2VQC 4GAIJ3CGARXLDO3NG2MWPNCRCPDSZWFAMXFKMWXWVMM6HYWOPVWAC UAJN2CFA2QHYDHW2UFAVPPHDQFCD54RKM6V2UC4AMEDJUBBLNWIQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC WP5VP57D5BWKDAS7AA224OV2RX4O4BPTI2BLY7TS3T2O2PLUGXCQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC DCD5TZTIZ2JNYXJT22YSIS7FPOSUEUUV3B7GSY2DWP2NSVLXAVQAC UWI3ZNJDRQRL7CXFNFEG46TA6SAK24XUFY5YOKVOTJA3VG3OBNFAC UL7XFKMUX3WIU4O2LZANK4ECJ654UZPDBFGNXUEYZYOLKBYBCG6AC IDVXNMJFRENWKNSEHT4TU3XZKY5IDJ6LEPHKEMCIMVQSJFFHGQFAC JQKRFPNPLYBHUWMVQLPX5UB5RRP5PKY6NQ5LRHJRIOY6IKN2AH6AC }static void _check_wander_target(monsters *mon, bool isPacified = false,dungeon_feature_type can_move = DNGN_UNSEEN){// default wander behaviourif (mon->pos() == mon->target|| mons_is_batty(mon) || !isPacified && one_chance_in(20)){bool need_target = true;if (!can_move)can_move = (mons_amphibious(mon))? DNGN_DEEP_WATER : DNGN_SHALLOW_WATER;if (mon->is_travelling())need_target = _handle_monster_travelling(mon, can_move);// If we still need a target because we're not travelling// (any more), check for patrol routes instead.if (need_target && mon->is_patrolling())need_target = _handle_monster_patrolling(mon);// XXX: This is really dumb wander behaviour... instead of// changing the goal square every turn, better would be to// have the monster store a direction and have the monster// head in that direction for a while, then shift the// direction to the left or right. We're changing this so// wandering monsters at least appear to have some sort of// attention span. -- bwrif (need_target){mon->target.set(10 + random2(GXM - 10),10 + random2(GYM - 10));}}
// default wander behaviourif (mon->pos() == mon->target|| mons_is_batty(mon) || !isPacified && one_chance_in(20)){bool need_target = true;if (mon->is_travelling())need_target = _handle_monster_travelling(mon, can_move);// If we still need a target because we're not travelling// (any more), check for patrol routes instead.if (need_target && patrolling)need_target = _handle_monster_patrolling(mon);// XXX: This is really dumb wander behaviour... instead of// changing the goal square every turn, better would be to// have the monster store a direction and have the monster// head in that direction for a while, then shift the// direction to the left or right. We're changing this so// wandering monsters at least appear to have some sort of// attention span. -- bwrif (need_target){mon->target.set(10 + random2(GXM - 10),10 + random2(GYM - 10));}}
_check_wander_target(mon, isPacified, can_move);
if (crawl_state.arena){const bool ranged =mons_has_ranged_attack(monster)|| mons_has_ranged_spell(monster);// Smiters are happy if they have clear visibility through glass,// but other monsters must go around.const bool glass_ok = mons_has_smite_attack(monster);// Monsters in the arena are smarter than the norm and// always pathfind to their targets.if (delta.abs() > 2&& (!ranged ||!monster->mon_see_grid(monster->target, !glass_ok))){monster_pathfind mp;if (mp.init_pathfind(monster, monster->target))delta = mp.next_pos(monster->pos()) - monster->pos();}}
################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################{{{{...{{{{{{{{#################################################################.{{{.{{{.{.{{{{#################################################################{{{{.{.{{{{{{{{#################################################################{{{{{{{{{{.{{.{#################################################################{{.{{.{{{{{{{{{#################################################################{{{{.{{{{{{{{{{#################################################################.{{{{{{{.{{{{{{#################################################################.{.{{{{{{{{{{{{#################################################################{{{{{{{.{{{{{{.#################################################################{{{{{.{{{{{{{{{#################################################################..{{{{{{{{.{{{{#################################################################{.{{{{{{{{{{{{{#################################################################{{{{.{{{{{{{{.{#################################################################{{{{.{{{.{{{{{{#################################################################.{{.{..{{{{{{{{#################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
coord_def place_a(dgn_find_feature_marker(DNGN_STONE_STAIRS_UP_I));coord_def place_b(dgn_find_feature_marker(DNGN_STONE_STAIRS_DOWN_I));
place_a = dgn_find_feature_marker(DNGN_STONE_STAIRS_UP_I);place_b = dgn_find_feature_marker(DNGN_STONE_STAIRS_DOWN_I);