ScummVM API documentation
Ultima::Nuvie::Actor Class Reference
Inheritance diagram for Ultima::Nuvie::Actor:
Ultima::Nuvie::U6Actor Ultima::Nuvie::WOUActor Ultima::Nuvie::MDActor Ultima::Nuvie::SEActor

Classes

struct  cmp_dex
 
struct  cmp_distance_to_loc
 
struct  cmp_level
 
struct  cmp_move_fraction
 
struct  cmp_moves
 

Public Member Functions

 Actor (Map *m, ObjManager *om, GameClock *c)
 
virtual bool init (uint8 obj_status=NO_OBJ_STATUS)
 
void init_from_obj (Obj *obj, bool change_base_obj=false)
 
bool is_avatar () const
 
bool is_onscreen () const
 
bool is_in_party () const
 
bool is_in_vehicle () const
 
bool is_visible () const
 
bool is_alive () const
 
bool is_nearby (const Actor *other) const
 
bool is_nearby (uint8 actor_num) const
 
bool is_nearby (const MapCoord &where, uint8 thresh=5) const
 
bool is_at_position (const Obj *obj) const
 
virtual bool is_passable () const
 
bool is_temp () const
 
virtual bool isFlying () const
 
virtual bool isNonBlocking () const
 
virtual bool doesOccupyLocation (uint16 lx, uint16 ly, uint8 lz, bool incDoubleTile=true, bool incSurroundingObjs=true) const
 Does any tile of this actor occupy the given world location? More...
 
bool is_met () const
 
bool is_poisoned () const
 
bool is_invisible () const
 
virtual bool is_immobile () const
 
virtual bool is_sleeping () const
 
virtual bool is_paralyzed () const
 
virtual bool is_protected () const
 
virtual bool is_charmed () const
 
virtual bool is_cursed () const
 
virtual bool get_corpser_flag () const
 
bool is_hit () const
 
void set_name (const char *actor_name)
 
const char * get_name (bool force_real_name=false)
 
void get_location (uint16 *ret_x, uint16 *ret_y, uint8 *ret_level) const
 
MapCoord get_location () const
 
uint16 get_tile_num () const
 
Tileget_tile () const
 
virtual uint16 get_downward_facing_tile_num () const
 
uint8 get_actor_num () const
 
uint8 get_talk_flags () const
 
virtual ActorTileType get_tile_type () const
 
uint16 get_frame_n () const
 
uint16 get_old_frame_n () const
 
uint16 get_x () const
 
uint16 get_y () const
 
uint8 get_z () const
 
uint8 get_strength () const
 
uint8 get_dexterity () const
 
uint8 get_intelligence () const
 
uint8 get_hp () const
 
virtual uint8 get_hp_text_color () const
 
virtual uint8 get_str_text_color () const
 
virtual uint8 get_dex_text_color () const
 
uint8 get_level () const
 
uint16 get_exp () const
 
uint8 get_magic () const
 
ActorAlignment get_alignment () const
 
uint8 get_old_alignment () const
 
sint8 get_moves_left () const
 
virtual uint8 get_maxhp () const
 
virtual uint8 get_maxmagic () const
 
bool get_obj_flag (uint8 bitFlag) const
 
bool get_status_flag (uint8 bitFlag) const
 
uint16 get_base_obj_n () const
 
virtual void change_base_obj_n (uint16 val)
 
void set_obj_n (uint16 val)
 
void set_frame_n (uint16 val)
 
void set_strength (uint8 val)
 
void set_dexterity (uint8 val)
 
void set_intelligence (uint8 val)
 
void set_hp (uint8 val)
 
void set_level (uint8 val)
 
void set_exp (uint16 val)
 
void set_magic (uint8 val)
 
void set_alignment (ActorAlignment a)
 
void set_old_alignment (ActorAlignment a)
 
uint8 get_light_level () const
 
void add_light (uint8 val)
 
void subtract_light (uint8 val)
 
void heal ()
 
void cure ()
 
void set_moves_left (sint8 val)
 
void set_dead_flag (bool value)
 
virtual void update_time ()
 
void set_poisoned (bool poisoned)
 
virtual void set_paralyzed (bool paralyzed)
 
virtual void set_protected (bool val)
 
virtual void set_charmed (bool val)
 
virtual void set_corpser_flag (bool val)
 
virtual void set_cursed (bool val)
 
virtual void set_asleep (bool val)
 
void set_obj_flag (uint8 bitFlag, bool value)
 
