Game_object Class Reference

#include <objs.h>

Inheritance diagram for Game_object:

Inheritance graph
[legend]
Collaboration diagram for Game_object:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Game_object (int shapenum, int framenum, unsigned int tilex, unsigned int tiley, unsigned int lft=0)
 Game_object (const Game_object &obj2)
 Game_object ()
virtual ~Game_object ()
int get_tx () const
int get_ty () const
int get_lift () const
Tile_coord get_tile () const
int distance (Game_object *o2) const
int get_direction (Game_object *o2) const
int get_direction (Tile_coord t2) const
Map_chunkget_chunk ()
int get_quality () const
void set_quality (int q)
int get_quantity () const
virtual int get_obj_hp () const
virtual void set_obj_hp (int hp)
int get_volume () const
int modify_quantity (int delta, bool *del=0)
void set_shape_pos (unsigned int shapex, unsigned int shapey)
void set_lift (int l)
Game_objectget_next ()
Game_objectget_prev ()
int lt (Game_object &obj2)
int get_cx () const
int get_cy () const
void set_invalid ()
bool is_pos_invalid () const
void set_chunk (int newcx, int newcy)
int get_dir_framenum (int dir, int frnum) const
int get_dir_framenum (int frnum) const
int get_dir_facing () const
virtual void move (int newtx, int newty, int newlift)
void move (Tile_coord t)
void change_frame (int frnum)
int swap_positions (Game_object *obj2)
int get_dependency_count ()
Game_objectget_dependency (int i)
void clear_dependencies ()
int find_nearby_actors (Actor_vector &vec, int shapenum, int delta) const
int find_nearby_eggs (Egg_vector &vec, int shapenum, int delta, int qual=c_any_qual, int frnum=c_any_framenum) const
int find_nearby (Game_object_vector &vec, int shapenum, int delta, int mask, int qual=c_any_qual, int framenum=c_any_framenum) const
Game_objectfind_closest (Game_object_vector &vec, int *shapenums, int num_shapes, int dist=24)
Game_objectfind_closest (int *shapenums, int num_shapes, int dist=24)
Game_objectfind_closest (int shapenum, int dist=24)
Rectangle get_footprint ()
bool blocks (Tile_coord tile)
int is_closed_door () const
Game_objectget_outermost ()
void say (const char *text)
void say (int from, int to)
virtual void paint ()
void paint_outline (Pixel_colors pix)
virtual void paint_terrain ()=0
virtual int is_findable ()
virtual void activate (int event=1)
virtual bool edit ()
virtual std::string get_name () const
virtual void remove_this (int nodel=0)
virtual Container_game_objectget_owner ()
virtual void set_owner (Container_game_object *o)
virtual int get_weight ()
virtual int get_max_weight ()
virtual int is_dragable () const
virtual int drop (Game_object *obj)
virtual void set_flag (int flag)
virtual void set_siflag (int flag)
virtual void clear_siflag (int flag)
virtual void clear_flag (int flag)
virtual int get_flag (int flag) const
virtual void set_flag_recursively (int flag)
virtual int get_siflag (int flag) const
virtual int get_type_flag (int flag) const
virtual Actoras_actor ()
virtual Npc_actoras_npc ()
virtual Barge_objectas_barge ()
virtual Terrain_game_objectas_terrain ()
virtual Container_game_objectas_container ()
virtual Egg_objectas_egg ()
virtual int is_egg () const
virtual int count_objects (int shapenum, int qual=c_any_qual, int framenum=c_any_framenum)
virtual int get_objects (Game_object_vector &vec, int shapenum, int qual, int framenum)
virtual bool add (Game_object *obj, bool dont_check=false, bool combine=false)
virtual int add_readied (Game_object *obj, int index, int dont_check=0, int force_pos=0)
virtual int add_quantity (int delta, int shapenum, int qual=c_any_qual, int framenum=c_any_framenum, int dontcreate=0)
virtual int create_quantity (int delta, int shapenum, int qual, int framenum, bool temporary=false)
virtual int remove_quantity (int delta, int shapenum, int qual, int framenum)
virtual Game_objectfind_item (int shapenum, int qual, int framenum)
virtual Tile_coord get_original_tile_coord () const
virtual int move_aside (Actor *for_actor, int dir)
virtual int get_rotated_frame (int quads)
virtual int step (Tile_coord t, int frame)
virtual int is_monster ()
virtual Game_objectattacked (Actor *attacker, int weapon_shape=0, int ammo_shape=0)
virtual void write_ireg (DataSource *out)
virtual int get_ireg_size ()
virtual void write_ifix (DataSource *ifix)
virtual void elements_read ()
void write_common_ireg (unsigned char *buf)
virtual int get_live_npc_num ()
virtual void delete_contents ()

Static Public Member Functions

