if(me->fighting == 1) { return 0; }
int pf_move(){	int x, y;	actor *me;		if (pf_follow_path != 1 || !(me = pf_get_our_actor())) {        return 0;	}		x = me->x_tile_pos;	y = me->y_tile_pos;		// Do we need to re-evaluate ?	if ((PF_DIFF(x, pf_dst_tile->x) < 2 && PF_DIFF(y, pf_dst_tile->y) < 2)) {        pf_destroy_path();	} else {		PF_TILE *t = pf_get_tile(x, y);		int i = 0, j = 0;				for (pf_cur_tile = pf_dst_tile; pf_cur_tile; pf_cur_tile = pf_cur_tile->parent) {			if (pf_cur_tile == t) {				break;			}			i++;		}		if (pf_cur_tile == t) {			for (pf_cur_tile = pf_dst_tile; pf_cur_tile; pf_cur_tile = pf_cur_tile->parent) {				if (j++ == i-12) {					break;				}			}			if (pf_cur_tile) {				Uint8 str[5];				str[0] = MOVE_TO;				*((short *)(str+1)) = pf_cur_tile->x;				*((short *)(str+3)) = pf_cur_tile->y;				send_to_server(str, 5);				return 1;			}		}		for (pf_cur_tile = pf_dst_tile; pf_cur_tile; pf_cur_tile = pf_cur_tile->parent) {			if (PF_DIFF(x, pf_cur_tile->x) <= 12 && PF_DIFF(y, pf_cur_tile->y) <= 12			&& !pf_is_tile_occupied(pf_cur_tile->x, pf_cur_tile->y)) {				Uint8 str[5];								str[0] = MOVE_TO;				*((short *)(str+1)) = pf_cur_tile->x;				*((short *)(str+3)) = pf_cur_tile->y;				send_to_server(str, 5);				return 1;			}		}	}}