void set_status_flag (uint8 bitFlag, bool value)
 
void set_hit_flag (bool val)
 
void set_invisible (bool invisible)
 
void set_custom_tile_num (uint16 obj_num, uint16 tile_num)
 
uint8 get_worktype ()
 
uint8 get_sched_worktype ()
 
virtual void set_worktype (uint8 new_worktype, bool init=false)
 
uint8 get_combat_mode () const
 
void set_combat_mode (uint8 new_mode)
 
virtual void revert_worktype ()
 
NuvieDir get_direction () const
 
void set_direction (sint16 rel_x, sint16 rel_y)
 
virtual void set_direction (NuvieDir d)
 
void face_location (const MapCoord &loc)
 
virtual void face_location (uint16 lx, uint16 ly)
 
void face_actor (Actor *a)
 
void set_talk_flags (uint8 newflags)
 
uint8 get_flag (uint8 bitflag)
 
void set_flag (uint8 bitflag)
 
void clear_flag (uint8 bitflag)
 
void show ()
 
void hide ()
 
void set_error (ActorErrorCode err)
 
void clear_error ()
 
ActorErrorget_error ()
 
const list< Obj * > & get_surrounding_obj_list () const
 
void add_surrounding_obj (Obj *obj)
 
void unlink_surrounding_objects (bool make_objects_temporary=false)
 
bool moveRelative (sint16 rel_x, sint16 rel_y, ActorMoveFlags flags=0)
 
virtual bool move (uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags=0)
 
virtual bool check_move (uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags=0)
 
bool check_moveRelative (sint16 rel_x, sint16 rel_y, ActorMoveFlags flags=0)
 
virtual bool can_be_moved ()
 
virtual bool can_be_passed (const Actor *other, bool ignoreParty=false) const
 
virtual void update ()
 
void set_in_party (bool state)
 
void set_pathfinder (ActorPathFinder *new_pf, Path *path_type=0)
 
ActorPathFinderget_pathfinder ()
 
void delete_pathfinder ()
 
virtual void pathfind_to (const MapCoord &d)
 
void pathfind_to (uint16 gx, uint16 gy, uint8 gz=255)
 
bool walk_path ()
 
virtual void preform_worktype ()
 
Objget_weapon_obj (sint8 readied_obj_location)
 
void attack (sint8 readied_obj_location, MapCoord target, Actor *foe=nullptr)
 
const CombatTypeget_weapon (sint8 readied_obj_location)
 
void attract_to (Actor *target)
 
void repel_from (Actor *target)
 
void hit (uint8 dmg, bool force_hit=false)
 
void reduce_hp (uint8 amount)
 
virtual void die (bool create_body=true)
 
void resurrect (const MapCoord &new_position, Obj *body_obj=nullptr)
 
uint8 get_range (uint16 target_x, uint16 target_y)
 
bool weapon_can_hit (const CombatType *weapon, uint16 target_x, uint16 target_y)
 
virtual bool weapon_can_hit (const CombatType *weapon, Actor *target, uint16 *hit_x, uint16 *hit_y)
 
void display_condition ()
 
ActorListfind_enemies ()
 
U6LListget_inventory_list ()
 
const U6LListget_inventory_list () const
 
bool inventory_has_object (uint16 obj_n, uint8 qual=0, bool match_quality=OBJ_MATCH_QUALITY, uint8 frame_n=0, bool match_frame_n=OBJ_NOMATCH_FRAME_N)
 
uint32 inventory_count_objects (bool inc_readied_objects) const
 
uint32 inventory_count_object (uint16 obj_n)
 
Objinventory_get_object (uint16 obj_n, uint8 qual=0, bool match_quality=OBJ_MATCH_QUALITY, uint8 frame_n=0, bool match_frame_n=OBJ_NOMATCH_FRAME_N)
 
bool is_double_handed_obj_readied ()
 
Objinventory_get_readied_object (uint8 location)
 
sint16 inventory_get_readied_obj_n (uint8 location)
 
virtual Objinventory_get_food (Obj *container=0)
 
const CombatTypeinventory_get_readied_object_combat_type (uint8 location)
 
bool inventory_add_object (Obj *obj, Obj *container=0, bool stack=true)
 
bool inventory_add_object_nostack (Obj *obj, Obj *container=0)
 
void inventory_del_all_objs ()
 
bool inventory_remove_obj (Obj *obj, bool run_usecode=true)
 
