Horizon Official Technical Documentation
Horizon::Zone::ZoneClientInterface Class Reference

#include <ZoneClientInterface.hpp>

+ Inheritance diagram for Horizon::Zone::ZoneClientInterface:
+ Collaboration diagram for Horizon::Zone::ZoneClientInterface:

Public Member Functions

 ZoneClientInterface (std::shared_ptr< ZoneSession > s)
 
 ~ZoneClientInterface ()
 
UI::Chatroomchatroom ()
 
UI::Tradetrade ()
 
UI::Partyparty ()
 
UI::PartyBookingparty_booking ()
 
UI::Guildguild ()
 
UI::Friendfriend_ ()
 
UI::Questquest ()
 
UI::Auctionauction ()
 
UI::Mailmail ()
 
UI::Clanclan ()
 
bool login (uint32_t account_id, uint32_t char_id, uint32_t auth_code, uint32_t client_time, uint8_t gender)
 
bool restart (uint8_t type)
 All cleanups are managed in ZoneSocket::perform_cleanup. More...
 
bool disconnect (int8_t type)
 
bool update_session (int32_t account_id, bool first=true)
 
bool walk_to_coordinates (uint16_t x, uint16_t y, uint8_t dir)
 
bool notify_time ()
 
bool notify_unit_name (uint32_t guid)
 
bool stop_attack ()
 
void request_name_by_char_id (int char_id)
 Character. More...
 
void invite_baby (int account_id)
 
void pvpinfo (int character_id, int account_id)
 
void ranking (cz_req_ranking_type type)
 Ranking. More...
 
void ranking_alchemist ()
 
void ranking_blacksmith ()
 
void ranking_pk ()
 
bool notify_pvp_points ()
 
bool notify_ranking (cz_req_ranking_type type, std::vector< zc_ack_ranking_info > info, int ranking_points)
 
void set_config (cz_config_type config, bool setting)
 Config. More...
 
void view_equipment (int account_id)
 
bool notify_player_movement (int32_t time, MapCoords from, MapCoords to)
 
bool notify_movement_stop (int32_t guid, int16_t x, int16_t y)
 
bool notify_unit_move (int32_t guid, int32_t time, MapCoords from, MapCoords to)
 
item_viewport_entry create_viewport_item_entry (std::shared_ptr< Units::Item > item)
 
unit_viewport_entry create_viewport_entry (std::shared_ptr< Unit > unit)
 
bool notify_viewport_add_unit (unit_viewport_entry entry)
 
bool notify_viewport_remove_unit (std::shared_ptr< Unit > unit, unit_viewport_notification_type type)
 
bool notify_viewport_moving_unit (unit_viewport_entry entry)
 
bool notify_viewport_spawn_unit (unit_viewport_entry entry)
 
bool notify_viewport_item_entry (item_viewport_entry entry)
 
void npc_weapon_refine (int32_t inventory_index)
 NPC. More...
 
void npc_next_dialog (int32_t npc_guid)
 
void npc_contact (int32_t npc_guid)
 
void npc_close (int32_t npc_guid)
 
void notify_npc_dialog (uint32_t npc_guid, std::string dialog)
 
void notify_npc_next_dialog (uint32_t npc_guid)
 
void notify_npc_close_dialog (uint32_t npc_guid)
 
void notify_npc_menu_list (uint32_t npc_guid, std::string const &menu)
 
uint32_t get_npc_contact_guid ()
 
void set_npc_contact_guid (uint32_t guid)
 
void npc_select_deal_type (int guid, cz_ack_select_dealtype deal_type)
 
void npc_select_menu (int guid, int choice)
 
void npc_input (int guid, int value)
 
void npc_input (int guid, std::string value)
 
void npc_purchase_items (std::vector< cz_pc_purchase_itemlist > items)
 
void npc_sell_items (std::vector< cz_pc_sell_itemlist > items)
 
void vending_purchase_items (int account_id, std::vector< cz_pc_purchase_itemlist > items)
 
void vending_purchase_items (int account_id, int unique_id, std::vector< cz_pc_purchase_itemlist > items)
 
void progress_bar_completed ()
 
bool notify_initial_status ()
 Status. More...
 
bool notify_appearance_update (unit_appearance_type type, int32_t value, int32_t value2)
 
bool notify_compound_attribute_update (status_point_type type, int32_t value)
 
bool notify_status_attribute_update (status_point_type type, int32_t value, bool success)
 
bool notify_required_attribute_update (status_point_type type, int32_t value)
 
bool notify_attribute_update (status_point_type type, int32_t value, int32_t value2)
 
bool notify_cart_weight_update ()
 
bool notify_attack_range_update (int32_t value)
 
bool notify_experience_update (status_point_type type, int32_t value)
 
bool notify_zeny_update ()
 
bool increase_status_point (status_point_type type, uint8_t amount)
 
void register_baby (int account_id, int character_id, cz_join_baby_reply_type response)
 
void auto_revive ()
 
bool notify_move_to_map (std::string map_name, int16_t x, int16_t y)
 Map. More...
 
void map_enter ()
 
bool notify_map_properties (zc_map_properties properties)
 
bool notify_chat (std::string message)
 Chat. More...
 
void parse_chat_message (std::string message)
 
void whisper_message (const char *name, int32_t name_length, const char *message, int32_t message_length)
 
void use_item (int16_t inventory_index, int32_t guid)
 Items. More...
 
void equip_item (int16_t inventory_index, int16_t equip_location_mask)
 
void pickup_item (int guid)
 
void unequip_item (int16_t inventory_index)
 
void throw_item (int16_t inventory_index, int16_t amount)
 
void move_item_from_inventory_to_cart (int16_t inventory_index, int amount)
 
void move_item_from_inventory_to_storage (int16_t inventory_index, int amount)
 
void move_item_from_cart_to_inventory (int16_t inventory_index, int amount)
 
void move_item_from_cart_to_storage (int16_t inventory_index, int amount)
 
void move_item_from_storage_to_inventory (int16_t storage_index, int amount)
 
void move_item_from_storage_to_cart (int16_t inventory_index, int amount)
 
void display_item_card_composition (int card_index, int equip_index=0)
 
void repair_item (int inventory_index, int item_id, int refine, int card1, int card2, int card3, int card4)
 
void identify_item (int inventory_index)
 
bool notify_pickup_item (std::shared_ptr< item_entry_data > item, int16_t amount, item_inventory_addition_notif_type result)
 
bool notify_normal_item_list (std::vector< std::shared_ptr< const item_entry_data > > const &items)
 
bool notify_equipment_item_list (std::vector< std::shared_ptr< const item_entry_data > > const &items)
 
bool notify_throw_item (int16_t inventory_index, int16_t amount)
 
bool notify_inventory_move_failed (int16_t inventory_index, bool silent)
 
bool notify_delete_item (int16_t inventory_index, int16_t amount, item_deletion_reason_type reason)
 
bool notify_bind_on_equip (int16_t inventory_index)
 
bool notify_use_item (std::shared_ptr< item_entry_data > inv_item, bool success)
 
bool notify_equip_item (std::shared_ptr< const item_entry_data > item, item_equip_result_type result)
 
bool notify_unequip_item (std::shared_ptr< const item_entry_data > item, item_unequip_result_type result)
 
bool notify_equip_arrow (std::shared_ptr< const item_entry_data > item)
 
bool notify_action_failure (int16_t message_type)
 
bool notify_item_composition (int16_t item_inventory_index, int16_t card_inventory_index, zc_ack_item_composition_result_type result)
 
bool notify_identified_item (int16_t inventory_index, zc_ack_item_identify_result_type result)
 
bool notify_item_refining (zc_ack_itemrefining_result_type result, int16_t inventory_index, int16_t refine_lv)
 
bool notify_item_repair (int inventory_index, zc_ack_itemrepair_result_type result)
 
bool notify_item_merge (int inventory_index, int amount, zc_ack_merge_item_reason_type reason)
 
bool notify_item_drop (int guid, int item_id, int type, int identified, int x, int y, int x_area, int y_area, int amount, int show_drop_effect=0, int drop_effect_mode=0)
 
bool notify_item_removal_from_floor (int guid)
 
bool notify_inventory_start (inventory_type type, std::string name)
 Inventory Start / End. More...
 
bool notify_inventory_end (inventory_type type)
 
void storage_close ()
 Storage. More...
 
bool notify_storage_size (int16_t total_size, int16_t max_size)
 
bool notify_storage_normal_items (std::string name, std::vector< std::shared_ptr< const item_entry_data > > const &items)
 
bool notify_storage_equip_items (std::string name, std::vector< std::shared_ptr< const item_entry_data > > const &items)
 
bool notify_storage_close ()
 
bool notify_storage_add_item (std::shared_ptr< const item_entry_data > entry, int amount)
 
bool notify_storage_remove_item (int16_t storage_index, int amount)
 
void upgrade_skill_level (int16_t skill_id)
 Skills. More...
 
bool notify_learnt_skill_list ()
 
bool notify_skill_fail (int16_t skill_id, int32_t message_type, int32_t item_id, skill_use_fail_cause_type cause)
 
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)
 
void notify_skill_cast (uint16_t skill_id, uint32_t src_guid, uint32_t target_guid, uint16_t target_x, uint16_t target_y, uint32_t element, int cast_time)
 
void notify_safe_skill_use (int skill_id, int heal_amount, int target_guid, zc_use_skill2_result_type result)
 
void notify_hostile_skill_use (int16_t skill_id, int32_t src_guid, int32_t target_guid, int32_t start_time, int32_t attack_motion, int32_t delay_motion, int32_t damage, int16_t level, int16_t count, int8_t action)
 
void action_request (int32_t target_guid, player_action_type action)
 
bool notify_action (player_action_type action)
 
bool notify_action (int32_t target_guid, player_action_type action)
 
void setting_effects (int setting)
 Status. More...
 
bool notify_status_change (int16_t si_type, int32_t guid, int8_t state, int32_t time_remaining, int32_t val1, int32_t val2, int32_t val3)
 
bool notify_status_change_end (int16_t status_index, int32_t guid, int8_t state)
 
bool notify_damage (int guid, int target_guid, int start_time, int delay_skill, int delay_damage, int damage, bool is_sp_damaged, int number_of_hits, int8_t action_type, int left_damage)
 Combat. More...
 
void storage_check_password (std::string password)
 Storage. More...
 
void storage_change_password (std::string password, std::string new_password)
 
void open_vend_shop (int account_id)
 Vending. More...
 
void close_vending ()
 
void open_buying_store (int account_id)
 
void close_buying_store ()
 
void start_vending (std::string shop_name, std::vector< cz_req_openstore_itemlist > items)
 
void start_buying_store (std::string store_name, int zeny_limit, std::vector< cz_req_open_buying_store_itemlist > items)
 
void sell_to_buying_store (int account_id, int store_id, std::vector< cz_req_trade_buying_store_itemlist > items)
 
bool notify_buying_store_itemlist (int account_id, int store_id, int zeny_limit, std::vector< zc_ack_itemlist_buying_store > items)
 
bool notify_open_vending (zc_ack_openstore2_result_type result)
 
void emotion (int type)
 Misc. More...
 
void user_count ()
 
void ignore_list ()
 
void star_gladiator_feel_save (cz_agree_starplace_type type)
 Class Specific. More...
 
void novice_explosion_spirits ()
 
void novice_doridori ()
 
void remember_warppoint ()
 
void produce_item (int item_id, std::vector< int16_t > material_ids)
 
void remove_cart ()
 
void change_cart (int16_t num)
 
void make_arrow (int16_t item_id)
 
void make_item (cz_req_makingitem_type type, int16_t item_id)
 
void message (std::string message)
 Battlegrounds. More...
 
void blocking_play_cancel ()
 
void client_version (int version)
 
void broadcast (std::string message)
 
void broadcast_local (std::string message)
 
void change_direction (int head_direction, int body_direction)
 
void change_effect_state (int effect_state)
 
void change_map_type (int x, int y, bool walkable)
 
void bargain_sale_tool_close ()
 
void searchstore_close ()
 
void command_mercenary (int type, cz_command_mercenary_command_type command)
 Pet. More...
 
void command_pet (cz_command_pet_type command)
 
void pet_act_emotion (cz_pet_act_emotion_type emotion)
 
void pet_evolve (int evolved_pet_egg_id, std::vector< cz_pet_evolution_itemlist > items)
 
void rename_homunculus (std::string name)
 
void rename_pet (std::string name)
 
void request_action (int guid, int target_id, int action)
 
void move_homunculus_to_coordinates (int guid, int x, int y, int dir)
 
void move_homunculus_to_master (int guid)
 
void disconnect_all_players ()
 Administration. More...
 
void disconnect_account (int account_id)
 
void create (std::string create)
 
void move_to_map (std::string map_name, int16_t x, int16_t y)
 
void recall (std::string username)
 
void recall (int account_id)
 
void summon (std::string char_name)
 
void warp_to (int account_id)
 
void request_username (int account_id)
 
void adjust_manner_by_name (std::string name)
 
void give_manner_point (int account_id, cz_req_give_manner_point_type type, int value)
 
void check_status (std::string name)
 
bool notify_give_manner_point (zc_ack_give_manner_point_result_type result)
 
void memorial_dungeon_command (cz_memorial_dungeon_command_type command)
 Instancing. More...
 
void cash_point_purchase (int kafra_points, std::vector< cz_pc_buy_cash_point_item > items)
 Cash Point Store. More...
 
void private_airship_request (std::string map_name, int item_id)
 
bool notify_resurrection (int32_t guid, int type)
 
bool notify_recovery (zc_notify_recovery_type type, int amount)
 
- Public Member Functions inherited from Horizon::ClientInterface< ZoneSession >
 ClientInterface (std::shared_ptr< ZoneSession > s)
 
 ~ClientInterface ()
 
std::shared_ptr< ZoneSession > get_session ()
 
void set_session (std::shared_ptr< ZoneSession > s)
 

Protected Attributes

uint32_t _npc_contact_guid {0}
 