static int compare (class Ordering_info &inf1, Game_object *obj2)
static int find_nearby (Egg_vector &vec, Tile_coord pos, int shapenum, int delta, int mask, int qual=c_any_qual, int framenum=c_any_framenum)
static int find_nearby (Actor_vector &vec, Tile_coord pos, int shapenum, int delta, int mask, int qual=c_any_qual, int framenum=c_any_framenum)
static int find_nearby (Game_object_vector &vec, Tile_coord pos, int shapenum, int delta, int mask, int qual=c_any_qual, int framenum=c_any_framenum)
static Game_objectfind_blocking (Tile_coord tile)
static Game_objectfind_door (Tile_coord tile)
static void update_from_studio (unsigned char *data, int datalen)
static int get_weight (int shnum, int quant=1)

Public Attributes

uint32 render_seq

Protected Member Functions

int attack_object (Actor *attacker, int weapon_shape, int ammo_shape)
 Game_object (unsigned char *ifix)

Protected Attributes

unsigned char shape_pos
unsigned char lift
short quality
unsigned char cx
unsigned char cy

Static Protected Attributes

static Game_objectediting

Private Attributes

Game_objectnext
Game_objectprev
Game_object_vector dependencies
Game_object_vector dependors

Static Private Attributes

static unsigned char rotate [8]

Friends

class T_Object_list< Game_object * >
class T_Object_iterator< Game_object * >
class T_Flat_object_iterator< Game_object *, Map_chunk * >
class T_Object_iterator_backwards< Game_object *, Map_chunk * >
class Map_chunk

Detailed Description

Definition at line 59 of file objs.h.


Constructor & Destructor Documentation

Game_object::Game_object ( unsigned char *  ifix  )  [inline, protected]

Definition at line 81 of file objs.h.

Game_object::Game_object ( int  shapenum,
int  framenum,
unsigned int  tilex,
unsigned int  tiley,
unsigned int  lft = 0 
) [inline]

Definition at line 92 of file objs.h.

Game_object::Game_object ( const Game_object obj2  )  [inline]

Definition at line 99 of file objs.h.

Game_object::Game_object (  )  [inline]

Definition at line 103 of file objs.h.

virtual Game_object::~Game_object (  )  [inline, virtual]

Definition at line 105 of file objs.h.


Member Function Documentation

int Game_object::attack_object ( Actor attacker,
int  weapon_shape,
int  ammo_shape 
) [protected]

Definition at line 1176 of file objs.cc.

References Weapon_info::get_damage(), Actor::get_effective_prop(), ShapeID::get_info(), Actor::get_level(), Weapon_info::get_usecode(), Actor::get_weapon(), Shape_info::get_weapon_info(), Actor::strength, and Usecode_machine::weapon.

Here is the call graph for this function:

int Game_object::get_tx (  )  const [inline]

Definition at line 107 of file objs.h.

References shape_pos.

Referenced by Map_chunk::find_in_area(), get_tile(), and Map_chunk::setup_dungeon_levels().

int Game_object::get_ty (  )  const [inline]

Definition at line 109 of file objs.h.

References shape_pos.

Referenced by Map_chunk::find_in_area(), get_tile(), and Map_chunk::setup_dungeon_levels().

int Game_object::get_lift (  )  const [inline]

Definition at line 111 of file objs.h.

References lift.

Referenced by Usecode_internal::create_script(), Dragging_info::drop_on_map(), Waiter_schedule::find_serving_spot(), Get_barge(), Is_step_okay(), Bake_schedule::now_what(), Map_chunk::setup_dungeon_levels(), Combat_schedule::start_strike(), and Usecode_internal::UI_nap_time().

Tile_coord Game_object::get_tile (  )  const [inline]

Definition at line 113 of file objs.h.

References c_tiles_per_chunk, cx, cy, get_tx(), get_ty(), and lift.

Referenced by ActionCenter(), Mirror_object::activate(), Egg_object::activate_teleport(), Usecode_internal::add_party_items(), Combat_schedule::approach_foe(), CheatScreen::BusinessDisplay(), Clear_to_leader(), Actor_action::create_action_sequence(), Pace_schedule::create_horiz(), Pace_schedule::create_vert(), Death_vortex::Death_vortex(), distance(), Game_window::drop_at_lift(), Dragging_info::drop_on_map(), Container_game_object::extract_contents(), Find_neighbor(), Waiter_schedule::find_serving_spot(), Actor::follow(), Get_cost(), get_direction(), get_original_tile_coord(), Animated_ifix_object::get_original_tile_coord(), Animated_ireg_object::get_original_tile_coord(), Animated_object::get_original_tile_coord(), Explosion_effect::handle_event(), Sprites_effect::handle_event(), Move_actor_action::handle_event(), Path_walking_actor_action::handle_event(), Cheat::heal_party(), If_else_path_actor_action::If_else_path_actor_action(), Sit_actor_action::is_occupied(), Is_step_okay(), Monster_pathfinder_client::Monster_pathfinder_client(), Cheat::move_selected(), CheatScreen::NormalDisplay(), Bake_schedule::now_what(), Shy_schedule::now_what(), Hound_schedule::now_what(), Kid_games_schedule::now_what(), Talk_schedule::now_what(), Patrol_schedule::now_what(), Preach_schedule::now_what(), Follow_avatar_schedule::now_what(), Combat_schedule::now_what(), CheatScreen::NPCActivate(), CheatScreen::NPCDisplay(), Path_walking_actor_action::open_door(), Object_reverse_sorter::operator()(), Object_closest_sorter::operator()(), Clip_compare::operator()(), Paint_map::paint(), Cheat_map::paint(), Projectile_effect::Projectile_effect(), Effects_manager::remove_weather_effects(), Actor::resurrect(), Mirror_object::set_area(), Game_window::set_camera_actor(), Object_sfx::set_obj(), Sit_actor_action::Sit_actor_action(), Sprites_effect::Sprites_effect(), Dragging_info::start(), Combat_schedule::start_strike(), swap_positions(), Take_best_step(), Combat_schedule::teleport(), Usecode_internal::UI_explode(), Usecode_internal::UI_fire_cannon(), Usecode_internal::UI_get_distance(), Usecode_internal::UI_nap_time(), Usecode_internal::UI_npc_nearby(), Usecode_internal::UI_npc_nearby2(), Usecode_internal::UI_on_barge(), Usecode_internal::UI_play_sound_effect2(), Usecode_internal::UI_save_pos(), Usecode_internal::UI_summon(), Wait_for_arrival(), Actor::walk_path_to_tile(), and Wizard_eye().

