Horizon Official Technical Documentation
Horizon::Zone::Units::Elemental Class Reference

#include <Elemental.hpp>

+ Inheritance diagram for Horizon::Zone::Units::Elemental:
+ Collaboration diagram for Horizon::Zone::Units::Elemental:

Public Member Functions

 Elemental (uint64_t uuid, std::shared_ptr< Map > map, MapCoords mcoords)
 
 ~Elemental ()
 
void stop_movement () override
 
void on_pathfinding_failure () override
 
void on_movement_begin (int32_t time) override
 
void on_movement_step () override
 
void on_movement_end () override
 
void on_status_effect_start (std::shared_ptr< status_change_entry > sce) override
 
void on_status_effect_end (std::shared_ptr< status_change_entry > sce) override
 
void on_status_effect_change (std::shared_ptr< status_change_entry > sce) override
 
- Public Member Functions inherited from Horizon::Zone::Units::Mob
 Mob (uint64_t uuid, unit_type type, unit_type_mask type_mask, std::shared_ptr< Map > map, MapCoords mcoords)
 
 ~Mob () override
 
bool initialize (std::shared_ptr< const monster_config_data > md)
 
virtual bool finalize () override
 
virtual void on_damage_received (std::shared_ptr< Unit > damage_dealer, int damage) override
 
virtual void on_killed (std::shared_ptr< Unit > killer, bool with_drops=false, bool with_exp=false) override
 
- Public Member Functions inherited from Horizon::Zone::Unit
 Unit (uint64_t uuid, unit_type type, unit_type_mask type_mask, std::shared_ptr< Map > map, MapCoords map_coords)
 
 Unit (uint64_t uuid, unit_type type, unit_type_mask type_mask)
 
virtual ~Unit ()
 
bool initialize ()
 
virtual bool finalize ()
 
bool is_initialized () const
 
bool is_finalized () const
 
void set_finalized (bool finalized)
 
MapCoords const & dest_coords () const
 Movement. More...
 
virtual bool walk_to_coordinates (int16_t x, int16_t y)
 
virtual bool walk_to_unit (std::shared_ptr< Unit > unit)
 
bool is_walking () const
 
virtual void stop_movement ()=0
 
bool stop_walking (bool cancel=false, bool notify=false)
 
uint64_t uuid () const
 Unit Data. More...
 
unit_uuid s_uuid () const
 
void set_uuid (uint64_t uuid)
 
uint32_t guid ()
 
uint16_t job_id () const
 
void set_job_id (uint16_t job_id)
 
unit_posture_type posture () const
 
void set_posture (unit_posture_type posture)
 
const std::string & name () const
 
void set_name (const std::string &name)
 
directions direction () const
 
void set_direction (directions dir)
 
std::shared_ptr< Horizon::Zone::Traits::Statusstatus ()
 
void set_status (std::shared_ptr< Horizon::Zone::Traits::Status > st)
 
void force_movement_stop_internal (bool stop=false)
 
std::shared_ptr< Mapmap ()
 Map & Map Container. More...
 
void set_map (std::shared_ptr< Map > map)
 
AStar::CoordinateList get_walk_path ()
 
unit_type type () const
 Unit applications. More...
 
unit_type_mask type_mask () const
 
bool is_of_type (int type_mask)
 
template<class T >
std::shared_ptr< T > downcast ()
 
MapCoords const & map_coords () const
 Grid applications. More...
 
void set_map_coords (MapCoords const &coords)
 
GridCoords const & grid_coords () const
 
void set_grid_coords (GridCoords const &coords)
 
bool is_in_range_of (std::shared_ptr< Unit > unit, uint8_t range=MAX_VIEW_RANGE)
 
void notify_nearby_players_of_existence (unit_viewport_notification_type notif_type)
 
void notify_nearby_players_of_spawn ()
 
void notify_nearby_players_of_movement (bool new_entry=false)
 
void notify_nearby_players_of_movement_stop (MapCoords stop_coords)
 
void notify_nearby_players_of_skill_use (grid_unit_skill_use_notification_type notification_type, s_unit_skill_use_notifier_config config)
 
void notify_nearby_players_of_basic_attack (s_grid_unit_basic_attack_config config)
 
void notify_nearby_players_of_item_drop (s_grid_notify_item_drop_entry entry)
 
std::shared_ptr< Unitget_nearby_unit (uint32_t guid)
 
uint64_t get_scheduler_task_id (unit_task_schedule_group group)
 
std::map< int16_t, std::shared_ptr< status_change_entry > > & get_status_effects ()
 
void apply_status_change_in_area (std::shared_ptr< Unit > target, s_grid_sc_apply_in_skill_area_config const &config, s_grid_apply_in_area_config const &aoe_config)
 
void remove_status_change_in_area (std::shared_ptr< Unit > target, int sc_type, s_grid_apply_in_area_config const &aoe_config)
 
void execute_skill_in_area (std::shared_ptr< Unit > target, std::shared_ptr< SkillExecution > skill_execution, s_grid_apply_in_area_config const &aoe_config)
 
void execute_skill_in_cell (std::shared_ptr< Unit > target, MapCoords cell, std::shared_ptr< SkillExecution > skill_execution, s_grid_apply_in_area_config const &aoe_config)
 
void use_skill_on_target (int16_t skill_lv, int16_t skill_id, int target_guid)
 
void use_skill_on_ground (int16_t skill_lv, int16_t skill_id, int16_t pos_x, int16_t pos_y)
 
void use_skill_on_ground (int16_t skill_lv, int16_t skill_id, int16_t pos_x, int16_t pos_y, std::string contents)
 
bool status_effect_start (int type, int total_time, int val1, int val2, int val3, int val4)
 Status Effects. More...
 
bool status_effect_end (int type)
 
virtual void on_status_effect_start (std::shared_ptr< status_change_entry > sce)=0
 
virtual void on_status_effect_end (std::shared_ptr< status_change_entry > sce)=0
 
virtual void on_status_effect_change (std::shared_ptr< status_change_entry > sce)=0
 
std::shared_ptr< AStar::CoordinateListpath_to (std::shared_ptr< Unit > e)
 
int distance_from (std::shared_ptr< Unit > e)
 
virtual bool attack (std::shared_ptr< Unit > target, bool continuous=false)
 
virtual bool stop_attacking ()
 
bool target_is_attackable (std::shared_ptr< Unit > target)
 
void set_attacking (bool attacking)
 
bool is_attacking ()
 
void on_attack_end ()
 
bool is_dead ()
 
virtual void on_damage_received (std::shared_ptr< Unit > damage_dealer, int damage)
 
virtual void on_killed (std::shared_ptr< Unit > killer, bool with_drops=false, bool with_exp=false)
 
std::shared_ptr< Combatcombat ()
 Combat. More...
 
void set_combat (std::shared_ptr< Combat > combat)
 
void update (uint64_t tick)
 Extremely time-sensitive functions. More...
 
std::shared_ptr< CombatRegistrycombat_registry ()
 
bool has_damage_walk_delay ()
 Walk Delay. More...
 
void set_damage_walk_delay (bool delay)
 
void set_lockon_after_walk_completed (uint64_t target_guid, bool continuous=false)
 Lockon after walk completed. More...
 
void clear_lockon_after_walk_completed ()
 
uint64_t lockon_after_walk_completed_target_guid ()
 
- Public Member Functions inherited from Horizon::Zone::GridObject< Elemental >
virtual ~GridObject ()
 
bool has_valid_grid_reference () const
 
void add_grid_reference (GridRefManager< Elemental > &m)
 
void remove_grid_reference ()
 
GridReference< Elemental > & get_reference ()
 

Additional Inherited Members

- Protected Member Functions inherited from Horizon::Zone::Unit
bool schedule_walk ()
 
void walk ()
 
virtual void on_pathfinding_failure ()=0
 
virtual void on_movement_begin (int32_t time)=0
 
virtual void on_movement_step ()=0
 
virtual void on_movement_end ()=0
 

Constructor & Destructor Documentation

◆ Elemental()

Elemental::Elemental ( uint64_t  uuid,
std::shared_ptr< Map map,
MapCoords  mcoords 
)
37{
38 //
39}
@ UNIT_ELEMENTAL
Definition: UnitDefinitions.hpp:55
@ UNIT_MASK_ELEMENTAL
Definition: UnitDefinitions.hpp:70
std::shared_ptr< Map > map()
Map & Map Container.
Definition: Unit.hpp:165
uint64_t uuid() const
Unit Data.
Definition: Unit.hpp:140
Mob(uint64_t uuid, unit_type type, unit_type_mask type_mask, std::shared_ptr< Map > map, MapCoords mcoords)
Definition: Mob.cpp:40

◆ ~Elemental()

Elemental::~Elemental ( )
42{
43 //
44}

Member Function Documentation

◆ on_movement_begin()

void Elemental::on_movement_begin ( int32_t  time)
overridevirtual

Implements Horizon::Zone::Unit.

48{ }

◆ on_movement_end()

void Elemental::on_movement_end ( )
overridevirtual

Implements Horizon::Zone::Unit.

50{ }

◆ on_movement_step()

void Elemental::on_movement_step ( )
overridevirtual

Implements Horizon::Zone::Unit.

49{ }

◆ on_pathfinding_failure()

void Elemental::on_pathfinding_failure ( )
overridevirtual

Implements Horizon::Zone::Unit.

47{ }

◆ on_status_effect_change()

void Elemental::on_status_effect_change ( std::shared_ptr< status_change_entry sce)
overridevirtual

Implements Horizon::Zone::Unit.

54{ }

◆ on_status_effect_end()

void Elemental::on_status_effect_end ( std::shared_ptr< status_change_entry sce)
overridevirtual

Implements Horizon::Zone::Unit.

53{ }

◆ on_status_effect_start()

void Elemental::on_status_effect_start ( std::shared_ptr< status_change_entry sce)
overridevirtual

Implements Horizon::Zone::Unit.

52{ }

◆ stop_movement()

void Elemental::stop_movement ( )
overridevirtual

Implements Horizon::Zone::Unit.

46{ }

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