Horizon Official Technical Documentation
TransmittedPackets.hpp
Go to the documentation of this file.
1/***************************************************
2 * _ _ _ *
3 * | | | | (_) *
4 * | |_| | ___ _ __ _ _______ _ __ *
5 * | _ |/ _ \| '__| |_ / _ \| '_ \ *
6 * | | | | (_) | | | |/ / (_) | | | | *
7 * \_| |_/\___/|_| |_/___\___/|_| |_| *
8 ***************************************************
9 * This file is part of Horizon (c).
10 * Copyright (c) 2023 Horizon Dev Team.
11 *
12 * Base Author - Sephus. (sagunxp@gmail.com)
13 *
14 * This library is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * This library is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this library. If not, see <http://www.gnu.org/licenses/>.
26 **************************************************/
27
28#ifndef HORIZON_CHAR_TRANSMITTED_PACKETS_HPP
29#define HORIZON_CHAR_TRANSMITTED_PACKETS_HPP
30
33
34namespace Horizon
35{
36namespace Char
37{
38class CharSession;
43class HC_ACCOUNT_ID : public Base::NetworkPacket<CharSession>
44{
45public:
46 HC_ACCOUNT_ID(std::shared_ptr<CharSession> s)
47 : NetworkPacket(0, s)
48 { }
49 virtual ~HC_ACCOUNT_ID() { }
50
51 void deliver(int32_t account_id);
53
54protected:
55 int32_t _account_id;
56};
57enum {
58#if CLIENT_TYPE == 'A' && \
59 PACKET_VERSION >= 20040000
61#elif CLIENT_TYPE == 'M' && \
62 PACKET_VERSION >= 20030000
64#elif CLIENT_TYPE == 'R' && \
65 PACKET_VERSION >= 20080000
67#elif CLIENT_TYPE == 'S' && \
68 PACKET_VERSION >= 20030000
70#elif CLIENT_TYPE == 'Z' && \
71 PACKET_VERSION >= 20170000
73#else
74ID_HC_ACCEPT_DELETECHAR = 0x0000 // Disabled
75#endif
76};
81class HC_ACCEPT_DELETECHAR : public Base::NetworkPacket<CharSession>
82{
83public:
84 HC_ACCEPT_DELETECHAR(std::shared_ptr<CharSession> s)
86 {}
88
89 void deliver();
91
92/* Structure */
93};
94
95enum {
96#if CLIENT_TYPE == 'A' && \
97 PACKET_VERSION >= 20040000
98ID_HC_ACCEPT_ENTER = 0x006b
99#elif CLIENT_TYPE == 'M' && \
100 PACKET_VERSION >= 20030000
101ID_HC_ACCEPT_ENTER = 0x006b
102#elif CLIENT_TYPE == 'R' && \
103 PACKET_VERSION >= 20080000
104ID_HC_ACCEPT_ENTER = 0x006b
105#elif CLIENT_TYPE == 'S' && \
106 PACKET_VERSION >= 20030000
107ID_HC_ACCEPT_ENTER = 0x006b
108#elif CLIENT_TYPE == 'Z' && \
109 PACKET_VERSION >= 20170000
110ID_HC_ACCEPT_ENTER = 0x006b
111#else
112ID_HC_ACCEPT_ENTER = 0x0000 // Disabled
113#endif
119class HC_ACCEPT_ENTER : public Base::NetworkPacket<CharSession>
120{
121public:
122 HC_ACCEPT_ENTER(std::shared_ptr<CharSession> s)
124 {}
125 virtual ~HC_ACCEPT_ENTER() {}
126
127 bool prepare(uint32_t account_id, uint8_t max_char_slots, uint8_t permitted_slots, uint8_t total_premium_slots);
128 void deliver();
130
131/* Structure */
132 uint16_t _packet_length{ 24 };
133#if PACKET_VERSION >= 20100413
136 // Total premium slots out of the max_char_slots which are premium. (if not permitted will show red)
138#endif
139 uint8_t _unknown_bytes[20]{ 0 };
140
141 std::vector<s_hc_character_list_data> _characters;
142};
143
144enum {
145#if CLIENT_TYPE == 'M' && \
146 PACKET_VERSION >= 20101221
147ID_HC_ACCEPT_ENTER2 = 0x082d
148#elif CLIENT_TYPE == 'R' && \
149 PACKET_VERSION >= 20101221
150ID_HC_ACCEPT_ENTER2 = 0x082d
151#elif CLIENT_TYPE == 'Z' && \
152 PACKET_VERSION >= 20170000
153ID_HC_ACCEPT_ENTER2 = 0x082d
154#else
155ID_HC_ACCEPT_ENTER2 = 0x0000 // Disabled
156#endif
162class HC_ACCEPT_ENTER2 : public Base::NetworkPacket<CharSession>
163{
164public:
165 HC_ACCEPT_ENTER2(std::shared_ptr<CharSession> s)
167 {}
168 virtual ~HC_ACCEPT_ENTER2() {}
169
170 void deliver(uint8_t total_slots, uint8_t premium_slots);
172
173/* Structure */
174 uint16_t _packet_length{ 29 };
177 uint8_t _unknown_byte{ 0 };
180 uint8_t _unknown_bytes[20]{ 0 };
181};
182
183enum {
184#if CLIENT_TYPE == 'A' && \
185 PACKET_VERSION >= 20040000
187#elif CLIENT_TYPE == 'M' && \
188 PACKET_VERSION >= 20201007
190#elif CLIENT_TYPE == 'M' && \
191 PACKET_VERSION >= 20030000
193#elif CLIENT_TYPE == 'R' && \
194 PACKET_VERSION >= 20081217
196#elif CLIENT_TYPE == 'S' && \
197 PACKET_VERSION >= 20030000
199#elif CLIENT_TYPE == 'Z' && \
200 PACKET_VERSION >= 20170000
202#else
203ID_HC_ACCEPT_MAKECHAR = 0x0000 // Disabled
204#endif
210class HC_ACCEPT_MAKECHAR : public Base::NetworkPacket<CharSession>
211{
212public:
213 HC_ACCEPT_MAKECHAR(std::shared_ptr<CharSession> s)
215 {}
217
218 void deliver(uint32_t char_id, uint32_t start_zeny, std::string map_name, std::string name, uint8_t slot, uint32_t hair_color, uint32_t hair_style, uint32_t job_class, uint8_t gender);
220
221/* Structure */
223};
224
225enum {
226#if CLIENT_TYPE == 'M' && \
227 PACKET_VERSION >= 20110906
229#elif CLIENT_TYPE == 'R' && \
230 PACKET_VERSION >= 20110906
232#elif CLIENT_TYPE == 'Z' && \
233 PACKET_VERSION >= 20170000
235#else
236ID_HC_ACK_CHANGE_CHARACTER_SLOT = 0x0000 // Disabled
237#endif
244{
245public:
246 HC_ACK_CHANGE_CHARACTER_SLOT(std::shared_ptr<CharSession> s)
248 {}
250
251 void deliver();
253
254/* Structure */
255};
256
257enum {
258#if CLIENT_TYPE == 'A' && \
259 PACKET_VERSION >= 20061030
261#elif CLIENT_TYPE == 'M' && \
262 PACKET_VERSION >= 20061030
264#elif CLIENT_TYPE == 'R' && \
265 PACKET_VERSION >= 20080000
267#elif CLIENT_TYPE == 'S' && \
268 PACKET_VERSION >= 20061023
270#elif CLIENT_TYPE == 'Z' && \
271 PACKET_VERSION >= 20170000
273#else
274ID_HC_ACK_CHANGE_CHARNAME = 0x0000 // Disabled
275#endif
282{
283public:
284 HC_ACK_CHANGE_CHARNAME(std::shared_ptr<CharSession> s)
286 {}
288
289 void deliver();
291
292/* Structure */
293};
294
295enum {
296#if CLIENT_TYPE == 'M' && \
297 PACKET_VERSION >= 20201007
299#elif CLIENT_TYPE == 'M' && \
300 PACKET_VERSION >= 20121024
302#elif CLIENT_TYPE == 'R' && \
303 PACKET_VERSION >= 20121024
305#elif CLIENT_TYPE == 'Z' && \
306 PACKET_VERSION >= 20170000
308#else
309ID_HC_ACK_CHARINFO_PER_PAGE = 0x0000 // Disabled
310#endif
317{
318public:
319 HC_ACK_CHARINFO_PER_PAGE(std::shared_ptr<CharSession> s)
321 {}
323
324 int32_t prepare(bool empty = false);
325 void deliver();
327
328/* Structure */
329 uint16_t _packet_length{ 24 };
330 std::vector<s_hc_character_list_data> _characters;
331};
332
333enum {
334#if CLIENT_TYPE == 'A' && \
335 PACKET_VERSION >= 20061030
337#elif CLIENT_TYPE == 'M' && \
338 PACKET_VERSION >= 20061030
340#elif CLIENT_TYPE == 'R' && \
341 PACKET_VERSION >= 20080000
343#elif CLIENT_TYPE == 'S' && \
344 PACKET_VERSION >= 20061023
346#elif CLIENT_TYPE == 'Z' && \
347 PACKET_VERSION >= 20170000
349#else
350ID_HC_ACK_IS_VALID_CHARNAME = 0x0000 // Disabled
351#endif
358{
359public:
360 HC_ACK_IS_VALID_CHARNAME(std::shared_ptr<CharSession> s)
362 {}
364
365 void deliver();
367
368/* Structure */
369};
370
371enum {
372#if CLIENT_TYPE == 'M' && \
373 PACKET_VERSION >= 20110228
375#elif CLIENT_TYPE == 'R' && \
376 PACKET_VERSION >= 20110228
378#elif CLIENT_TYPE == 'Z' && \
379 PACKET_VERSION >= 20170000
381#else
382ID_HC_AVAILABLE_SECOND_PASSWD = 0x0000 // Disabled
383#endif
390{
391public:
392 HC_AVAILABLE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
394 {}
396
397 void deliver();
399
400/* Structure */
401};
402
403enum {
404#if CLIENT_TYPE == 'A' && \
405 PACKET_VERSION >= 20040000
407#elif CLIENT_TYPE == 'M' && \
408 PACKET_VERSION >= 20040621
410#elif CLIENT_TYPE == 'R' && \
411 PACKET_VERSION >= 20080000
413#elif CLIENT_TYPE == 'S' && \
414 PACKET_VERSION >= 20040621
416#elif CLIENT_TYPE == 'Z' && \
417 PACKET_VERSION >= 20170000
419#else
420ID_HC_BLOCK_CHARACTER = 0x0000 // Disabled
421#endif
427class HC_BLOCK_CHARACTER : public Base::NetworkPacket<CharSession>
428{
429public:
430 HC_BLOCK_CHARACTER(std::shared_ptr<CharSession> s)
432 {}
434
435 void deliver();
437
438/* Structure */
439 uint16_t _packet_length{ 4 };
440};
441
442enum {
443#if CLIENT_TYPE == 'M' && \
444 PACKET_VERSION >= 20090225
446#elif CLIENT_TYPE == 'R' && \
447 PACKET_VERSION >= 20090226
449#elif CLIENT_TYPE == 'S' && \
450 PACKET_VERSION >= 20090225
452#elif CLIENT_TYPE == 'Z' && \
453 PACKET_VERSION >= 20170000
455#else
456ID_HC_CHARACTER_LIST = 0x0000 // Disabled
457#endif
463class HC_CHARACTER_LIST : public Base::NetworkPacket<CharSession>
464{
465public:
466 HC_CHARACTER_LIST(std::shared_ptr<CharSession> s)
468 {}
470
471 void deliver();
473
474/* Structure */
475};
476
477enum {
478#if CLIENT_TYPE == 'M' && \
479 PACKET_VERSION >= 20121212
481#elif CLIENT_TYPE == 'R' && \
482 PACKET_VERSION >= 20121212
484#elif CLIENT_TYPE == 'Z' && \
485 PACKET_VERSION >= 20170000
487#else
488ID_HC_CHARLIST_NOTIFY = 0x0000 // Disabled
489#endif
495class HC_CHARLIST_NOTIFY : public Base::NetworkPacket<CharSession>
496{
497public:
498 HC_CHARLIST_NOTIFY(std::shared_ptr<CharSession> s)
500 {}
502
503 void deliver();
505
506/* Structure */
507};
508
509enum {
510#if CLIENT_TYPE == 'A' && \
511 PACKET_VERSION >= 20061030
513#elif CLIENT_TYPE == 'M' && \
514 PACKET_VERSION >= 20061030
516#elif CLIENT_TYPE == 'R' && \
517 PACKET_VERSION >= 20080000
519#elif CLIENT_TYPE == 'S' && \
520 PACKET_VERSION >= 20061023
522#elif CLIENT_TYPE == 'Z' && \
523 PACKET_VERSION >= 20170000
525#else
526ID_HC_CHARNOTBEENSELECTED = 0x0000 // Disabled
527#endif
534{
535public:
536 HC_CHARNOTBEENSELECTED(std::shared_ptr<CharSession> s)
538 {}
540
541 void deliver();
543
544/* Structure */
545};
546
547enum {
548#if CLIENT_TYPE == 'M' && \
549 PACKET_VERSION >= 20090922
550ID_HC_CHECKBOT = 0x07e8
551#elif CLIENT_TYPE == 'R' && \
552 PACKET_VERSION >= 20090922
553ID_HC_CHECKBOT = 0x07e8
554#elif CLIENT_TYPE == 'Z' && \
555 PACKET_VERSION >= 20170000
556ID_HC_CHECKBOT = 0x07e8
557#else
558ID_HC_CHECKBOT = 0x0000 // Disabled
559#endif
565class HC_CHECKBOT : public Base::NetworkPacket<CharSession>
566{
567public:
568 HC_CHECKBOT(std::shared_ptr<CharSession> s)
570 {}
571 virtual ~HC_CHECKBOT() {}
572
573 void deliver();
575
576/* Structure */
577};
578
579enum {
580#if CLIENT_TYPE == 'M' && \
581 PACKET_VERSION >= 20090922
583#elif CLIENT_TYPE == 'R' && \
584 PACKET_VERSION >= 20090922
586#elif CLIENT_TYPE == 'Z' && \
587 PACKET_VERSION >= 20170000
589#else
590ID_HC_CHECKBOT_RESULT = 0x0000 // Disabled
591#endif
597class HC_CHECKBOT_RESULT : public Base::NetworkPacket<CharSession>
598{
599public:
600 HC_CHECKBOT_RESULT(std::shared_ptr<CharSession> s)
602 {}
604
605 void deliver();
607
608/* Structure */
609};
610
611enum {
612#if CLIENT_TYPE == 'M' && \
613 PACKET_VERSION >= 20100713
614ID_HC_DELETE_CHAR3 = 0x082a
615#elif CLIENT_TYPE == 'R' && \
616 PACKET_VERSION >= 20100713
617ID_HC_DELETE_CHAR3 = 0x082a
618#elif CLIENT_TYPE == 'Z' && \
619 PACKET_VERSION >= 20170000
620ID_HC_DELETE_CHAR3 = 0x082a
621#else
622ID_HC_DELETE_CHAR3 = 0x0000 // Disabled
623#endif
629class HC_DELETE_CHAR3 : public Base::NetworkPacket<CharSession>
630{
631public:
632 HC_DELETE_CHAR3(std::shared_ptr<CharSession> s)
634 {}
635 virtual ~HC_DELETE_CHAR3() {}
636
637 void deliver(uint32_t char_id, character_delete_accept_result result);
639
640/* Structure */
641 uint32_t _character_id{ 0 };
643};
644
645enum hc_delete_cancel_result : uint32_t {
649enum {
650#if CLIENT_TYPE == 'M' && \
651 PACKET_VERSION >= 20100720
653#elif CLIENT_TYPE == 'R' && \
654 PACKET_VERSION >= 20100720
656#elif CLIENT_TYPE == 'Z' && \
657 PACKET_VERSION >= 20170000
659#else
660ID_HC_DELETE_CHAR3_CANCEL = 0x0000 // Disabled
661#endif
668{
669public:
670 HC_DELETE_CHAR3_CANCEL(std::shared_ptr<CharSession> s)
672 {}
674
675 void deliver(uint32_t char_id, hc_delete_cancel_result result);
677
678/* Structure */
679 uint32_t _character_id{ 0 };
680 hc_delete_cancel_result _result{ 0 }; // either 1 or 2.
681};
682
683enum {
684#if CLIENT_TYPE == 'M' && \
685 PACKET_VERSION >= 20100713
687#elif CLIENT_TYPE == 'R' && \
688 PACKET_VERSION >= 20100713
690#elif CLIENT_TYPE == 'Z' && \
691 PACKET_VERSION >= 20170000
693#else
694ID_HC_DELETE_CHAR3_RESERVED = 0x0000 // Disabled
695#endif
702{
703public:
704 HC_DELETE_CHAR3_RESERVED(std::shared_ptr<CharSession> s)
706 {}
708
709 void deliver(uint32_t char_id, character_delete_result res, uint32_t date);
711
712/* Structure */
713 uint32_t _character_id{ 0 };
715 uint32_t _deletion_date{ 0 };
716};
717
718enum {
719#if CLIENT_TYPE == 'M' && \
720 PACKET_VERSION >= 20111207
722#elif CLIENT_TYPE == 'R' && \
723 PACKET_VERSION >= 20111207
725#elif CLIENT_TYPE == 'Z' && \
726 PACKET_VERSION >= 20170000
728#else
729ID_HC_DELETE_SECOND_PASSWD = 0x0000 // Disabled
730#endif
737{
738public:
739 HC_DELETE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
741 {}
743
744 void deliver();
746
747/* Structure */
748};
749
750enum {
751#if CLIENT_TYPE == 'M' && \
752 PACKET_VERSION >= 20110308
754#elif CLIENT_TYPE == 'R' && \
755 PACKET_VERSION >= 20110308
757#elif CLIENT_TYPE == 'Z' && \
758 PACKET_VERSION >= 20170000
760#else
761ID_HC_EDIT_SECOND_PASSWD = 0x0000 // Disabled
762#endif
769};
775{
776public:
777 HC_EDIT_SECOND_PASSWD(std::shared_ptr<CharSession> s)
779 {}
781
782 void deliver(pincode_edit_response state);
784
785/* Structure */
787 uint32_t _seed;
788};
795};
796enum {
797#if CLIENT_TYPE == 'M' && \
798 PACKET_VERSION >= 20110308
800#elif CLIENT_TYPE == 'R' && \
801 PACKET_VERSION >= 20110308
803#elif CLIENT_TYPE == 'Z' && \
804 PACKET_VERSION >= 20170000
806#else
807ID_HC_MAKE_SECOND_PASSWD = 0x0000 // Disabled
808#endif
815{
816public:
817 HC_MAKE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
819 {}
821
822 void deliver(pincode_make_response state);
824
825/* Structure */
827 uint32_t _seed;
828};
829
830enum {
831#if CLIENT_TYPE == 'M' && \
832 PACKET_VERSION >= 20100713
834#elif CLIENT_TYPE == 'R' && \
835 PACKET_VERSION >= 20100713
837#elif CLIENT_TYPE == 'Z' && \
838 PACKET_VERSION >= 20170000
840#else
841ID_HC_NOTIFY_ACCESSIBLE_MAPNAME = 0x0000 // Disabled
842#endif
849{
850public:
851 HC_NOTIFY_ACCESSIBLE_MAPNAME(std::shared_ptr<CharSession> s)
853 {}
855
856 void deliver();
858
859/* Structure */
860};
861
862enum {
863#if CLIENT_TYPE == 'A' && \
864 PACKET_VERSION >= 20040000
866#elif CLIENT_TYPE == 'M' && \
867 PACKET_VERSION >= 20030000
869#elif CLIENT_TYPE == 'M' && \
870 PACKET_VERSION >= 20170228
872#elif CLIENT_TYPE == 'R' && \
873 PACKET_VERSION >= 20080000
875#elif CLIENT_TYPE == 'R' && \
876 PACKET_VERSION >= 20170228
878#elif CLIENT_TYPE == 'S' && \
879 PACKET_VERSION >= 20030000
881#elif CLIENT_TYPE == 'Z' && \
882 PACKET_VERSION >= 20170000
884#elif CLIENT_TYPE == 'Z' && \
885 PACKET_VERSION >= 20180000
887#else
888ID_HC_NOTIFY_ZONESVR = 0x0000 // Disabled
889#endif
895class HC_NOTIFY_ZONESVR : public Base::NetworkPacket<CharSession>
896{
897public:
898 HC_NOTIFY_ZONESVR(std::shared_ptr<CharSession> s)
900 {}
902
903 void deliver(uint32_t char_id, std::string map_name, uint32_t ip_address, uint16_t port);
905
906/* Structure */
907 uint32_t _char_id{ 0 };
909 uint32_t _ip_address{ 0 };
910 uint16_t _port{ 0 };
911};
912
913enum {
914#if CLIENT_TYPE == 'M' && \
915 PACKET_VERSION >= 20110308
917#elif CLIENT_TYPE == 'R' && \
918 PACKET_VERSION >= 20110308
920#elif CLIENT_TYPE == 'Z' && \
921 PACKET_VERSION >= 20170000
923#else
924ID_HC_NOT_AVAILABLE_SECOND_PASSWD = 0x0000 // Disabled
925#endif
932{
933public:
934 HC_NOT_AVAILABLE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
936 {}
938
939 void deliver();
941
942/* Structure */
943};
944
945enum {
946#if CLIENT_TYPE == 'M' && \
947 PACKET_VERSION >= 20121128
948ID_HC_QUEUE_ORDER = 0x099e
949#elif CLIENT_TYPE == 'R' && \
950 PACKET_VERSION >= 20121128
951ID_HC_QUEUE_ORDER = 0x099e
952#elif CLIENT_TYPE == 'Z' && \
953 PACKET_VERSION >= 20170000
954ID_HC_QUEUE_ORDER = 0x099e
955#else
956ID_HC_QUEUE_ORDER = 0x0000 // Disabled
957#endif
963class HC_QUEUE_ORDER : public Base::NetworkPacket<CharSession>
964{
965public:
966 HC_QUEUE_ORDER(std::shared_ptr<CharSession> s)
968 {}
969 virtual ~HC_QUEUE_ORDER() {}
970
971 void deliver();
973
974/* Structure */
975};
976
977enum {
978#if CLIENT_TYPE == 'A' && \
979 PACKET_VERSION >= 20040000
981#elif CLIENT_TYPE == 'M' && \
982 PACKET_VERSION >= 20030000
984#elif CLIENT_TYPE == 'R' && \
985 PACKET_VERSION >= 20080000
987#elif CLIENT_TYPE == 'S' && \
988 PACKET_VERSION >= 20030000
990#elif CLIENT_TYPE == 'Z' && \
991 PACKET_VERSION >= 20170000
993#else
994ID_HC_REFUSE_DELETECHAR = 0x0000 // Disabled
995#endif
1002{
1003public:
1004 HC_REFUSE_DELETECHAR(std::shared_ptr<CharSession> s)
1006 {}
1008
1009 void deliver();
1011
1012/* Structure */
1013 uint8_t _error{ 0 };
1014};
1015
1016enum {
1017#if CLIENT_TYPE == 'A' && \
1018 PACKET_VERSION >= 20040000
1019ID_HC_REFUSE_ENTER = 0x006c
1020#elif CLIENT_TYPE == 'M' && \
1021 PACKET_VERSION >= 20030000
1022ID_HC_REFUSE_ENTER = 0x006c
1023#elif CLIENT_TYPE == 'R' && \
1024 PACKET_VERSION >= 20080000
1025ID_HC_REFUSE_ENTER = 0x006c
1026#elif CLIENT_TYPE == 'S' && \
1027 PACKET_VERSION >= 20030000
1028ID_HC_REFUSE_ENTER = 0x006c
1029#elif CLIENT_TYPE == 'Z' && \
1030 PACKET_VERSION >= 20170000
1031ID_HC_REFUSE_ENTER = 0x006c
1032#else
1033ID_HC_REFUSE_ENTER = 0x0000 // Disabled
1034#endif
1037{
1038 CHAR_ERR_REJECTED_FROM_SERVER = 0, // 0 = Rejected from server.
1039};
1044class HC_REFUSE_ENTER : public Base::NetworkPacket<CharSession>
1045{
1046public:
1047 HC_REFUSE_ENTER(std::shared_ptr<CharSession> s)
1049 {}
1050 virtual ~HC_REFUSE_ENTER() {}
1051
1054
1055/* Structure */
1057};
1059{
1066enum {
1067#if CLIENT_TYPE == 'A' && \
1068 PACKET_VERSION >= 20040000
1069ID_HC_REFUSE_MAKECHAR = 0x006e
1070#elif CLIENT_TYPE == 'M' && \
1071 PACKET_VERSION >= 20030000
1072ID_HC_REFUSE_MAKECHAR = 0x006e
1073#elif CLIENT_TYPE == 'R' && \
1074 PACKET_VERSION >= 20080000
1075ID_HC_REFUSE_MAKECHAR = 0x006e
1076#elif CLIENT_TYPE == 'S' && \
1077 PACKET_VERSION >= 20030000
1078ID_HC_REFUSE_MAKECHAR = 0x006e
1079#elif CLIENT_TYPE == 'Z' && \
1080 PACKET_VERSION >= 20170000
1081ID_HC_REFUSE_MAKECHAR = 0x006e
1082#else
1083ID_HC_REFUSE_MAKECHAR = 0x0000 // Disabled
1084#endif
1090class HC_REFUSE_MAKECHAR : public Base::NetworkPacket<CharSession>
1091{
1092public:
1093 HC_REFUSE_MAKECHAR(std::shared_ptr<CharSession> s)
1095 {}
1097
1100
1101/* Structure */
1103};
1104
1105enum {
1106#if CLIENT_TYPE == 'A' && \
1107 PACKET_VERSION >= 20070821
1109#elif CLIENT_TYPE == 'M' && \
1110 PACKET_VERSION >= 20070821
1112#elif CLIENT_TYPE == 'R' && \
1113 PACKET_VERSION >= 20080000
1115#elif CLIENT_TYPE == 'S' && \
1116 PACKET_VERSION >= 20070821
1118#elif CLIENT_TYPE == 'Z' && \
1119 PACKET_VERSION >= 20170000
1121#else
1122ID_HC_REFUSE_SELECTCHAR = 0x0000 // Disabled
1123#endif
1130{
1131public:
1132 HC_REFUSE_SELECTCHAR(std::shared_ptr<CharSession> s)
1134 {}
1136
1137 void deliver();
1139
1140/* Structure */
1141};
1142
1143enum {
1144#if CLIENT_TYPE == 'A' && \
1145 PACKET_VERSION >= 20050628
1147#elif CLIENT_TYPE == 'M' && \
1148 PACKET_VERSION >= 20050628
1150#elif CLIENT_TYPE == 'R' && \
1151 PACKET_VERSION >= 20080000
1153#elif CLIENT_TYPE == 'S' && \
1154 PACKET_VERSION >= 20050628
1156#elif CLIENT_TYPE == 'Z' && \
1157 PACKET_VERSION >= 20170000
1159#else
1160ID_HC_REQUEST_CHARACTER_PASSWORD = 0x0000 // Disabled
1161#endif
1168{
1169public:
1170 HC_REQUEST_CHARACTER_PASSWORD(std::shared_ptr<CharSession> s)
1172 {}
1174
1175 void deliver();
1177
1178/* Structure */
1179};
1180
1181enum {
1182#if CLIENT_TYPE == 'M' && \
1183 PACKET_VERSION >= 20171220
1185#elif CLIENT_TYPE == 'M' && \
1186 PACKET_VERSION >= 20110222
1188#elif CLIENT_TYPE == 'R' && \
1189 PACKET_VERSION >= 20171220
1191#elif CLIENT_TYPE == 'R' && \
1192 PACKET_VERSION >= 20110222
1194#elif CLIENT_TYPE == 'Z' && \
1195 PACKET_VERSION >= 20170000
1197#elif CLIENT_TYPE == 'Z' && \
1198 PACKET_VERSION >= 20171220
1200#else
1201ID_HC_SECOND_PASSWD_LOGIN = 0x0000 // Disabled
1202#endif
1204
1205
1207{
1218
1219#if CLIENT_TYPE == 'M' && PACKET_VERSION >= 20180124 \
1220|| CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180124 \
1221|| CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180131
1226};
1227#endif
1228
1234{
1235public:
1236 HC_SECOND_PASSWD_LOGIN(std::shared_ptr<CharSession> s)
1238 {}
1240
1241 void deliver(hc_pincode_state_type state);
1242
1243#if CLIENT_TYPE == 'M' && PACKET_VERSION >= 20180124 \
1244|| CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180124 \
1245|| CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180131
1247#endif
1249
1250/* Structure */
1251 uint32_t _pincode_seed{ 0 };
1252 uint32_t _account_id{ 0 };
1254#if CLIENT_TYPE == 'M' && PACKET_VERSION >= 20180124 \
1255|| CLIENT_TYPE == 'R' && PACKET_VERSION >= 20180124 \
1256|| CLIENT_TYPE == 'Z' && PACKET_VERSION >= 20180131
1258#endif
1259};
1260
1261enum {
1262#if CLIENT_TYPE == 'M' && \
1263 PACKET_VERSION >= 20110215
1265#elif CLIENT_TYPE == 'R' && \
1266 PACKET_VERSION >= 20110215
1268#else
1269ID_HC_SECOND_PASSWD_REQ = 0x0000 // Disabled
1270#endif
1277{
1278public:
1279 HC_SECOND_PASSWD_REQ(std::shared_ptr<CharSession> s)
1281 {}
1283
1284 void deliver();
1286
1287/* Structure */
1288};
1289
1290enum {
1291#if CLIENT_TYPE == 'M' && \
1292 PACKET_VERSION >= 20130522
1293ID_HC_SECRETSCAN_DATA = 0x09c2
1294#elif CLIENT_TYPE == 'R' && \
1295 PACKET_VERSION >= 20130522
1296ID_HC_SECRETSCAN_DATA = 0x09c2
1297#elif CLIENT_TYPE == 'Z' && \
1298 PACKET_VERSION >= 20170000
1299ID_HC_SECRETSCAN_DATA = 0x09c2
1300#else
1301ID_HC_SECRETSCAN_DATA = 0x0000 // Disabled
1302#endif
1308class HC_SECRETSCAN_DATA : public Base::NetworkPacket<CharSession>
1309{
1310public:
1311 HC_SECRETSCAN_DATA(std::shared_ptr<CharSession> s)
1313 {}
1315
1316 void deliver();
1318
1319/* Structure */
1320};
1321
1322enum {
1323#if CLIENT_TYPE == 'M' && \
1324 PACKET_VERSION >= 20111101
1325ID_HC_UPDATE_CHARINFO = 0x08e3
1326#elif CLIENT_TYPE == 'R' && \
1327 PACKET_VERSION >= 20111025
1328ID_HC_UPDATE_CHARINFO = 0x08e3
1329#elif CLIENT_TYPE == 'Z' && \
1330 PACKET_VERSION >= 20170000
1331ID_HC_UPDATE_CHARINFO = 0x08e3
1332#else
1333ID_HC_UPDATE_CHARINFO = 0x0000 // Disabled
1334#endif
1340class HC_UPDATE_CHARINFO : public Base::NetworkPacket<CharSession>
1341{
1342public:
1343 HC_UPDATE_CHARINFO(std::shared_ptr<CharSession> s)
1345 {}
1347
1348 void deliver();
1350
1351/* Structure */
1352};
1353
1354enum {
1355#if CLIENT_TYPE == 'M' && \
1356 PACKET_VERSION >= 20101228
1357ID_HC_WAITING_LOGIN = 0x08af
1358#elif CLIENT_TYPE == 'R' && \
1359 PACKET_VERSION >= 20101228
1360ID_HC_WAITING_LOGIN = 0x08af
1361#elif CLIENT_TYPE == 'Z' && \
1362 PACKET_VERSION >= 20170000
1363ID_HC_WAITING_LOGIN = 0x08af
1364#else
1365ID_HC_WAITING_LOGIN = 0x0000 // Disabled
1366#endif
1372class HC_WAITING_LOGIN : public Base::NetworkPacket<CharSession>
1373{
1374public:
1375 HC_WAITING_LOGIN(std::shared_ptr<CharSession> s)
1377 {}
1379
1380 void deliver();
1382
1383/* Structure */
1384};
1385
1386} /* namespace Char
1387 */} /* namespace Horizon */
1388#endif /* HORIZON_CHAR_TRANSMITTED_PACKETS_HPP */
character_delete_result
Definition: Client.hpp:154
@ CHAR_DEL_RESULT_UNKNOWN
Definition: Client.hpp:155
character_delete_accept_result
Definition: Client.hpp:144
@ CHAR_DEL_ACCEPT_RESULT_SUCCESS
0 (0x718): An unknown error has occurred.
Definition: Client.hpp:146
#define MAP_NAME_LENGTH_EXT
Definition: Client.hpp:47
#define MAX_CHARACTER_SLOTS
Definition: Horizon.hpp:57
Definition: ByteBuffer.hpp:78
Definition: NetworkPacket.hpp:43
NetworkPacket(uint16_t packet_id, std::shared_ptr< CharSession > s)
Definition: NetworkPacket.hpp:45
Definition: CharSession.hpp:67
Main object for the aegis packet: HC_ACCEPT_DELETECHAR.
Definition: TransmittedPackets.hpp:82
void deliver()
HC_ACCEPT_DELETECHAR.
Definition: TransmittedPackets.cpp:55
HC_ACCEPT_DELETECHAR(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:84
virtual ~HC_ACCEPT_DELETECHAR()
Definition: TransmittedPackets.hpp:87
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:61
Main object for the aegis packet: HC_ACCEPT_ENTER2.
Definition: TransmittedPackets.hpp:163
uint8_t _total_slots
Definition: TransmittedPackets.hpp:175
uint8_t _unknown_bytes[20]
Definition: TransmittedPackets.hpp:180
uint8_t _premium_slots
Definition: TransmittedPackets.hpp:176
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:473
void deliver(uint8_t total_slots, uint8_t premium_slots)
HC_ACCEPT_ENTER2.
Definition: TransmittedPackets.cpp:464
uint8_t _char_slots_1
Definition: TransmittedPackets.hpp:178
uint8_t _char_slots_2
Definition: TransmittedPackets.hpp:179
uint16_t _packet_length
Definition: TransmittedPackets.hpp:174
HC_ACCEPT_ENTER2(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:165
uint8_t _unknown_byte
Definition: TransmittedPackets.hpp:177
virtual ~HC_ACCEPT_ENTER2()
Definition: TransmittedPackets.hpp:168
Main object for the aegis packet: HC_ACCEPT_ENTER.
Definition: TransmittedPackets.hpp:120
uint8_t _total_premium_slots
Definition: TransmittedPackets.hpp:137
uint8_t _max_char_slots
Definition: TransmittedPackets.hpp:134
void deliver()
Definition: TransmittedPackets.cpp:206
uint8_t _permitted_slots
Definition: TransmittedPackets.hpp:135
virtual ~HC_ACCEPT_ENTER()
Definition: TransmittedPackets.hpp:125
uint8_t _unknown_bytes[20]
20 Unknown bytes.
Definition: TransmittedPackets.hpp:139
std::vector< s_hc_character_list_data > _characters
Definition: TransmittedPackets.hpp:141
uint16_t _packet_length
Definition: TransmittedPackets.hpp:132
bool prepare(uint32_t account_id, uint8_t max_char_slots, uint8_t permitted_slots, uint8_t total_premium_slots)
HC_ACCEPT_ENTER.
Definition: TransmittedPackets.cpp:69
HC_ACCEPT_ENTER(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:122
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:211
Main object for the aegis packet: HC_ACCEPT_MAKECHAR.
Definition: TransmittedPackets.hpp:211
s_hc_character_list_data _c
Definition: TransmittedPackets.hpp:222
HC_ACCEPT_MAKECHAR(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:213
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:243
virtual ~HC_ACCEPT_MAKECHAR()
Definition: TransmittedPackets.hpp:216
void deliver(uint32_t char_id, uint32_t start_zeny, std::string map_name, std::string name, uint8_t slot, uint32_t hair_color, uint32_t hair_style, uint32_t job_class, uint8_t gender)
HC_ACCEPT_MAKECHAR.
Definition: TransmittedPackets.cpp:218
Main object for the aegis packet: HC_ACCOUNT_ID.
Definition: TransmittedPackets.hpp:44
int32_t _account_id
Definition: TransmittedPackets.hpp:55
virtual ~HC_ACCOUNT_ID()
Definition: TransmittedPackets.hpp:49
HC_ACCOUNT_ID(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:46
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:46
void deliver(int32_t account_id)
HC_ACCOUNT_ID.
Definition: TransmittedPackets.cpp:39
Main object for the aegis packet: HC_ACK_CHANGE_CHARACTER_SLOT.
Definition: TransmittedPackets.hpp:244
void deliver()
HC_ACK_CHANGE_CHARACTER_SLOT.
Definition: TransmittedPackets.cpp:619
virtual ~HC_ACK_CHANGE_CHARACTER_SLOT()
Definition: TransmittedPackets.hpp:249
HC_ACK_CHANGE_CHARACTER_SLOT(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:246
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:620
Main object for the aegis packet: HC_ACK_CHANGE_CHARNAME.
Definition: TransmittedPackets.hpp:282
HC_ACK_CHANGE_CHARNAME(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:284
void deliver()
HC_ACK_CHANGE_CHARNAME.
Definition: TransmittedPackets.cpp:340
virtual ~HC_ACK_CHANGE_CHARNAME()
Definition: TransmittedPackets.hpp:287
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:341
Main object for the aegis packet: HC_ACK_CHARINFO_PER_PAGE.
Definition: TransmittedPackets.hpp:317
int32_t prepare(bool empty=false)
HC_ACK_CHARINFO_PER_PAGE.
Definition: TransmittedPackets.cpp:627
uint16_t _packet_length
Definition: TransmittedPackets.hpp:329
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:753
void deliver()
Definition: TransmittedPackets.cpp:748
virtual ~HC_ACK_CHARINFO_PER_PAGE()
Definition: TransmittedPackets.hpp:322
std::vector< s_hc_character_list_data > _characters
Definition: TransmittedPackets.hpp:330
HC_ACK_CHARINFO_PER_PAGE(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:319
Main object for the aegis packet: HC_ACK_IS_VALID_CHARNAME.
Definition: TransmittedPackets.hpp:358
void deliver()
HC_ACK_IS_VALID_CHARNAME.
Definition: TransmittedPackets.cpp:348
virtual ~HC_ACK_IS_VALID_CHARNAME()
Definition: TransmittedPackets.hpp:363
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:349
HC_ACK_IS_VALID_CHARNAME(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:360
Main object for the aegis packet: HC_AVAILABLE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:390
virtual ~HC_AVAILABLE_SECOND_PASSWD()
Definition: TransmittedPackets.hpp:395
HC_AVAILABLE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:392
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:612
void deliver()
HC_AVAILABLE_SECOND_PASSWD.
Definition: TransmittedPackets.cpp:611
Main object for the aegis packet: HC_BLOCK_CHARACTER.
Definition: TransmittedPackets.hpp:428
virtual ~HC_BLOCK_CHARACTER()
Definition: TransmittedPackets.hpp:433
void deliver()
HC_BLOCK_CHARACTER.
Definition: TransmittedPackets.cpp:252
HC_BLOCK_CHARACTER(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:430
uint16_t _packet_length
Definition: TransmittedPackets.hpp:439
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:253
Main object for the aegis packet: HC_CHARACTER_LIST.
Definition: TransmittedPackets.hpp:464
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:373
virtual ~HC_CHARACTER_LIST()
Definition: TransmittedPackets.hpp:469
void deliver()
HC_CHARACTER_LIST.
Definition: TransmittedPackets.cpp:372
HC_CHARACTER_LIST(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:466
Main object for the aegis packet: HC_CHARLIST_NOTIFY.
Definition: TransmittedPackets.hpp:496
virtual ~HC_CHARLIST_NOTIFY()
Definition: TransmittedPackets.hpp:501
void deliver()
HC_CHARLIST_NOTIFY.
Definition: TransmittedPackets.cpp:768
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:769
HC_CHARLIST_NOTIFY(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:498
Main object for the aegis packet: HC_CHARNOTBEENSELECTED.
Definition: TransmittedPackets.hpp:534
HC_CHARNOTBEENSELECTED(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:536
void deliver()
HC_CHARNOTBEENSELECTED.
Definition: TransmittedPackets.cpp:356
virtual ~HC_CHARNOTBEENSELECTED()
Definition: TransmittedPackets.hpp:539
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:357
Main object for the aegis packet: HC_CHECKBOT_RESULT.
Definition: TransmittedPackets.hpp:598
void deliver()
HC_CHECKBOT_RESULT.
Definition: TransmittedPackets.cpp:388
virtual ~HC_CHECKBOT_RESULT()
Definition: TransmittedPackets.hpp:603
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:389
HC_CHECKBOT_RESULT(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:600
Main object for the aegis packet: HC_CHECKBOT.
Definition: TransmittedPackets.hpp:566
void deliver()
HC_CHECKBOT.
Definition: TransmittedPackets.cpp:380
virtual ~HC_CHECKBOT()
Definition: TransmittedPackets.hpp:571
HC_CHECKBOT(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:568
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:381
Main object for the aegis packet: HC_DELETE_CHAR3_CANCEL.
Definition: TransmittedPackets.hpp:668
void deliver(uint32_t char_id, hc_delete_cancel_result result)
HC_DELETE_CHAR3_CANCEL.
Definition: TransmittedPackets.cpp:445
HC_DELETE_CHAR3_CANCEL(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:670
hc_delete_cancel_result _result
Definition: TransmittedPackets.hpp:680
uint32_t _character_id
Definition: TransmittedPackets.hpp:679
virtual ~HC_DELETE_CHAR3_CANCEL()
Definition: TransmittedPackets.hpp:673
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:454
Main object for the aegis packet: HC_DELETE_CHAR3_RESERVED.
Definition: TransmittedPackets.hpp:702
uint32_t _character_id
Definition: TransmittedPackets.hpp:713
uint32_t _deletion_date
Definition: TransmittedPackets.hpp:715
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:425
void deliver(uint32_t char_id, character_delete_result res, uint32_t date)
HC_DELETE_CHAR3_RESERVED.
Definition: TransmittedPackets.cpp:415
HC_DELETE_CHAR3_RESERVED(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:704
character_delete_result _result
Definition: TransmittedPackets.hpp:714
virtual ~HC_DELETE_CHAR3_RESERVED()
Definition: TransmittedPackets.hpp:707
Main object for the aegis packet: HC_DELETE_CHAR3.
Definition: TransmittedPackets.hpp:630
character_delete_accept_result _result
Definition: TransmittedPackets.hpp:642
uint32_t _character_id
Definition: TransmittedPackets.hpp:641
HC_DELETE_CHAR3(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:632
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:405
void deliver(uint32_t char_id, character_delete_accept_result result)
HC_DELETE_CHAR3.
Definition: TransmittedPackets.cpp:396
virtual ~HC_DELETE_CHAR3()
Definition: TransmittedPackets.hpp:635
Main object for the aegis packet: HC_DELETE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:737
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:604
HC_DELETE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:739
virtual ~HC_DELETE_SECOND_PASSWD()
Definition: TransmittedPackets.hpp:742
void deliver()
HC_DELETE_SECOND_PASSWD.
Definition: TransmittedPackets.cpp:603
Main object for the aegis packet: HC_EDIT_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:775
HC_EDIT_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:777
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:526
pincode_edit_response _state
Definition: TransmittedPackets.hpp:786
virtual ~HC_EDIT_SECOND_PASSWD()
Definition: TransmittedPackets.hpp:780
uint32_t _seed
Definition: TransmittedPackets.hpp:787
void deliver(pincode_edit_response state)
HC_EDIT_SECOND_PASSWD.
Definition: TransmittedPackets.cpp:514
Main object for the aegis packet: HC_MAKE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:815
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:545
HC_MAKE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:817
pincode_make_response _state
Definition: TransmittedPackets.hpp:826
virtual ~HC_MAKE_SECOND_PASSWD()
Definition: TransmittedPackets.hpp:820
void deliver(pincode_make_response state)
HC_MAKE_SECOND_PASSWD.
Definition: TransmittedPackets.cpp:536
uint32_t _seed
Definition: TransmittedPackets.hpp:827
Main object for the aegis packet: HC_NOTIFY_ACCESSIBLE_MAPNAME.
Definition: TransmittedPackets.hpp:849
virtual ~HC_NOTIFY_ACCESSIBLE_MAPNAME()
Definition: TransmittedPackets.hpp:854
void deliver()
HC_NOTIFY_ACCESSIBLE_MAPNAME.
Definition: TransmittedPackets.cpp:437
HC_NOTIFY_ACCESSIBLE_MAPNAME(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:851
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:438
Main object for the aegis packet: HC_NOTIFY_ZONESVR.
Definition: TransmittedPackets.hpp:896
virtual ~HC_NOTIFY_ZONESVR()
Definition: TransmittedPackets.hpp:901
uint32_t _char_id
Definition: TransmittedPackets.hpp:907
HC_NOTIFY_ZONESVR(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:898
char _map_name[MAP_NAME_LENGTH_EXT]
Definition: TransmittedPackets.hpp:908
uint16_t _port
Definition: TransmittedPackets.hpp:910
uint32_t _ip_address
Definition: TransmittedPackets.hpp:909
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:271
void deliver(uint32_t char_id, std::string map_name, uint32_t ip_address, uint16_t port)
HC_NOTIFY_ZONESVR.
Definition: TransmittedPackets.cpp:260
Main object for the aegis packet: HC_NOT_AVAILABLE_SECOND_PASSWD.
Definition: TransmittedPackets.hpp:932
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:557
HC_NOT_AVAILABLE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:934
void deliver()
HC_NOT_AVAILABLE_SECOND_PASSWD.
Definition: TransmittedPackets.cpp:556
virtual ~HC_NOT_AVAILABLE_SECOND_PASSWD()
Definition: TransmittedPackets.hpp:937
Main object for the aegis packet: HC_QUEUE_ORDER.
Definition: TransmittedPackets.hpp:964
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:761
void deliver()
HC_QUEUE_ORDER.
Definition: TransmittedPackets.cpp:760
HC_QUEUE_ORDER(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:966
virtual ~HC_QUEUE_ORDER()
Definition: TransmittedPackets.hpp:969
Main object for the aegis packet: HC_REFUSE_DELETECHAR.
Definition: TransmittedPackets.hpp:1002
HC_REFUSE_DELETECHAR(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1004
virtual ~HC_REFUSE_DELETECHAR()
Definition: TransmittedPackets.hpp:1007
void deliver()
HC_REFUSE_DELETECHAR.
Definition: TransmittedPackets.cpp:283
uint8_t _error
Definition: TransmittedPackets.hpp:1013
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:289
Main object for the aegis packet: HC_REFUSE_ENTER.
Definition: TransmittedPackets.hpp:1045
HC_REFUSE_ENTER(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1047
virtual ~HC_REFUSE_ENTER()
Definition: TransmittedPackets.hpp:1050
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:306
hc_char_connect_error_type _error
Definition: TransmittedPackets.hpp:1056
void deliver(hc_char_connect_error_type error)
HC_REFUSE_ENTER.
Definition: TransmittedPackets.cpp:298
Main object for the aegis packet: HC_REFUSE_MAKECHAR.
Definition: TransmittedPackets.hpp:1091
void deliver(hc_char_create_error_type error)
HC_REFUSE_MAKECHAR.
Definition: TransmittedPackets.cpp:315
hc_char_create_error_type _error
Definition: TransmittedPackets.hpp:1102
virtual ~HC_REFUSE_MAKECHAR()
Definition: TransmittedPackets.hpp:1096
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:323
HC_REFUSE_MAKECHAR(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1093
Main object for the aegis packet: HC_REFUSE_SELECTCHAR.
Definition: TransmittedPackets.hpp:1130
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:365
HC_REFUSE_SELECTCHAR(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1132
void deliver()
HC_REFUSE_SELECTCHAR.
Definition: TransmittedPackets.cpp:364
virtual ~HC_REFUSE_SELECTCHAR()
Definition: TransmittedPackets.hpp:1135
Main object for the aegis packet: HC_REQUEST_CHARACTER_PASSWORD.
Definition: TransmittedPackets.hpp:1168
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:333
void deliver()
HC_REQUEST_CHARACTER_PASSWORD.
Definition: TransmittedPackets.cpp:332
HC_REQUEST_CHARACTER_PASSWORD(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1170
virtual ~HC_REQUEST_CHARACTER_PASSWORD()
Definition: TransmittedPackets.hpp:1173
Main object for the aegis packet: HC_SECOND_PASSWD_LOGIN.
Definition: TransmittedPackets.hpp:1234
uint32_t _account_id
Definition: TransmittedPackets.hpp:1252
hc_pincode_state_type _state
Definition: TransmittedPackets.hpp:1253
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:586
HC_SECOND_PASSWD_LOGIN(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1236
void deliver(hc_pincode_state_type state)
HC_SECOND_PASSWD_LOGIN.
Definition: TransmittedPackets.cpp:564
hc_pincode_login_response2 _state2
Definition: TransmittedPackets.hpp:1257
uint32_t _pincode_seed
Definition: TransmittedPackets.hpp:1251
virtual ~HC_SECOND_PASSWD_LOGIN()
Definition: TransmittedPackets.hpp:1239
Main object for the aegis packet: HC_SECOND_PASSWD_REQ.
Definition: TransmittedPackets.hpp:1277
void deliver()
HC_SECOND_PASSWD_REQ.
Definition: TransmittedPackets.cpp:506
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:507
HC_SECOND_PASSWD_REQ(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1279
virtual ~HC_SECOND_PASSWD_REQ()
Definition: TransmittedPackets.hpp:1282
Main object for the aegis packet: HC_SECRETSCAN_DATA.
Definition: TransmittedPackets.hpp:1309
void deliver()
HC_SECRETSCAN_DATA.
Definition: TransmittedPackets.cpp:776
virtual ~HC_SECRETSCAN_DATA()
Definition: TransmittedPackets.hpp:1314
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:777
HC_SECRETSCAN_DATA(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1311
Main object for the aegis packet: HC_UPDATE_CHARINFO.
Definition: TransmittedPackets.hpp:1341
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:499
void deliver()
HC_UPDATE_CHARINFO.
Definition: TransmittedPackets.cpp:498
virtual ~HC_UPDATE_CHARINFO()
Definition: TransmittedPackets.hpp:1346
HC_UPDATE_CHARINFO(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1343
Main object for the aegis packet: HC_WAITING_LOGIN.
Definition: TransmittedPackets.hpp:1373
virtual ~HC_WAITING_LOGIN()
Definition: TransmittedPackets.hpp:1378
void deliver()
HC_WAITING_LOGIN.
Definition: TransmittedPackets.cpp:490
HC_WAITING_LOGIN(std::shared_ptr< CharSession > s)
Definition: TransmittedPackets.hpp:1375
ByteBuffer & serialize()
Definition: TransmittedPackets.cpp:491
@ ID_HC_EDIT_SECOND_PASSWD
Definition: TransmittedPackets.hpp:753
pincode_make_response
Definition: TransmittedPackets.hpp:789
@ PINCODE_MAKE_DUPLICATED
Definition: TransmittedPackets.hpp:791
@ PINCODE_MAKE_SUCCESS
Definition: TransmittedPackets.hpp:790
@ PINCODE_MAKE_PERSONALNUM_PW
Definition: TransmittedPackets.hpp:793
@ PINCODE_MAKE_RESTRICT_PW
Definition: TransmittedPackets.hpp:792
@ PINCODE_MAKE_FAILED
Definition: TransmittedPackets.hpp:794
@ ID_HC_AVAILABLE_SECOND_PASSWD
Definition: TransmittedPackets.hpp:374
@ ID_HC_CHECKBOT_RESULT
Definition: TransmittedPackets.hpp:582
@ ID_HC_ACCEPT_DELETECHAR
Definition: TransmittedPackets.hpp:63
@ ID_HC_ACCEPT_ENTER2
Definition: TransmittedPackets.hpp:147
@ ID_HC_ACK_CHANGE_CHARNAME
Definition: TransmittedPackets.hpp:263
@ ID_HC_SECRETSCAN_DATA
Definition: TransmittedPackets.hpp:1293
@ ID_HC_MAKE_SECOND_PASSWD
Definition: TransmittedPackets.hpp:799
@ ID_HC_NOT_AVAILABLE_SECOND_PASSWD
Definition: TransmittedPackets.hpp:916
@ ID_HC_DELETE_SECOND_PASSWD
Definition: TransmittedPackets.hpp:721
hc_char_connect_error_type
Definition: TransmittedPackets.hpp:1037
@ CHAR_ERR_REJECTED_FROM_SERVER
Definition: TransmittedPackets.hpp:1038
hc_delete_cancel_result
Definition: TransmittedPackets.hpp:645
@ CHAR3_DEL_CANCEL_FAILURE
Definition: TransmittedPackets.hpp:647
@ CHAR3_DEL_CANCEL_SUCCESS
Definition: TransmittedPackets.hpp:646
@ ID_HC_BLOCK_CHARACTER
Definition: TransmittedPackets.hpp:409
@ ID_HC_QUEUE_ORDER
Definition: TransmittedPackets.hpp:948
hc_pincode_login_response2
Definition: TransmittedPackets.hpp:1222
@ PINCODE_LOGIN_FLAG_CORRECT
Definition: TransmittedPackets.hpp:1224
@ PINCODE_LOGIN_FLAG_LOCKED
Definition: TransmittedPackets.hpp:1223
@ PINCODE_LOGIN_FLAG_WRONG
Definition: TransmittedPackets.hpp:1225
@ ID_HC_ACCEPT_MAKECHAR
Definition: TransmittedPackets.hpp:192
@ ID_HC_UPDATE_CHARINFO
Definition: TransmittedPackets.hpp:1325
@ ID_HC_SECOND_PASSWD_REQ
Definition: TransmittedPackets.hpp:1264
pincode_edit_response
Definition: TransmittedPackets.hpp:764
@ PINCODE_EDIT_PERSONALNUM_PW
Definition: TransmittedPackets.hpp:768
@ PINCODE_EDIT_SUCCESS
Definition: TransmittedPackets.hpp:765
@ PINCODE_EDIT_RESTRICT_PW
Definition: TransmittedPackets.hpp:767
@ PINCODE_EDIT_FAILED
Definition: TransmittedPackets.hpp:766
@ ID_HC_DELETE_CHAR3
Definition: TransmittedPackets.hpp:614
@ ID_HC_CHECKBOT
Definition: TransmittedPackets.hpp:550
@ ID_HC_CHARLIST_NOTIFY
Definition: TransmittedPackets.hpp:480
@ ID_HC_DELETE_CHAR3_CANCEL
Definition: TransmittedPackets.hpp:652
@ ID_HC_NOTIFY_ACCESSIBLE_MAPNAME
Definition: TransmittedPackets.hpp:833
@ ID_HC_ACK_IS_VALID_CHARNAME
Definition: TransmittedPackets.hpp:339
@ ID_HC_REFUSE_ENTER
Definition: TransmittedPackets.hpp:1022
@ ID_HC_NOTIFY_ZONESVR
Definition: TransmittedPackets.hpp:868
@ ID_HC_CHARNOTBEENSELECTED
Definition: TransmittedPackets.hpp:515
hc_pincode_state_type
Definition: TransmittedPackets.hpp:1207
@ PINCODE_REQUEST_CHANGE
Definition: TransmittedPackets.hpp:1211
@ PINCODE_REQUEST_NEW_2
Definition: TransmittedPackets.hpp:1212
@ PINCODE_INCORRECT
Definition: TransmittedPackets.hpp:1216
@ PINCODE_LOGIN_RESTRICT
Definition: TransmittedPackets.hpp:1213
@ PINCODE_SHOW_BUTTON
Definition: TransmittedPackets.hpp:1215
@ PINCODE_CORRECT
Definition: TransmittedPackets.hpp:1208
@ PINCODE_REQUEST_PIN
Definition: TransmittedPackets.hpp:1209
@ PINCODE_LOGIN_UNUSED
Definition: TransmittedPackets.hpp:1214
@ PINCODE_REQUEST_NEW
Definition: TransmittedPackets.hpp:1210
@ ID_HC_REQUEST_CHARACTER_PASSWORD
Definition: TransmittedPackets.hpp:1149
@ ID_HC_REFUSE_SELECTCHAR
Definition: TransmittedPackets.hpp:1111
@ ID_HC_DELETE_CHAR3_RESERVED
Definition: TransmittedPackets.hpp:686
@ ID_HC_ACK_CHANGE_CHARACTER_SLOT
Definition: TransmittedPackets.hpp:228
hc_char_create_error_type
Definition: TransmittedPackets.hpp:1059
@ HC_CREATE_ERROR_UNDERAGE
Definition: TransmittedPackets.hpp:1062
@ HC_CREATE_ERROR_DENIED
Definition: TransmittedPackets.hpp:1061
@ HC_CREATE_ERROR_CHAR_SLOT
Definition: TransmittedPackets.hpp:1064
@ HC_CREATE_ERROR_SYMBOLS
Definition: TransmittedPackets.hpp:1063
@ HC_CREATE_ERROR_ALREADY_EXISTS
Definition: TransmittedPackets.hpp:1060
@ ID_HC_WAITING_LOGIN
Definition: TransmittedPackets.hpp:1357
@ ID_HC_ACCEPT_ENTER
Definition: TransmittedPackets.hpp:101
@ ID_HC_SECOND_PASSWD_LOGIN
Definition: TransmittedPackets.hpp:1184
@ ID_HC_REFUSE_DELETECHAR
Definition: TransmittedPackets.hpp:983
@ ID_HC_ACK_CHARINFO_PER_PAGE
Definition: TransmittedPackets.hpp:301
@ ID_HC_CHARACTER_LIST
Definition: TransmittedPackets.hpp:445
@ ID_HC_REFUSE_MAKECHAR
Definition: TransmittedPackets.hpp:1072
Definition: Element.hpp:7
Definition: Client.hpp:52