Here is the call graph for this function:

int Game_object::distance ( Game_object o2  )  const [inline]

Definition at line 119 of file objs.h.

References Tile_coord::distance(), and get_tile().

Referenced by Field_object::activate(), Pickup_actor_action::handle_event(), Bake_schedule::now_what(), and Usecode_internal::UI_approach_avatar().

Here is the call graph for this function:

int Game_object::get_direction ( Game_object o2  )  const

Definition at line 81 of file objs.cc.

References Get_direction(), get_tile(), Tile_coord::tx, and Tile_coord::ty.

Referenced by Face_pos_actor_action::handle_event(), Pickup_actor_action::handle_event(), Bake_schedule::now_what(), and Game_window::theft().

Here is the call graph for this function:

int Game_object::get_direction ( Tile_coord  t2  )  const

Definition at line 96 of file objs.cc.

References Get_direction(), Tile_coord::tx, and Tile_coord::ty.

Here is the call graph for this function:

Map_chunk * Game_object::get_chunk (  ) 

Definition at line 110 of file objs.cc.

Referenced by find_blocking(), find_door(), Usecode_internal::set_item_shape(), and Game_window::setup_game().

int Game_object::get_quality (  )  const [inline]

Definition at line 126 of file objs.h.

References quality.

Referenced by Patrol_schedule::now_what(), and Path_walking_actor_action::open_door().

void Game_object::set_quality ( int  q  )  [inline]

Definition at line 128 of file objs.h.

References quality.

Referenced by Usecode_internal::add_party_items(), Container_game_object::create_quantity(), Actor::die(), Explosion_effect::Explosion_effect(), Path_walking_actor_action::open_door(), and set_obj_hp().

int Game_object::get_quantity (  )  const

Definition at line 144 of file objs.cc.

References Has_quantity().

Referenced by Dragging_info::drop_on_gump(), and Use_ammo().

Here is the call graph for this function:

int Game_object::get_obj_hp (  )  const [virtual]

Reimplemented in Container_game_object.

Definition at line 157 of file objs.cc.

References ShapeID::get_shapenum(), Has_hitpoints(), and quality.

Here is the call graph for this function:

void Game_object::set_obj_hp ( int  hp  )  [virtual]

Reimplemented in Container_game_object.

Definition at line 166 of file objs.cc.

References ShapeID::get_shapenum(), Has_hitpoints(), and set_quality().

Here is the call graph for this function:

int Game_object::get_volume (  )  const

Definition at line 178 of file objs.cc.

Referenced by Container_game_object::get_max_volume().

int Game_object::modify_quantity ( int  delta,
bool *  del = 0 
)

Definition at line 194 of file objs.cc.

References Has_quantity(), and Container_game_object::modify_volume_used().

Referenced by Usecode_internal::add_party_items(), Container_game_object::create_quantity(), Dragging_info::drop(), Ready_duel_weapon(), and Use_ammo().

Here is the call graph for this function:

void Game_object::set_shape_pos ( unsigned int  shapex,
unsigned int  shapey 
) [inline]

Definition at line 137 of file objs.h.

References shape_pos.

void Game_object::set_lift ( int  l  )  [inline]

Definition at line 139 of file objs.h.

References lift.

Game_object* Game_object::get_next (  )  [inline]

Definition at line 141 of file objs.h.

References next.

Referenced by Gump::find_object(), Jawbone_object::find_teeth(), and Container_game_object::get_ireg_size().

Game_object* Game_object::get_prev (  )  [inline]

Definition at line 143 of file objs.h.

References prev.

Referenced by Container_game_object::write_ireg().

int Game_object::compare ( class Ordering_info inf1,
Game_object obj2 
) [static]

Definition at line 1023 of file objs.cc.