UI::Chatroom _chat_room
 
UI::Trade _trade
 
UI::Party _party
 
UI::Guild _guild
 
UI::Friend _friend
 
UI::Quest _quest
 
UI::Auction _auction
 
UI::Mail _mail
 
UI::Clan _clan
 
UI::PartyBooking _party_booking
 

Constructor & Destructor Documentation

◆ ZoneClientInterface()

ZoneClientInterface::ZoneClientInterface ( std::shared_ptr< ZoneSession s)
58: ClientInterface(s), _chat_room(s), _trade(s), _party(s), _guild(s), _friend(s), _quest(s),
59 _auction(s), _mail(s), _clan(s), _party_booking(s)
60{
61
62}
ClientInterface(std::shared_ptr< ZoneSession > s)
Definition: ClientInterface.hpp:40
UI::Mail _mail
Definition: ZoneClientInterface.hpp:366
UI::Clan _clan
Definition: ZoneClientInterface.hpp:367
UI::Chatroom _chat_room
Definition: ZoneClientInterface.hpp:359
UI::Guild _guild
Definition: ZoneClientInterface.hpp:362
UI::Auction _auction
Definition: ZoneClientInterface.hpp:365
UI::Quest _quest
Definition: ZoneClientInterface.hpp:364
UI::Party _party
Definition: ZoneClientInterface.hpp:361
UI::PartyBooking _party_booking
Definition: ZoneClientInterface.hpp:368
UI::Friend _friend
Definition: ZoneClientInterface.hpp:363
UI::Trade _trade
Definition: ZoneClientInterface.hpp:360

◆ ~ZoneClientInterface()

ZoneClientInterface::~ZoneClientInterface ( )
65{
66}

Member Function Documentation

◆ action_request()

void ZoneClientInterface::action_request ( int32_t  target_guid,
player_action_type  action 
)
1235{
1236 bool continuous = false;
1237 switch(action)
1238 {
1239 case PLAYER_ACT_SIT:
1240 case PLAYER_ACT_STAND:
1241 {
1242 get_session()->player()->on_action_request(action);
1243 break;
1244 }
1246 {
1247 continuous = true;
1248 }
1249 case PLAYER_ACT_ATTACK:
1250 {
1251 std::shared_ptr<Unit> target = get_session()->player()->get_nearby_unit(target_guid);
1252
1253 if (target == nullptr)
1254 {
1255 HLog(error) << "Target not found.";
1256 return;
1257 }
1259 config.continuous = continuous;
1261 CombatRegistry::MeleeExecutionOperation *operation = new CombatRegistry::MeleeExecutionOperation(operand, CombatRegistry::MeleeExecutionOperation::melee_execution_operation_type::MELEE_EXECUTION_OPERATION_TARGET);
1262
1263 int time = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
1264
1265 CombatRegistry::CombatStage *stage = get_session()->player()->combat_registry()->create_combat_stage(time);
1266
1267 stage->add_operation(operation);
1268
1269 get_session()->player()->combat_registry()->queue_combat_stage(stage);
1270 }
1271 default:
1272 break;
1273 };
1274
1275}
#define HLog(type)
Definition: Logger.hpp:122
@ PLAYER_ACT_SIT
Definition: PlayerDefinitions.hpp:36
@ PLAYER_ACT_ATTACK_REPEAT
Definition: PlayerDefinitions.hpp:41
@ PLAYER_ACT_STAND
Definition: PlayerDefinitions.hpp:37
@ PLAYER_ACT_ATTACK
Definition: PlayerDefinitions.hpp:34
std::shared_ptr< ZoneSession > get_session()
Definition: ClientInterface.hpp:43
void add_operation(CombatOperation *operation)
Definition: Combat.hpp:604

References Horizon::Zone::CombatRegistry::CombatStage::add_operation(), Horizon::Zone::CombatRegistry::MeleeExecutionOperation::MeleeExecutionOperand::s_melee_execution_operation_config::continuous, Horizon::ClientInterface< ZoneSession >::get_session(), HLog, PLAYER_ACT_ATTACK, PLAYER_ACT_ATTACK_REPEAT, PLAYER_ACT_SIT, and PLAYER_ACT_STAND.

+ Here is the call graph for this function:

◆ adjust_manner_by_name()

void ZoneClientInterface::adjust_manner_by_name ( std::string  name)
1590{
1591
1592}

◆ auction()

UI::Auction & Horizon::Zone::ZoneClientInterface::auction ( )
inline
67{ return _auction; }

References _auction.

◆ auto_revive()

void ZoneClientInterface::auto_revive ( )
1491{
1492
1493}

◆ bargain_sale_tool_close()

void ZoneClientInterface::bargain_sale_tool_close ( )
1479{
1480
1481}

◆ blocking_play_cancel()

void ZoneClientInterface::blocking_play_cancel ( )
1457{
1458 ZC_ALT_PING pkt(get_session());
1459 pkt.deliver();
1460 // TODO: should also send ZC_SPECIALPOPUP for clients >= 20221005 based on mapflag.
1461}
Main object for the aegis packet: ZC_ALT_PING.
Definition: TransmittedPackets.hpp:20501

References Horizon::Zone::ZC_ALT_PING::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ broadcast()

void ZoneClientInterface::broadcast ( std::string  message)
685{
686
687}

◆ broadcast_local()

void ZoneClientInterface::broadcast_local ( std::string  message)
689{
690
691}

◆ cash_point_purchase()

void ZoneClientInterface::cash_point_purchase ( int  kafra_points,
std::vector< cz_pc_buy_cash_point_item items 
)

Cash Point Store.

1620{
1621
1622}

◆ change_cart()

void ZoneClientInterface::change_cart ( int16_t  num)
1401{
1402
1403}

◆ change_direction()

void ZoneClientInterface::change_direction ( int  head_direction,
int  body_direction 
)
1467{
1468
1469}

◆ change_effect_state()

void ZoneClientInterface::change_effect_state ( int  effect_state)
1471{
1472
1473}

◆ change_map_type()

void ZoneClientInterface::change_map_type ( int  x,
int  y,
bool  walkable 
)
1475{
1476
1477}

◆ chatroom()

UI::Chatroom & Horizon::Zone::ZoneClientInterface::chatroom ( )
inline
60{ return _chat_room; }

References _chat_room.

◆ check_status()

void ZoneClientInterface::check_status ( std::string  name)
1598{
1599
1600}

◆ clan()

UI::Clan & Horizon::Zone::ZoneClientInterface::clan ( )
inline
69{ return _clan; }

References _clan.

◆ client_version()

void ZoneClientInterface::client_version ( int  version)
1463{
1464
1465}

◆ close_buying_store()

void ZoneClientInterface::close_buying_store ( )
1329{
1330
1331}

◆ close_vending()

void ZoneClientInterface::close_vending ( )
1321{
1322
1323}

◆ command_mercenary()

void ZoneClientInterface::command_mercenary ( int  type,
cz_command_mercenary_command_type  command 
)

Pet.

1487{
1488
1489}

◆ command_pet()

void ZoneClientInterface::command_pet ( cz_command_pet_type  command)
1495{
1496
1497}

◆ create()

void ZoneClientInterface::create ( std::string  create)
1560{
1561
1562}

◆ create_viewport_entry()

unit_viewport_entry ZoneClientInterface::create_viewport_entry ( std::shared_ptr< Unit unit)
355{
357
358 if (unit == nullptr)
359 return entry;
360
361 std::shared_ptr<Horizon::Zone::Traits::Status> status = unit->status();
362
363 if (status == nullptr)
364 return entry;
365
366 entry._guid = unit->guid();
367 entry._unit_type = unit->type();
368 entry.speed = status->movement_speed()->total();
369 entry.body_state = 0;
370 entry.health_state = 0;
371 entry.effect_state = 0;
372 entry.job_id = unit->job_id();
373 entry.hair_style_id = status->hair_style()->get();
374 entry.hair_color_id = status->hair_color()->get();
375 entry.robe_id = status->robe_sprite()->get();
376 entry.guild_id = 0;
377 entry.guild_emblem_version = 0;
378 entry.honor = unit->type() == UNIT_PLAYER ? status->honor()->total() : 0;
379 entry.virtue = unit->type() == UNIT_PLAYER ? status->virtue()->total() : 0;
380 entry.in_pk_mode = 0;
381 entry.current_x = unit->map_coords().x();
382 entry.current_y = unit->map_coords().y();
383 entry.current_dir = unit->direction();
384
385 if (unit->is_walking()) {
386 entry.to_x = unit->dest_coords().x();
387 entry.to_y = unit->dest_coords().y();
388 }
389
390 entry.posture = unit->posture();
391 entry.base_level = status->base_level()->total();
392 entry.font = 1;
393
394 if (status->current_hp()->total() < status->max_hp()->total()) {
395 entry.max_hp = status->max_hp()->total();
396 entry.hp = status->current_hp()->total();
397 }
398 else {
399 entry.max_hp = -1;
400 entry.hp = -1;
401 }
402
403 entry.is_boss = 0;
404 entry.body_style_id = 0;
405 std::strncpy(entry.name, unit->name().c_str(), unit->name().size());
406
407 switch (entry._unit_type)
408 {
409 case UNIT_PLAYER:
410 entry.character_id = unit->downcast<Horizon::Zone::Units::Player>()->character()._character_id;
411 entry.x_size = entry.y_size = 0;
412 entry.gender = unit->downcast<Horizon::Zone::Units::Player>()->character()._gender;
413 break;
414 case UNIT_NPC:
415 default:
416 entry.x_size = entry.y_size = 0;
417 break;
418 }
419
420 return entry;
421}
@ UNIT_NPC
Definition: UnitDefinitions.hpp:46
@ UNIT_PLAYER
Definition: UnitDefinitions.hpp:45
Definition: Player.hpp:62
Definition: UnitDefinitions.hpp:852
int16_t robe_id
Definition: UnitDefinitions.hpp:916
int16_t base_level
Definition: UnitDefinitions.hpp:928
int32_t max_hp
Definition: UnitDefinitions.hpp:930
int8_t in_pk_mode
Definition: UnitDefinitions.hpp:921
int16_t guild_emblem_version
Definition: UnitDefinitions.hpp:918
int32_t hp
Definition: UnitDefinitions.hpp:931
int16_t job_id
Definition: UnitDefinitions.hpp:902
int32_t guild_id
Definition: UnitDefinitions.hpp:917
int16_t hair_color_id
Definition: UnitDefinitions.hpp:913
int32_t character_id
Definition: UnitDefinitions.hpp:897
int16_t honor
Definition: UnitDefinitions.hpp:919
int16_t font
Definition: UnitDefinitions.hpp:929
int8_t is_boss
Definition: UnitDefinitions.hpp:932
int32_t virtue
Definition: UnitDefinitions.hpp:920
int16_t body_style_id
Definition: UnitDefinitions.hpp:933
int16_t speed
Definition: UnitDefinitions.hpp:898
int16_t current_dir
Definition: UnitDefinitions.hpp:923
int32_t effect_state
Definition: UnitDefinitions.hpp:901
int16_t to_y
Definition: UnitDefinitions.hpp:924
unit_posture_type posture
Definition: UnitDefinitions.hpp:927
int16_t to_x
Definition: UnitDefinitions.hpp:924
int16_t body_state
Definition: UnitDefinitions.hpp:899
char name[MAX_UNIT_NAME_LENGTH]
Definition: UnitDefinitions.hpp:934
int8_t x_size
Definition: UnitDefinitions.hpp:925
int16_t health_state
Definition: UnitDefinitions.hpp:900
int16_t hair_style_id
Definition: UnitDefinitions.hpp:903
int8_t y_size
Definition: UnitDefinitions.hpp:926
int16_t current_y
Definition: UnitDefinitions.hpp:923
int16_t current_x
Definition: UnitDefinitions.hpp:923
int8_t gender
Definition: UnitDefinitions.hpp:922
uint32_t _guid
Definition: UnitDefinitions.hpp:848
unit_type _unit_type
Definition: UnitDefinitions.hpp:847

References viewport_entry::_guid, viewport_entry::_unit_type, unit_viewport_entry::base_level, unit_viewport_entry::body_state, unit_viewport_entry::body_style_id, unit_viewport_entry::character_id, unit_viewport_entry::current_dir, unit_viewport_entry::current_x, unit_viewport_entry::current_y, unit_viewport_entry::effect_state, unit_viewport_entry::font, unit_viewport_entry::gender, unit_viewport_entry::guild_emblem_version, unit_viewport_entry::guild_id, unit_viewport_entry::hair_color_id, unit_viewport_entry::hair_style_id, unit_viewport_entry::health_state, unit_viewport_entry::honor, unit_viewport_entry::hp, unit_viewport_entry::in_pk_mode, unit_viewport_entry::is_boss, unit_viewport_entry::job_id, unit_viewport_entry::max_hp, unit_viewport_entry::name, unit_viewport_entry::posture, unit_viewport_entry::robe_id, unit_viewport_entry::speed, unit_viewport_entry::to_x, unit_viewport_entry::to_y, UNIT_NPC, UNIT_PLAYER, unit_viewport_entry::virtue, unit_viewport_entry::x_size, and unit_viewport_entry::y_size.

◆ create_viewport_item_entry()

item_viewport_entry ZoneClientInterface::create_viewport_item_entry ( std::shared_ptr< Units::Item item)
337{
339
340 if (item == nullptr)
341 return entry;
342
343 entry._guid = item->guid();
344 entry.item_id = item->config()->item_id;
345 entry.x = item->map_coords().x();
346 entry.y = item->map_coords().y();
347 entry.amount = item->amount();
348 entry.is_identified = item->is_identified();
349 entry.x_area = item->x_area();
350 entry.y_area = item->y_area();
351
352 return entry;
353}
Definition: UnitDefinitions.hpp:939
uint8_t y_area
Definition: UnitDefinitions.hpp:966
uint8_t x_area
Definition: UnitDefinitions.hpp:965
uint16_t y
Definition: UnitDefinitions.hpp:963
uint8_t is_identified
Definition: UnitDefinitions.hpp:961
uint16_t x
Definition: UnitDefinitions.hpp:962
uint32_t item_id
Definition: UnitDefinitions.hpp:957
uint16_t amount
Definition: UnitDefinitions.hpp:964

