22 #ifndef NUVIE_PATHFINDER_PARTY_PATH_FINDER_H 23 #define NUVIE_PATHFINDER_PARTY_PATH_FINDER_H 25 #include "ultima/nuvie/core/party.h" 26 #include "ultima/nuvie/core/map.h" 49 #define AVOID_DAMAGE_TILES true 57 bool follow_passA(uint32 p);
58 bool follow_passB(uint32 p);
59 void seek_leader(uint32 p);
60 void end_seek(uint32 p);
62 bool move_member(uint32 member_num, sint16 relx, sint16 rely,
bool ignore_position =
false,
bool can_bump =
true,
bool avoid_danger_tiles =
true);
63 bool bump_member(uint32 bumped_member_num, uint32 member_num);
65 bool is_seeking(uint32 member_num) {
66 return (get_member(member_num).actor->get_pathfinder() != 0);
68 bool is_contiguous(uint32 member_num,
const MapCoord &from);
69 bool is_contiguous(uint32 member_num);
70 bool is_behind_target(uint32 member_num);
71 bool is_at_target(uint32 p);
72 void get_target_dir(uint32 p, sint8 &rel_x, sint8 &rel_y);
73 void get_forward_dir(sint8 &vec_x, sint8 &vec_y);
74 void get_last_move(sint8 &vec_x, sint8 &vec_y);
77 bool try_moving_to_leader(uint32 p,
bool ignore_position);
78 bool try_moving_forward(uint32 p);
79 bool try_moving_to_target(uint32 p,
bool avoid_damage_tiles =
false);
80 bool try_all_directions(uint32 p,
MapCoord target_loc);
81 bool try_moving_sideways(uint32 p);
83 bool leader_moved_away(uint32 p);
84 bool leader_moved_diagonally();
91 return (party->member[p]);
94 return (party->get_leader());
Definition: detection.h:27
Definition: party_path_finder.h:51
Definition: containers.h:38