References Ordering_info::area, Compare_ranges(), Game_window::get_shape_rect(), gwin, Rectangle::h, Ordering_info::info, Rectangle::intersects(), Shape_info::occludes(), Ordering_info::tx, Ordering_info::ty, Rectangle::w, Ordering_info::xleft, Ordering_info::xright, Ordering_info::yfar, Ordering_info::ynear, Ordering_info::zbot, Ordering_info::zs, and Ordering_info::ztop.

Referenced by Map_chunk::add_dependencies().

Here is the call graph for this function:

int Game_object::lt ( Game_object obj2  ) 

Definition at line 1125 of file objs.cc.

References gwin.

Referenced by Game_window::find_object().

int Game_object::get_cx (  )  const [inline]

Definition at line 149 of file objs.h.

References cx.

Referenced by Game_window::emulate_is_move_allowed(), Container_game_object::extract_contents(), Game_map::locate_shape(), and Actor::set_schedule_and_loc().

int Game_object::get_cy (  )  const [inline]

Definition at line 151 of file objs.h.

References cy.

Referenced by Game_window::emulate_is_move_allowed(), Container_game_object::extract_contents(), Game_map::locate_shape(), and Actor::set_schedule_and_loc().

void Game_object::set_invalid (  )  [inline]

Definition at line 153 of file objs.h.

References cx, and cy.

Referenced by Monster_actor::create(), Actor::die(), Game_window::drop_at_lift(), Waiter_schedule::now_what(), and swap_positions().

bool Game_object::is_pos_invalid (  )  const [inline]

Definition at line 155 of file objs.h.

References c_num_chunks, cx, and cy.

void Game_object::set_chunk ( int  newcx,
int  newcy 
) [inline]

Definition at line 157 of file objs.h.

References cx, and cy.

int Game_object::get_dir_framenum ( int  dir,
int  frnum 
) const [inline]

Definition at line 160 of file objs.h.

References rotate.

Referenced by Face_pos_actor_action::handle_event(), Pickup_actor_action::handle_event(), Sit_actor_action::init(), Bake_schedule::now_what(), Path_walking_actor_action::open_door(), Actor::set_polymorph(), and Game_window::theft().

int Game_object::get_dir_framenum ( int  frnum  )  const [inline]

Definition at line 163 of file objs.h.

References ShapeID::get_framenum().

Here is the call graph for this function:

int Game_object::get_dir_facing (  )  const

Definition at line 253 of file objs.cc.

References east, north, south, and west.

Referenced by Preach_schedule::now_what().

void Game_object::move ( int  newtx,
int  newty,
int  newlift 
) [virtual]

Reimplemented in Main_actor, Npc_actor, Slime_actor, Monster_actor, Barge_object, Egg_object, Ireg_game_object, and Ifix_game_object.

Definition at line 277 of file objs.cc.

References Map_chunk::add(), Game_window::add_dirty(), c_tiles_per_chunk, gwin, and Map_chunk::remove().

Referenced by Usecode_internal::add_party_items(), Game_window::drop_at_lift(), Actor::figure_hit_points(), Waiter_schedule::find_serving_spot(), move(), Ifix_game_object::move(), Ireg_game_object::move(), Waiter_schedule::now_what(), Lab_schedule::now_what(), Slime_actor::step(), and swap_positions().

Here is the call graph for this function:

void Game_object::move ( Tile_coord  t  )  [inline]

Reimplemented in Ireg_game_object.

Definition at line 169 of file objs.h.

References move(), Tile_coord::tx, Tile_coord::ty, and Tile_coord::tz.

Here is the call graph for this function:

void Game_object::change_frame ( int  frnum  ) 

Reimplemented in Actor.

Definition at line 306 of file objs.cc.

References Game_window::add_dirty(), and gwin.

Referenced by Mirror_object::activate(), Frames_actor_action::handle_event(), Bake_schedule::now_what(), Usecode_internal::set_item_frame(), and Slime_actor::update_frames().

Here is the call graph for this function:

int Game_object::swap_positions ( Game_object obj2  ) 

Definition at line 322 of file objs.cc.

References Shape_info::get_3d_xtiles(), Shape_info::get_3d_ytiles(), ShapeID::get_info(), get_tile(), move(), remove_this(), set_invalid(), Tile_coord::tx, Tile_coord::ty, and Tile_coord::tz.

Here is the call graph for this function:

int Game_object::get_dependency_count (  )  [inline]

Definition at line 174 of file objs.h.

References dependencies.

Game_object* Game_object::get_dependency ( int  i  )  [inline]

Definition at line 176 of file objs.h.

References dependencies.

void Game_object::clear_dependencies (  ) 

Definition at line 347 of file objs.cc.

static int Game_object::find_nearby ( Egg_vector vec,
Tile_coord  pos,
int  shapenum,
int  delta,
int  mask,
int  qual = c_any_qual,
int  framenum = c_any_framenum 
) [static]

Referenced by Usecode_internal::activate_cached(), Map_patch::find(), Usecode_internal::find_nearby(), find_nearby(), find_nearby_actors(), find_nearby_eggs(), Game_map::get_ireg_objects(), Death_vortex::handle_event(), Explosion_effect::handle_event(), Sit_actor_action::is_occupied(), Bake_schedule::now_what(), Lab_schedule::now_what(), Usecode_internal::UI_find_object(), and Slime_actor::update_frames().