References viewport_entry::_guid, item_viewport_entry::amount, item_viewport_entry::is_identified, item_viewport_entry::item_id, item_viewport_entry::x, item_viewport_entry::x_area, item_viewport_entry::y, and item_viewport_entry::y_area.

◆ disconnect()

bool ZoneClientInterface::disconnect ( int8_t  type)
216{
217 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK> s_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK>(sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager());
218 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> w_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask>(s_task);
219 s_task->get_runtime_synchronization_mutex().lock();
220 s_task->set_session(get_session());
221 w_task->set_task([type](std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> task) {
222 std::shared_ptr<ZoneSession> session = std::dynamic_pointer_cast<Horizon::Zone::ActiveRuntimeScenario>(task->get_runtime_context())->get_session();
223 ZC_ACK_REQ_DISCONNECT rpkt(session);
224 rpkt.deliver(type);
225 });
226 s_task->get_runtime_synchronization_mutex().unlock();
227 s_task->push(w_task);
228 sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager().push(s_task);
229
230 //sZone->get_component_of_type<GameLogicProcess>(Horizon::System::RUNTIME_GAMELOGIC)->get_map_process().manage_session_in_map(SESSION_ACTION_LOGOUT_AND_REMOVE, get_session()->get_map_name(), get_session());
231 return true;
232}
#define sZone
Definition: Zone.hpp:247
Main object for the aegis packet: ZC_ACK_REQ_DISCONNECT.
Definition: TransmittedPackets.hpp:17948
Definition: Zone.hpp:172
Horizon::System::SystemRoutineManager & get_system_routine_manager()
Definition: Server.hpp:235
@ RUNTIME_RUNTIME
Definition: System.hpp:92

References Horizon::Zone::ZC_ACK_REQ_DISCONNECT::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), KernelComponent::get_system_routine_manager(), Horizon::System::RUNTIME_RUNTIME, and sZone.

+ Here is the call graph for this function:

◆ disconnect_account()

void ZoneClientInterface::disconnect_account ( int  account_id)
1556{
1557
1558}

◆ disconnect_all_players()

void ZoneClientInterface::disconnect_all_players ( )

Administration.

1552{
1553
1554}

◆ display_item_card_composition()

void ZoneClientInterface::display_item_card_composition ( int  card_index,
int  equip_index = 0 
)
837{
838
839}

◆ emotion()

void ZoneClientInterface::emotion ( int  type)

Misc.

1360{
1361
1362}

◆ equip_item()

void ZoneClientInterface::equip_item ( int16_t  inventory_index,
int16_t  equip_location_mask 
)
785{
786 get_session()->player()->inventory()->equip_item(inventory_index, equip_location_mask);
787}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ friend_()

UI::Friend & Horizon::Zone::ZoneClientInterface::friend_ ( )
inline
65{ return _friend; }

References _friend.

◆ get_npc_contact_guid()

uint32_t Horizon::Zone::ZoneClientInterface::get_npc_contact_guid ( )
inline
128{ return _npc_contact_guid; }
uint32_t _npc_contact_guid
Definition: ZoneClientInterface.hpp:358

References _npc_contact_guid.

◆ give_manner_point()

void ZoneClientInterface::give_manner_point ( int  account_id,
cz_req_give_manner_point_type  type,
int  value 
)
1594{
1595
1596}

◆ guild()

UI::Guild & Horizon::Zone::ZoneClientInterface::guild ( )
inline
64{ return _guild; }

References _guild.

◆ identify_item()

void ZoneClientInterface::identify_item ( int  inventory_index)
841{
842
843}

◆ ignore_list()

void ZoneClientInterface::ignore_list ( )
1368{
1369
1370}

◆ increase_status_point()

bool ZoneClientInterface::increase_status_point ( status_point_type  type,
uint8_t  amount 
)
599{
600 std::shared_ptr<Horizon::Zone::Units::Player> pl = get_session()->player();
601
602 if (pl == nullptr)
603 return false;
604
605 pl->status()->increase_status_point(type, amount);
606 return true;
607}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ invite_baby()

void ZoneClientInterface::invite_baby ( int  account_id)
208{
209
210}

◆ login()

bool ZoneClientInterface::login ( uint32_t  account_id,
uint32_t  char_id,
uint32_t  auth_code,
uint32_t  client_time,
uint8_t  gender 
)
69{
70 std::shared_ptr<Horizon::System::RuntimeContextChain> chain = std::make_shared<Horizon::System::RuntimeContextChain>(Horizon::System::RUNTIME_RUNTIME);
71 std::shared_ptr<Horizon::Zone::SCENARIO_LOGIN> s_login = std::make_shared<Horizon::Zone::SCENARIO_LOGIN>(sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager());
72 std::shared_ptr<Horizon::Zone::SCENARIO_LOGIN::Login> w_login = std::make_shared<Horizon::Zone::SCENARIO_LOGIN::Login>(s_login);
73
74 Horizon::Zone::s_scenario_login_request w_l_request;
75 w_l_request.account_id = account_id;
76 w_l_request.char_id = char_id;
77 w_l_request.auth_code = auth_code;
78 w_l_request.client_time = client_time;
79 w_l_request.gender = gender;
80
81 s_login->get_runtime_synchronization_mutex().lock();
82 s_login->set_session(get_session());
83 w_login->set_request(w_l_request);
84 s_login->get_runtime_synchronization_mutex().unlock();
85 s_login->push(w_login);
86
87 chain->push(s_login);
88
89 sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_resource_manager().add<RESOURCE_PRIORITY_PRIMARY>(get_session()->get_session_id(), get_session());
90
91 sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager().push(chain);
92
93 while(s_login->get_context_result() == Horizon::System::RUNTIME_CONTEXT_NO_STATE)
94 {
95 std::this_thread::sleep_for(std::chrono::microseconds(100));
96 }
97
98 if (s_login->get_context_result() == Horizon::System::RUNTIME_CONTEXT_FAIL) {
100 pkt.deliver(0);
101 return false;
102 }
103
104 std::shared_ptr<Horizon::System::RuntimeContextChain> chain_2 = std::make_shared<Horizon::System::RuntimeContextChain>(Horizon::System::RUNTIME_RUNTIME);
105
106 std::shared_ptr<Horizon::Zone::SCENARIO_CREATE_PLAYER> s_create_player;
107 s_create_player = std::make_shared<Horizon::Zone::SCENARIO_CREATE_PLAYER>(sZone->get_component_of_type<Horizon::Zone::GameLogicProcess>(Horizon::System::RUNTIME_GAMELOGIC, 1)->get_system_routine_manager());
108
109 std::shared_ptr<Horizon::Zone::SCENARIO_CREATE_PLAYER::CreatePlayer> w_create_player = std::make_shared<Horizon::Zone::SCENARIO_CREATE_PLAYER::CreatePlayer>(s_create_player);
110 s_create_player->get_runtime_synchronization_mutex().lock();
111 w_create_player->set_request(Horizon::Zone::s_player_loaded_data{(int32_t)account_id});
112 s_create_player->set_previous_context_result(s_login->get_result());
113 s_create_player->set_session(get_session());
114 s_create_player->get_runtime_synchronization_mutex().unlock();
115 s_create_player->push(w_create_player);
116
117 std::shared_ptr<Horizon::Zone::SCENARIO_LOGIN_RESPONSE> s_login_response;
118 s_login_response = std::make_shared<Horizon::Zone::SCENARIO_LOGIN_RESPONSE>(sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager());
119 s_login_response->get_runtime_synchronization_mutex().lock();
120 s_login_response->set_session(get_session());
121 s_login_response->get_runtime_synchronization_mutex().unlock();
122
123 std::shared_ptr<Horizon::Zone::SCENARIO_LOGIN_RESPONSE::LoginResponse> w_login_response = std::make_shared<Horizon::Zone::SCENARIO_LOGIN_RESPONSE::LoginResponse>(s_login_response);
124 Horizon::Zone::SCENARIO_LOGIN_RESPONSE::s_scenario_login_response_request w_l_r_request;
125
126 w_l_r_request.account_id = account_id;
127 w_l_r_request.current_x = s_login->get_result().get_one().current_x;
128 w_l_r_request.current_y = s_login->get_result().get_one().current_y;
129 w_l_r_request.font = 1;
130
131 w_login_response->set_request(w_l_r_request);
132 s_login_response->push(w_login_response);
133
134 chain_2->push(s_create_player);
135 chain_2->push(s_login_response);
136
137 sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager().push(chain_2);
138
139 while(s_login_response->get_context_result() == Horizon::System::RUNTIME_CONTEXT_NO_STATE) {
140 std::this_thread::sleep_for(std::chrono::microseconds(100));
141 }
142
143 if (s_login_response->get_context_result() == Horizon::System::RUNTIME_CONTEXT_FAIL) {
145 pkt.deliver(0);
146 return false;
147 }
148
149 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK> s_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK>(sZone->get_component_of_type<Horizon::Zone::GameLogicProcess>(Horizon::System::RUNTIME_GAMELOGIC)->get_system_routine_manager());
150 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> w_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask>(s_task);
151 s_task->get_runtime_synchronization_mutex().lock();
152 s_task->set_session(get_session());
153 w_task->set_task([](std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> task) {
154 std::shared_ptr<ZoneSession> session = std::dynamic_pointer_cast<Horizon::Zone::ActiveRuntimeScenario>(task->get_runtime_context())->get_session();
155 session->player()->initialize();
156 });
157 s_task->get_runtime_synchronization_mutex().unlock();
158 s_task->push(w_task);
159 sZone->get_component_of_type<Horizon::Zone::GameLogicProcess>(Horizon::System::RUNTIME_GAMELOGIC)->get_system_routine_manager().push(s_task);
160
161 return true;
162}
@ RESOURCE_PRIORITY_PRIMARY
Definition: Server.hpp:79
Definition: GameLogicProcess.hpp:48
@ RUNTIME_CONTEXT_FAIL
Definition: System.hpp:108
@ RUNTIME_CONTEXT_NO_STATE
Definition: System.hpp:107
@ RUNTIME_GAMELOGIC
Definition: System.hpp:86

References Horizon::Zone::ZC_ACK_REQ_DISCONNECT::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), KernelComponent::get_system_routine_manager(), RESOURCE_PRIORITY_PRIMARY, Horizon::System::RUNTIME_CONTEXT_FAIL, Horizon::System::RUNTIME_CONTEXT_NO_STATE, Horizon::System::RUNTIME_GAMELOGIC, Horizon::System::RUNTIME_RUNTIME, and sZone.

+ Here is the call graph for this function:

◆ mail()

UI::Mail & Horizon::Zone::ZoneClientInterface::mail ( )
inline
68{ return _mail; }

References _mail.

◆ make_arrow()

void ZoneClientInterface::make_arrow ( int16_t  item_id)
1405{
1406
1407}

◆ make_item()

void ZoneClientInterface::make_item ( cz_req_makingitem_type  type,
int16_t  item_id 
)
1409{
1410
1411}

◆ map_enter()

void ZoneClientInterface::map_enter ( )
742{
743 get_session()->player()->on_map_enter();
744}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ memorial_dungeon_command()

void ZoneClientInterface::memorial_dungeon_command ( cz_memorial_dungeon_command_type  command)

Instancing.

1612{
1613
1614}

◆ message()

void ZoneClientInterface::message ( std::string  message)

Battlegrounds.

Battleground.

1453{
1454
1455}

Referenced by notify_chat(), parse_chat_message(), and whisper_message().

+ Here is the caller graph for this function:

◆ move_homunculus_to_coordinates()

void ZoneClientInterface::move_homunculus_to_coordinates ( int  guid,
int  x,
int  y,
int  dir 
)
1539{
1540
1541}

◆ move_homunculus_to_master()

void ZoneClientInterface::move_homunculus_to_master ( int  guid)
1543{
1544
1545}

◆ move_item_from_cart_to_inventory()

void ZoneClientInterface::move_item_from_cart_to_inventory ( int16_t  inventory_index,
int  amount 
)
819{
820
821}

◆ move_item_from_cart_to_storage()

void ZoneClientInterface::move_item_from_cart_to_storage ( int16_t  inventory_index,
int  amount 
)
823{
824
825}

◆ move_item_from_inventory_to_cart()

void ZoneClientInterface::move_item_from_inventory_to_cart ( int16_t  inventory_index,
int  amount 
)
809{
810
811}

◆ move_item_from_inventory_to_storage()

void ZoneClientInterface::move_item_from_inventory_to_storage ( int16_t  inventory_index,
int  amount 
)
813{
814 int32_t current_storage_id = get_session()->player()->get_current_storage_id();
815 std::shared_ptr<Assets::Storage> storage = get_session()->player()->get_storage(current_storage_id);
816 storage->add_item_from_inventory(inventory_index, amount);
817}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ move_item_from_storage_to_cart()

void ZoneClientInterface::move_item_from_storage_to_cart ( int16_t  inventory_index,
int  amount 
)
833{
834
835}

◆ move_item_from_storage_to_inventory()

void ZoneClientInterface::move_item_from_storage_to_inventory ( int16_t  storage_index,
int  amount 
)
827{
828 int32_t current_storage_id = get_session()->player()->get_current_storage_id();
829 std::shared_ptr<Assets::Storage> storage = get_session()->player()->get_storage(current_storage_id);
830 storage->add_item_to_inventory(storage_index, amount);
831}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ move_to_map()

void ZoneClientInterface::move_to_map ( std::string  map_name,
int16_t  x,
int16_t  y 
)
1564{
1565
1566}

◆ notify_action() [1/2]

bool ZoneClientInterface::notify_action ( int32_t  target_guid,
player_action_type  action 
)
1277{
1279 na.deliver(guid, (int8_t) action);
1280 return true;
1281}
Main object for the aegis packet: ZC_NOTIFY_ACT.
Definition: TransmittedPackets.hpp:31941

