Horizon Official Technical Documentation
HandledPackets.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_HANDLED_PACKETS_HPP
29#define HORIZON_CHAR_HANDLED_PACKETS_HPP
30
33
34namespace Horizon
35{
36namespace Char
37{
38class CharSession;
39enum {
40#if CLIENT_TYPE == 'M' && \
41 PACKET_VERSION >= 20111101
43#elif CLIENT_TYPE == 'R' && \
44 PACKET_VERSION >= 20111101
46#elif CLIENT_TYPE == 'Z' && \
47 PACKET_VERSION >= 20170000
49#else
50ID_CH_ACK_CHANGE_CHARACTERNAME = 0x0000 // Disabled
51#endif
52};
58{
59public:
60 CH_ACK_CHANGE_CHARACTERNAME(std::shared_ptr<CharSession> s)
62 {}
64
65 void handle(ByteBuffer &&buf);
67
68/* Structure */
69};
70
71enum {
72#if CLIENT_TYPE == 'M' && \
73 PACKET_VERSION >= 20110308
75#elif CLIENT_TYPE == 'R' && \
76 PACKET_VERSION >= 20110308
78#elif CLIENT_TYPE == 'Z' && \
79 PACKET_VERSION >= 20170000
81#else
82ID_CH_AVAILABLE_SECOND_PASSWD = 0x0000 // Disabled
83#endif
84};
90{
91public:
92 CH_AVAILABLE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
94 {}
96
97 void handle(ByteBuffer &&buf);
99
100/* Structure */
101};
102
103enum {
104#if CLIENT_TYPE == 'M' && \
105 PACKET_VERSION >= 20121212
106ID_CH_CHARLIST_REQ = 0x09a1
107#elif CLIENT_TYPE == 'R' && \
108 PACKET_VERSION >= 20121212
109ID_CH_CHARLIST_REQ = 0x09a1
110#elif CLIENT_TYPE == 'Z' && \
111 PACKET_VERSION >= 20170000
112ID_CH_CHARLIST_REQ = 0x09a1
113#else
114ID_CH_CHARLIST_REQ = 0x0000 // Disabled
115#endif
121class CH_CHARLIST_REQ : public Base::NetworkPacket<CharSession>
122{
123public:
124 CH_CHARLIST_REQ(std::shared_ptr<CharSession> s)
126 {}
127 virtual ~CH_CHARLIST_REQ() {}
128
129 void handle(ByteBuffer &&buf);
131
132/* Structure */
133};
134
135enum {
136#if CLIENT_TYPE == 'M' && \
137 PACKET_VERSION >= 20090922
138ID_CH_CHECKBOT = 0x07e7
139#elif CLIENT_TYPE == 'R' && \
140 PACKET_VERSION >= 20090922
141ID_CH_CHECKBOT = 0x07e7
142#elif CLIENT_TYPE == 'Z' && \
143 PACKET_VERSION >= 20170000
144ID_CH_CHECKBOT = 0x07e7
145#else
146ID_CH_CHECKBOT = 0x0000 // Disabled
147#endif
153class CH_CHECKBOT : public Base::NetworkPacket<CharSession>
154{
155public:
156 CH_CHECKBOT(std::shared_ptr<CharSession> s)
158 {}
159 virtual ~CH_CHECKBOT() {}
160
161 void handle(ByteBuffer &&buf);
163
164/* Structure */
165};
166
167enum {
168#if CLIENT_TYPE == 'A' && \
169 PACKET_VERSION >= 20040000
170ID_CH_DELETE_CHAR = 0x0068
171#elif CLIENT_TYPE == 'M' && \
172 PACKET_VERSION >= 20030000
173ID_CH_DELETE_CHAR = 0x0068
174#elif CLIENT_TYPE == 'R' && \
175 PACKET_VERSION >= 20080000
176ID_CH_DELETE_CHAR = 0x0068
177#elif CLIENT_TYPE == 'S' && \
178 PACKET_VERSION >= 20030000
179ID_CH_DELETE_CHAR = 0x0068
180#elif CLIENT_TYPE == 'Z' && \
181 PACKET_VERSION >= 20170000
182ID_CH_DELETE_CHAR = 0x0068
183#else
184ID_CH_DELETE_CHAR = 0x0000 // Disabled
185#endif
191class CH_DELETE_CHAR : public Base::NetworkPacket<CharSession>
192{
193public:
194 CH_DELETE_CHAR(std::shared_ptr<CharSession> s)
196 {}
197 virtual ~CH_DELETE_CHAR() {}
198
199 void handle(ByteBuffer &&buf);
201
202/* Structure */
203 uint32_t _character_id{ 0 };
205};
206
207enum {
208#if CLIENT_TYPE == 'A' && \
209 PACKET_VERSION >= 20040000
210ID_CH_DELETE_CHAR2 = 0x01fb
211#elif CLIENT_TYPE == 'M' && \
212 PACKET_VERSION >= 20040419
213ID_CH_DELETE_CHAR2 = 0x01fb
214#elif CLIENT_TYPE == 'R' && \
215 PACKET_VERSION >= 20080000
216ID_CH_DELETE_CHAR2 = 0x01fb
217#elif CLIENT_TYPE == 'S' && \
218 PACKET_VERSION >= 20040419
219ID_CH_DELETE_CHAR2 = 0x01fb
220#elif CLIENT_TYPE == 'Z' && \
221 PACKET_VERSION >= 20170000
222ID_CH_DELETE_CHAR2 = 0x01fb
223#else
224ID_CH_DELETE_CHAR2 = 0x0000 // Disabled
225#endif
231class CH_DELETE_CHAR2 : public Base::NetworkPacket<CharSession>
232{
233public:
234 CH_DELETE_CHAR2(std::shared_ptr<CharSession> s)
236 {}
237 virtual ~CH_DELETE_CHAR2() {}
238
239 void handle(ByteBuffer &&buf);
241
242/* Structure */
243 uint32_t _character_id{ 0 };
245};
246
247enum {
248#if CLIENT_TYPE == 'M' && \
249 PACKET_VERSION >= 20100728
250ID_CH_DELETE_CHAR3 = 0x0829
251#elif CLIENT_TYPE == 'R' && \
252 PACKET_VERSION >= 20100728
253ID_CH_DELETE_CHAR3 = 0x0829
254#elif CLIENT_TYPE == 'Z' && \
255 PACKET_VERSION >= 20170000
256ID_CH_DELETE_CHAR3 = 0x0829
257#else
258ID_CH_DELETE_CHAR3 = 0x0000 // Disabled
259#endif
265class CH_DELETE_CHAR3 : public Base::NetworkPacket<CharSession>
266{
267public:
268 CH_DELETE_CHAR3(std::shared_ptr<CharSession> s)
270 {}
271 virtual ~CH_DELETE_CHAR3() {}
272
273 void handle(ByteBuffer &&buf);
275
276/* Structure */
277 uint32_t _character_id{ 0 };
279};
280
281enum {
282#if CLIENT_TYPE == 'M' && \
283 PACKET_VERSION >= 20100713
285#elif CLIENT_TYPE == 'R' && \
286 PACKET_VERSION >= 20100713
288#elif CLIENT_TYPE == 'Z' && \
289 PACKET_VERSION >= 20170000
291#else
292ID_CH_DELETE_CHAR3_CANCEL = 0x0000 // Disabled
293#endif
300{
301public:
302 CH_DELETE_CHAR3_CANCEL(std::shared_ptr<CharSession> s)
304 {}
306
307 void handle(ByteBuffer &&buf);
309
310/* Structure */
311 uint32_t _character_id{ 0 };
312};
313
314enum {
315#if CLIENT_TYPE == 'M' && \
316 PACKET_VERSION >= 20120724
318#elif CLIENT_TYPE == 'R' && \
319 PACKET_VERSION >= 20120724
321#elif CLIENT_TYPE == 'Z' && \
322 PACKET_VERSION >= 20170000
324#else
325ID_CH_DELETE_CHAR3_EXT = 0x0000 // Disabled
326#endif
332class CH_DELETE_CHAR3_EXT : public Base::NetworkPacket<CharSession>
333{
334public:
335 CH_DELETE_CHAR3_EXT(std::shared_ptr<CharSession> s)
337 {}
339
340 void handle(ByteBuffer &&buf);
342
343/* Structure */
344};
345
346enum {
347#if CLIENT_TYPE == 'M' && \
348 PACKET_VERSION >= 20100713
350#elif CLIENT_TYPE == 'R' && \
351 PACKET_VERSION >= 20100713
353#elif CLIENT_TYPE == 'Z' && \
354 PACKET_VERSION >= 20170000
356#else
357ID_CH_DELETE_CHAR3_RESERVED = 0x0000 // Disabled
358#endif
365{
366public:
367 CH_DELETE_CHAR3_RESERVED(std::shared_ptr<CharSession> s)
369 {}
371
372 void handle(ByteBuffer &&buf);
374
375/* Structure */
376 uint32_t _character_id{ 0 };
377};
378
379enum {
380#if CLIENT_TYPE == 'M' && \
381 PACKET_VERSION >= 20110308
383#elif CLIENT_TYPE == 'R' && \
384 PACKET_VERSION >= 20110308
386#elif CLIENT_TYPE == 'Z' && \
387 PACKET_VERSION >= 20170000
389#else
390ID_CH_DELETE_SECOND_PASSWD = 0x0000 // Disabled
391#endif
398{
399public:
400 CH_DELETE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
402 {}
404
405 void handle(ByteBuffer &&buf);
407
408/* Structure */
409};
410
411enum {
412#if CLIENT_TYPE == 'M' && \
413 PACKET_VERSION >= 20110308
415#elif CLIENT_TYPE == 'R' && \
416 PACKET_VERSION >= 20110308
418#elif CLIENT_TYPE == 'Z' && \
419 PACKET_VERSION >= 20170000
421#else
422ID_CH_EDIT_SECOND_PASSWD = 0x0000 // Disabled
423#endif
430{
431public:
432 CH_EDIT_SECOND_PASSWD(std::shared_ptr<CharSession> s)
434 {}
436
437 void handle(ByteBuffer &&buf);
439
440/* Structure */
441 uint32_t _account_id;
443};
444
445enum {
446#if CLIENT_TYPE == 'A' && \
447 PACKET_VERSION >= 20040000
448ID_CH_ENTER = 0x0065
449#elif CLIENT_TYPE == 'M' && \
450 PACKET_VERSION >= 20030000
451ID_CH_ENTER = 0x0065
452#elif CLIENT_TYPE == 'R' && \
453 PACKET_VERSION >= 20080000
454ID_CH_ENTER = 0x0065
455#elif CLIENT_TYPE == 'S' && \
456 PACKET_VERSION >= 20030000
457ID_CH_ENTER = 0x0065
458#elif CLIENT_TYPE == 'Z' && \
459 PACKET_VERSION >= 20170000
460ID_CH_ENTER = 0x0065
461#else
462ID_CH_ENTER = 0x0000 // Disabled
463#endif
469class CH_ENTER : public Base::NetworkPacket<CharSession>
470{
471public:
472 CH_ENTER(std::shared_ptr<CharSession> s)
474 {}
475 virtual ~CH_ENTER() {}
476
477 void handle(ByteBuffer &&buf);
479
480/* Structure */
481 // 0065 <account id>.L <login id1>.L <login id2>.L <???>.W <sex>.B
482 uint32_t _account_id{ 0 };
483 uint32_t _auth_code{ 0 };
484 uint32_t _account_level{ 0 };
485 uint16_t _unknown{ 0 };
486 uint8_t _gender{ 0 };
487};
488
489enum {
490#if CLIENT_TYPE == 'M' && \
491 PACKET_VERSION >= 20090701
492ID_CH_ENTER2 = 0x0275
493#elif CLIENT_TYPE == 'R' && \
494 PACKET_VERSION >= 20090701
495ID_CH_ENTER2 = 0x0275
496#elif CLIENT_TYPE == 'Z' && \
497 PACKET_VERSION >= 20170000
498ID_CH_ENTER2 = 0x0275
499#else
500ID_CH_ENTER2 = 0x0000 // Disabled
501#endif
507class CH_ENTER2 : public Base::NetworkPacket<CharSession>
508{
509public:
510 CH_ENTER2(std::shared_ptr<CharSession> s)
512 {}
513 virtual ~CH_ENTER2() {}
514
515 void handle(ByteBuffer &&buf);
517
518/* Structure */
519};
520
521enum {
522#if CLIENT_TYPE == 'M' && \
523 PACKET_VERSION >= 20090922
525#elif CLIENT_TYPE == 'R' && \
526 PACKET_VERSION >= 20090922
528#elif CLIENT_TYPE == 'Z' && \
529 PACKET_VERSION >= 20170000
531#else
532ID_CH_ENTER_CHECKBOT = 0x0000 // Disabled
533#endif
539class CH_ENTER_CHECKBOT : public Base::NetworkPacket<CharSession>
540{
541public:
542 CH_ENTER_CHECKBOT(std::shared_ptr<CharSession> s)
544 {}
546
547 void handle(ByteBuffer &&buf);
549
550/* Structure */
551};
552
553enum {
554#if CLIENT_TYPE == 'A' && \
555 PACKET_VERSION >= 20040000
556ID_CH_MAKE_CHAR = 0x0067
557#elif CLIENT_TYPE == 'M' && \
558 PACKET_VERSION >= 20030000
559ID_CH_MAKE_CHAR = 0x0067
560#elif CLIENT_TYPE == 'M' && \
561 PACKET_VERSION >= 20150415
562ID_CH_MAKE_CHAR = 0x0a39
563#elif CLIENT_TYPE == 'R' && \
564 PACKET_VERSION >= 20150415
565 ID_CH_MAKE_CHAR = 0x0a39
566#elif CLIENT_TYPE == 'R' && \
567 PACKET_VERSION >= 20080000
568ID_CH_MAKE_CHAR = 0x0067
569#elif CLIENT_TYPE == 'S' && \
570 PACKET_VERSION >= 20030000
571ID_CH_MAKE_CHAR = 0x0067
572#elif CLIENT_TYPE == 'Z' && \
573 PACKET_VERSION >= 20170000
574ID_CH_MAKE_CHAR = 0x0a39
575#elif CLIENT_TYPE == 'Z' && \
576 PACKET_VERSION >= 20180000
577ID_CH_MAKE_CHAR = 0x0067
578#else
579ID_CH_MAKE_CHAR = 0x0000 // Disabled
580#endif
586class CH_MAKE_CHAR : public Base::NetworkPacket<CharSession>
587{
588public:
589 CH_MAKE_CHAR(std::shared_ptr<CharSession> s)
591 {}
592 virtual ~CH_MAKE_CHAR() {}
593
594 void handle(ByteBuffer &&buf);
596
597/* Structure */
598 // S 0a39 <name>.24B <slot>.B <hair color>.W <hair style>.W <starting job class ID>.W <Unknown>.(W or 2 B's)??? <sex>.B
600 uint8_t _slot{ 0 };
601 uint16_t _hair_color{ 0 };
602 uint16_t _hair_style{ 0 };
603#if PACKET_VERSION >= 20150415
604 uint16_t _job_id{ 0 };
605 char _unknown_bytes[2]{ 0 };
606 uint8_t _gender{ 0 };
607#endif
608};
609
610enum {
611#if CLIENT_TYPE == 'M' && \
612 PACKET_VERSION >= 20120214
614#elif CLIENT_TYPE == 'R' && \
615 PACKET_VERSION >= 20120214
617#elif CLIENT_TYPE == 'Z' && \
618 PACKET_VERSION >= 20170000
620#else
621ID_CH_MAKE_CHAR_NOT_STATS = 0x0000 // Disabled
622#endif
629{
630public:
631 CH_MAKE_CHAR_NOT_STATS(std::shared_ptr<CharSession> s)
633 {}
635
636 void handle(ByteBuffer &&buf);
638
639/* Structure */
640};
641
642enum {
643#if CLIENT_TYPE == 'M' && \
644 PACKET_VERSION >= 20110308
646#elif CLIENT_TYPE == 'R' && \
647 PACKET_VERSION >= 20110308
649#elif CLIENT_TYPE == 'Z' && \
650 PACKET_VERSION >= 20170000
652#else
653ID_CH_MAKE_SECOND_PASSWD = 0x0000 // Disabled
654#endif
661{
662public:
663 CH_MAKE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
665 {}
667
668 void handle(ByteBuffer &&buf);
670
671/* Structure */
672 uint32_t _account_id;
674};
675
676enum {
677#if CLIENT_TYPE == 'M' && \
678 PACKET_VERSION >= 20110308
680#elif CLIENT_TYPE == 'R' && \
681 PACKET_VERSION >= 20110308
683#elif CLIENT_TYPE == 'Z' && \
684 PACKET_VERSION >= 20170000
686#else
687ID_CH_NOT_AVAILABLE_SECOND_PASSWD = 0x0000 // Disabled
688#endif
695{
696public:
697 CH_NOT_AVAILABLE_SECOND_PASSWD(std::shared_ptr<CharSession> s)
699 {}
701
702 void handle(ByteBuffer &&buf);
704
705/* Structure */
706};
707
708enum {
709#if CLIENT_TYPE == 'M' && \
710 PACKET_VERSION >= 20111101
712#elif CLIENT_TYPE == 'R' && \
713 PACKET_VERSION >= 20111101
715#elif CLIENT_TYPE == 'Z' && \
716 PACKET_VERSION >= 20170000
718#else
719ID_CH_REQ_CHANGE_CHARACTERNAME = 0x0000 // Disabled
720#endif
727{
728public:
729 CH_REQ_CHANGE_CHARACTERNAME(std::shared_ptr<CharSession> s)
731 {}
733
734 void handle(ByteBuffer &&buf);
736
737/* Structure */
738};
739
740enum {
741#if CLIENT_TYPE == 'M' && \
742 PACKET_VERSION >= 20111101
744#elif CLIENT_TYPE == 'R' && \
745 PACKET_VERSION >= 20111101
747#elif CLIENT_TYPE == 'Z' && \
748 PACKET_VERSION >= 20170000
750#else
751ID_CH_REQ_CHANGE_CHARACTER_SLOT = 0x0000 // Disabled
752#endif
759{
760public:
761 CH_REQ_CHANGE_CHARACTER_SLOT(std::shared_ptr<CharSession> s)
763 {}
765
766 void handle(ByteBuffer &&buf);
768
769/* Structure */
770};
771
772enum {
773#if CLIENT_TYPE == 'A' && \
774 PACKET_VERSION >= 20061030
776#elif CLIENT_TYPE == 'M' && \
777 PACKET_VERSION >= 20061030
779#elif CLIENT_TYPE == 'R' && \
780 PACKET_VERSION >= 20080000
782#elif CLIENT_TYPE == 'S' && \
783 PACKET_VERSION >= 20061023
785#elif CLIENT_TYPE == 'Z' && \
786 PACKET_VERSION >= 20170000
788#else
789ID_CH_REQ_CHANGE_CHARNAME = 0x0000 // Disabled
790#endif
797{
798public:
799 CH_REQ_CHANGE_CHARNAME(std::shared_ptr<CharSession> s)
801 {}
803
804 void handle(ByteBuffer &&buf);
806
807/* Structure */
808};
809
810enum {
811#if CLIENT_TYPE == 'M' && \
812 PACKET_VERSION >= 20121024
814#elif CLIENT_TYPE == 'R' && \
815 PACKET_VERSION >= 20121024
817#elif CLIENT_TYPE == 'Z' && \
818 PACKET_VERSION >= 20170000
820#else
821ID_CH_REQ_CHARINFO_PER_PAGE = 0x0000 // Disabled
822#endif
829{
830public:
831 CH_REQ_CHARINFO_PER_PAGE(std::shared_ptr<CharSession> s)
833 {}
835
836 void handle(ByteBuffer &&buf);
838
839/* Structure */
840};
841
842enum {
843#if CLIENT_TYPE == 'A' && \
844 PACKET_VERSION >= 20061030
846#elif CLIENT_TYPE == 'M' && \
847 PACKET_VERSION >= 20061030
849#elif CLIENT_TYPE == 'R' && \
850 PACKET_VERSION >= 20080000
852#elif CLIENT_TYPE == 'S' && \
853 PACKET_VERSION >= 20061023
855#elif CLIENT_TYPE == 'Z' && \
856 PACKET_VERSION >= 20170000
858#else
859ID_CH_REQ_IS_VALID_CHARNAME = 0x0000 // Disabled
860#endif
867{
868public:
869 CH_REQ_IS_VALID_CHARNAME(std::shared_ptr<CharSession> s)
871 {}
873
874 void handle(ByteBuffer &&buf);
876
877/* Structure */
878};
879
880enum {
881#if CLIENT_TYPE == 'M' && \
882 PACKET_VERSION >= 20110308
884#elif CLIENT_TYPE == 'R' && \
885 PACKET_VERSION >= 20110308
887#elif CLIENT_TYPE == 'Z' && \
888 PACKET_VERSION >= 20170000
890#else
891ID_CH_SECOND_PASSWD_ACK = 0x0000 // Disabled
892#endif
898class CH_SECOND_PASSWD_ACK : public Base::NetworkPacket<CharSession>
899{
900public:
901 CH_SECOND_PASSWD_ACK(std::shared_ptr<CharSession> s)
903 {}
905
906 void handle(ByteBuffer &&buf);
908
909/* Structure */
910 uint32_t _account_id;
912};
913
914enum {
915#if CLIENT_TYPE == 'M' && \
916 PACKET_VERSION >= 20100714
918#elif CLIENT_TYPE == 'R' && \
919 PACKET_VERSION >= 20100714
921#elif CLIENT_TYPE == 'Z' && \
922 PACKET_VERSION >= 20170000
924#else
925ID_CH_SELECT_ACCESSIBLE_MAPNAME = 0x0000 // Disabled
926#endif
933{
934public:
935 CH_SELECT_ACCESSIBLE_MAPNAME(std::shared_ptr<CharSession> s)
937 {}
939
940 void handle(ByteBuffer &&buf);
942
943/* Structure */
944};
945
946enum {
947#if CLIENT_TYPE == 'A' && \
948 PACKET_VERSION >= 20040000
949ID_CH_SELECT_CHAR = 0x0066
950#elif CLIENT_TYPE == 'M' && \
951 PACKET_VERSION >= 20030000
952ID_CH_SELECT_CHAR = 0x0066
953#elif CLIENT_TYPE == 'R' && \
954 PACKET_VERSION >= 20080000
955ID_CH_SELECT_CHAR = 0x0066
956#elif CLIENT_TYPE == 'S' && \
957 PACKET_VERSION >= 20030000
958ID_CH_SELECT_CHAR = 0x0066
959#elif CLIENT_TYPE == 'Z' && \
960 PACKET_VERSION >= 20170000
961ID_CH_SELECT_CHAR = 0x0066
962#else
963ID_CH_SELECT_CHAR = 0x0000 // Disabled
964#endif
970class CH_SELECT_CHAR : public Base::NetworkPacket<CharSession>
971{
972public:
973 CH_SELECT_CHAR(std::shared_ptr<CharSession> s)
975 {}
976 virtual ~CH_SELECT_CHAR() {}
977
978 void handle(ByteBuffer &&buf);
980
981/* Structure */
982 int8_t _slot{ 0 };
983};
984
985enum {
986#if CLIENT_TYPE == 'A' && \
987 PACKET_VERSION >= 20061030
989#elif CLIENT_TYPE == 'M' && \
990 PACKET_VERSION >= 20061030
992#elif CLIENT_TYPE == 'R' && \
993 PACKET_VERSION >= 20080000
995#elif CLIENT_TYPE == 'S' && \
996 PACKET_VERSION >= 20061023
998#elif CLIENT_TYPE == 'Z' && \
999 PACKET_VERSION >= 20170000
1001#else
1002ID_CH_SELECT_CHAR_GOINGTOBEUSED = 0x0000 // Disabled
1003#endif
1010{
1011public:
1012 CH_SELECT_CHAR_GOINGTOBEUSED(std::shared_ptr<CharSession> s)
1014 {}
1016
1017 void handle(ByteBuffer &&buf);
1018 void deserialize(ByteBuffer &buf);
1019
1020/* Structure */
1021};
1022
1023enum {
1024#if CLIENT_TYPE == 'A' && \
1025 PACKET_VERSION >= 20040000
1026ID_CH_UNKNOWN_PING = 0x0187
1027#elif CLIENT_TYPE == 'M' && \
1028 PACKET_VERSION >= 20030000
1029ID_CH_UNKNOWN_PING = 0x0187
1030#elif CLIENT_TYPE == 'R' && \
1031 PACKET_VERSION >= 20080000
1032ID_CH_UNKNOWN_PING = 0x0187
1033#elif CLIENT_TYPE == 'S' && \
1034 PACKET_VERSION >= 20030000
1035ID_CH_UNKNOWN_PING = 0x0187
1036#elif CLIENT_TYPE == 'Z' && \
1037 PACKET_VERSION >= 20170000
1038ID_CH_UNKNOWN_PING = 0x0187
1039#else
1040ID_CH_UNKNOWN_PING = 0x0000 // Disabled
1041#endif
1047class CH_UNKNOWN_PING : public Base::NetworkPacket<CharSession>
1048{
1049public:
1050 CH_UNKNOWN_PING(std::shared_ptr<CharSession> s)
1052 {}
1053 virtual ~CH_UNKNOWN_PING() {}
1054
1055 void handle(ByteBuffer &&buf);
1056 void deserialize(ByteBuffer &buf);
1057
1058/* Structure */
1059 uint32_t _account_id{ 0 };
1060};
1061
1062enum {
1063#if CLIENT_TYPE == 'M' && \
1064 PACKET_VERSION >= 20110111
1065ID_CH_WAITING_LOGIN = 0x08b0
1066#elif CLIENT_TYPE == 'R' && \
1067 PACKET_VERSION >= 20110111
1068ID_CH_WAITING_LOGIN = 0x08b0
1069#elif CLIENT_TYPE == 'Z' && \
1070 PACKET_VERSION >= 20170000
1071ID_CH_WAITING_LOGIN = 0x08b0
1072#else
1073ID_CH_WAITING_LOGIN = 0x0000 // Disabled
1074#endif
1080class CH_WAITING_LOGIN : public Base::NetworkPacket<CharSession>
1081{
1082public:
1083 CH_WAITING_LOGIN(std::shared_ptr<CharSession> s)
1085 {}
1087
1088 void handle(ByteBuffer &&buf);
1089 void deserialize(ByteBuffer &buf);
1090
1091/* Structure */
1092};
1093
1094} /* namespace Char */
1095} /* namespace Horizon */
1096#endif /* HORIZON_CHAR_TRANSMITTED_PACKETS_HPP */
#define MAX_UNIT_NAME_LENGTH
Definition: Client.hpp:34
#define MAX_PINCODE_STRING_LENGTH
Definition: Client.hpp:42
#define CLIENT_MAX_EMAIL_LENGTH
Definition: Client.hpp:43
#define CLIENT_BIRTHDATE_STRING_LENGTH
Definition: Client.hpp:40
Definition: ByteBuffer.hpp:78
Definition: NetworkPacket.hpp:43
NetworkPacket(uint16_t packet_id, std::shared_ptr< CharSession > s)
Definition: NetworkPacket.hpp:45
ByteBuffer & buf()
Definition: NetworkPacket.hpp:59
Main object for the aegis packet: CH_ACK_CHANGE_CHARACTERNAME.
Definition: HandledPackets.hpp:58
virtual ~CH_ACK_CHANGE_CHARACTERNAME()
Definition: HandledPackets.hpp:63
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:217
void handle(ByteBuffer &&buf)
CH_ACK_CHANGE_CHARACTERNAME.
Definition: HandledPackets.cpp:216
CH_ACK_CHANGE_CHARACTERNAME(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:60
Main object for the aegis packet: CH_AVAILABLE_SECOND_PASSWD.
Definition: HandledPackets.hpp:90
virtual ~CH_AVAILABLE_SECOND_PASSWD()
Definition: HandledPackets.hpp:95
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:237
CH_AVAILABLE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:92
void handle(ByteBuffer &&buf)
CH_AVAILABLE_SECOND_PASSWD.
Definition: HandledPackets.cpp:236
Main object for the aegis packet: CH_CHARLIST_REQ.
Definition: HandledPackets.hpp:122
virtual ~CH_CHARLIST_REQ()
Definition: HandledPackets.hpp:127
void handle(ByteBuffer &&buf)
CH_CHARLIST_REQ.
Definition: HandledPackets.cpp:314
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:315
CH_CHARLIST_REQ(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:124
Main object for the aegis packet: CH_CHECKBOT.
Definition: HandledPackets.hpp:154
virtual ~CH_CHECKBOT()
Definition: HandledPackets.hpp:159
CH_CHECKBOT(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:156
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:159
void handle(ByteBuffer &&buf)
CH_CHECKBOT.
Definition: HandledPackets.cpp:158
Main object for the aegis packet: CH_DELETE_CHAR2.
Definition: HandledPackets.hpp:232
uint32_t _character_id
Definition: HandledPackets.hpp:243
void handle(ByteBuffer &&buf)
CH_DELETE_CHAR2.
Definition: HandledPackets.cpp:51
CH_DELETE_CHAR2(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:234
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:56
char _email[CLIENT_MAX_EMAIL_LENGTH]
Definition: HandledPackets.hpp:244
virtual ~CH_DELETE_CHAR2()
Definition: HandledPackets.hpp:237
Main object for the aegis packet: CH_DELETE_CHAR3_CANCEL.
Definition: HandledPackets.hpp:300
uint32_t _character_id
Definition: HandledPackets.hpp:311
virtual ~CH_DELETE_CHAR3_CANCEL()
Definition: HandledPackets.hpp:305
CH_DELETE_CHAR3_CANCEL(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:302
void handle(ByteBuffer &&buf)
CH_DELETE_CHAR3_CANCEL.
Definition: HandledPackets.cpp:183
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:189
Main object for the aegis packet: CH_DELETE_CHAR3_EXT.
Definition: HandledPackets.hpp:333
virtual ~CH_DELETE_CHAR3_EXT()
Definition: HandledPackets.hpp:338
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:305
void handle(ByteBuffer &&buf)
CH_DELETE_CHAR3_EXT.
Definition: HandledPackets.cpp:304
CH_DELETE_CHAR3_EXT(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:335
Main object for the aegis packet: CH_DELETE_CHAR3_RESERVED.
Definition: HandledPackets.hpp:365
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:203
CH_DELETE_CHAR3_RESERVED(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:367
void handle(ByteBuffer &&buf)
CH_DELETE_CHAR3_RESERVED.
Definition: HandledPackets.cpp:197
virtual ~CH_DELETE_CHAR3_RESERVED()
Definition: HandledPackets.hpp:370
uint32_t _character_id
Definition: HandledPackets.hpp:376
Main object for the aegis packet: CH_DELETE_CHAR3.
Definition: HandledPackets.hpp:266
char _birthdate[CLIENT_BIRTHDATE_STRING_LENGTH]
Definition: HandledPackets.hpp:278
CH_DELETE_CHAR3(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:268
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:174
void handle(ByteBuffer &&buf)
CH_DELETE_CHAR3.
Definition: HandledPackets.cpp:168
uint32_t _character_id
Definition: HandledPackets.hpp:277
virtual ~CH_DELETE_CHAR3()
Definition: HandledPackets.hpp:271
Main object for the aegis packet: CH_DELETE_CHAR.
Definition: HandledPackets.hpp:192
virtual ~CH_DELETE_CHAR()
Definition: HandledPackets.hpp:197
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:42
char _email[CLIENT_MAX_EMAIL_LENGTH]
Definition: HandledPackets.hpp:204
void handle(ByteBuffer &&buf)
CH_DELETE_CHAR.
Definition: HandledPackets.cpp:36
uint32_t _character_id
Definition: HandledPackets.hpp:203
CH_DELETE_CHAR(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:194
Main object for the aegis packet: CH_DELETE_SECOND_PASSWD.
Definition: HandledPackets.hpp:398
virtual ~CH_DELETE_SECOND_PASSWD()
Definition: HandledPackets.hpp:403
void handle(ByteBuffer &&buf)
CH_DELETE_SECOND_PASSWD.
Definition: HandledPackets.cpp:241
CH_DELETE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:400
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:242
Main object for the aegis packet: CH_EDIT_SECOND_PASSWD.
Definition: HandledPackets.hpp:430
uint32_t _account_id
Definition: HandledPackets.hpp:441
CH_EDIT_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:432
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:252
void handle(ByteBuffer &&buf)
CH_EDIT_SECOND_PASSWD.
Definition: HandledPackets.cpp:246
char _old_pin[MAX_PINCODE_STRING_LENGTH]
Definition: HandledPackets.hpp:442
char _new_pin[MAX_PINCODE_STRING_LENGTH]
Definition: HandledPackets.hpp:442
virtual ~CH_EDIT_SECOND_PASSWD()
Definition: HandledPackets.hpp:435
Main object for the aegis packet: CH_ENTER2.
Definition: HandledPackets.hpp:508
CH_ENTER2(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:510
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:154
virtual ~CH_ENTER2()
Definition: HandledPackets.hpp:513
void handle(ByteBuffer &&buf)
CH_ENTER2.
Definition: HandledPackets.cpp:153
Main object for the aegis packet: CH_ENTER_CHECKBOT.
Definition: HandledPackets.hpp:540
virtual ~CH_ENTER_CHECKBOT()
Definition: HandledPackets.hpp:545
CH_ENTER_CHECKBOT(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:542
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:164
void handle(ByteBuffer &&buf)
CH_ENTER_CHECKBOT.
Definition: HandledPackets.cpp:163
Main object for the aegis packet: CH_ENTER.
Definition: HandledPackets.hpp:470
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:71
uint32_t _account_id
Definition: HandledPackets.hpp:482
uint32_t _account_level
Definition: HandledPackets.hpp:484
uint16_t _unknown
Definition: HandledPackets.hpp:485
uint32_t _auth_code
Definition: HandledPackets.hpp:483
virtual ~CH_ENTER()
Definition: HandledPackets.hpp:475
void handle(ByteBuffer &&buf)
CH_ENTER.
Definition: HandledPackets.cpp:65
uint8_t _gender
Definition: HandledPackets.hpp:486
CH_ENTER(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:472
Main object for the aegis packet: CH_MAKE_CHAR_NOT_STATS.
Definition: HandledPackets.hpp:629
virtual ~CH_MAKE_CHAR_NOT_STATS()
Definition: HandledPackets.hpp:634
void handle(ByteBuffer &&buf)
CH_MAKE_CHAR_NOT_STATS.
Definition: HandledPackets.cpp:299
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:300
CH_MAKE_CHAR_NOT_STATS(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:631
Main object for the aegis packet: CH_MAKE_CHAR.
Definition: HandledPackets.hpp:587
uint16_t _job_id
Definition: HandledPackets.hpp:604
uint8_t _slot
Definition: HandledPackets.hpp:600
char _unknown_bytes[2]
Definition: HandledPackets.hpp:605
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:94
void handle(ByteBuffer &&buf)
CH_MAKE_CHAR.
Definition: HandledPackets.cpp:83
CH_MAKE_CHAR(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:589
uint16_t _hair_style
Definition: HandledPackets.hpp:602
uint16_t _hair_color
Definition: HandledPackets.hpp:601
char _name[MAX_UNIT_NAME_LENGTH]
Definition: HandledPackets.hpp:599
virtual ~CH_MAKE_CHAR()
Definition: HandledPackets.hpp:592
uint8_t _gender
Definition: HandledPackets.hpp:606
Main object for the aegis packet: CH_MAKE_SECOND_PASSWD.
Definition: HandledPackets.hpp:661
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:268
CH_MAKE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:663
char _new_pin[MAX_PINCODE_STRING_LENGTH]
Definition: HandledPackets.hpp:673
virtual ~CH_MAKE_SECOND_PASSWD()
Definition: HandledPackets.hpp:666
void handle(ByteBuffer &&buf)
CH_MAKE_SECOND_PASSWD.
Definition: HandledPackets.cpp:262
uint32_t _account_id
Definition: HandledPackets.hpp:672
Main object for the aegis packet: CH_NOT_AVAILABLE_SECOND_PASSWD.
Definition: HandledPackets.hpp:695
void handle(ByteBuffer &&buf)
CH_NOT_AVAILABLE_SECOND_PASSWD.
Definition: HandledPackets.cpp:279
CH_NOT_AVAILABLE_SECOND_PASSWD(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:697
virtual ~CH_NOT_AVAILABLE_SECOND_PASSWD()
Definition: HandledPackets.hpp:700
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:280
Main object for the aegis packet: CH_REQ_CHANGE_CHARACTERNAME.
Definition: HandledPackets.hpp:727
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:222
virtual ~CH_REQ_CHANGE_CHARACTERNAME()
Definition: HandledPackets.hpp:732
CH_REQ_CHANGE_CHARACTERNAME(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:729
void handle(ByteBuffer &&buf)
CH_REQ_CHANGE_CHARACTERNAME.
Definition: HandledPackets.cpp:221
Main object for the aegis packet: CH_REQ_CHANGE_CHARACTER_SLOT.
Definition: HandledPackets.hpp:759
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:227
void handle(ByteBuffer &&buf)
CH_REQ_CHANGE_CHARACTER_SLOT.
Definition: HandledPackets.cpp:226
virtual ~CH_REQ_CHANGE_CHARACTER_SLOT()
Definition: HandledPackets.hpp:764
CH_REQ_CHANGE_CHARACTER_SLOT(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:761
Main object for the aegis packet: CH_REQ_CHANGE_CHARNAME.
Definition: HandledPackets.hpp:797
void handle(ByteBuffer &&buf)
CH_REQ_CHANGE_CHARNAME.
Definition: HandledPackets.cpp:138
virtual ~CH_REQ_CHANGE_CHARNAME()
Definition: HandledPackets.hpp:802
CH_REQ_CHANGE_CHARNAME(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:799
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:139
Main object for the aegis packet: CH_REQ_CHARINFO_PER_PAGE.
Definition: HandledPackets.hpp:829
void handle(ByteBuffer &&buf)
CH_REQ_CHARINFO_PER_PAGE.
Definition: HandledPackets.cpp:309
virtual ~CH_REQ_CHARINFO_PER_PAGE()
Definition: HandledPackets.hpp:834
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:310
CH_REQ_CHARINFO_PER_PAGE(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:831
Main object for the aegis packet: CH_REQ_IS_VALID_CHARNAME.
Definition: HandledPackets.hpp:867
void handle(ByteBuffer &&buf)
CH_REQ_IS_VALID_CHARNAME.
Definition: HandledPackets.cpp:143
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:144
CH_REQ_IS_VALID_CHARNAME(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:869
virtual ~CH_REQ_IS_VALID_CHARNAME()
Definition: HandledPackets.hpp:872
Main object for the aegis packet: CH_SECOND_PASSWD_ACK.
Definition: HandledPackets.hpp:899
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:290
char _pincode[MAX_PINCODE_STRING_LENGTH]
Definition: HandledPackets.hpp:911
CH_SECOND_PASSWD_ACK(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:901
uint32_t _account_id
Definition: HandledPackets.hpp:910
void handle(ByteBuffer &&buf)
CH_SECOND_PASSWD_ACK.
Definition: HandledPackets.cpp:284
virtual ~CH_SECOND_PASSWD_ACK()
Definition: HandledPackets.hpp:904
Main object for the aegis packet: CH_SELECT_ACCESSIBLE_MAPNAME.
Definition: HandledPackets.hpp:933
void handle(ByteBuffer &&buf)
CH_SELECT_ACCESSIBLE_MAPNAME.
Definition: HandledPackets.cpp:211
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:212
virtual ~CH_SELECT_ACCESSIBLE_MAPNAME()
Definition: HandledPackets.hpp:938
CH_SELECT_ACCESSIBLE_MAPNAME(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:935
Main object for the aegis packet: CH_SELECT_CHAR_GOINGTOBEUSED.
Definition: HandledPackets.hpp:1010
virtual ~CH_SELECT_CHAR_GOINGTOBEUSED()
Definition: HandledPackets.hpp:1015
CH_SELECT_CHAR_GOINGTOBEUSED(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:1012
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:149
void handle(ByteBuffer &&buf)
CH_SELECT_CHAR_GOINGTOBEUSED.
Definition: HandledPackets.cpp:148
Main object for the aegis packet: CH_SELECT_CHAR.
Definition: HandledPackets.hpp:971
CH_SELECT_CHAR(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:973
int8_t _slot
Definition: HandledPackets.hpp:982
virtual ~CH_SELECT_CHAR()
Definition: HandledPackets.hpp:976
void handle(ByteBuffer &&buf)
CH_SELECT_CHAR.
Definition: HandledPackets.cpp:110
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:116
Main object for the aegis packet: CH_UNKNOWN_PING.
Definition: HandledPackets.hpp:1048
uint32_t _account_id
Definition: HandledPackets.hpp:1059
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:130
void handle(ByteBuffer &&buf)
CH_UNKNOWN_PING.
Definition: HandledPackets.cpp:124
virtual ~CH_UNKNOWN_PING()
Definition: HandledPackets.hpp:1053
CH_UNKNOWN_PING(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:1050
Main object for the aegis packet: CH_WAITING_LOGIN.
Definition: HandledPackets.hpp:1081
void handle(ByteBuffer &&buf)
CH_WAITING_LOGIN.
Definition: HandledPackets.cpp:231
virtual ~CH_WAITING_LOGIN()
Definition: HandledPackets.hpp:1086
CH_WAITING_LOGIN(std::shared_ptr< CharSession > s)
Definition: HandledPackets.hpp:1083
void deserialize(ByteBuffer &buf)
Definition: HandledPackets.cpp:232
Definition: CharSession.hpp:67
@ ID_CH_REQ_CHARINFO_PER_PAGE
Definition: HandledPackets.hpp:813
@ ID_CH_ENTER_CHECKBOT
Definition: HandledPackets.hpp:524
@ ID_CH_CHARLIST_REQ
Definition: HandledPackets.hpp:106
@ ID_CH_EDIT_SECOND_PASSWD
Definition: HandledPackets.hpp:414
@ ID_CH_SELECT_CHAR_GOINGTOBEUSED
Definition: HandledPackets.hpp:991
@ ID_CH_UNKNOWN_PING
Definition: HandledPackets.hpp:1029
@ ID_CH_AVAILABLE_SECOND_PASSWD
Definition: HandledPackets.hpp:74
@ ID_CH_MAKE_CHAR
Definition: HandledPackets.hpp:559
@ ID_CH_MAKE_CHAR_NOT_STATS
Definition: HandledPackets.hpp:613
@ ID_CH_DELETE_CHAR3_CANCEL
Definition: HandledPackets.hpp:284
@ ID_CH_DELETE_CHAR
Definition: HandledPackets.hpp:173
@ ID_CH_NOT_AVAILABLE_SECOND_PASSWD
Definition: HandledPackets.hpp:679
@ ID_CH_ENTER
Definition: HandledPackets.hpp:451
@ ID_CH_DELETE_CHAR3_RESERVED
Definition: HandledPackets.hpp:349
@ ID_CH_REQ_CHANGE_CHARACTER_SLOT
Definition: HandledPackets.hpp:743
@ ID_CH_DELETE_SECOND_PASSWD
Definition: HandledPackets.hpp:382
@ ID_CH_ACK_CHANGE_CHARACTERNAME
Definition: HandledPackets.hpp:42
@ ID_CH_CHECKBOT
Definition: HandledPackets.hpp:138
@ ID_CH_SECOND_PASSWD_ACK
Definition: HandledPackets.hpp:883
@ ID_CH_WAITING_LOGIN
Definition: HandledPackets.hpp:1065
@ ID_CH_REQ_CHANGE_CHARNAME
Definition: HandledPackets.hpp:778
@ ID_CH_DELETE_CHAR3
Definition: HandledPackets.hpp:250
@ ID_CH_REQ_CHANGE_CHARACTERNAME
Definition: HandledPackets.hpp:711
@ ID_CH_REQ_IS_VALID_CHARNAME
Definition: HandledPackets.hpp:848
@ ID_CH_DELETE_CHAR2
Definition: HandledPackets.hpp:213
@ ID_CH_SELECT_ACCESSIBLE_MAPNAME
Definition: HandledPackets.hpp:917
@ ID_CH_SELECT_CHAR
Definition: HandledPackets.hpp:952
@ ID_CH_MAKE_SECOND_PASSWD
Definition: HandledPackets.hpp:645
@ ID_CH_DELETE_CHAR3_EXT
Definition: HandledPackets.hpp:317
@ ID_CH_ENTER2
Definition: HandledPackets.hpp:492
Definition: Element.hpp:7