static int Game_object::find_nearby ( Actor_vector vec,
Tile_coord  pos,
int  shapenum,
int  delta,
int  mask,
int  qual = c_any_qual,
int  framenum = c_any_framenum 
) [static]

static int Game_object::find_nearby ( Game_object_vector vec,
Tile_coord  pos,
int  shapenum,
int  delta,
int  mask,
int  qual = c_any_qual,
int  framenum = c_any_framenum 
) [static]

int Game_object::find_nearby_actors ( Actor_vector vec,
int  shapenum,
int  delta 
) const

Definition at line 429 of file objs.cc.

References c_any_framenum, c_any_qual, and find_nearby().

Referenced by Game_window::find_witness(), Usecode_internal::UI_armageddon(), and Usecode_internal::UI_nap_time().

Here is the call graph for this function:

int Game_object::find_nearby_eggs ( Egg_vector vec,
int  shapenum,
int  delta,
int  qual = c_any_qual,
int  frnum = c_any_framenum 
) const

Definition at line 411 of file objs.cc.

References find_nearby().

Here is the call graph for this function:

int Game_object::find_nearby ( Game_object_vector vec,
int  shapenum,
int  delta,
int  mask,
int  qual = c_any_qual,
int  framenum = c_any_framenum 
) const

Definition at line 445 of file objs.cc.

References find_nearby().

Here is the call graph for this function:

Game_object * Game_object::find_closest ( Game_object_vector vec,
int *  shapenums,
int  num_shapes,
int  dist = 24 
)

Definition at line 482 of file objs.cc.

Referenced by find_closest(), Lab_schedule::init(), Bake_schedule::now_what(), Desk_schedule::now_what(), and Sit_schedule::set_action().

Game_object * Game_object::find_closest ( int *  shapenums,
int  num_shapes,
int  dist = 24 
)

Definition at line 510 of file objs.cc.

References Exult_server::obj.

Game_object* Game_object::find_closest ( int  shapenum,
int  dist = 24 
) [inline]

Definition at line 204 of file objs.h.

References find_closest().

Here is the call graph for this function:

Rectangle Game_object::get_footprint (  ) 

Definition at line 548 of file objs.cc.

References c_num_tiles, Ucscript::frame, Exult_server::info, Tile_coord::tx, and Tile_coord::ty.

Referenced by Actor_pathfinder_client::get_step_cost(), Lab_schedule::init(), Bake_schedule::now_what(), Lab_schedule::now_what(), Path_walking_actor_action::open_door(), Map_chunk::setup_dungeon_levels(), and Combat_schedule::start_strike().

bool Game_object::blocks ( Tile_coord  tile  ) 

Definition at line 568 of file objs.cc.

References Ucscript::frame, Exult_server::info, Tile_coord::tx, Tile_coord::ty, and Tile_coord::tz.

Game_object * Game_object::find_blocking ( Tile_coord  tile  )  [static]

Definition at line 595 of file objs.cc.

References c_tiles_per_chunk, get_chunk(), Map_chunk::get_objects(), Exult_server::obj, Tile_coord::tx, and Tile_coord::ty.

Referenced by Find_target(), Pace_schedule::now_what(), Game_window::start_actor_alt(), and Main_actor::step().

Here is the call graph for this function:

Game_object * Game_object::find_door ( Tile_coord  tile  )  [static]

Definition at line 616 of file objs.cc.

References c_tiles_per_chunk, Map_chunk::find_door(), get_chunk(), Tile_coord::tx, and Tile_coord::ty.

Referenced by Actor_pathfinder_client::get_step_cost(), and Path_walking_actor_action::handle_event().

Here is the call graph for this function:

int Game_object::is_closed_door (  )  const

Definition at line 630 of file objs.cc.

References Exult_server::info, and Map_chunk::is_blocked().

Here is the call graph for this function:

Game_object * Game_object::get_outermost (  ) 

Definition at line 663 of file objs.cc.

References get_owner().

Referenced by Check_weight(), D_Recursive_object_iterator< D >::D_Recursive_object_iterator(), Figure_text_pos(), Game_map::locate_shape(), Usecode_internal::UI_explode(), and Usecode_internal::UI_get_distance().

Here is the call graph for this function:

void Game_object::say ( const char *  text  ) 

Definition at line 678 of file objs.cc.

Referenced by Game_window::call_guards(), Actor::figure_hit_points(), Sit_actor_action::handle_event(), and Game_window::theft().

void Game_object::say ( int  from,
int  to 
)

Definition at line 690 of file objs.cc.

References item_names, num_item_names, offset, and Ucscript::say.

void Game_object::paint (  )  [virtual]

Reimplemented in Actor, Npc_actor, Monster_actor, Animated_object, Animated_ireg_object, Animated_ifix_object, Barge_object, Egglike_game_object, Egg_object, Animated_egg_object, Mirror_object, and Ireg_game_object.

Definition at line 705 of file objs.cc.

References Game_window::get_shape_location(), and gwin.