References Horizon::Zone::ZC_NOTIFY_ACT::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_action() [2/2]

bool ZoneClientInterface::notify_action ( player_action_type  action)
1283{
1285 na.deliver((int8_t) action);
1286 return true;
1287}

References Horizon::Zone::ZC_NOTIFY_ACT::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_action_failure()

bool ZoneClientInterface::notify_action_failure ( int16_t  message_type)
929{
931 pkt.deliver(message_type);
932 return true;
933}
Main object for the aegis packet: ZC_ACTION_FAILURE.
Definition: TransmittedPackets.hpp:18866

References Horizon::Zone::ZC_ACTION_FAILURE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_appearance_update()

bool ZoneClientInterface::notify_appearance_update ( unit_appearance_type  type,
int32_t  value,
int32_t  value2 
)
523{
525 pkt.deliver(get_session()->player()->guid(), type, value, value2);
526 return true;
527}
Main object for the aegis packet: ZC_SPRITE_CHANGE2.
Definition: TransmittedPackets.hpp:43721

References Horizon::Zone::ZC_SPRITE_CHANGE2::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_attack_range_update()

bool ZoneClientInterface::notify_attack_range_update ( int32_t  value)
571{
573 pkt.deliver(value);
574 return true;
575
576}
Main object for the aegis packet: ZC_ATTACK_RANGE.
Definition: TransmittedPackets.hpp:20707

References Horizon::Zone::ZC_ATTACK_RANGE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_attribute_update()

bool ZoneClientInterface::notify_attribute_update ( status_point_type  type,
int32_t  value,
int32_t  value2 
)
563{
565 pkt.deliver(type, value, value2);
566 return true;
567}
Main object for the aegis packet: ZC_COUPLESTATUS.
Definition: TransmittedPackets.hpp:23750

References Horizon::Zone::ZC_COUPLESTATUS::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_bind_on_equip()

bool ZoneClientInterface::notify_bind_on_equip ( int16_t  inventory_index)
899{
901 pkt.deliver(inventory_index);
902 return true;
903}
Main object for the aegis packet: ZC_NOTIFY_BIND_ON_EQUIP.
Definition: TransmittedPackets.hpp:32260

References Horizon::Zone::ZC_NOTIFY_BIND_ON_EQUIP::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_buying_store_itemlist()

bool ZoneClientInterface::notify_buying_store_itemlist ( int  account_id,
int  store_id,
int  zeny_limit,
std::vector< zc_ack_itemlist_buying_store items 
)
1345{
1347 pkt.deliver(account_id, store_id, zeny_limit, items);
1348 return true;
1349}
Main object for the aegis packet: ZC_ACK_ITEMLIST_BUYING_STORE.
Definition: TransmittedPackets.hpp:16406

References Horizon::Zone::ZC_ACK_ITEMLIST_BUYING_STORE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_cart_weight_update()

bool ZoneClientInterface::notify_cart_weight_update ( )
555{
557 //pkt.deliver(get_session()->player()->cart()->get_item_count(), MAX_CART_ITEMS, get_session()->player()->cart()->weight(), get_session()->player()->cart()->max_weight());
558 return true;
559}
Main object for the aegis packet: ZC_NOTIFY_CARTITEM_COUNTINFO.
Definition: TransmittedPackets.hpp:32307

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_chat()

bool ZoneClientInterface::notify_chat ( std::string  message)

Chat.

711{
713 pkt.deliver(message);
714 return true;
715}
Main object for the aegis packet: ZC_NOTIFY_PLAYERCHAT.
Definition: TransmittedPackets.hpp:34308
void message(std::string message)
Battlegrounds.
Definition: ZoneClientInterface.cpp:1452

References Horizon::Zone::ZC_NOTIFY_PLAYERCHAT::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), and message().

Referenced by parse_chat_message().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ notify_compound_attribute_update()

bool ZoneClientInterface::notify_compound_attribute_update ( status_point_type  type,
int32_t  value 
)
531{
533 pkt.deliver(type, value);
534 return true;
535}
Main object for the aegis packet: ZC_PAR_CHANGE.
Definition: TransmittedPackets.hpp:37654

References Horizon::Zone::ZC_PAR_CHANGE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_damage()

bool ZoneClientInterface::notify_damage ( int  guid,
int  target_guid,
int  start_time,
int  delay_skill,
int  delay_damage,
int  damage,
bool  is_sp_damaged,
int  number_of_hits,
int8_t  action_type,
int  left_damage 
)

Combat.

1311{
1313 pkt.deliver(guid, target_guid, start_time, delay_skill, delay_damage, damage, is_sp_damaged, number_of_hits, action_type, left_damage);
1314 return true;
1315}
Main object for the aegis packet: ZC_NOTIFY_ACT3.
Definition: TransmittedPackets.hpp:32032

References Horizon::Zone::ZC_NOTIFY_ACT3::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_delete_item()

bool ZoneClientInterface::notify_delete_item ( int16_t  inventory_index,
int16_t  amount,
item_deletion_reason_type  reason 
)
893{
895 pkt.deliver(inventory_index, amount, reason);
896 return true;
897}
Main object for the aegis packet: ZC_DELETE_ITEM_FROM_BODY.
Definition: TransmittedPackets.hpp:24117

References Horizon::Zone::ZC_DELETE_ITEM_FROM_BODY::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_equip_arrow()

bool ZoneClientInterface::notify_equip_arrow ( std::shared_ptr< const item_entry_data item)
923{
925 pkt.deliver(item->index.inventory);
926 return true;
927}
Main object for the aegis packet: ZC_EQUIP_ARROW.
Definition: TransmittedPackets.hpp:25557

References Horizon::Zone::ZC_EQUIP_ARROW::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_equip_item()

bool ZoneClientInterface::notify_equip_item ( std::shared_ptr< const item_entry_data item,
item_equip_result_type  result 
)
911{
913 pkt.deliver(item->index.inventory, item->current_equip_location_mask, item->sprite_id, result);
914 return true;
915}
Main object for the aegis packet: ZC_ACK_WEAR_EQUIP_V5.
Definition: TransmittedPackets.hpp:18674

References Horizon::Zone::ZC_ACK_WEAR_EQUIP_V5::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_equipment_item_list()

bool ZoneClientInterface::notify_equipment_item_list ( std::vector< std::shared_ptr< const item_entry_data > > const &  items)
868{
869#if (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180829) || \
870 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180919) || \
871 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20181002)
873 pkt.deliver(INVTYPE_INVENTORY, items);
874#else
876 pkt.deliver(items);
877#endif
878 return true;
879}
@ INVTYPE_INVENTORY
Definition: ClientDefinitions.hpp:906
Main object for the aegis packet: ZC_INVENTORY_ITEMLIST_EQUIP_V6.
Definition: TransmittedPackets.hpp:28230
Main object for the aegis packet: ZC_STORE_ITEMLIST_EQUIP_V6.
Definition: TransmittedPackets.hpp:44783

References Horizon::Zone::ZC_STORE_ITEMLIST_EQUIP_V6::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), and INVTYPE_INVENTORY.

+ Here is the call graph for this function:

◆ notify_experience_update()

bool ZoneClientInterface::notify_experience_update ( status_point_type  type,
int32_t  value 
)
580{
581
582#if CLIENT_TYPE == 'Z' || \
583 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20170906) || \
584 (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20170830)
586#else
588#endif
589 pkt.deliver(type, value);
590 return true;
591}
Main object for the aegis packet: ZC_LONGLONGPAR_CHANGE.
Definition: TransmittedPackets.hpp:29675
Main object for the aegis packet: ZC_LONGPAR_CHANGE.
Definition: TransmittedPackets.hpp:29647

References Horizon::Zone::ZC_LONGLONGPAR_CHANGE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_give_manner_point()

bool ZoneClientInterface::notify_give_manner_point ( zc_ack_give_manner_point_result_type  result)
1602{
1604 pkt.deliver(result);
1605 return true;
1606}
Main object for the aegis packet: ZC_ACK_GIVE_MANNER_POINT.
Definition: TransmittedPackets.hpp:16015

References Horizon::Zone::ZC_ACK_GIVE_MANNER_POINT::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_hostile_skill_use()

void ZoneClientInterface::notify_hostile_skill_use ( int16_t  skill_id,
int32_t  src_guid,
int32_t  target_guid,
int32_t  start_time,
int32_t  attack_motion,
int32_t  delay_motion,
int32_t  damage,
int16_t  level,
int16_t  count,
int8_t  action 
)
1217{
1219
1220 pkt._skill_id = skill_id;
1221 pkt._source_id = src_guid;
1222 pkt._start_time = start_time;
1223 pkt._target_id = target_guid;
1224 pkt._level = level;
1225 pkt._attack_motion = attack_motion;
1226 pkt._attacked_motion = delay_motion;
1227 pkt._damage = damage;
1228 pkt._count = number_of_hits;
1229 pkt._action = action;
1230
1231 get_session()->player()->notify_in_area(pkt.serialize(), GRID_NOTIFY_AREA);
1232}
@ GRID_NOTIFY_AREA
Definition: ClientDefinitions.hpp:81
Main object for the aegis packet: ZC_NOTIFY_SKILL2.
Definition: TransmittedPackets.hpp:34598

References Horizon::Zone::ZC_NOTIFY_SKILL2::_action, Horizon::Zone::ZC_NOTIFY_SKILL2::_attack_motion, Horizon::Zone::ZC_NOTIFY_SKILL2::_attacked_motion, Horizon::Zone::ZC_NOTIFY_SKILL2::_count, Horizon::Zone::ZC_NOTIFY_SKILL2::_damage, Horizon::Zone::ZC_NOTIFY_SKILL2::_level, Horizon::Zone::ZC_NOTIFY_SKILL2::_skill_id, Horizon::Zone::ZC_NOTIFY_SKILL2::_source_id, Horizon::Zone::ZC_NOTIFY_SKILL2::_start_time, Horizon::Zone::ZC_NOTIFY_SKILL2::_target_id, Horizon::ClientInterface< ZoneSession >::get_session(), GRID_NOTIFY_AREA, and Horizon::Zone::ZC_NOTIFY_SKILL2::serialize().

+ Here is the call graph for this function:

◆ notify_identified_item()

bool ZoneClientInterface::notify_identified_item ( int16_t  inventory_index,
zc_ack_item_identify_result_type  result 
)
941{
943 pkt.deliver(inventory_index, result);
944 return true;
945}
Main object for the aegis packet: ZC_ACK_ITEMIDENTIFY.
Definition: TransmittedPackets.hpp:16364

References Horizon::Zone::ZC_ACK_ITEMIDENTIFY::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_initial_status()

bool ZoneClientInterface::notify_initial_status ( )

Status.

478{
479 if (get_session()->player() == nullptr)
480 return false;
481
482 std::shared_ptr<Horizon::Zone::Traits::Status> status = get_session()->player()->status();
483
484 if (status == nullptr)
485 return false;
486
487 ZC_STATUS zcs(get_session());
488 zc_status_data data;
489
490 data.status_points = status->status_point()->get_base();
491 data.strength = status->strength()->get_base();
492 data.strength_req_stats = status->strength_cost()->get_base();
493 data.agility = status->agility()->get_base();
494 data.agility_req_stats = status->agility_cost()->get_base();
495 data.vitality = status->vitality()->get_base();
496 data.vitality_req_stats = status->vitality_cost()->get_base();
497 data.intelligence = status->intelligence()->get_base();
498 data.intelligence_req_stats = status->intelligence_cost()->get_base();
499 data.dexterity = status->dexterity()->get_base();
500 data.dexterity_req_stats = status->dexterity_cost()->get_base();
501 data.luck = status->luck()->get_base();
502 data.luck_req_stats = status->luck_cost()->get_base();
503 data.status_atk = status->status_atk()->total();
504 data.equip_atk = status->equip_atk()->total();
505 data.status_matk = status->status_matk()->total();
506 data.equip_matk = 0;
507 data.soft_def = status->soft_def()->total();
508 data.hard_def = 0;
509 data.soft_mdef = status->soft_mdef()->total();
510 data.hard_mdef = 0;
511 data.hit = status->hit()->total();
512 data.flee = status->flee()->total();
513 data.perfect_dodge = 0;
514 data.critical = status->crit()->total() / 10;
515 data.attack_speed = status->attack_speed()->total();
516 data.plus_aspd = 0;
517
518 zcs.deliver(data);
519
520 return true;
521}
Main object for the aegis packet: ZC_STATUS.
Definition: TransmittedPackets.hpp:44243
Definition: TransmittedPackets.hpp:44209
int8_t vitality
Definition: TransmittedPackets.hpp:44215
int16_t perfect_dodge
Definition: TransmittedPackets.hpp:44233
int16_t hard_mdef
Definition: TransmittedPackets.hpp:44230
int8_t agility
Definition: TransmittedPackets.hpp:44213
int16_t status_atk
Definition: TransmittedPackets.hpp:44223
int16_t equip_atk
Definition: TransmittedPackets.hpp:44224
int8_t intelligence_req_stats
Definition: TransmittedPackets.hpp:44218
int16_t status_matk
Definition: TransmittedPackets.hpp:44225
int16_t plus_aspd
Definition: TransmittedPackets.hpp:44236
int8_t luck
Definition: TransmittedPackets.hpp:44221
int8_t strength
Definition: TransmittedPackets.hpp:44211
int16_t attack_speed
Definition: TransmittedPackets.hpp:44235
int16_t equip_matk
Definition: TransmittedPackets.hpp:44226
int8_t vitality_req_stats
Definition: TransmittedPackets.hpp:44216
int16_t critical
Definition: TransmittedPackets.hpp:44234
int16_t hard_def
Definition: TransmittedPackets.hpp:44228
int16_t flee
Definition: TransmittedPackets.hpp:44232
int8_t luck_req_stats
Definition: TransmittedPackets.hpp:44222
int16_t soft_def
Definition: TransmittedPackets.hpp:44227
int8_t strength_req_stats
Definition: TransmittedPackets.hpp:44212
int8_t dexterity_req_stats
Definition: TransmittedPackets.hpp:44220
int8_t agility_req_stats
Definition: TransmittedPackets.hpp:44214
int16_t hit
Definition: TransmittedPackets.hpp:44231
int16_t soft_mdef
Definition: TransmittedPackets.hpp:44229
int8_t intelligence
Definition: TransmittedPackets.hpp:44217
int8_t dexterity
Definition: TransmittedPackets.hpp:44219
int16_t status_points
Definition: TransmittedPackets.hpp:44210

