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

Public Member Functions

 U6Actor (Map *m, ObjManager *om, GameClock *c)
 
bool init (uint8 obj_status=NO_OBJ_STATUS) override
 
uint16 get_downward_facing_tile_num () const override
 
bool updateSchedule (uint8 hour, bool teleport=false) override
 
void set_worktype (uint8 new_worktype, bool init=false) override
 
void revert_worktype () override
 
void change_base_obj_n (uint16 val) override
 
void set_direction (NuvieDir d) override
 
void face_location (uint16 lx, uint16 ly) override
 
void clear () override
 
bool move (uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags=0) override
 
bool check_move (uint16 new_x, uint16 new_y, uint8 new_z, ActorMoveFlags flags=0) override
 
void twitch () override
 
void do_twitch ()
 
void die (bool create_body=true) override
 
void set_paralyzed (bool paralyzed) override
 
void set_protected (bool val) override
 
void set_charmed (bool val) override
 
void set_corpser_flag (bool val) override
 
void set_cursed (bool val) override
 
void set_asleep (bool val) override
 
void set_ethereal (bool val) override
 
uint8 get_object_readiable_location (Obj *obj) override
 
const CombatTypeget_object_combat_type (uint16 objN) override
 
ActorTileType get_tile_type () const override
 
Objinventory_get_food (Obj *container=0) override
 
uint8 get_maxhp () const override
 
uint8 get_maxmagic () const override
 
bool weapon_can_hit (const CombatType *weapon, Actor *target, uint16 *hit_x, uint16 *hit_y) override
 
bool is_immobile () const override
 
bool can_twitch ()
 
bool get_corpser_flag () const override
 
bool can_be_passed (const Actor *other, bool ignoreParty) const override
 
bool will_not_talk () const override
 
void set_actor_obj_n (uint16 new_obj_n)
 
void pathfind_to (const MapCoord &d) override
 
void handle_lightsource (uint8 hour) override
 
uint8 get_hp_text_color () const override
 
uint8 get_str_text_color () const override
 
uint8 get_dex_text_color () const override
 
bool isFlying () const override
 
bool isNonBlocking () const override
 
- Public Member Functions inherited from Ultima::Nuvie::Actor
 Actor (Map *m, ObjManager *om, GameClock *c)
 
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 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_sleeping () const
 
virtual bool is_paralyzed () const
 
virtual bool is_protected () const
 
virtual bool is_charmed () const
 
virtual bool is_cursed () 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
 
uint8 get_actor_num () const
 
uint8 get_talk_flags () 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
 
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
 
bool get_obj_flag (uint8 bitFlag) const
 
bool get_status_flag (uint8 bitFlag) const
 
uint16 get_base_obj_n () const
 
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)
 
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 ()
 
uint8 get_combat_mode () const
 
void set_combat_mode (uint8 new_mode)
 
NuvieDir get_direction () const
 
void set_direction (sint16 rel_x, sint16 rel_y)
 
void face_location (const MapCoord &loc)
 
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)
 
bool check_moveRelative (sint16 rel_x, sint16 rel_y, ActorMoveFlags flags=0)
 
virtual bool can_be_moved ()
 
virtual void update ()
 
void set_in_party (bool state)
 
void set_pathfinder (ActorPathFinder *new_pf, Path *path_type=0)
 
ActorPathFinderget_pathfinder ()
 
void delete_pathfinder ()
 
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)
 
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)
 
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)
 
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
 
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)
 
bool push (Actor *pusher, uint8 where=0)
 
Objmake_obj ()
 
uint16 get_obj_n () const
 
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)
 
uint16 get_custom_tile_num (uint16 obj_num) const
 

Protected Member Functions

bool init_ship ()
 
bool init_splitactor (uint8 obj_status)
 
bool init_dragon ()
 
bool init_hydra ()
 
bool init_silver_serpent ()
 
void init_new_silver_serpent ()
 
void gather_snake_objs_from_map (Obj *start_obj, uint16 ax, uint16 ay, uint16 az)
 
bool check_move_silver_serpent (uint16 x, uint16 y)
 
bool sit_on_chair (Obj *obj)
 
void discover_direction ()
 
void setup_walk_to_location ()
 
void wt_sleep (bool init=false)
 
void wt_play_lute ()
 
const U6ActorTypeget_actor_type (uint16 new_obj_n)
 
bool has_surrounding_objs ()
 
void remove_surrounding_objs_from_map ()
 
void add_surrounding_objs_to_map ()
 
void move_surrounding_objs_relative (sint16 rel_x, sint16 rel_y)
 
void move_silver_serpent_objs_relative (sint16 rel_x, sint16 rel_y)
 
void set_direction_of_surrounding_objs (NuvieDir new_direction)
 
void set_direction_of_surrounding_ship_objs (NuvieDir new_direction)
 
void set_direction_of_surrounding_splitactor_objs (NuvieDir new_direction)
 
void set_direction_of_surrounding_dragon_objs (NuvieDir new_direction)
 
void twitch_surrounding_objs ()
 
void twitch_surrounding_dragon_objs ()
 
void twitch_surrounding_hydra_objs ()
 
void twitch_obj (Obj *obj)
 
void clear_surrounding_objs_list (bool delete_objs=false)
 
void init_surrounding_obj (uint16 x, uint16 y, uint8 z, uint16 actor_obj_n, uint16 obj_frame_n)
 
const CombatTypeget_hand_combat_type () const override
 
void print () override
 
const char * get_worktype_string (uint32 wt) const override
 
void inventory_make_all_objs_ok_to_take ()
 
- Protected Member Functions inherited from Ultima::Nuvie::Actor
void loadSchedule (const unsigned char *schedule_data, uint16 num)
 
uint16 getSchedulePos (uint8 hour)
 
void inventory_parse_readied_objects ()
 
Objfind_body ()
 
uint16 get_tile_num (uint16 obj_num) const
 
uint8 get_num_light_sources () const
 

Protected Attributes

const U6ActorTypeactor_type
 
const U6ActorTypebase_actor_type
 
ActorMovetype current_movetype
 
sint8 walk_frame_inc
 
- Protected Attributes inherited from Ultima::Nuvie::Actor
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
 

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