Referenced by Egglike_game_object::paint(), Animated_ifix_object::paint(), and Animated_object::paint().

Here is the call graph for this function:

void Game_object::paint_outline ( Pixel_colors  pix  ) 

Definition at line 718 of file objs.cc.

References Game_window::get_shape_location(), gwin, and ShapeID::paint_outline().

Here is the call graph for this function:

virtual void Game_object::paint_terrain (  )  [pure virtual]

Implemented in Ireg_game_object, Terrain_game_object, and Ifix_game_object.

virtual int Game_object::is_findable (  )  [inline, virtual]

Reimplemented in Egglike_game_object, Animated_egg_object, and Mirror_object.

Definition at line 221 of file objs.h.

Referenced by Mirror_object::is_findable(), Animated_egg_object::is_findable(), and Egglike_game_object::is_findable().

void Game_object::activate ( int  event = 1  )  [virtual]

Reimplemented in Actor, Npc_actor, Container_game_object, Egg_object, Animated_egg_object, Field_object, Mirror_object, and Spellbook_object.

Definition at line 732 of file objs.cc.

References Game::get_game_type(), and SERPENT_ISLE.

Referenced by Mirror_object::activate(), Field_object::activate(), and Path_walking_actor_action::open_door().

Here is the call graph for this function:

bool Game_object::edit (  )  [virtual]

Reimplemented in Actor, and Egg_object.

Definition at line 763 of file objs.cc.

References cheat, Cheat::in_map_editor(), Exult_server::obj, Object_out(), Tile_coord::tx, Tile_coord::ty, and Tile_coord::tz.

Here is the call graph for this function:

void Game_object::update_from_studio ( unsigned char *  data,
int  datalen 
) [static]

Reimplemented in Actor, and Egg_object.

Definition at line 795 of file objs.cc.

References Game_window::add_dirty(), Ucscript::frame, gwin, Exult_server::obj, Object_in(), Tile_coord::tx, Tile_coord::ty, and Tile_coord::tz.

Here is the call graph for this function:

string Game_object::get_name (  )  const [virtual]

Reimplemented in Actor.

Definition at line 148 of file objnames.cc.

References GAME_BG, GAME_SI, GAME_SS, ShapeID::get_info(), Game_window::get_npc(), get_plural_name(), get_singular_name(), gwin, item_names, Exult_server::npc, num_item_names, and snprintf.

Referenced by Combat_schedule::approach_foe(), Actor::get_name(), Actor::get_npc_name(), Combat_schedule::start_strike(), and Actor::write().

Here is the call graph for this function:

void Game_object::remove_this ( int  nodel = 0  )  [virtual]

Reimplemented in Npc_actor, Slime_actor, Monster_actor, Container_game_object, Egg_object, Ireg_game_object, and Ifix_game_object.

Definition at line 836 of file objs.cc.

References Game_window::delete_object(), gwin, and Map_chunk::remove().

Referenced by Bake_schedule::ending(), Bake_schedule::now_what(), Sew_schedule::now_what(), Eat_at_inn_schedule::now_what(), Actor::ready_ammo(), Actor::ready_best_weapon(), Ready_duel_weapon(), Ifix_game_object::remove_this(), and swap_positions().

Here is the call graph for this function:

virtual Container_game_object* Game_object::get_owner (  )  [inline, virtual]

Reimplemented in Ireg_game_object.

Definition at line 231 of file objs.h.

Referenced by Container_game_object::add(), get_outermost(), Usecode_internal::set_item_frame(), and Usecode_internal::set_item_shape().

virtual void Game_object::set_owner ( Container_game_object o  )  [inline, virtual]

Reimplemented in Ireg_game_object.

Definition at line 233 of file objs.h.

int Game_object::get_weight ( int  shnum,
int  quant = 1 
) [static]

Definition at line 863 of file objs.cc.

References Game::get_game_type(), ShapeID::get_info(), Shape_info::get_weight(), Has_quantity(), and SERPENT_ISLE.

Referenced by Check_weight().

Here is the call graph for this function:

int Game_object::get_weight (  )  [virtual]

Reimplemented in Container_game_object.

Definition at line 890 of file objs.cc.

Referenced by Container_game_object::add_quantity(), and Container_game_object::get_weight().

int Game_object::get_max_weight (  )  [virtual]

Reimplemented in Actor.

Definition at line 903 of file objs.cc.

References get_max_weight().

Referenced by Check_weight(), and get_max_weight().

Here is the call graph for this function:

int Game_object::is_dragable (  )  const [virtual]

Reimplemented in Ireg_game_object.

Definition at line 852 of file objs.cc.

Referenced by Actor::die().

int Game_object::drop ( Game_object obj  )  [virtual]

Reimplemented in Actor, Barge_object, and Container_game_object.

Definition at line 938 of file objs.cc.

References Has_quantity(), and Exult_server::obj.

Referenced by Gump::add(), and Dragging_info::drop_on_map().

Here is the call graph for this function:

virtual void Game_object::set_flag ( int  flag  )  [inline, virtual]

Reimplemented in Actor, and Ireg_game_object.

Definition at line 242 of file objs.h.

Referenced by Usecode_internal::add_party_items(), Container_game_object::create_quantity(), Dragging_info::drop(), Actor::figure_hit_points(), and Slime_actor::step().

virtual void Game_object::set_siflag ( int  flag  )  [inline, virtual]

Reimplemented in Actor.

Definition at line 243 of file objs.h.

virtual void Game_object::clear_siflag ( int  flag  )  [inline, virtual]

Reimplemented in Actor.

Definition at line 244 of file objs.h.

virtual void Game_object::clear_flag ( int  flag  )  [inline, virtual]

Reimplemented in Actor, and Ireg_game_object.

Definition at line 245 of file objs.h.

virtual int Game_object::get_flag ( int  flag  )  const [inline, virtual]

Reimplemented in Ireg_game_object.

Definition at line 246 of file objs.h.

Referenced by Check_weight(), Dragging_info::drop(), Combat_schedule::find_opponents(), Map_chunk::get_obj_actors(), Need_new_opponent(), and Game_window::toggle_combat().

virtual void Game_object::set_flag_recursively ( int  flag  )  [inline, virtual]

Reimplemented in Container_game_object, and Ireg_game_object.

Definition at line 247 of file objs.h.

virtual int Game_object::get_siflag ( int  flag  )  const [inline, virtual]

Reimplemented in Actor.

Definition at line 248 of file objs.h.

virtual int Game_object::get_type_flag ( int  flag  )  const [inline, virtual]

Reimplemented in Actor.

Definition at line 249 of file objs.h.

virtual Actor* Game_object::as_actor (  )  [inline, virtual]

Reimplemented in Actor.

Definition at line 251 of file objs.h.

Referenced by Death_vortex::Death_vortex(), Combat_schedule::find_opponents(), Map_chunk::get_obj_actors(), Need_new_opponent(), and Combat_schedule::now_what().

virtual Npc_actor* Game_object::as_npc (  )  [inline, virtual]

Reimplemented in Npc_actor.

Definition at line 252 of file objs.h.

Referenced by Usecode_internal::UI_move_object().

virtual Barge_object* Game_object::as_barge (  )  [inline, virtual]

Reimplemented in Barge_object.

Definition at line 253 of file objs.h.

virtual Terrain_game_object* Game_object::as_terrain (  )  [inline, virtual]

Reimplemented in Terrain_game_object.

Definition at line 254 of file objs.h.

Referenced by Map_chunk::set_terrain().