References Horizon::Zone::zc_status_data::agility, Horizon::Zone::zc_status_data::agility_req_stats, Horizon::Zone::zc_status_data::attack_speed, Horizon::Zone::zc_status_data::critical, Horizon::Zone::ZC_STATUS::deliver(), Horizon::Zone::zc_status_data::dexterity, Horizon::Zone::zc_status_data::dexterity_req_stats, Horizon::Zone::zc_status_data::equip_atk, Horizon::Zone::zc_status_data::equip_matk, Horizon::Zone::zc_status_data::flee, Horizon::ClientInterface< ZoneSession >::get_session(), Horizon::Zone::zc_status_data::hard_def, Horizon::Zone::zc_status_data::hard_mdef, Horizon::Zone::zc_status_data::hit, Horizon::Zone::zc_status_data::intelligence, Horizon::Zone::zc_status_data::intelligence_req_stats, Horizon::Zone::zc_status_data::luck, Horizon::Zone::zc_status_data::luck_req_stats, Horizon::Zone::zc_status_data::perfect_dodge, Horizon::Zone::zc_status_data::plus_aspd, Horizon::Zone::zc_status_data::soft_def, Horizon::Zone::zc_status_data::soft_mdef, Horizon::Zone::zc_status_data::status_atk, Horizon::Zone::zc_status_data::status_matk, Horizon::Zone::zc_status_data::status_points, Horizon::Zone::zc_status_data::strength, Horizon::Zone::zc_status_data::strength_req_stats, Horizon::Zone::zc_status_data::vitality, and Horizon::Zone::zc_status_data::vitality_req_stats.

+ Here is the call graph for this function:

◆ notify_inventory_end()

bool ZoneClientInterface::notify_inventory_end ( inventory_type  type)
988{
989#if (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180829) || \
990 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180919) || \
991 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20181002)
993 pkt.deliver(type);
994#endif
995 return true;
996}
Main object for the aegis packet: ZC_INVENTORY_END.
Definition: TransmittedPackets.hpp:28069

References Horizon::Zone::ZC_INVENTORY_END::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_inventory_move_failed()

bool ZoneClientInterface::notify_inventory_move_failed ( int16_t  inventory_index,
bool  silent 
)
887{
889 pkt.deliver(inventory_index, silent);
890 return true;
891}
Main object for the aegis packet: ZC_INVENTORY_MOVE_FAILED.
Definition: TransmittedPackets.hpp:28364

References Horizon::Zone::ZC_INVENTORY_MOVE_FAILED::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_inventory_start()

bool ZoneClientInterface::notify_inventory_start ( inventory_type  type,
std::string  name 
)

Inventory Start / End.

978{
979#if (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180829) || \
980 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180919) || \
981 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20181002)
983 pkt.deliver(type, name);
984#endif
985 return true;
986}
Main object for the aegis packet: ZC_INVENTORY_START.
Definition: TransmittedPackets.hpp:28406

References Horizon::Zone::ZC_INVENTORY_START::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_item_composition()

bool ZoneClientInterface::notify_item_composition ( int16_t  item_inventory_index,
int16_t  card_inventory_index,
zc_ack_item_composition_result_type  result 
)
935{
937 pkt.deliver(item_inventory_index, card_inventory_index, result);
938 return true;
939}
Main object for the aegis packet: ZC_ACK_ITEMCOMPOSITION.
Definition: TransmittedPackets.hpp:16315

References Horizon::Zone::ZC_ACK_ITEMCOMPOSITION::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_item_drop()

bool ZoneClientInterface::notify_item_drop ( int  guid,
int  item_id,
int  type,
int  identified,
int  x,
int  y,
int  x_area,
int  y_area,
int  amount,
int  show_drop_effect = 0,
int  drop_effect_mode = 0 
)
965{
967 pkt.deliver(guid, item_id, type, identified, x, y, x_area, y_area, amount, show_drop_effect, drop_effect_mode);
968 return true;
969}
Main object for the aegis packet: ZC_ITEM_FALL_ENTRY.
Definition: TransmittedPackets.hpp:28908

References Horizon::Zone::ZC_ITEM_FALL_ENTRY::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_item_merge()

bool ZoneClientInterface::notify_item_merge ( int  inventory_index,
int  amount,
zc_ack_merge_item_reason_type  reason 
)
959{
961 pkt.deliver(inventory_index, amount, reason);
962 return true;
963}
Main object for the aegis packet: ZC_ACK_MERGE_ITEM.
Definition: TransmittedPackets.hpp:16827

References Horizon::Zone::ZC_ACK_MERGE_ITEM::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_item_refining()

bool ZoneClientInterface::notify_item_refining ( zc_ack_itemrefining_result_type  result,
int16_t  inventory_index,
int16_t  refine_lv 
)
947{
949 pkt.deliver(result, inventory_index, refine_lv);
950 return true;
951}
Main object for the aegis packet: ZC_ACK_ITEMREFINING.
Definition: TransmittedPackets.hpp:16457

References Horizon::Zone::ZC_ACK_ITEMREFINING::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_item_removal_from_floor()

bool ZoneClientInterface::notify_item_removal_from_floor ( int  guid)
971{
973 pkt.deliver(guid);
974 return true;
975}
Main object for the aegis packet: ZC_ITEM_DISAPPEAR.
Definition: TransmittedPackets.hpp:28805

References Horizon::Zone::ZC_ITEM_DISAPPEAR::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_item_repair()

bool ZoneClientInterface::notify_item_repair ( int  inventory_index,
zc_ack_itemrepair_result_type  result 
)
953{
955 pkt.deliver(inventory_index, result);
956 return true;
957}
Main object for the aegis packet: ZC_ACK_ITEMREPAIR.
Definition: TransmittedPackets.hpp:16506

References Horizon::Zone::ZC_ACK_ITEMREPAIR::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_learnt_skill_list()

bool ZoneClientInterface::notify_learnt_skill_list ( )
1093{
1094 const std::map<uint16_t, std::shared_ptr<skill_learnt_info>> &learnt_skills = get_session()->player()->get_learnt_skills();
1095 std::vector<zc_skill_info_data> sidv;
1096
1097 for (auto sp : learnt_skills) {
1098 const std::shared_ptr<skill_learnt_info> ls = sp.second;
1099
1100 if (ls == nullptr) {
1101 HLog(error) << "Learnt skill was a nullptr.";
1102 continue;
1103 }
1104
1106
1107 std::shared_ptr<const skill_config_data> skd = SkillDB->get_skill_by_id(ls->skill_id);
1108
1109 if (skd == nullptr) {
1110 HLog(error) << "Tried to send data for unknown skill with ID " << ls->skill_id;
1111 continue;
1112 }
1113
1114 si.skill_id = ls->skill_id;
1115 si.skill_type = skd->primary_type;
1116 si.level = ls->level;
1117
1118 si.sp_cost = ls->level ? skd->sp_cost[ls->level] : 0;
1119 si.range = ls->level ? skd->use_range[ls->level] : 0;
1120
1121#if (CLIENT_VERSION == 'R' && PACKET_VERSION >= 20190807) || \
1122 (CLIENT_VERSION == 'Z' && PACKET_VERSION >= 20190918)
1123 si.level2 = ls->level;
1124#else
1125 strncpy(si.name, skd->name.c_str(), MAX_SKILL_NAME_LENGTH);
1126#endif
1127
1128 if (ls->learn_type == SKILL_LEARN_PERMANENT) {
1129 job_class_type job_id = (job_class_type) get_session()->player()->job_id();
1130 std::shared_ptr<const skill_tree_config> stc = SkillDB->get_skill_tree_skill_id_by_job_id(job_id, ls->skill_id);
1131
1132 if (stc == nullptr) {
1133 HLog(error) << "Skill ID " << ls->skill_id << " not found for Job ID " << (int32_t) job_id << ".";
1134 continue;
1135 }
1136
1137 si.upgradeable = (ls->level < stc->max_level) ? 1 : 0;
1138 }
1139
1140 sidv.push_back(si);
1141 }
1142
1144 pkt.deliver(sidv);
1145
1146 return true;
1147}
#define SkillDB
Definition: SkillDB.hpp:145
#define MAX_SKILL_NAME_LENGTH
Definition: SkillDefinitions.hpp:43
@ SKILL_LEARN_PERMANENT
Definition: SkillDefinitions.hpp:153
job_class_type
Definition: UnitDefinitions.hpp:474
Main object for the aegis packet: ZC_SKILLINFO_LIST.
Definition: TransmittedPackets.hpp:42799
Definition: SkillDefinitions.hpp:259
char name[MAX_SKILL_NAME_LENGTH]
Definition: SkillDefinitions.hpp:265
int32_t skill_type
Definition: SkillDefinitions.hpp:261
int16_t level
Definition: SkillDefinitions.hpp:262
int16_t range
Definition: SkillDefinitions.hpp:264
int8_t upgradeable
Definition: SkillDefinitions.hpp:266
int16_t sp_cost
Definition: SkillDefinitions.hpp:263
int16_t level2
Definition: SkillDefinitions.hpp:267
int16_t skill_id
Definition: SkillDefinitions.hpp:260

References Horizon::Zone::ZC_SKILLINFO_LIST::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), HLog, zc_skill_info_data::level, zc_skill_info_data::level2, MAX_SKILL_NAME_LENGTH, zc_skill_info_data::name, zc_skill_info_data::range, zc_skill_info_data::skill_id, SKILL_LEARN_PERMANENT, zc_skill_info_data::skill_type, SkillDB, zc_skill_info_data::sp_cost, and zc_skill_info_data::upgradeable.

+ Here is the call graph for this function:

◆ notify_map_properties()

bool ZoneClientInterface::notify_map_properties ( zc_map_properties  properties)
746{
748 pkt.deliver(p);
749 return true;
750}
Main object for the aegis packet: ZC_MAPPROPERTY_R2.
Definition: TransmittedPackets.hpp:30217

References Horizon::Zone::ZC_MAPPROPERTY_R2::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_move_to_map()

bool ZoneClientInterface::notify_move_to_map ( std::string  map_name,
int16_t  x,
int16_t  y 
)

Map.

705{
707 pkt.deliver(map_name, x, y);
708 return true;
709}
Main object for the aegis packet: ZC_NPCACK_MAPMOVE.
Definition: TransmittedPackets.hpp:35504

References Horizon::Zone::ZC_NPCACK_MAPMOVE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_movement_stop()

bool ZoneClientInterface::notify_movement_stop ( int32_t  guid,
int16_t  x,
int16_t  y 
)
429{
431 pkt.deliver(guid, x, y);
432 return true;
433}
Main object for the aegis packet: ZC_STOPMOVE.
Definition: TransmittedPackets.hpp:44387

References Horizon::Zone::ZC_STOPMOVE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_normal_item_list()

bool ZoneClientInterface::notify_normal_item_list ( std::vector< std::shared_ptr< const item_entry_data > > const &  items)
855{
856#if (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180829) || \
857 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180919) || \
858 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20181002)
860 pkt.deliver(INVTYPE_INVENTORY, items);
861#else
863 pkt.deliver(items);
864#endif
865 return true;
866}
Main object for the aegis packet: ZC_INVENTORY_ITEMLIST_NORMAL_V5.
Definition: TransmittedPackets.hpp:28317
Main object for the aegis packet: ZC_STORE_ITEMLIST_NORMAL_V6.
Definition: TransmittedPackets.hpp:44960

References Horizon::Zone::ZC_STORE_ITEMLIST_NORMAL_V6::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), and INVTYPE_INVENTORY.

+ Here is the call graph for this function:

◆ notify_npc_close_dialog()

void ZoneClientInterface::notify_npc_close_dialog ( uint32_t  npc_guid)
639{
641 pkt.deliver(npc_guid);
642}
Main object for the aegis packet: ZC_CLOSE_DIALOG.
Definition: TransmittedPackets.hpp:23220

References Horizon::Zone::ZC_CLOSE_DIALOG::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_npc_dialog()

void ZoneClientInterface::notify_npc_dialog ( uint32_t  npc_guid,
std::string  dialog 
)
629{
630 uint32_t current_npc_guid = get_session()->player()->npc_contact_guid();
631
632}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_npc_menu_list()

void ZoneClientInterface::notify_npc_menu_list ( uint32_t  npc_guid,
std::string const &  menu 
)
644{
646 pkt.deliver(npc_guid, menu);
647}
Main object for the aegis packet: ZC_MENU_LIST.
Definition: TransmittedPackets.hpp:30702

References Horizon::Zone::ZC_MENU_LIST::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_npc_next_dialog()

void ZoneClientInterface::notify_npc_next_dialog ( uint32_t  npc_guid)
634{
636 pkt.deliver(npc_guid);
637}
Main object for the aegis packet: ZC_WAIT_DIALOG.
Definition: TransmittedPackets.hpp:46557

References Horizon::Zone::ZC_WAIT_DIALOG::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_open_vending()

bool ZoneClientInterface::notify_open_vending ( zc_ack_openstore2_result_type  result)
1351{
1353 pkt.deliver(result);
1354 return true;
1355}
Main object for the aegis packet: ZC_ACK_OPENSTORE2.
Definition: TransmittedPackets.hpp:16869

References Horizon::Zone::ZC_ACK_OPENSTORE2::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_pickup_item()

bool ZoneClientInterface::notify_pickup_item ( std::shared_ptr< item_entry_data item,
int16_t  amount,
item_inventory_addition_notif_type  result 
)
849{
851 pkt.deliver(*item, amount, result);
852 return true;
853}
Main object for the aegis packet: ZC_ITEM_PICKUP_ACK_V7.
Definition: TransmittedPackets.hpp:29234

References Horizon::Zone::ZC_ITEM_PICKUP_ACK_V7::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_player_movement()

bool ZoneClientInterface::notify_player_movement ( int32_t  time,
MapCoords  from,
MapCoords  to 
)
423{
425 pkt.deliver(time, from.x(), from.y(), to.x(), to.y());
426 return true;
427}
int16_t y() const
Definition: Coordinates.hpp:120
int16_t x() const
Definition: Coordinates.hpp:119
Main object for the aegis packet: ZC_NOTIFY_PLAYERMOVE.
Definition: TransmittedPackets.hpp:34356

References Horizon::Zone::ZC_NOTIFY_PLAYERMOVE::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), Coordinates< MAX_COORDINATES >::x(), and Coordinates< MAX_COORDINATES >::y().

+ Here is the call graph for this function:

◆ notify_pvp_points()

bool ZoneClientInterface::notify_pvp_points ( )
1439{
1440 //int char_id; int account_id; int win_point; int lose_point; int point;
1441 //ZC_ACK_PVPPOINT pkt(get_session());
1442 //pkt.deliver(char_id, account_id, win_point, lose_point, point);
1443 return true;
1444}

◆ notify_ranking()

bool ZoneClientInterface::notify_ranking ( cz_req_ranking_type  type,
std::vector< zc_ack_ranking_info info,
int  ranking_points 
)
1433{
1435 pkt.deliver(type, info, ranking_points);
1436 return true;
1437}
Main object for the aegis packet: ZC_ACK_RANKING.
Definition: TransmittedPackets.hpp:17347

References Horizon::Zone::ZC_ACK_RANKING::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_recovery()

bool ZoneClientInterface::notify_recovery ( zc_notify_recovery_type  type,
int  amount 
)
1633{
1634#if PACKET_VERSION < 20150513
1635 ZC_RECOVERY pkt(get_session());
1636#else
1638#endif
1639 pkt.deliver(type, amount);
1640 return true;
1641}
Main object for the aegis packet: ZC_RECOVERY2.
Definition: TransmittedPackets.hpp:39612
Main object for the aegis packet: ZC_RECOVERY.
Definition: TransmittedPackets.hpp:39570

References Horizon::Zone::ZC_RECOVERY::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_required_attribute_update()

bool ZoneClientInterface::notify_required_attribute_update ( status_point_type  type,
int32_t  value 
)
547{
549 pkt.deliver(type, value);
550 return true;
551}
Main object for the aegis packet: ZC_STATUS_CHANGE.
Definition: TransmittedPackets.hpp:44290

References Horizon::Zone::ZC_STATUS_CHANGE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_resurrection()

bool ZoneClientInterface::notify_resurrection ( int32_t  guid,
int  type 
)
195{
197 pkt.deliver(guid, type);
198 return true;
199}
Main object for the aegis packet: ZC_RESURRECTION.
Definition: TransmittedPackets.hpp:41365

References Horizon::Zone::ZC_RESURRECTION::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_safe_skill_use()

void ZoneClientInterface::notify_safe_skill_use ( int  skill_id,
int  heal_amount,
int  target_guid,
zc_use_skill2_result_type  result 
)
1207{
1209 pkt._skill_id = skill_id;
1210 pkt._heal_amount = heal_amount;
1211 pkt._target_guid = target_guid;
1212 pkt._result = (int) result;
1213 get_session()->player()->notify_in_area(pkt.serialize(), GRID_NOTIFY_AREA);
1214}
Main object for the aegis packet: ZC_USE_SKILL2.
Definition: TransmittedPackets.hpp:46470

References Horizon::Zone::ZC_USE_SKILL2::_heal_amount, Horizon::Zone::ZC_USE_SKILL2::_result, Horizon::Zone::ZC_USE_SKILL2::_skill_id, Horizon::Zone::ZC_USE_SKILL2::_target_guid, Horizon::ClientInterface< ZoneSession >::get_session(), GRID_NOTIFY_AREA, and Horizon::Zone::ZC_USE_SKILL2::serialize().

+ Here is the call graph for this function:

◆ notify_skill_cast()

void ZoneClientInterface::notify_skill_cast ( uint16_t  skill_id,
uint32_t  src_guid,
uint32_t  target_guid,
uint16_t  target_x,
uint16_t  target_y,
uint32_t  element,
int  cast_time 
)
1193{
1194#if (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20190807) || \
1195 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20190918)
1197 pkt.deliver(skill_id, src_guid, target_guid, target_x, target_y, element, cast_time);
1198#elif (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20090406) || \
1199 (CLIENT_TYPE == 'S' && PACKET_VERSION >= 20080618) || \
1200 (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20080827)
1202 pkt.deliver(src_guid, target_guid, target_x, target_y, skill_id, element, cast_time);
1203#endif
1204}
Main object for the aegis packet: ZC_USESKILL_ACK3.
Definition: TransmittedPackets.hpp:46275
Main object for the aegis packet: ZC_USESKILL_ACK.
Definition: TransmittedPackets.hpp:46188

References Horizon::Zone::ZC_USESKILL_ACK3::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_skill_fail()

bool ZoneClientInterface::notify_skill_fail ( int16_t  skill_id,
int32_t  message_type,
int32_t  item_id,
skill_use_fail_cause_type  cause 
)
1305{
1307 pkt.deliver(skill_id, message_type, item_id, cause);
1308 return true;
1309}
Main object for the aegis packet: ZC_ACK_TOUSESKILL.
Definition: TransmittedPackets.hpp:18520

References Horizon::Zone::ZC_ACK_TOUSESKILL::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_status_attribute_update()

bool ZoneClientInterface::notify_status_attribute_update ( status_point_type  type,
int32_t  value,
bool  success 
)
539{
541 pkt.deliver(type, value, success);
542 return true;
543}
Main object for the aegis packet: ZC_STATUS_CHANGE_ACK.
Definition: TransmittedPackets.hpp:44338

References Horizon::Zone::ZC_STATUS_CHANGE_ACK::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_status_change()

bool ZoneClientInterface::notify_status_change ( int16_t  si_type,
int32_t  guid,
int8_t  state,
int32_t  time_remaining,
int32_t  val1,
int32_t  val2,
int32_t  val3 
)
1289{
1291
1292 if (time_remaining < 0)
1293 time_remaining = 9999;
1294
1295 sc.deliver(si_type, guid, state, time_remaining, val1, val2, val3);
1296 return true;
1297}
Main object for the aegis packet: ZC_MSG_STATE_CHANGE2.
Definition: TransmittedPackets.hpp:31404

References Horizon::Zone::ZC_MSG_STATE_CHANGE2::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_status_change_end()

bool ZoneClientInterface::notify_status_change_end ( int16_t  status_index,
int32_t  guid,
int8_t  state 
)
1299{
1301 sce.deliver(status_index, guid, state);
1302 return true;
1303}
Main object for the aegis packet: ZC_MSG_STATE_CHANGE.
Definition: TransmittedPackets.hpp:31358

References Horizon::Zone::ZC_MSG_STATE_CHANGE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_storage_add_item()

bool ZoneClientInterface::notify_storage_add_item ( std::shared_ptr< const item_entry_data entry,
int  amount 
)
1016{
1018 pkt.deliver(entry, amount);
1019 return true;
1020}
Main object for the aegis packet: ZC_ADD_ITEM_TO_STORE3.
Definition: TransmittedPackets.hpp:19447

References Horizon::Zone::ZC_ADD_ITEM_TO_STORE3::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_storage_close()

bool ZoneClientInterface::notify_storage_close ( )
1010{
1012 pkt.deliver();
1013 return true;
1014}
Main object for the aegis packet: ZC_CLOSE_STORE.
Definition: TransmittedPackets.hpp:23304

References Horizon::Zone::ZC_CLOSE_STORE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

Referenced by storage_close().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ notify_storage_equip_items()

bool ZoneClientInterface::notify_storage_equip_items ( std::string  name,
std::vector< std::shared_ptr< const item_entry_data > > const &  items 
)
1044{
1046#if (PACKET_VERSION >= 20120925 && \
1047 ((CLIENT_TYPE == 'R' && PACKET_VERSION < 20180829) || \
1048 (CLIENT_TYPE == 'Z' && PACKET_VERSION < 20180919) || \
1049 (CLIENT_TYPE == 'M' && PACKET_VERSION < 20181002)))
1050 pkt.deliver(name, items);
1051#else
1052 pkt.deliver(INVTYPE_STORAGE, items);
1053#endif
1054 return true;
1055}
@ INVTYPE_STORAGE
Definition: ClientDefinitions.hpp:908

References Horizon::Zone::ZC_STORE_ITEMLIST_EQUIP_V6::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), and INVTYPE_STORAGE.

+ Here is the call graph for this function:

◆ notify_storage_normal_items()

bool ZoneClientInterface::notify_storage_normal_items ( std::string  name,
std::vector< std::shared_ptr< const item_entry_data > > const &  items 
)
1028{
1029#if (PACKET_VERSION >= 20120925 && \
1030 ((CLIENT_TYPE == 'R' && PACKET_VERSION < 20180829) || \
1031 (CLIENT_TYPE == 'Z' && PACKET_VERSION < 20180919) || \
1032 (CLIENT_TYPE == 'M' && PACKET_VERSION < 20181002)))
1034 pkt.deliver(name, items);
1035#elif (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180829) || \
1036 (CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180919) || \
1037 (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20181002)
1039 pkt.deliver(INVTYPE_STORAGE, items);
1040#endif
1041 return true;
1042}
Main object for the aegis packet: ZC_STORE_ITEMLIST_NORMAL_V5.
Definition: TransmittedPackets.hpp:44917

References Horizon::Zone::ZC_STORE_ITEMLIST_NORMAL_V5::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), and INVTYPE_STORAGE.

+ Here is the call graph for this function:

◆ notify_storage_remove_item()

bool ZoneClientInterface::notify_storage_remove_item ( int16_t  storage_index,
int  amount 
)
1022{
1024 pkt.deliver(storage_index, amount);
1025 return true;
1026}
Main object for the aegis packet: ZC_DELETE_ITEM_FROM_STORE.
Definition: TransmittedPackets.hpp:24212

References Horizon::Zone::ZC_DELETE_ITEM_FROM_STORE::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_storage_size()

bool ZoneClientInterface::notify_storage_size ( int16_t  total_size,
int16_t  max_size 
)
1004{
1006 pkt.deliver(total_size, max_size);
1007 return true;
1008}
Main object for the aegis packet: ZC_NOTIFY_STOREITEM_COUNTINFO.
Definition: TransmittedPackets.hpp:35131

References Horizon::Zone::ZC_NOTIFY_STOREITEM_COUNTINFO::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_throw_item()

bool ZoneClientInterface::notify_throw_item ( int16_t  inventory_index,
int16_t  amount 
)
881{
883 pkt.deliver(inventory_index, amount);
884 return true;
885}
Main object for the aegis packet: ZC_ITEM_THROW_ACK.
Definition: TransmittedPackets.hpp:29421

References Horizon::Zone::ZC_ITEM_THROW_ACK::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_time()

bool ZoneClientInterface::notify_time ( )
305{
307 pkt.deliver();
308 get_session()->clif()->update_session(get_session()->player()->account()._account_id, false);
309 return true;
310}
Main object for the aegis packet: ZC_NOTIFY_TIME.
Definition: TransmittedPackets.hpp:35179

References Horizon::Zone::ZC_NOTIFY_TIME::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_unequip_item()

bool ZoneClientInterface::notify_unequip_item ( std::shared_ptr< const item_entry_data item,
item_unequip_result_type  result 
)
917{
919 pkt.deliver(item->index.inventory, item->current_equip_location_mask, result);
920 return true;
921}
Main object for the aegis packet: ZC_ACK_TAKEOFF_EQUIP_V5.
Definition: TransmittedPackets.hpp:18471

References Horizon::Zone::ZC_ACK_TAKEOFF_EQUIP_V5::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_unit_move()

bool ZoneClientInterface::notify_unit_move ( int32_t  guid,
int32_t  time,
MapCoords  from,
MapCoords  to 
)
463{
465 pkt.deliver(guid, time, from.x(), from.y(), to.x(), to.y());
466 return true;
467}
Main object for the aegis packet: ZC_NOTIFY_MOVE.
Definition: TransmittedPackets.hpp:33310

References Horizon::Zone::ZC_NOTIFY_MOVE::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), Coordinates< MAX_COORDINATES >::x(), and Coordinates< MAX_COORDINATES >::y().

+ Here is the call graph for this function:

◆ notify_unit_name()

bool ZoneClientInterface::notify_unit_name ( uint32_t  guid)
313{
314 std::shared_ptr<Unit> unit = get_session()->player()->get_nearby_unit(guid);
315
316 if (unit == nullptr)
317 return false;
318
319#if (CLIENT_TYPE == 'M' && PACKET_VERSION >= 20150225) \
320 || (CLIENT_TYPE == 'R' && PACKET_VERSION >= 20141126) \
321 || (CLIENT_TYPE == 'Z')
323 req.deliver(guid, std::string(unit->name()) , "", "", "", 0);
324#else
326 req.deliver(guid, std::string(unit->name()), "", "", "");
327#endif
328
329 return true;
330}
Main object for the aegis packet: ZC_ACK_REQNAMEALL2.
Definition: TransmittedPackets.hpp:17714
Main object for the aegis packet: ZC_ACK_REQNAMEALL.
Definition: TransmittedPackets.hpp:17669

References Horizon::Zone::ZC_ACK_REQNAMEALL2::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_use_item()

bool ZoneClientInterface::notify_use_item ( std::shared_ptr< item_entry_data inv_item,
bool  success 
)
905{
907 pkt.deliver(inv_item->index.inventory, inv_item->amount, success);
908 return true;
909}
Main object for the aegis packet: ZC_USE_ITEM_ACK.
Definition: TransmittedPackets.hpp:46330

