very good.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3083 c06c8d41-db1a-0410-9941-cceddc491573
POKKD4OOQZD4PMEITE5SNPXBNRJNNEJ5DJLRHF5PSF4G4MCYFM3AC EWFP6RFDHTEGD6SX36LYRLQB3APIKGAHNBKWPD56RGYBUE4FWJUQC YPALSPBPRHBZ6AA7Q2JVYWM53XIPB536EJGHUMESY4GKF4XFILZQC FBK5ECMQ6HJSQSN7C3DICKJIRJ3CSO3CHCQ3ONPBKLLSHDGPBQ7QC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC LPW5S327G7WSDHNED5A2UB72HVH27YYNFZGBYWUW5XSV7U4HPNQAC LIBWXPN6HLJAIGEFJYLOL4HLIUD236U3WM5QPHIZ3DSB4CCUJERAC ZCRK2DJ5VKECRQXZTWT4NUDL2VT5ZHUK7NT6NQPLRJ56TDX5PJSAC 3UDBQWJX7TIIV3WJWCOIETL7NYQ4GPEU5SUXA247SUZXNEAQQMBQC 7CMQLE4XIFMWDEUZAOKIKDW7BHAJCK5S26APMEZ6TEFEH63TEZ6AC 4BSWRAIA7TLRFRZ4RMLOVDHWDWBGJCAQZUOPXPJYW6OJY6B3HPLQC Y4ZNLX7ZW3DDSUXXQSQ235EHKVLLEFOTG2J2FOT7Z6HM6OMPY2OAC MLZSEZWNNZMSIDQNAAIOJJR4K7VSVJICL5SAGHD3ROM7SYDVZABAC 5FECCMAC5QKG3SJ4ATZFE2QF7I3A4YKWKCU4XQEW2P2SWZ2J33YQC AQ36MO7VNGSGQ5KK7JCQA2WEHUELAFLSU2QBUWROVJFOTPMGFGMQC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC 3FBKOX4Y5QYPMBOCSAMHNZXCY7Z75YDQDL4EJZHZIGDXL7RMZ7TAC JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC void drift_player(int move_x, int move_y){int drift_dir = -1;int okay_dirs = 0;// don't drift if held in a netif (you.attribute[ATTR_HELD])return;
if (you.can_pass_through(new_pos)&& !is_grid_dangerous(grd(new_pos))&& (targ_monst == NON_MONSTER ||mons_is_submerged(&menv[targ_monst]))){if (one_chance_in(++okay_dirs))drift_dir = i;}}if (okay_dirs > 0){const coord_def drift_delta = Compass[drift_dir];const coord_def new_pos = you.pos() + drift_delta;if (drift_delta == coord_def(-move_x, -move_y))mpr("You drift backwards.");else if (drift_delta == coord_def(move_x, move_y))mpr("You drift forwards.");elsempr("You drift.");move_player_to_grid(new_pos.x, new_pos.y, true, true, false);}}