virtual Container_game_object* Game_object::as_container (  )  [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 255 of file objs.h.

virtual Egg_object* Game_object::as_egg (  )  [inline, virtual]

Reimplemented in Egg_object.

Definition at line 256 of file objs.h.

virtual int Game_object::is_egg (  )  const [inline, virtual]

Reimplemented in Egg_object.

Definition at line 257 of file objs.h.

Referenced by Egg_object::activate(), Usecode_script::activate_egg(), and Map_chunk::try_all_eggs().

virtual int Game_object::count_objects ( int  shapenum,
int  qual = c_any_qual,
int  framenum = c_any_framenum 
) [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 260 of file objs.h.

virtual int Game_object::get_objects ( Game_object_vector vec,
int  shapenum,
int  qual,
int  framenum 
) [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 264 of file objs.h.

bool Game_object::add ( Game_object obj,
bool  dont_check = false,
bool  combine = false 
) [virtual]

Reimplemented in Actor, Monster_actor, Barge_object, Container_game_object, and Jawbone_object.

Definition at line 921 of file objs.cc.

References Exult_server::obj.

Referenced by add_readied(), and Game_map::read_ireg_objects().

virtual int Game_object::add_readied ( Game_object obj,
int  index,
int  dont_check = 0,
int  force_pos = 0 
) [inline, virtual]

Reimplemented in Actor.

Definition at line 271 of file objs.h.

References add(), and Exult_server::obj.

Referenced by Game_map::read_ireg_objects().

Here is the call graph for this function:

virtual int Game_object::add_quantity ( int  delta,
int  shapenum,
int  qual = c_any_qual,
int  framenum = c_any_framenum,
int  dontcreate = 0 
) [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 273 of file objs.h.

virtual int Game_object::create_quantity ( int  delta,
int  shapenum,
int  qual,
int  framenum,
bool  temporary = false 
) [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 276 of file objs.h.

virtual int Game_object::remove_quantity ( int  delta,
int  shapenum,
int  qual,
int  framenum 
) [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 279 of file objs.h.

virtual Game_object* Game_object::find_item ( int  shapenum,
int  qual,
int  framenum 
) [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 282 of file objs.h.

virtual Tile_coord Game_object::get_original_tile_coord (  )  const [inline, virtual]

Reimplemented in Animated_object, Animated_ireg_object, and Animated_ifix_object.

Definition at line 285 of file objs.h.

References get_tile().

Here is the call graph for this function:

virtual int Game_object::move_aside ( Actor for_actor,
int  dir 
) [inline, virtual]

Reimplemented in Actor, and Monster_actor.

Definition at line 288 of file objs.h.

Referenced by Game_window::start_actor_alt(), and Main_actor::step().

int Game_object::get_rotated_frame ( int  quads  )  [virtual]

Reimplemented in Actor.

Definition at line 1141 of file objs.cc.

References Exult_server::info.

virtual int Game_object::step ( Tile_coord  t,
int  frame 
) [inline, virtual]

Reimplemented in Main_actor, Npc_actor, Slime_actor, Quaking_actor, Monster_actor, and Barge_object.

Definition at line 293 of file objs.h.

Referenced by Path_walking_actor_action::handle_event().

virtual int Game_object::is_monster (  )  [inline, virtual]

Reimplemented in Monster_actor.

Definition at line 295 of file objs.h.

Referenced by Map_chunk::get_obj_actors().

Game_object * Game_object::attacked ( Actor attacker,
int  weapon_shape = 0,
int  ammo_shape = 0 
) [virtual]

Reimplemented in Actor, Dead_body, and Jawbone_object.

Definition at line 1211 of file objs.cc.

References combat_trace, Game::get_game_type(), Actor::get_name(), SERPENT_ISLE, and Usecode_machine::weapon.

Here is the call graph for this function:

virtual void Game_object::write_ireg ( DataSource out  )  [inline, virtual]

Reimplemented in Actor, Animated_ireg_object, Barge_object, Container_game_object, Egg_object, Field_object, Mirror_object, Ireg_game_object, Spellbook_object, and Virtue_stone_object.

Definition at line 301 of file objs.h.

virtual int Game_object::get_ireg_size (  )  [inline, virtual]

Reimplemented in Actor, Barge_object, Container_game_object, Egg_object, Field_object, Mirror_object, Ireg_game_object, Spellbook_object, and Virtue_stone_object.

Definition at line 304 of file objs.h.

virtual void Game_object::write_ifix ( DataSource ifix  )  [inline, virtual]

Reimplemented in Animated_ifix_object, and Ifix_game_object.

Definition at line 307 of file objs.h.

virtual void Game_object::elements_read (  )  [inline, virtual]

Reimplemented in Barge_object.

Definition at line 309 of file objs.h.

void Game_object::write_common_ireg ( unsigned char *  buf  ) 

Definition at line 1310 of file objs.cc.

Referenced by Actor::write().

virtual int Game_object::get_live_npc_num (  )  [inline, virtual]

Reimplemented in Dead_body.

Definition at line 313 of file objs.h.

Referenced by Usecode_internal::UI_resurrect().

virtual void Game_object::delete_contents (  )  [inline, virtual]

Reimplemented in Container_game_object.

Definition at line 316 of file objs.h.


Friends And Related Function Documentation

friend class T_Object_list< Game_object * > [friend]

Definition at line 86 of file objs.h.

friend class T_Object_iterator< Game_object * > [friend]

Definition at line 87 of file objs.h.

friend class T_Flat_object_iterator< Game_object *, Map_chunk * > [friend]

Definition at line 88 of file objs.h.

friend class T_Object_iterator_backwards< Game_object *,Map_chunk * > [friend]

Definition at line 90 of file objs.h.

friend class Map_chunk [friend]

Definition at line 91 of file objs.h.


Member Data Documentation

Game_object * Game_object::editing [static, protected]

Reimplemented in Actor, and Egg_object.

Definition at line 62 of file objs.h.

unsigned char Game_object::shape_pos [protected]

Definition at line 63 of file objs.h.

Referenced by get_tx(), get_ty(), and set_shape_pos().

unsigned char Game_object::lift [protected]

Definition at line 64 of file objs.h.

Referenced by get_lift(), get_tile(), and set_lift().

short Game_object::quality [protected]

Definition at line 65 of file objs.h.

Referenced by get_obj_hp(), get_quality(), and set_quality().

Game_object* Game_object::next [private]

Definition at line 67 of file objs.h.

Referenced by Jawbone_object::find_teeth(), Container_game_object::get_ireg_size(), and get_next().

Game_object * Game_object::prev [private]

Definition at line 67 of file objs.h.

Referenced by get_prev().

Game_object_vector Game_object::dependencies [private]

Definition at line 68 of file objs.h.

Referenced by Map_chunk::add_dependencies(), get_dependency(), and get_dependency_count().

Game_object_vector Game_object::dependors [private]

Definition at line 70 of file objs.h.

Referenced by Map_chunk::add_dependencies().

unsigned char Game_object::rotate [static, private]

Definition at line 71 of file objs.h.

Referenced by get_dir_framenum().

uint32 Game_object::render_seq

Definition at line 73 of file objs.h.

unsigned char Game_object::cx [protected]

Definition at line 75 of file objs.h.

Referenced by Map_chunk::add(), get_cx(), get_tile(), is_pos_invalid(), set_chunk(), and set_invalid().

unsigned char Game_object::cy [protected]

Definition at line 75 of file objs.h.

Referenced by Map_chunk::add(), get_cy(), get_tile(), is_pos_invalid(), set_chunk(), and set_invalid().


The documentation for this class was generated from the following files:
Generated on Mon Jul 9 14:53:16 2007 for ExultEngine by  doxygen 1.5.1