References Horizon::Zone::ZC_USE_ITEM_ACK::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_viewport_add_unit()

bool ZoneClientInterface::notify_viewport_add_unit ( unit_viewport_entry  entry)
435{
436#if PACKET_VERSION >= 20150513
438 pkt.deliver(entry);
439#endif
440 return true;
441}
Main object for the aegis packet: ZC_NOTIFY_STANDENTRY11.
Definition: TransmittedPackets.hpp:34780

References Horizon::Zone::ZC_NOTIFY_STANDENTRY11::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_viewport_item_entry()

bool ZoneClientInterface::notify_viewport_item_entry ( item_viewport_entry  entry)
457{
459 pkt.deliver(entry);
460 return true;
461}
Main object for the aegis packet: ZC_ITEM_ENTRY.
Definition: TransmittedPackets.hpp:28852

References Horizon::Zone::ZC_ITEM_ENTRY::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_viewport_moving_unit()

bool ZoneClientInterface::notify_viewport_moving_unit ( unit_viewport_entry  entry)
449{
450#if PACKET_VERSION >= 20150513
452 pkt.deliver(entry);
453#endif
454 return true;
455}
Main object for the aegis packet: ZC_NOTIFY_MOVEENTRY11.
Definition: TransmittedPackets.hpp:33439

References Horizon::Zone::ZC_NOTIFY_MOVEENTRY11::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_viewport_remove_unit()

bool ZoneClientInterface::notify_viewport_remove_unit ( std::shared_ptr< Unit unit,
unit_viewport_notification_type  type 
)
469{
470 if (unit == nullptr)
471 return false;
472
474 pkt.deliver(unit->guid(), type);
475 return true;
476}
Main object for the aegis packet: ZC_NOTIFY_VANISH.
Definition: TransmittedPackets.hpp:35358

References Horizon::Zone::ZC_NOTIFY_VANISH::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_viewport_spawn_unit()

bool ZoneClientInterface::notify_viewport_spawn_unit ( unit_viewport_entry  entry)
443{
445 pkt.deliver(entry);
446 return true;
447}
Main object for the aegis packet: ZC_NOTIFY_NEWENTRY11.
Definition: TransmittedPackets.hpp:33824

References Horizon::Zone::ZC_NOTIFY_NEWENTRY11::deliver(), and Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ notify_zeny_update()

bool ZoneClientInterface::notify_zeny_update ( )
595{
596 return true;
597}

◆ novice_doridori()

void ZoneClientInterface::novice_doridori ( )
1385{
1386
1387}

◆ novice_explosion_spirits()

void ZoneClientInterface::novice_explosion_spirits ( )
1381{
1382
1383}

◆ npc_close()

void ZoneClientInterface::npc_close ( int32_t  npc_guid)
625{
626
627}

◆ npc_contact()

void ZoneClientInterface::npc_contact ( int32_t  npc_guid)
621{
622
623}

◆ npc_input() [1/2]

void ZoneClientInterface::npc_input ( int  guid,
int  value 
)
657{
658
659}

◆ npc_input() [2/2]

void ZoneClientInterface::npc_input ( int  guid,
std::string  value 
)
661{
662
663}

◆ npc_next_dialog()

void ZoneClientInterface::npc_next_dialog ( int32_t  npc_guid)
617{
618
619}

◆ npc_purchase_items()

void ZoneClientInterface::npc_purchase_items ( std::vector< cz_pc_purchase_itemlist items)
665{
666
667}

◆ npc_select_deal_type()

void ZoneClientInterface::npc_select_deal_type ( int  guid,
cz_ack_select_dealtype  deal_type 
)
649{
650
651}

◆ npc_select_menu()

void ZoneClientInterface::npc_select_menu ( int  guid,
int  choice 
)
653{
654
655}

◆ npc_sell_items()

void ZoneClientInterface::npc_sell_items ( std::vector< cz_pc_sell_itemlist items)
669{
670
671}

◆ npc_weapon_refine()

void ZoneClientInterface::npc_weapon_refine ( int32_t  inventory_index)

NPC.

613{
614
615}

◆ open_buying_store()

void ZoneClientInterface::open_buying_store ( int  account_id)
1325{
1326
1327}

◆ open_vend_shop()

void ZoneClientInterface::open_vend_shop ( int  account_id)

Vending.

1317{
1318
1319}

◆ parse_chat_message()

void ZoneClientInterface::parse_chat_message ( std::string  message)
717{
718 ZC_NOTIFY_PLAYERCHAT notify_player_chat(get_session());
720
721 HLog(debug) << get_session()->player()->name() << ": " << message;
722
723 int guid = get_session()->player()->guid();
724 int msg_first_char = get_session()->player()->name().size() + 3;
725
726 // @TODO @commands
727 if (message[msg_first_char] == '@') {
728 sZone->get_component_of_type<Horizon::Zone::ScriptManager>(Horizon::System::RUNTIME_SCRIPTVM)->player()->perform_command_from_player(get_session()->player(), &message[msg_first_char + 1]);
729 return;
730 }
731
732 ByteBuffer buf;
733
734 notify_chat._packet_length = 8 + message.size();
735 notify_chat._guid = guid;
736 notify_chat._message = message;
737 buf = notify_chat.serialize();
738 get_session()->player()->notify_in_area(buf, GRID_NOTIFY_AREA_WOS);
739 notify_player_chat.deliver(message);
740}
@ GRID_NOTIFY_AREA_WOS
Definition: ClientDefinitions.hpp:82
Definition: ByteBuffer.hpp:78
Definition: ScriptManager.hpp:60
Main object for the aegis packet: ZC_NOTIFY_CHAT.
Definition: TransmittedPackets.hpp:32357
bool notify_chat(std::string message)
Chat.
Definition: ZoneClientInterface.cpp:710
@ RUNTIME_SCRIPTVM
Definition: System.hpp:87

References Horizon::Zone::ZC_NOTIFY_PLAYERCHAT::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), GRID_NOTIFY_AREA_WOS, HLog, message(), notify_chat(), Horizon::System::RUNTIME_SCRIPTVM, and sZone.

+ Here is the call graph for this function:

◆ party()

UI::Party & Horizon::Zone::ZoneClientInterface::party ( )
inline
62{ return _party; }

References _party.

◆ party_booking()

UI::PartyBooking & Horizon::Zone::ZoneClientInterface::party_booking ( )
inline
63{ return _party_booking; }

References _party_booking.

◆ pet_act_emotion()

void ZoneClientInterface::pet_act_emotion ( cz_pet_act_emotion_type  emotion)
1499{
1500
1501}

◆ pet_evolve()

void ZoneClientInterface::pet_evolve ( int  evolved_pet_egg_id,
std::vector< cz_pet_evolution_itemlist items 
)
1503{
1504
1505}

◆ pickup_item()

void ZoneClientInterface::pickup_item ( int  guid)
793{
794 get_session()->player()->pickup_item(guid);
795}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ private_airship_request()

void ZoneClientInterface::private_airship_request ( std::string  map_name,
int  item_id 
)
1628{
1629
1630}

◆ produce_item()

void ZoneClientInterface::produce_item ( int  item_id,
std::vector< int16_t >  material_ids 
)
1393{
1394
1395}

◆ progress_bar_completed()

void ZoneClientInterface::progress_bar_completed ( )
673{
674
675}

◆ pvpinfo()

void ZoneClientInterface::pvpinfo ( int  character_id,
int  account_id 
)
212{
213
214}

◆ quest()

UI::Quest & Horizon::Zone::ZoneClientInterface::quest ( )
inline
66{ return _quest; }

References _quest.

◆ ranking()

void ZoneClientInterface::ranking ( cz_req_ranking_type  type)

Ranking.

1417{
1418
1419}

◆ ranking_alchemist()

void ZoneClientInterface::ranking_alchemist ( )
1421{
1422
1423}

◆ ranking_blacksmith()

void ZoneClientInterface::ranking_blacksmith ( )
1425{
1426
1427}

◆ ranking_pk()

void ZoneClientInterface::ranking_pk ( )
1429{
1430
1431}

◆ recall() [1/2]

void ZoneClientInterface::recall ( int  account_id)
1572{
1573
1574}

◆ recall() [2/2]

void ZoneClientInterface::recall ( std::string  username)
1568{
1569
1570}

◆ register_baby()

void ZoneClientInterface::register_baby ( int  account_id,
int  character_id,
cz_join_baby_reply_type  response 
)
609{
610
611}

◆ remember_warppoint()

void ZoneClientInterface::remember_warppoint ( )
1389{
1390
1391}

◆ remove_cart()

void ZoneClientInterface::remove_cart ( )
1397{
1398
1399}

◆ rename_homunculus()

void ZoneClientInterface::rename_homunculus ( std::string  name)
1527{
1528
1529}

◆ rename_pet()

void ZoneClientInterface::rename_pet ( std::string  name)
1531{
1532
1533}

◆ repair_item()

void ZoneClientInterface::repair_item ( int  inventory_index,
int  item_id,
int  refine,
int  card1,
int  card2,
int  card3,
int  card4 
)
845{
846
847}

◆ request_action()

void ZoneClientInterface::request_action ( int  guid,
int  target_id,
int  action 
)
1535{
1536
1537}

◆ request_name_by_char_id()

void ZoneClientInterface::request_name_by_char_id ( int  char_id)

Character.

204{
205
206}

◆ request_username()

void ZoneClientInterface::request_username ( int  account_id)
1586{
1587
1588}

◆ restart()

bool ZoneClientInterface::restart ( uint8_t  type)

All cleanups are managed in ZoneSocket::perform_cleanup.

168{
169 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK> s_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK>(sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager());
170 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> w_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask>(s_task);
171 s_task->get_runtime_synchronization_mutex().lock();
172 s_task->set_session(get_session());
173 w_task->set_task([type](std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> task) {
174 std::shared_ptr<ZoneSession> session = std::dynamic_pointer_cast<Horizon::Zone::ActiveRuntimeScenario>(task->get_runtime_context())->get_session();
175 ZC_RESTART_ACK rpkt(session);
176 switch (type) {
177 case 0:
178 task->get_message_agent().set_status_message("Character (GUID:" + std::to_string(session->player()->guid()) + ") is being respawned.");
179 session->player()->respawn(0, 0);
180 break;
181 default:
182 task->get_message_agent().set_status_message("Character (GUID:" + std::to_string(session->player()->guid()) + ") has moved to the character server.");
183 break;
184 };
185 rpkt.deliver(type);
186 });
187 s_task->get_runtime_synchronization_mutex().unlock();
188 s_task->push(w_task);
189 sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager().push(s_task);
190
191 return true;
192}
Main object for the aegis packet: ZC_RESTART_ACK.
Definition: TransmittedPackets.hpp:41139

References Horizon::Zone::ZC_RESTART_ACK::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), KernelComponent::get_system_routine_manager(), Horizon::System::RUNTIME_RUNTIME, and sZone.

+ Here is the call graph for this function:

◆ searchstore_close()

void ZoneClientInterface::searchstore_close ( )
1483{
1484
1485}

◆ sell_to_buying_store()

void ZoneClientInterface::sell_to_buying_store ( int  account_id,
int  store_id,
std::vector< cz_req_trade_buying_store_itemlist items 
)
1341{
1342
1343}

◆ set_config()

void ZoneClientInterface::set_config ( cz_config_type  config,
bool  setting 
)

Config.

1511{
1512 switch(config)
1513 {
1515 break;
1516 case CZ_CONFIG_CALL:
1517 break;
1519 break;
1521 break;
1522 default:
1523 break;
1524 }
1525}
@ CZ_CONFIG_PET_AUTOFEED
Definition: ClientDefinitions.hpp:670
@ CZ_CONFIG_OPEN_EQUIPMENT_WINDOW
Definition: ClientDefinitions.hpp:668
@ CZ_CONFIG_CALL
Definition: ClientDefinitions.hpp:669
@ CZ_CONFIG_HOMUNCULUS_AUTOFEED
Definition: ClientDefinitions.hpp:671

References CZ_CONFIG_CALL, CZ_CONFIG_HOMUNCULUS_AUTOFEED, CZ_CONFIG_OPEN_EQUIPMENT_WINDOW, and CZ_CONFIG_PET_AUTOFEED.

◆ set_npc_contact_guid()

void Horizon::Zone::ZoneClientInterface::set_npc_contact_guid ( uint32_t  guid)
inline
129{ _npc_contact_guid = guid; }

References _npc_contact_guid.

◆ setting_effects()

void ZoneClientInterface::setting_effects ( int  setting)

Status.

1446{
1447
1448}

◆ star_gladiator_feel_save()

void ZoneClientInterface::star_gladiator_feel_save ( cz_agree_starplace_type  type)

Class Specific.

1377{
1378
1379}

◆ start_buying_store()

void ZoneClientInterface::start_buying_store ( std::string  store_name,
int  zeny_limit,
std::vector< cz_req_open_buying_store_itemlist items 
)
1337{
1338
1339}

◆ start_vending()

void ZoneClientInterface::start_vending ( std::string  shop_name,
std::vector< cz_req_openstore_itemlist items 
)
1333{
1334
1335}

◆ stop_attack()

bool ZoneClientInterface::stop_attack ( )
332{
333 get_session()->player()->stop_attack();
334 return true;
335}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ storage_change_password()

void ZoneClientInterface::storage_change_password ( std::string  password,
std::string  new_password 
)
701{
702
703}

◆ storage_check_password()

void ZoneClientInterface::storage_check_password ( std::string  password)

Storage.

697{
698
699}

◆ storage_close()

void ZoneClientInterface::storage_close ( )

Storage.

999{
1001 get_session()->player()->set_current_storage_id(0);
1002}
bool notify_storage_close()
Definition: ZoneClientInterface.cpp:1009

References Horizon::ClientInterface< ZoneSession >::get_session(), and notify_storage_close().