Objinventory_new_object (uint16 obj_n, uint32 qty, uint8 quality=0)
 
uint32 inventory_del_object (uint16 obj_n, uint32 qty, uint8 quality)
 
float inventory_get_max_weight () const
 
float get_inventory_weight () const
 
float get_inventory_equip_weight ()
 
void inventory_drop_all ()
 
void all_items_to_container (Obj *container_obj, bool stack)
 
bool can_carry_weight (Obj *obj) const
 
bool can_carry_weight (float obj_weight) const
 
virtual bool can_carry_object (uint16 obj_n, uint32 qty=0) const
 
virtual bool can_carry_object (Obj *obj) const
 
virtual uint8 get_object_readiable_location (Obj *obj)
 
virtual const CombatTypeget_object_combat_type (uint16 objN)
 
bool can_ready_obj (Obj *obj)
 
bool add_readied_object (Obj *obj)
 
void remove_readied_object (Obj *obj, bool run_usecode=true)
 
void remove_readied_object (uint8 location, bool run_usecode=true)
 
void remove_all_readied_objects ()
 
bool has_readied_objects ()
 
sint8 count_readied_objects (sint32 obj_n=-1, sint16 frame_n=-1, sint16 quality=-1)
 
virtual void twitch ()
 
bool push (Actor *pusher, uint8 where=0)
 
Objmake_obj ()
 
uint16 get_obj_n () const
 
virtual void clear ()
 
virtual bool morph (uint16 obj_n)
 
bool get_schedule_location (MapCoord *loc) const
 
bool is_at_scheduled_location () const
 
int get_number_of_schedules () const
 
Scheduleget_schedule (uint8 index)
 
virtual bool will_not_talk () const
 
uint16 get_custom_tile_num (uint16 obj_num) const
 

Protected Member Functions

void loadSchedule (const unsigned char *schedule_data, uint16 num)
 
virtual bool updateSchedule (uint8 hour, bool teleport=false)
 
uint16 getSchedulePos (uint8 hour)
 
void inventory_parse_readied_objects ()
 
virtual const CombatTypeget_hand_combat_type () const
 
virtual void set_ethereal (bool val)
 
virtual void print ()
 
virtual void handle_lightsource (uint8 hour)
 
virtual const char * get_worktype_string (uint32 wt) const
 
Objfind_body ()
 
uint16 get_tile_num (uint16 obj_num) const
 
uint8 get_num_light_sources () const
 

Protected Attributes

uint8 id_n
 
Mapmap
 
ObjManagerobj_manager
 
GameClock_clock
 
UseCodeusecode
 
ActorPathFinderpathfinder
 
uint16 x
 
uint16 y
 
uint16 z
 
uint8 worktype
 
MapCoord work_location
 
uint32 move_time
 
uint16 obj_n
 
uint16 frame_n
 
uint16 base_obj_n
 
uint16 old_frame_n
 
NuvieDir direction
 
uint8 walk_frame
 
uint8 obj_flags
 
uint8 status_flags
 
uint8 talk_flags
 
uint8 movement_flags
 
bool ethereal
 
bool can_move
 
bool temp_actor
 
bool met_player
 
bool visible_flag
 
sint8 moves
 
uint8 light
 
vector< uint8 > light_source
 
ActorError error_struct
 
uint8 strength
 
uint8 dex
 
uint8 intelligence
 
uint8 hp
 
uint8 level
 
uint16 exp
 
uint8 magic
 
uint8 combat_mode
 
ActorAlignment alignment
 
uint8 body_armor_class
 
uint8 readied_armor_class
 
string name
 
ReadiedObjreadied_objects [8]
 
Schedule ** sched
 
int num_schedules
 
U6LListobj_inventory
 
uint16 sched_pos
 
list< Obj * > surrounding_objects
 
Common::HashMap< uint16, uint16 > * custom_tile_tbl
 

Member Function Documentation

◆ doesOccupyLocation()

virtual bool Ultima::Nuvie::Actor::doesOccupyLocation ( uint16  lx,
uint16  ly,
uint8  lz,
bool  incDoubleTile = true,
bool  incSurroundingObjs = true 
) const
virtual

Does any tile of this actor occupy the given world location?

Parameters
lxworld coordinate
lyworld coordinate
lzlevel
incDoubleTileinclude all tiles of double width/height actors
incSurroundingObjsinclude surrounding actor objects
Returns
true if actor occupies location, false otherwise

The documentation for this class was generated from the following file: