30#ifndef HORIZON_ZONE_GAME_ENTITIES_PLAYER_HPP
31#define HORIZON_ZONE_GAME_ENTITIES_PLAYER_HPP
92 Player(std::shared_ptr<ZoneSession> session, uint64_t
uuid);
97 void create(
int char_id, std::string account_gender,
int group_id);
107 virtual void on_killed(std::shared_ptr<Unit> killer,
bool with_drops =
false,
bool with_exp =
false)
override;
162 void on_item_equip(std::shared_ptr<const item_entry_data> item);
166 void throw_item(std::shared_ptr<item_entry_data> item, int32_t amount);
185 }
catch (std::exception e) {
192 std::shared_ptr<const job_config_data>
job() {
return _job; }
193 void set_job(std::shared_ptr<const job_config_data> j) {
_job = j; }
209 bool attack(std::shared_ptr<Unit> e,
bool continuous =
false)
override;
212 void respawn(
int hp_rate,
int sp_rate);
214 std::shared_ptr<Assets::Storage>
get_storage(int32_t storage_id);
223 std::vector<std::shared_ptr<Assets::Storage>>
_storages;
235 std::shared_ptr<const job_config_data>
_job;
grid_notifier_type
Definition: ClientDefinitions.hpp:80
#define MAX_VIEW_RANGE
Definition: Horizon.hpp:59
#define MAX_INVENTORY_SIZE
Definition: ItemDefinitions.hpp:54
player_action_type
Client action types.
Definition: PlayerDefinitions.hpp:33
skill_use_fail_cause_type
Definition: SkillDefinitions.hpp:163
unit_viewport_notification_type
Definition: UnitDefinitions.hpp:836
unit_gender_types
Definition: UnitDefinitions.hpp:988
@ UNIT_GENDER_FEMALE
Definition: UnitDefinitions.hpp:989
Definition: ByteBuffer.hpp:78
Definition: GridObject.hpp:42
uint16_t job_id() const
Definition: Unit.hpp:146
std::shared_ptr< Map > map()
Map & Map Container.
Definition: Unit.hpp:165
uint32_t guid()
Definition: Unit.hpp:144
uint64_t uuid() const
Unit Data.
Definition: Unit.hpp:140
unit_type type() const
Unit applications.
Definition: Unit.hpp:173
Definition: Player.hpp:62
void on_map_enter()
Definition: Player.cpp:546
std::shared_ptr< sol::state > _lua_state
Definition: Player.hpp:221
void pickup_item(int32_t guid)
Definition: Player.cpp:497
std::map< uint16_t, std::shared_ptr< skill_learnt_info > > & get_learnt_skills()
Definition: Player.hpp:180
void send_npc_next_dialog(uint32_t npc_guid)
Definition: Player.cpp:472
bool attack(std::shared_ptr< Unit > e, bool continuous=false) override
Definition: Player.cpp:726
uint32_t get_max_inventory_size()
Definition: Player.hpp:160
bool set_logged_in(bool logged_in)
Definition: Player.hpp:148
std::weak_ptr< ZoneSession > _session
Definition: Player.hpp:220
bool is_overweight_50()
Definition: Player.cpp:324
bool perform_action(player_action_type action)
Definition: Player.cpp:706
bool is_overweight_90()
Definition: Player.cpp:325
void on_pathfinding_failure() override
Definition: Player.cpp:298
int32_t _npc_contact_guid
Definition: Player.hpp:226
s_char_data _char
Definition: Player.hpp:232
std::shared_ptr< sol::state > lua_state()
NPC / Script applications.
Definition: Player.hpp:170
std::vector< std::shared_ptr< Assets::Storage > > _storages
Definition: Player.hpp:223
bool load()
Definition: Player.cpp:204
void create(int char_id, std::string account_gender, int group_id)
Definition: Player.cpp:75
void notify_in_area(ByteBuffer &buf, grid_notifier_type type, uint16_t range=MAX_VIEW_RANGE)
Definition: Player.cpp:637
void on_status_effect_end(std::shared_ptr< status_change_entry > sce) override
Definition: Player.cpp:627
void set_initialized(bool val)
Definition: Player.hpp:101
void realize_nearby_items(unit_viewport_notification_type notif_type)
void add_unit_to_viewport(std::shared_ptr< Unit > unit)
Definition: Player.cpp:335
std::map< uint16_t, std::shared_ptr< skill_learnt_info > > _learnt_skills
Definition: Player.hpp:230
void send_npc_close_dialog(uint32_t npc_guid)
Definition: Player.cpp:477
virtual void on_killed(std::shared_ptr< Unit > killer, bool with_drops=false, bool with_exp=false) override
Definition: Player.cpp:742
void realize_unit_movement(int32_t time, std::shared_ptr< Unit > unit)
Movement.
Definition: Player.cpp:396
void send_npc_dialog(uint32_t npc_guid, std::string dialog)
Definition: Player.cpp:467
uint64_t new_unique_id()
Definition: Player.cpp:65
void set_npc_contact_guid(int32_t guid)
Definition: Player.hpp:176
void on_item_equip(std::shared_ptr< const item_entry_data > item)
Definition: Player.cpp:487
void on_movement_step() override
Definition: Player.cpp:312
void respawn(int hp_rate, int sp_rate)
Definition: Player.cpp:588
void set_last_unique_id(uint64_t last_unique_id)
Item Stores.
Definition: Player.hpp:158
bool on_skill_failure(int16_t skill_id, int message_type, int item_id, skill_use_fail_cause_type cause)
Definition: Player.cpp:685
std::shared_ptr< Assets::Inventory > _inventory
Definition: Player.hpp:222
void send_npc_menu_list(uint32_t npc_guid, std::string const &menu)
Definition: Player.cpp:482
std::shared_ptr< const job_config_data > job()
Definition: Player.hpp:192
~Player()
Definition: Player.cpp:59
bool initialize()
Definition: Player.cpp:83
void on_movement_begin(int32_t time) override
Definition: Player.cpp:303
uint64_t last_unique_id()
Definition: Player.hpp:159
bool save()
DB Synchronizations.
Definition: Player.cpp:159
std::vector< std::weak_ptr< Unit > > & get_viewport_entities()
Definition: Player.hpp:178
void update_viewport()
Grid applications.
Definition: Player.cpp:327
bool is_logged_in()
Definition: Player.hpp:147
void set_max_inventory_size(uint32_t size)
Definition: Player.hpp:161
std::shared_ptr< const job_config_data > _job
Definition: Player.hpp:235
std::shared_ptr< skill_learnt_info > get_learnt_skill(uint16_t skill_id)
Definition: Player.hpp:181
s_char_data & character()
Definition: Player.hpp:150
int32_t npc_contact_guid()
Definition: Player.hpp:175
void spawn_unit_in_viewport(std::shared_ptr< Unit > unit)
Definition: Player.cpp:414
void set_current_storage_id(int32_t id)
Definition: Player.hpp:217
void stop_movement() override
Definition: Player.cpp:153
void on_movement_end() override
Definition: Player.cpp:308
std::shared_ptr< ZoneSession > get_session()
Definition: Player.hpp:95
s_account_data & account()
Definition: Player.hpp:151
Player(std::shared_ptr< ZoneSession > session, uint64_t uuid)
Definition: Player.cpp:54
s_account_data _account
Definition: Player.hpp:233
std::shared_ptr< Assets::Inventory > inventory()
Definition: Player.hpp:164
void on_damage_received(std::shared_ptr< Unit > damage_dealer, int damage) override
Unit functions.
Definition: Player.cpp:577
bool stop_attack()
Definition: Player.cpp:734
void notify_map_properties()
Definition: Player.cpp:525
void on_status_effect_change(std::shared_ptr< status_change_entry > sce) override
Definition: Player.cpp:632
bool perform_skill(int16_t skill_id, int16_t skill_lv)
Definition: Player.cpp:660
bool unit_is_in_viewport(std::shared_ptr< Unit > unit)
Definition: Player.cpp:377
void remove_unit_from_viewport(std::shared_ptr< Unit > unit, unit_viewport_notification_type type)
Definition: Player.cpp:354
bool job_change(int32_t job_id)
Definition: Player.cpp:645
int32_t _current_storage_id
Definition: Player.hpp:224
std::atomic< bool > _is_logged_in
Definition: Player.hpp:225
void realize_unit_movement_entry(int32_t time, std::shared_ptr< Unit > unit)
Definition: Player.cpp:404
int32_t get_current_storage_id()
Definition: Player.hpp:216
bool move_to_map(std::shared_ptr< Map > map, MapCoords coords={ 0, 0 })
Definition: Player.cpp:423
bool on_action_request(player_action_type action)
Skills.
Definition: Player.cpp:691
std::vector< std::weak_ptr< Unit > > _viewport_entities
Definition: Player.hpp:228
void on_status_effect_start(std::shared_ptr< status_change_entry > sce) override
Status Effects.
Definition: Player.cpp:622
bool is_initialized()
Definition: Player.hpp:100
void set_job(std::shared_ptr< const job_config_data > j)
Definition: Player.hpp:193
void add_learnt_skill(std::shared_ptr< skill_learnt_info > i)
Definition: Player.hpp:190
bool _is_initialized
Definition: Player.hpp:219
void on_item_unequip(std::shared_ptr< const item_entry_data > item)
Definition: Player.cpp:492
std::shared_ptr< Assets::Storage > get_storage(int32_t storage_id)
Definition: Player.cpp:288
void throw_item(std::shared_ptr< item_entry_data > item, int32_t amount)
Definition: Player.cpp:520
Definition: Element.hpp:7
Definition: Player.hpp:85
int32_t _account_id
Definition: Player.hpp:86
int16_t _group_id
Definition: Player.hpp:88
std::string _account_gender
Definition: Player.hpp:87
Definition: Player.hpp:63
int32_t _rename_count
Definition: Player.hpp:72
int8_t _allow_party
Definition: Player.hpp:76
std::string _saved_map
Definition: Player.hpp:81
int8_t _show_equip
Definition: Player.hpp:75
int32_t _guild_id
Definition: Player.hpp:79
int32_t _change_slot_count
Definition: Player.hpp:74
int32_t _party_id
Definition: Player.hpp:79
int32_t _mother_aid
Definition: Player.hpp:78
int32_t _unban_time
Definition: Player.hpp:71
int32_t _partner_aid
Definition: Player.hpp:77
int16_t _slot
Definition: Player.hpp:65
int32_t _saved_y
Definition: Player.hpp:82
int32_t _pet_id
Definition: Player.hpp:80
int32_t _father_aid
Definition: Player.hpp:78
int32_t _saved_x
Definition: Player.hpp:82
int8_t _online
Definition: Player.hpp:66
int32_t _max_inventory_size
Definition: Player.hpp:68
int64_t _last_unique_id
Definition: Player.hpp:69
int32_t _child_aid
Definition: Player.hpp:78
int32_t _homun_id
Definition: Player.hpp:80
unit_gender_types _gender
Definition: Player.hpp:67
int32_t _elemental_id
Definition: Player.hpp:80
int8_t _font
Definition: Player.hpp:70
int32_t _character_id
Definition: Player.hpp:64
int16_t _hotkey_row_index
Definition: Player.hpp:73