+ Here is the call graph for this function:

◆ summon()

void ZoneClientInterface::summon ( std::string  char_name)
1578{
1579
1580}

◆ throw_item()

void ZoneClientInterface::throw_item ( int16_t  inventory_index,
int16_t  amount 
)
797{
798 std::shared_ptr<item_entry_data> item = get_session()->player()->inventory()->get_item(inventory_index);
799
800 if (item == nullptr)
801 return;
802
803 if (item->amount < amount)
804 return;
805
806 get_session()->player()->throw_item(item, amount);
807}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ trade()

UI::Trade & Horizon::Zone::ZoneClientInterface::trade ( )
inline
61{ return _trade; }

References _trade.

◆ unequip_item()

void ZoneClientInterface::unequip_item ( int16_t  inventory_index)
789{
790 get_session()->player()->inventory()->unequip_item(inventory_index);
791}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ update_session()

bool ZoneClientInterface::update_session ( int32_t  account_id,
bool  first = true 
)
234{
235 std::shared_ptr<boost::mysql::tcp_ssl_connection> conn = sZone->get_database_connection();
236
237 if (first == true) {
238 boost::mysql::statement stmt = conn->prepare_statement("SELECT `current_server` FROM `session_data` WHERE `id` = ?");
239 auto b1 = stmt.bind(account_id);
240 boost::mysql::results results;
241 conn->execute(b1, results);
242
243 HLog(debug) << "Updating session from I.P. address " << get_session()->get_socket()->remote_ip_address();
244
245 if (results.rows().empty()) {
247 HLog(warning) << "Invalid connection for account with ID " << account_id << ", session wasn't found.";
248 pkt.deliver(0);
249 return false;
250 }
251
252 auto r = results.rows()[0];
253
254 std::string current_server = r[0].as_string();
255
256 if (current_server.compare("C") != 0) {
258 HLog(warning) << "Invalid connection for account with ID " << account_id << ", session wasn't found.";
259 pkt.deliver(0);
260 return false;
261 }
262 }
263
264 boost::mysql::statement stmt_update_session = conn->prepare_statement("UPDATE `session_data` SET `last_update` = ? WHERE `game_account_id` = ?");
265 auto b2 = stmt_update_session.bind(std::time(nullptr), account_id);
266 boost::mysql::results results_update_session;
267 conn->execute(b2, results_update_session);
268
269 return true;
270}

References Horizon::Zone::ZC_ACK_REQ_DISCONNECT::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), HLog, and sZone.

+ Here is the call graph for this function:

◆ upgrade_skill_level()

void ZoneClientInterface::upgrade_skill_level ( int16_t  skill_id)

Skills.

1058{
1060
1061 std::shared_ptr<skill_learnt_info> ls = get_session()->player()->get_learnt_skill(skill_id);
1062
1063 if (ls == nullptr) {
1065 s.skill_id = skill_id;
1066 s.level = 1;
1068 ls = std::make_shared<skill_learnt_info>(s);
1069 get_session()->player()->add_learnt_skill(ls);
1070 } else {
1071 ls->level += 1;
1072 }
1073
1074 std::shared_ptr<const skill_config_data> skd = SkillDB->get_skill_by_id(ls->skill_id);
1075
1076 bool upgradeable = false;
1077
1078 job_class_type job_id = (job_class_type) get_session()->player()->job_id();
1079 std::shared_ptr<const skill_tree_config> stc = SkillDB->get_skill_tree_skill_id_by_job_id(job_id, ls->skill_id);
1080
1081 if (stc == nullptr) {
1082 HLog(error) << "Skill ID " << ls->skill_id << " not found for Job ID " << (int32_t) job_id << ".";
1083 return;
1084 }
1085
1086 upgradeable = (ls->level < stc->max_level) ? true : false;
1087
1088 get_session()->player()->status()->skill_point()->sub_base(1);
1089
1090 pkt.deliver(skill_id, ls->level, skd->sp_cost[ls->level], skd->use_range[ls->level], upgradeable);
1091}
Main object for the aegis packet: ZC_SKILLINFO_UPDATE.
Definition: TransmittedPackets.hpp:42847
Definition: SkillDefinitions.hpp:252
int16_t level
Definition: SkillDefinitions.hpp:254
skill_learn_type learn_type
Definition: SkillDefinitions.hpp:255
int16_t skill_id
Definition: SkillDefinitions.hpp:253

References Horizon::Zone::ZC_SKILLINFO_UPDATE::deliver(), Horizon::ClientInterface< ZoneSession >::get_session(), HLog, skill_learnt_info::learn_type, skill_learnt_info::level, skill_learnt_info::skill_id, SKILL_LEARN_PERMANENT, and SkillDB.

+ Here is the call graph for this function:

◆ use_item()

void ZoneClientInterface::use_item ( int16_t  inventory_index,
int32_t  guid 
)

Items.

781{
782 get_session()->player()->inventory()->use_item(inventory_index, guid);
783}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ use_skill_on_ground() [1/2]

void ZoneClientInterface::use_skill_on_ground ( int16_t  skill_lv,
int16_t  skill_id,
int16_t  pos_x,
int16_t  pos_y 
)
1182{
1183 auto ske = std::make_shared<SkillExecution>(get_session()->player(), skill_id, skill_lv);
1184 ske->execute(pos_x, pos_y);
1185}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ use_skill_on_ground() [2/2]

void ZoneClientInterface::use_skill_on_ground ( int16_t  skill_lv,
int16_t  skill_id,
int16_t  pos_x,
int16_t  pos_y,
std::string  contents 
)
1187{
1188 auto ske = std::make_shared<SkillExecution>(get_session()->player(), skill_id, skill_lv);
1189 ske->execute(pos_x, pos_y, contents);
1190}

References Horizon::ClientInterface< ZoneSession >::get_session().

+ Here is the call graph for this function:

◆ use_skill_on_target()

void ZoneClientInterface::use_skill_on_target ( int16_t  skill_lv,
int16_t  skill_id,
int  target_guid 
)
1150{
1151 std::shared_ptr<Unit> target = get_session()->player()->get_nearby_unit(target_guid);
1152
1153 if (target == nullptr)
1154 return;
1155
1156 std::shared_ptr<const struct skill_config_data> skd = SkillDB->get_skill_by_id(skill_id);
1157
1158 if (skd == nullptr) {
1159 HLog(error) << "Skill ID " << skill_id << " not found.";
1160 return;
1161 }
1162
1164
1165 config.skill_id = skill_id;
1166 config.skill_lv = skill_lv;
1167 config.skd = skd;
1168 config.skill_execution = std::make_shared<SkillExecution>(get_session()->player(), skill_id, skill_lv);
1169
1171 CombatRegistry::SkillExecutionOperation *operation = new CombatRegistry::SkillExecutionOperation(operand, CombatRegistry::SkillExecutionOperation::skill_execution_operation_type::SKILL_EXECUTION_OPERATION_TARGET);
1172
1173 int time = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
1174 CombatRegistry::CombatStage *stage = get_session()->player()->combat_registry()->create_combat_stage(time);
1175 stage->add_operation(operation);
1176 get_session()->player()->combat_registry()->queue_combat_stage(stage);
1177
1178 return;
1179}

References Horizon::Zone::CombatRegistry::CombatStage::add_operation(), Horizon::ClientInterface< ZoneSession >::get_session(), HLog, Horizon::Zone::CombatRegistry::SkillExecutionOperation::SkillExecutionOperand::s_skill_execution_operation_config::skd, Horizon::Zone::CombatRegistry::SkillExecutionOperation::SkillExecutionOperand::s_skill_execution_operation_config::skill_execution, Horizon::Zone::CombatRegistry::SkillExecutionOperation::SkillExecutionOperand::s_skill_execution_operation_config::skill_id, Horizon::Zone::CombatRegistry::SkillExecutionOperation::SkillExecutionOperand::s_skill_execution_operation_config::skill_lv, and SkillDB.

+ Here is the call graph for this function:

◆ user_count()

void ZoneClientInterface::user_count ( )
1364{
1365
1366}

◆ vending_purchase_items() [1/2]

void ZoneClientInterface::vending_purchase_items ( int  account_id,
int  unique_id,
std::vector< cz_pc_purchase_itemlist items 
)
681{
682
683}

◆ vending_purchase_items() [2/2]

void ZoneClientInterface::vending_purchase_items ( int  account_id,
std::vector< cz_pc_purchase_itemlist items 
)
677{
678
679}

◆ view_equipment()

void ZoneClientInterface::view_equipment ( int  account_id)
1507{
1508
1509}

◆ walk_to_coordinates()

bool ZoneClientInterface::walk_to_coordinates ( uint16_t  x,
uint16_t  y,
uint8_t  dir 
)
272{
273 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK> s_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK>(sZone->get_component_of_type<Horizon::Zone::ZoneRuntime>(Horizon::System::RUNTIME_RUNTIME)->get_system_routine_manager());
274 std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> w_task = std::make_shared<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask>(s_task);
275 s_task->get_runtime_synchronization_mutex().lock();
276 s_task->set_session(get_session());
277 w_task->set_task([x, y](std::shared_ptr<Horizon::Zone::SCENARIO_GENERIC_TASK::GenericTask> task) {
278 std::shared_ptr<ZoneSession> session = std::dynamic_pointer_cast<Horizon::Zone::ActiveRuntimeScenario>(task->get_runtime_context())->get_session();
279
280 if (session->player() == nullptr)
281 return;
282
283 // This is done here because this is the only place where we can identify that the player has sent a walk request to the server.
284 // It is required to stop the player from attacking when they initiate a walking action.
285 if (session->player()->is_attacking())
286 session->player()->stop_attacking();
287
288 session->player()->walk_to_coordinates(x, y);
289 });
290 s_task->push(w_task);
291 int segment_number = sZone->get_segment_number_for_resource<Horizon::Zone::GameLogicProcess, RESOURCE_PRIORITY_TERTIARY, uint64_t, std::shared_ptr<Horizon::Zone::Unit>>(Horizon::System::RUNTIME_GAMELOGIC, get_session()->player()->uuid(), nullptr);
292
293 s_task->get_runtime_synchronization_mutex().unlock();
294
295 if (segment_number == 0) {
296 HLog(warning) << "ZoneClientInterface::walk_to_coordinates:Player " << get_session()->player()->guid() << " is not in a map.";
297 return false;
298 }
299
300 sZone->get_component_of_type<Horizon::Zone::GameLogicProcess>(Horizon::System::RUNTIME_GAMELOGIC, segment_number)->get_system_routine_manager().push(s_task);
301
302 return true;
303}
@ RESOURCE_PRIORITY_TERTIARY
Definition: Server.hpp:81

References Horizon::ClientInterface< ZoneSession >::get_session(), KernelComponent::get_system_routine_manager(), HLog, RESOURCE_PRIORITY_TERTIARY, Horizon::System::RUNTIME_GAMELOGIC, Horizon::System::RUNTIME_RUNTIME, and sZone.

+ Here is the call graph for this function:

◆ warp_to()

void ZoneClientInterface::warp_to ( int  account_id)
1582{
1583
1584}

◆ whisper_message()

void ZoneClientInterface::whisper_message ( const char *  name,
int32_t  name_length,
const char *  message,
int32_t  message_length 
)
752{
753 // validate name
754 // only restriction is that the name must be zero-terminated
755 if (name[name_length] != '\0') {
756 HLog(warning) << "ZoneClientInterface::whisper_message: Player '" << get_session()->player()->name() << "' sent an unterminated name!\n";
757 return;
758 }
759 // validate name
760 // only restriction is that the name must be zero-terminated
761 if (message[message_length] != '\0') {
762 HLog(warning) << "ZoneClientInterface::whisper_message: Player '" << get_session()->player()->name() << "' sent an unterminated message!\n";
763 return;
764 }
765
766 HLog(debug) << name << " : " << message;
767
768 // @TODO
769 //std::shared_ptr<Horizon::Zone::Units::Player> player = sZone->get_component_of_type<GameLogicProcess>(Horizon::System::RUNTIME_GAMELOGIC)->find_player(name);
770
771 //ZC_ACK_WHISPER02 pkt(get_session());
772 //if (player != nullptr)
773 // pkt.deliver(WRT_SUCCESS, player->character()._character_id);
774 //else
775 // pkt.deliver(WRT_RECIPIENT_OFFLINE, 0);
776//
777 //ZC_WHISPER pkt2(player->get_session());
778 //pkt2.deliver(get_session()->player()->name(), message, player->account()._group_id >= 99 ? true : false);
779}

References Horizon::ClientInterface< ZoneSession >::get_session(), HLog, and message().

+ Here is the call graph for this function:

Member Data Documentation

◆ _auction

UI::Auction Horizon::Zone::ZoneClientInterface::_auction
protected

Referenced by auction().

◆ _chat_room

UI::Chatroom Horizon::Zone::ZoneClientInterface::_chat_room
protected

Referenced by chatroom().

◆ _clan

UI::Clan Horizon::Zone::ZoneClientInterface::_clan
protected

Referenced by clan().

◆ _friend

UI::Friend Horizon::Zone::ZoneClientInterface::_friend
protected

Referenced by friend_().

◆ _guild

UI::Guild Horizon::Zone::ZoneClientInterface::_guild
protected

Referenced by guild().

◆ _mail

UI::Mail Horizon::Zone::ZoneClientInterface::_mail
protected

Referenced by mail().

◆ _npc_contact_guid

uint32_t Horizon::Zone::ZoneClientInterface::_npc_contact_guid {0}
protected

◆ _party

UI::Party Horizon::Zone::ZoneClientInterface::_party
protected

Referenced by party().

◆ _party_booking

UI::PartyBooking Horizon::Zone::ZoneClientInterface::_party_booking
protected

Referenced by party_booking().

◆ _quest

UI::Quest Horizon::Zone::ZoneClientInterface::_quest
protected

Referenced by quest().

◆ _trade

UI::Trade Horizon::Zone::ZoneClientInterface::_trade
protected

Referenced by trade().


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