From 4ed9b9d0ca7de07169db2bd7024cba5cc3ac2fa8 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 19 Jun 2013 09:25:11 -0300 Subject: PacketKeys Update: 44 Client Dates Supported. http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ Super-ultra-mega Thanks to Shakto for providing us with these! 20110817, 20110824, 20110831, 20110906, 20111005, 20111012, 20111021, 20111025, 20111102, 20111109, 20111122, 20111207, 20111214, 20111220, 20111228, 20120104, 20120111, 20120120, 20120202, 20120207, 20120214, 20120229, 20120307, 20120314, 20120321, 20120328, 20120404, 20120410, 20120418, 20120424, 20120509, 20120515, 20120525, 20120605, 20120612, 20120618, 20120702, 20120716, 20130320, 20130514, 20130522, 20130529, 20130605, 20130612 Signed-off-by: shennetsind --- src/map/packets.h | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 174 insertions(+), 5 deletions(-) (limited to 'src/map/packets.h') diff --git a/src/map/packets.h b/src/map/packets.h index c467090dd..0504493ef 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2025,8 +2025,6 @@ packet(0x020d,-1); packet(0x08E5,41,clif->pPartyBookingRegisterReq,2,4); packet(0x08d2,10); packet(0x0916,26,clif->pGuildInvite2,2); - packetKeys(0x1540e48,0x13041224,0x31247924); - #endif #ifndef PACKETVER_RE @@ -2068,7 +2066,6 @@ packet(0x020d,-1); //2012-07-16aRagExe (special thanks to Yommy!) #if PACKETVER >= 20120716 packet(0x0364,8,clif->pMoveFromKafra,2,4); - packetKeys(0x76052205, 0x22052205, 0x22052205); #endif //2013-03-20Ragexe (Judas + Yommy) @@ -2103,7 +2100,6 @@ packet(0x020d,-1); packet(0x086F,26,clif->pFriendsListAdd,2); packet(0x093F,5,clif->pHomMenu,2,4); packet(0x0947,36,clif->pStoragePassword,0); - packetKeys(0x3F094C49, 0x55F86C1E, 0x58AA359A); // Shuffle End // New Packets @@ -2249,8 +2245,181 @@ packet(0x020d,-1); packet(0x0883,36,clif->pStoragePassword,0); #endif +/* PacketKeys: http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */ +#if PACKETVER >= 20110817 + packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20110824 + packetKeys(0x35C91401,0x262A5556,0x28FA03AA); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20110831 + packetKeys(0x3AD67ED0,0x44703C69,0x6F876809); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20110906 + packetKeys(0x3AD67ED0,0x44703C69,0x6F876809); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111005 + packetKeys(0x291E6762,0x77CD391A,0x60AC2F16); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111012 + packetKeys(0x7F3C2D29,0x59B01DE6,0x1DBB44CA); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111021 + packetKeys(0x357D55DC,0x5A8D759F,0x245C30F5); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111025 + packetKeys(0x50AE1A63,0x3CE579B5,0x29C10406); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111102 + packetKeys(0x5324329D,0x5D545D52,0x06137269); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111109 + packetKeys(0x0B642BDA,0x6ECB1D1C,0x61C7454B); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111122 + packetKeys(0x3B550F07,0x1F666C7C,0x60304EF5); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111207 + packetKeys(0x2A610886,0x3E09165E,0x57C11888); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111214 + packetKeys(0x5151306B,0x7AE32886,0x53060628); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111220 + packetKeys(0x05D53871,0x7D0027B4,0x29975333); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20111228 + packetKeys(0x0FF87E93,0x6CFF7860,0x3A3D1DEC); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120104 + packetKeys(0x262034A1,0x674542A5,0x73A50BA5); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120111 + packetKeys(0x2B412AFC,0x4FF94487,0x6705339D); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120120 + packetKeys(0x504345D0,0x3D427B1B,0x794C2DCC); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120202 + packetKeys(0x2CFC0A71,0x2BA91D8D,0x087E39E0); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120207 + packetKeys(0x1D373F5D,0x5ACD604D,0x1C4D7C4D); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120214 + packetKeys(0x7A255EFA,0x30977276,0x2D4A0448); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120229 + packetKeys(0x520B4C64,0x2800407D,0x47651458); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120307 + packetKeys(0x382A6DEF,0x5CBE7202,0x61F46637); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120314 + packetKeys(0x689C1729,0x11812639,0x60F82967); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120321 + packetKeys(0x21F9683F,0x710C5CA5,0x1FD910E9); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120328 + packetKeys(0x75B8553B,0x37F20B12,0x385C2B40); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120404 + packetKeys(0x0036310C,0x2DCD0BED,0x1EE62A78); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120410 + packetKeys(0x01581359,0x452D6FFA,0x6AFB6E2E); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120418 + packetKeys(0x01540E48,0x13041224,0x31247924); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120424 + packetKeys(0x411D1DBB,0x4CBA4848,0x1A432FC4); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120509 + packetKeys(0x16CF3301,0x1F472B9B,0x0B4A3CD2); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120515 + packetKeys(0x4A715EF9,0x79103E4F,0x405C1238); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120525 + packetKeys(0x70EB4CCB,0x0487713C,0x398D4B08); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120605 + packetKeys(0x68CA3080,0x31B74BDD,0x505208F1); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120612 + packetKeys(0x32E45D64,0x35643564,0x35643564); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120618 + packetKeys(0x261F261F,0x261F261F,0x261F261F); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120702 + packetKeys(0x25733B31,0x53486CFD,0x398649BD); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20120716 + packetKeys(0x76052205,0x22052205,0x22052205); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20130320 + packetKeys(0x3F094C49,0x55F86C1E,0x58AA359A); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20130514 + packetKeys(0x75794A38,0x58A96BC1,0x296E6FB8); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20130522 + packetKeys(0x6948050B,0x06511D9D,0x725D4DF1); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20130529 + packetKeys(0x023A6C87,0x14BF1F1E,0x5CC70CC9); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20130605 + packetKeys(0x646E08D9,0x5F153AB5,0x61B509B5); /* Thanks to Shakto */ +#endif + #if PACKETVER >= 20130612 - packetKeys(0x6D166F66, 0x3C000FCF, 0x295B0FCB); /* Thanks to Shakto */ + packetKeys(0x6D166F66,0x3C000FCF,0x295B0FCB); /* Thanks to Shakto */ #endif #endif /* _PACKETS_H_ */ -- cgit v1.2.3-70-g09d2 From 5a298870e080cab4764972ed8ffc573f3e8fd2f8 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 19 Jun 2013 10:25:14 -0300 Subject: Follow up 4ed9b9d0ca7de07169db2bd7024cba5cc3ac2fa8 Missed 20130618 (again, special thanks to Shakto) Thanks to jaBote for pointing it out. Signed-off-by: shennetsind --- src/map/packets.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/map/packets.h') diff --git a/src/map/packets.h b/src/map/packets.h index 0504493ef..648e662fa 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2422,4 +2422,9 @@ packet(0x020d,-1); packetKeys(0x6D166F66,0x3C000FCF,0x295B0FCB); /* Thanks to Shakto */ #endif +#if PACKETVER >= 20130618 + packetKeys(0x434115DE,0x34A10FE9,0x6791428E); /* Thanks to Shakto */ +#endif + + #endif /* _PACKETS_H_ */ -- cgit v1.2.3-70-g09d2 From 15cf156a3229532ffb2db0f78b29da228e0b2cc7 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sun, 23 Jun 2013 17:51:45 -0300 Subject: 2012-07-16Ragexe Support Special Thanks to Frost for bringing this to me! Signed-off-by: shennetsind --- src/map/packets.h | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/map/packets.h') diff --git a/src/map/packets.h b/src/map/packets.h index 648e662fa..f90c3b29d 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2063,9 +2063,36 @@ packet(0x020d,-1); packet(0x0886,2,clif->pReqCloseBuyingStore,0); #endif -//2012-07-16aRagExe (special thanks to Yommy!) +//2012-07-16aRagExe (special thanks to Yommy/Frost!) #if PACKETVER >= 20120716 + packet(0x0879,18,clif->pPartyBookingRegisterReq,2,4,6); + packet(0x023B,26,clif->pFriendsListAdd,2); + packet(0x0361,5,clif->pHomMenu,2,4); + packet(0x0819,36,clif->pStoragePassword,0); + packet(0x0802,26,clif->pPartyInvite2,2); + packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0369,7,clif->pActionRequest,2,6); + packet(0x083C,10,clif->pUseSkillToId,2,4,6); + packet(0x0439,8,clif->pUseItem,2,4); + packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x0817,2,clif->pReqCloseBuyingStore,0); + packet(0x0360,6,clif->pReqClickBuyingStore,2); + packet(0x0940,-1,clif->pReqTradeBuyingStore,2,4,8,12); + packet(0x0811,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); + packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); + packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); + packet(0x0437,5,clif->pWalkToXY,2); + packet(0x035F,6,clif->pTickSend,2); + packet(0x0202,5,clif->pChangeDir,2,4); + packet(0x07E4,6,clif->pTakeItem,2); + packet(0x0362,6,clif->pDropItem,2,4); + packet(0x07EC,8,clif->pMoveToKafra,2,4); packet(0x0364,8,clif->pMoveFromKafra,2,4); + packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); + packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); + packet(0x096A,6,clif->pGetCharNameRequest,2); + packet(0x0368,6,clif->pSolveCharName,2); #endif //2013-03-20Ragexe (Judas + Yommy) -- cgit v1.2.3-70-g09d2 From f530cfe173bc5e9ac177adac0ae4aef33164838f Mon Sep 17 00:00:00 2001 From: Haru Date: Tue, 16 Jul 2013 20:30:19 +0200 Subject: Packets and packet keys update with the info provided by Shakto - Added packets for 2013-06-12Ragexe, 2013-06-18Ragexe, 2013-06-26Ragexe, 2013-07-03Ragexe - Added packetKeys for 2013-06-26Ragexe, 2013-07-03Ragexe - Thanks to Shakto for always providing us with the data, OnNplay for the the update reminder. Signed-off-by: Haru --- src/map/packets.h | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) (limited to 'src/map/packets.h') diff --git a/src/map/packets.h b/src/map/packets.h index f90c3b29d..091c48a77 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2272,6 +2272,102 @@ packet(0x020d,-1); packet(0x0883,36,clif->pStoragePassword,0); #endif +//2013-06-12Ragexe (Shakto) +#if PACKETVER >= 20130612 + packet(0x087E,5,clif->pChangeDir,2,4); + packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0940,26,clif->pFriendsListAdd,2); + packet(0x093A,5,clif->pHomMenu,2,4); + packet(0x0964,36,clif->pStoragePassword,0); +#endif + +//2013-06-18Ragexe (Shakto) +#if PACKETVER >= 20130618 + packet(0x0889,7,clif->pActionRequest,2,6); + packet(0x0951,10,clif->pUseSkillToId,2,4,6); + packet(0x088E,5,clif->pWalkToXY,2); + packet(0x0930,6,clif->pTickSend,2); + packet(0x08A6,5,clif->pChangeDir,2,4); + packet(0x0962,6,clif->pTakeItem,2); + packet(0x0917,6,clif->pDropItem,2,4); + packet(0x0885,8,clif->pMoveToKafra,2,4); + packet(0x0936,8,clif->pMoveFromKafra,2,4); + packet(0x096A,10,clif->pUseSkillToPos,2,4,6,8); + packet(0x094F,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); + packet(0x0944,6,clif->pGetCharNameRequest,2); + packet(0x0945,6,clif->pSolveCharName,2); + packet(0x0890,12,clif->pSearchStoreInfoListItemClick,2,6,10); + packet(0x0363,2,clif->pSearchStoreInfoNextPage,0); + packet(0x0281,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); + packet(0x0891,-1,clif->pReqTradeBuyingStore,2,4,8,12); + packet(0x0862,6,clif->pReqClickBuyingStore,2); + packet(0x085A,2,clif->pReqCloseBuyingStore,0); + packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x08A7,41,clif->pPartyBookingRegisterReq,2,4); + // packet(0x087A,8); // CZ_JOIN_BATTLE_FIELD + packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x095B,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0887,26,clif->pPartyInvite2,2); + // packet(0x0878,4); // CZ_GANGSI_RANK + packet(0x0953,26,clif->pFriendsListAdd,2); + packet(0x02C4,5,clif->pHomMenu,2,4); + packet(0x0864,36,clif->pStoragePassword,0); +#endif + +//2013-06-26Ragexe (Shakto) +#if PACKETVER >= 20130626 + packet(0x0369,7,clif->pActionRequest,2,6); + packet(0x083C,10,clif->pUseSkillToId,2,4,6); + packet(0x0437,5,clif->pWalkToXY,2); + packet(0x035F,6,clif->pTickSend,2); + packet(0x094D,5,clif->pChangeDir,2,4); + packet(0x088B,6,clif->pTakeItem,2); + packet(0x0952,6,clif->pDropItem,2,4); + packet(0x0921,8,clif->pMoveToKafra,2,4); + packet(0x0817,8,clif->pMoveFromKafra,2,4); + packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); + packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); + packet(0x096A,6,clif->pGetCharNameRequest,2); + packet(0x0368,6,clif->pSolveCharName,2); + packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); + packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); + packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); + packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); + packet(0x0360,6,clif->pReqClickBuyingStore,2); + packet(0x0365,2,clif->pReqCloseBuyingStore,0); + packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x0894,41,clif->pPartyBookingRegisterReq,2,4); + // packet(0x0860,8); // CZ_JOIN_BATTLE_FIELD + packet(0x08A5,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x088C,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0895,26,clif->pPartyInvite2,2); + // packet(0x088F,4); // CZ_GANGSI_RANK + packet(0x08AB,26,clif->pFriendsListAdd,2); + packet(0x0960,5,clif->pHomMenu,2,4); + packet(0x0930,36,clif->pStoragePassword,0); +#endif + +//2013-07-03Ragexe (Shakto) +#if PACKETVER >= 20130703 + packet(0x0930,5,clif->pChangeDir,2,4); + packet(0x07E4,6,clif->pTakeItem,2); + packet(0x0362,6,clif->pDropItem,2,4); + packet(0x07EC,8,clif->pMoveToKafra,2,4); + packet(0x0364,8,clif->pMoveFromKafra,2,4); + packet(0x0202,6,clif->pReqClickBuyingStore,2); + packet(0x0817,2,clif->pReqCloseBuyingStore,0); + packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); + // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD + packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0802,26,clif->pPartyInvite2,2); + // packet(0x0436,4); // CZ_GANGSI_RANK + packet(0x0360,26,clif->pFriendsListAdd,2); + packet(0x094A,5,clif->pHomMenu,2,4); + packet(0x0873,36,clif->pStoragePassword,0); +#endif + /* PacketKeys: http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */ #if PACKETVER >= 20110817 packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED); /* Thanks to Shakto */ @@ -2453,5 +2549,13 @@ packet(0x020d,-1); packetKeys(0x434115DE,0x34A10FE9,0x6791428E); /* Thanks to Shakto */ #endif +#if PACKETVER >= 20130626 + packetKeys(0x38F453EF,0x6A040FD8,0X65BD6668); /* Thanks to Shakto */ +#endif + +#if PACKETVER >= 20130703 + packetKeys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA); /* Thanks to Shakto */ +#endif + #endif /* _PACKETS_H_ */ -- cgit v1.2.3-70-g09d2 From 6cf032de5d12a33f04e6b3eb5dc4d71c17554ce3 Mon Sep 17 00:00:00 2001 From: Amir El Sayed Date: Thu, 12 Sep 2013 20:31:35 +0200 Subject: Fixed Ranking Lists for 2013 clients --- src/map/clif.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/map/clif.h | 10 ++++++ src/map/packets.h | 3 ++ src/map/pc.c | 14 +++----- 4 files changed, 117 insertions(+), 9 deletions(-) (limited to 'src/map/packets.h') diff --git a/src/map/clif.c b/src/map/clif.c index 8f82141b2..d26f11ba3 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -14037,6 +14037,102 @@ void clif_parse_PVPInfo(int fd,struct map_session_data *sd) clif->PVPInfo(sd); } +/// Ranking list + +/// ranking pointlist { .24B .L }*10 +void clif_sub_ranklist(unsigned char *buf,int idx,struct map_session_data* sd, int16 rankingtype){ + const char* name; + struct fame_list* list; + int i, skip = 0; + + switch(rankingtype+1) { //to keep the same case as char.c + case 1: list = smith_fame_list; break; + case 2: list = chemist_fame_list; break; + case 3: list = taekwon_fame_list; break; + default: skip=1; break; + } + + if(!skip) { + //Packet size limits this list to 10 elements. [Skotlex] + for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) { + if (list[i].id > 0) { + if (strcmp(list[i].name, "-") == 0 && (name = iMap->charid2nick(list[i].id)) != NULL) { + strncpy((char *)(WBUFP(buf,idx + 24 * i)), name, NAME_LENGTH); + } else { + strncpy((char *)(WBUFP(buf,idx + 24 * i)), list[i].name, NAME_LENGTH); + } + } else { + strncpy((char *)(WBUFP(buf, idx + 24 * i)), "None", 5); + } + WBUFL(buf, idx + 24 * 10 + i * 4) = list[i].fame; //points + } + for(;i < 10; i++) { //In case the MAX is less than 10. + strncpy((char *)(WBUFP(buf, idx + 24 * i)), "Unavailable", 12); + WBUFL(buf, idx + 24 * 10 + i * 4) = 0; + } + } +} + +/// 097d .W {.24B L}*10 L (ZC_ACK_RANKING) +void clif_ranklist(struct map_session_data *sd, int16 rankingType){ + unsigned char buf[MAX_FAME_LIST * sizeof(struct fame_list)]; + int mypoint = 0; + int upperMask = sd->class_&MAPID_UPPERMASK; + + WBUFW(buf, 0) = 0x97d; + WBUFW(buf, 2) = rankingType; + clif_sub_ranklist(buf, 4, sd, rankingType); + + + if( + (upperMask == MAPID_BLACKSMITH && rankingType == RANKTYPE_BLACKSMITH) || + (upperMask == MAPID_ALCHEMIST && rankingType == RANKTYPE_ALCHEMIST) || + (upperMask == MAPID_TAEKWON && rankingType == RANKTYPE_TAEKWON) + ) { + mypoint = sd->status.fame; + } else { + mypoint = 0; + } + + WBUFL(buf, 284) = mypoint; //mypoint + clif_send(buf, 288, &sd->bl, SELF); +} + +/* + * 097c (CZ_REQ_RANKING) + * */ +void clif_parse_ranklist(int fd,struct map_session_data *sd) { + int16 rankingtype = RFIFOW(fd, 2);//type + + switch(rankingtype) { + case RANKTYPE_BLACKSMITH: + case RANKTYPE_ALCHEMIST: + case RANKTYPE_TAEKWON: + clif_ranklist(sd,rankingtype); // pk_list unsuported atm + break; + } +} + +// 097e .W .L .L (ZC_UPDATE_RANKING_POINT) +void clif_update_rankingpoint(struct map_session_data *sd, int16 rankingtype, int point){ +#if PACKETVER < 20130710 + switch(rankingtype){ + case RANKTYPE_BLACKSMITH: clif->fame_blacksmith(sd,point); break; // Blacksmith + case RANKTYPE_ALCHEMIST: clif->fame_alchemist(sd,point); break; //Alchemist + case RANKTYPE_TAEKWON: clif->fame_taekwon(sd,point); break; // Taekwon + } +#else + int fd=sd->fd; + WFIFOHEAD(fd, 14); + WFIFOW(fd, 0) = 0x97e; + WFIFOW(fd, 2) = rankingtype; + WFIFOL(fd, 4) = point; + WFIFOL(fd, 8) = sd->status.fame; + WFIFOSET(fd, 12); +#endif +} + + /// /blacksmith list (ZC_BLACKSMITH_RANK). /// 0219 { .24B }*10 { .L }*10 @@ -18068,6 +18164,9 @@ void clif_defaults(void) { clif->fame_blacksmith = clif_fame_blacksmith; clif->fame_alchemist = clif_fame_alchemist; clif->fame_taekwon = clif_fame_taekwon; + clif->ranklist = clif_ranklist; + clif->parse_ranklist = clif_parse_ranklist; + clif->update_rankingpoint = clif_update_rankingpoint; clif->hotkeys = clif_hotkeys_send; clif->insight = clif_insight; clif->outsight = clif_outsight; diff --git a/src/map/clif.h b/src/map/clif.h index 73d3611a2..3a42b54da 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -339,6 +339,13 @@ typedef enum useskill_fail_cause { // clif_skill_fail USESKILL_FAIL_THERE_ARE_NPC_AROUND = 83, }useskill_fail_cause; +enum rank_type { + RANKTYPE_BLACKSMITH = 0, + RANKTYPE_ALCHEMIST = 1, + RANKTYPE_TAEKWON = 2, + RANKTYPE_PK = 3 //Not supported yet +}; + enum clif_messages { SKILL_CANT_USE_AREA = 0x536, ITEM_CANT_USE_AREA = 0x537, @@ -597,6 +604,9 @@ struct clif_interface { void (*fame_blacksmith) (struct map_session_data *sd, int points); void (*fame_alchemist) (struct map_session_data *sd, int points); void (*fame_taekwon) (struct map_session_data *sd, int points); + void (*ranklist) (struct map_session_data *sd, int16 rankingType); + void (*update_rankingpoint) (struct map_session_data *sd, int16 rankingtype, int point); + void (*parse_ranklist) (int fd,struct map_session_data *sd); void (*hotkeys) (struct map_session_data *sd); int (*insight) (struct block_list *bl,va_list ap); int (*outsight) (struct block_list *bl,va_list ap); diff --git a/src/map/packets.h b/src/map/packets.h index 091c48a77..86ae3af30 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2366,8 +2366,11 @@ packet(0x020d,-1); packet(0x0360,26,clif->pFriendsListAdd,2); packet(0x094A,5,clif->pHomMenu,2,4); packet(0x0873,36,clif->pStoragePassword,0); + packet(0x097c,4, clif->parse_ranklist); + packet(0x97D,288, clif->update_rankingpoint); //ZC_ACK_RANKING #endif + /* PacketKeys: http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */ #if PACKETVER >= 20110817 packetKeys(0x053D5CED,0x3DED6DED,0x6DED6DED); /* Thanks to Shakto */ diff --git a/src/map/pc.c b/src/map/pc.c index 421099ce1..d2740c76a 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -400,21 +400,17 @@ int pc_banding(struct map_session_data *sd, uint16 skill_lv) { // Increases a player's fame points and displays a notice to him void pc_addfame(struct map_session_data *sd,int count) { + int ranktype = -1; nullpo_retv(sd); sd->status.fame += count; if(sd->status.fame > MAX_FAME) sd->status.fame = MAX_FAME; switch(sd->class_&MAPID_UPPERMASK){ - case MAPID_BLACKSMITH: // Blacksmith - clif->fame_blacksmith(sd,count); - break; - case MAPID_ALCHEMIST: // Alchemist - clif->fame_alchemist(sd,count); - break; - case MAPID_TAEKWON: // Taekwon - clif->fame_taekwon(sd,count); - break; + case MAPID_BLACKSMITH: ranktype = RANKTYPE_BLACKSMITH; break; + case MAPID_ALCHEMIST: ranktype = RANKTYPE_ALCHEMIST; break; + case MAPID_TAEKWON: ranktype = RANKTYPE_TAEKWON; break; } + clif->update_rankingpoint(sd, ranktype, count); chrif->updatefamelist(sd); } -- cgit v1.2.3-70-g09d2 From 556834d0508101b70660c5904b24adacacced3e0 Mon Sep 17 00:00:00 2001 From: Haru Date: Thu, 19 Sep 2013 17:12:27 +0200 Subject: Cleaned up and de-duplicated ranklist-related code Follow-up to 6cf032d. Special thanks to Ind. Signed-off-by: Haru --- src/char/char.c | 40 +++++------ src/common/mmo.h | 7 ++ src/map/chrif.c | 18 ++--- src/map/clif.c | 193 +++++++++++++++++------------------------------------- src/map/clif.h | 13 +--- src/map/packets.h | 3 +- 6 files changed, 96 insertions(+), 178 deletions(-) (limited to 'src/map/packets.h') diff --git a/src/char/char.c b/src/char/char.c index 943d1f52e..dc7966e8d 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -136,7 +136,7 @@ int guild_exp_rate = 100; //Custom limits for the fame lists. [Skotlex] int fame_list_size_chemist = MAX_FAME_LIST; -int fame_list_size_smith = MAX_FAME_LIST; +int fame_list_size_smith = MAX_FAME_LIST; int fame_list_size_taekwon = MAX_FAME_LIST; // Char-server-side stored fame lists [DracoRPG] @@ -2517,8 +2517,7 @@ int save_accreg2(unsigned char* buf, int len) return 0; } -void char_read_fame_list(void) -{ +void char_read_fame_list(void) { int i; char* data; size_t len; @@ -2576,8 +2575,7 @@ void char_read_fame_list(void) } // Send map-servers the fame ranking lists -int char_send_fame_list(int fd) -{ +int char_send_fame_list(int fd) { int i, len = 8; unsigned char buf[32000]; @@ -2612,8 +2610,7 @@ int char_send_fame_list(int fd) return 0; } -void char_update_fame_list(int type, int index, int fame) -{ +void char_update_fame_list(int type, int index, int fame) { unsigned char buf[8]; WBUFW(buf,0) = 0x2b22; WBUFB(buf,2) = type; @@ -3210,12 +3207,11 @@ int parse_frommap(int fd) int player_pos; int fame_pos; - switch(type) - { - case 1: size = fame_list_size_smith; list = smith_fame_list; break; - case 2: size = fame_list_size_chemist; list = chemist_fame_list; break; - case 3: size = fame_list_size_taekwon; list = taekwon_fame_list; break; - default: size = 0; list = NULL; break; + switch(type) { + case RANKTYPE_BLACKSMITH: size = fame_list_size_smith; list = smith_fame_list; break; + case RANKTYPE_ALCHEMIST: size = fame_list_size_chemist; list = chemist_fame_list; break; + case RANKTYPE_TAEKWON: size = fame_list_size_taekwon; list = taekwon_fame_list; break; + default: size = 0; list = NULL; break; } ARR_FIND(0, size, player_pos, list[player_pos].id == cid);// position of the player @@ -3223,22 +3219,20 @@ int parse_frommap(int fd) if( player_pos == size && fame_pos == size ) ;// not on list and not enough fame to get on it - else if( fame_pos == player_pos ) - {// same position + else if( fame_pos == player_pos ) { + // same position list[player_pos].fame = fame; char_update_fame_list(type, player_pos, fame); - } - else - {// move in the list - if( player_pos == size ) - {// new ranker - not in the list + } else { + // move in the list + if( player_pos == size ) { + // new ranker - not in the list ARR_MOVE(size - 1, fame_pos, list, struct fame_list); list[fame_pos].id = cid; list[fame_pos].fame = fame; char_loadName(cid, list[fame_pos].name); - } - else - {// already in the list + } else { + // already in the list if( fame_pos == size ) --fame_pos;// move to the end of the list ARR_MOVE(player_pos, fame_pos, list, struct fame_list); diff --git a/src/common/mmo.h b/src/common/mmo.h index 17a01ff95..b51d0ec4a 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -575,6 +575,13 @@ struct fame_list { char name[NAME_LENGTH]; }; +enum fame_list_type { + RANKTYPE_BLACKSMITH = 0, + RANKTYPE_ALCHEMIST = 1, + RANKTYPE_TAEKWON = 2, + RANKTYPE_PK = 3, //Not supported yet +}; + enum { //Change Guild Infos GBI_EXP =1, // Guild Experience (EXP) GBI_GUILDLV, // Guild level diff --git a/src/map/chrif.c b/src/map/chrif.c index 524286da1..c79cf9e4a 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -1073,9 +1073,9 @@ int chrif_updatefamelist(struct map_session_data* sd) { chrif_check(-1); switch(sd->class_ & MAPID_UPPERMASK) { - case MAPID_BLACKSMITH: type = 1; break; - case MAPID_ALCHEMIST: type = 2; break; - case MAPID_TAEKWON: type = 3; break; + case MAPID_BLACKSMITH: type = RANKTYPE_BLACKSMITH; break; + case MAPID_ALCHEMIST: type = RANKTYPE_ALCHEMIST; break; + case MAPID_TAEKWON: type = RANKTYPE_TAEKWON; break; default: return 0; } @@ -1104,9 +1104,9 @@ int chrif_recvfamelist(int fd) { int num, size; int total = 0, len = 8; - memset (smith_fame_list, 0, sizeof(smith_fame_list)); - memset (chemist_fame_list, 0, sizeof(chemist_fame_list)); - memset (taekwon_fame_list, 0, sizeof(taekwon_fame_list)); + memset(smith_fame_list, 0, sizeof(smith_fame_list)); + memset(chemist_fame_list, 0, sizeof(chemist_fame_list)); + memset(taekwon_fame_list, 0, sizeof(taekwon_fame_list)); size = RFIFOW(fd, 6); //Blacksmith block size @@ -1147,9 +1147,9 @@ int chrif_updatefamelist_ack(int fd) { uint8 index; switch (RFIFOB(fd,2)) { - case 1: list = smith_fame_list; break; - case 2: list = chemist_fame_list; break; - case 3: list = taekwon_fame_list; break; + case RANKTYPE_BLACKSMITH: list = smith_fame_list; break; + case RANKTYPE_ALCHEMIST: list = chemist_fame_list; break; + case RANKTYPE_TAEKWON: list = taekwon_fame_list; break; default: return 0; } diff --git a/src/map/clif.c b/src/map/clif.c index 342f1d943..bb012c24d 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -14040,143 +14040,115 @@ void clif_parse_PVPInfo(int fd,struct map_session_data *sd) /// Ranking list /// ranking pointlist { .24B .L }*10 -void clif_sub_ranklist(unsigned char *buf,int idx,struct map_session_data* sd, int16 rankingtype){ +void clif_ranklist_sub(unsigned char *buf, enum fame_list_type type) { const char* name; struct fame_list* list; - int i, skip = 0; + int i; - switch(rankingtype+1) { //to keep the same case as char.c - case 1: list = smith_fame_list; break; - case 2: list = chemist_fame_list; break; - case 3: list = taekwon_fame_list; break; - default: skip=1; break; + switch( type ) { + case RANKTYPE_BLACKSMITH: list = smith_fame_list; break; + case RANKTYPE_ALCHEMIST: list = chemist_fame_list; break; + case RANKTYPE_TAEKWON: list = taekwon_fame_list; break; + default: return; // Unsupported } - if(!skip) { - //Packet size limits this list to 10 elements. [Skotlex] - for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) { - if (list[i].id > 0) { - if (strcmp(list[i].name, "-") == 0 && (name = iMap->charid2nick(list[i].id)) != NULL) { - strncpy((char *)(WBUFP(buf,idx + 24 * i)), name, NAME_LENGTH); - } else { - strncpy((char *)(WBUFP(buf,idx + 24 * i)), list[i].name, NAME_LENGTH); - } + // Packet size limits this list to 10 elements. [Skotlex] + for( i = 0; i < 10 && i < MAX_FAME_LIST; i++ ) { + if( list[i].id > 0 ) { + if( strcmp(list[i].name, "-") == 0 && (name = iMap->charid2nick(list[i].id)) != NULL ) { + strncpy((char *)(WBUFP(buf, 24 * i)), name, NAME_LENGTH); } else { - strncpy((char *)(WBUFP(buf, idx + 24 * i)), "None", 5); + strncpy((char *)(WBUFP(buf, 24 * i)), list[i].name, NAME_LENGTH); } - WBUFL(buf, idx + 24 * 10 + i * 4) = list[i].fame; //points - } - for(;i < 10; i++) { //In case the MAX is less than 10. - strncpy((char *)(WBUFP(buf, idx + 24 * i)), "Unavailable", 12); - WBUFL(buf, idx + 24 * 10 + i * 4) = 0; + } else { + strncpy((char *)(WBUFP(buf, 24 * i)), "None", 5); } + WBUFL(buf, 24 * 10 + i * 4) = list[i].fame; //points + } + for( ;i < 10; i++ ) { // In case the MAX is less than 10. + strncpy((char *)(WBUFP(buf, 24 * i)), "Unavailable", 12); + WBUFL(buf, 24 * 10 + i * 4) = 0; } } /// 097d .W {.24B L}*10 L (ZC_ACK_RANKING) -void clif_ranklist(struct map_session_data *sd, int16 rankingType){ - unsigned char buf[MAX_FAME_LIST * sizeof(struct fame_list)]; +void clif_ranklist(struct map_session_data *sd, enum fame_list_type type) { + int fd = sd->fd; int mypoint = 0; int upperMask = sd->class_&MAPID_UPPERMASK; - WBUFW(buf, 0) = 0x97d; - WBUFW(buf, 2) = rankingType; - clif_sub_ranklist(buf, 4, sd, rankingType); + WFIFOHEAD(fd, 288); + WFIFOW(fd, 0) = 0x97d; + WFIFOW(fd, 2) = type; + clif_ranklist_sub(WFIFOP(fd,4), type); - - if( - (upperMask == MAPID_BLACKSMITH && rankingType == RANKTYPE_BLACKSMITH) || - (upperMask == MAPID_ALCHEMIST && rankingType == RANKTYPE_ALCHEMIST) || - (upperMask == MAPID_TAEKWON && rankingType == RANKTYPE_TAEKWON) + if( (upperMask == MAPID_BLACKSMITH && type == RANKTYPE_BLACKSMITH) + || (upperMask == MAPID_ALCHEMIST && type == RANKTYPE_ALCHEMIST) + || (upperMask == MAPID_TAEKWON && type == RANKTYPE_TAEKWON) ) { mypoint = sd->status.fame; } else { mypoint = 0; } - WBUFL(buf, 284) = mypoint; //mypoint - clif_send(buf, 288, &sd->bl, SELF); + WFIFOL(fd, 284) = mypoint; //mypoint + WFIFOSET(fd, 288); } /* * 097c (CZ_REQ_RANKING) * */ -void clif_parse_ranklist(int fd,struct map_session_data *sd) { - int16 rankingtype = RFIFOW(fd, 2);//type +void clif_parse_ranklist(int fd, struct map_session_data *sd) { + int16 type = RFIFOW(fd, 2); //type - switch(rankingtype) { + switch( type ) { case RANKTYPE_BLACKSMITH: case RANKTYPE_ALCHEMIST: case RANKTYPE_TAEKWON: - clif_ranklist(sd,rankingtype); // pk_list unsuported atm + clif->ranklist(sd, type); // pk_list unsuported atm break; } } // 097e .W .L .L (ZC_UPDATE_RANKING_POINT) -void clif_update_rankingpoint(struct map_session_data *sd, int16 rankingtype, int point){ +void clif_update_rankingpoint(struct map_session_data *sd, enum fame_list_type type, int points) { #if PACKETVER < 20130710 - switch(rankingtype){ - case RANKTYPE_BLACKSMITH: clif->fame_blacksmith(sd,point); break; // Blacksmith - case RANKTYPE_ALCHEMIST: clif->fame_alchemist(sd,point); break; //Alchemist - case RANKTYPE_TAEKWON: clif->fame_taekwon(sd,point); break; // Taekwon + switch( type ) { + case RANKTYPE_BLACKSMITH: clif->fame_blacksmith(sd,points); break; + case RANKTYPE_ALCHEMIST: clif->fame_alchemist(sd,points); break; + case RANKTYPE_TAEKWON: clif->fame_taekwon(sd,points); break; } #else - int fd=sd->fd; - WFIFOHEAD(fd, 14); + int fd = sd->fd; + WFIFOHEAD(fd, 12); WFIFOW(fd, 0) = 0x97e; - WFIFOW(fd, 2) = rankingtype; - WFIFOL(fd, 4) = point; + WFIFOW(fd, 2) = type; + WFIFOL(fd, 4) = points; WFIFOL(fd, 8) = sd->status.fame; WFIFOSET(fd, 12); #endif } - - /// /blacksmith list (ZC_BLACKSMITH_RANK). /// 0219 { .24B }*10 { .L }*10 -void clif_blacksmith(struct map_session_data* sd) -{ - int i, fd = sd->fd; - const char* name; +void clif_blacksmith(struct map_session_data* sd) { + int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x219)); WFIFOW(fd,0) = 0x219; - //Packet size limits this list to 10 elements. [Skotlex] - for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) { - if (smith_fame_list[i].id > 0) { - if (strcmp(smith_fame_list[i].name, "-") == 0 && - (name = iMap->charid2nick(smith_fame_list[i].id)) != NULL) - { - strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), name, NAME_LENGTH); - } else - strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), smith_fame_list[i].name, NAME_LENGTH); - } else - strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), "None", 5); - WFIFOL(fd, 242 + i * 4) = smith_fame_list[i].fame; - } - for(;i < 10; i++) { //In case the MAX is less than 10. - strncpy((char *)(WFIFOP(fd, 2 + 24 * i)), "Unavailable", 12); - WFIFOL(fd, 242 + i * 4) = 0; - } - + clif_ranklist_sub(WFIFOP(fd, 2), RANKTYPE_BLACKSMITH); WFIFOSET(fd, packet_len(0x219)); } - /// /blacksmith (CZ_BLACKSMITH_RANK). /// 0217 -void clif_parse_Blacksmith(int fd,struct map_session_data *sd) -{ +void clif_parse_Blacksmith(int fd,struct map_session_data *sd) { clif->blacksmith(sd); } - /// Notification about backsmith points (ZC_BLACKSMITH_POINT). /// 021b .L .L -void clif_fame_blacksmith(struct map_session_data *sd, int points) -{ +void clif_fame_blacksmith(struct map_session_data *sd, int points) { int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x21b)); @@ -14186,49 +14158,26 @@ void clif_fame_blacksmith(struct map_session_data *sd, int points) WFIFOSET(fd, packet_len(0x21b)); } - /// /alchemist list (ZC_ALCHEMIST_RANK). /// 021a { .24B }*10 { .L }*10 void clif_alchemist(struct map_session_data* sd) { - int i, fd = sd->fd; - const char* name; + int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x21a)); WFIFOW(fd,0) = 0x21a; - //Packet size limits this list to 10 elements. [Skotlex] - for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) { - if (chemist_fame_list[i].id > 0) { - if (strcmp(chemist_fame_list[i].name, "-") == 0 && - (name = iMap->charid2nick(chemist_fame_list[i].id)) != NULL) - { - memcpy(WFIFOP(fd, 2 + 24 * i), name, NAME_LENGTH); - } else - memcpy(WFIFOP(fd, 2 + 24 * i), chemist_fame_list[i].name, NAME_LENGTH); - } else - memcpy(WFIFOP(fd, 2 + 24 * i), "None", NAME_LENGTH); - WFIFOL(fd, 242 + i * 4) = chemist_fame_list[i].fame; - } - for(;i < 10; i++) { //In case the MAX is less than 10. - memcpy(WFIFOP(fd, 2 + 24 * i), "Unavailable", NAME_LENGTH); - WFIFOL(fd, 242 + i * 4) = 0; - } - + clif_ranklist_sub(WFIFOP(fd,2), RANKTYPE_ALCHEMIST); WFIFOSET(fd, packet_len(0x21a)); } - /// /alchemist (CZ_ALCHEMIST_RANK). /// 0218 -void clif_parse_Alchemist(int fd,struct map_session_data *sd) -{ +void clif_parse_Alchemist(int fd,struct map_session_data *sd) { clif->alchemist(sd); } - /// Notification about alchemist points (ZC_ALCHEMIST_POINT). /// 021c .L .L -void clif_fame_alchemist(struct map_session_data *sd, int points) -{ +void clif_fame_alchemist(struct map_session_data *sd, int points) { int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x21c)); @@ -14238,48 +14187,26 @@ void clif_fame_alchemist(struct map_session_data *sd, int points) WFIFOSET(fd, packet_len(0x21c)); } - /// /taekwon list (ZC_TAEKWON_RANK). /// 0226 { .24B }*10 { .L }*10 void clif_taekwon(struct map_session_data* sd) { - int i, fd = sd->fd; - const char* name; + int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x226)); WFIFOW(fd,0) = 0x226; - //Packet size limits this list to 10 elements. [Skotlex] - for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) { - if (taekwon_fame_list[i].id > 0) { - if (strcmp(taekwon_fame_list[i].name, "-") == 0 && - (name = iMap->charid2nick(taekwon_fame_list[i].id)) != NULL) - { - memcpy(WFIFOP(fd, 2 + 24 * i), name, NAME_LENGTH); - } else - memcpy(WFIFOP(fd, 2 + 24 * i), taekwon_fame_list[i].name, NAME_LENGTH); - } else - memcpy(WFIFOP(fd, 2 + 24 * i), "None", NAME_LENGTH); - WFIFOL(fd, 242 + i * 4) = taekwon_fame_list[i].fame; - } - for(;i < 10; i++) { //In case the MAX is less than 10. - memcpy(WFIFOP(fd, 2 + 24 * i), "Unavailable", NAME_LENGTH); - WFIFOL(fd, 242 + i * 4) = 0; - } + clif_ranklist_sub(WFIFOP(fd,2), RANKTYPE_TAEKWON); WFIFOSET(fd, packet_len(0x226)); } - /// /taekwon (CZ_TAEKWON_RANK). /// 0225 -void clif_parse_Taekwon(int fd,struct map_session_data *sd) -{ +void clif_parse_Taekwon(int fd,struct map_session_data *sd) { clif->taekwon(sd); } - /// Notification about taekwon points (ZC_TAEKWON_POINT). /// 0224 .L .L -void clif_fame_taekwon(struct map_session_data *sd, int points) -{ +void clif_fame_taekwon(struct map_session_data *sd, int points) { int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x224)); @@ -14289,7 +14216,6 @@ void clif_fame_taekwon(struct map_session_data *sd, int points) WFIFOSET(fd, packet_len(0x224)); } - /// /pk list (ZC_KILLER_RANK). /// 0238 { .24B }*10 { .L }*10 void clif_ranking_pk(struct map_session_data* sd) { @@ -14307,8 +14233,7 @@ void clif_ranking_pk(struct map_session_data* sd) { /// /pk (CZ_KILLER_RANK). /// 0237 -void clif_parse_RankingPk(int fd,struct map_session_data *sd) -{ +void clif_parse_RankingPk(int fd,struct map_session_data *sd) { clif->ranking_pk(sd); } @@ -18165,7 +18090,7 @@ void clif_defaults(void) { clif->fame_alchemist = clif_fame_alchemist; clif->fame_taekwon = clif_fame_taekwon; clif->ranklist = clif_ranklist; - clif->parse_ranklist = clif_parse_ranklist; + clif->pRanklist = clif_parse_ranklist; clif->update_rankingpoint = clif_update_rankingpoint; clif->hotkeys = clif_hotkeys_send; clif->insight = clif_insight; diff --git a/src/map/clif.h b/src/map/clif.h index b364765e5..4559e4209 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -339,13 +339,6 @@ typedef enum useskill_fail_cause { // clif_skill_fail USESKILL_FAIL_THERE_ARE_NPC_AROUND = 83, }useskill_fail_cause; -enum rank_type { - RANKTYPE_BLACKSMITH = 0, - RANKTYPE_ALCHEMIST = 1, - RANKTYPE_TAEKWON = 2, - RANKTYPE_PK = 3 //Not supported yet -}; - enum clif_messages { SKILL_CANT_USE_AREA = 0x536, ITEM_CANT_USE_AREA = 0x537, @@ -604,9 +597,9 @@ struct clif_interface { void (*fame_blacksmith) (struct map_session_data *sd, int points); void (*fame_alchemist) (struct map_session_data *sd, int points); void (*fame_taekwon) (struct map_session_data *sd, int points); - void (*ranklist) (struct map_session_data *sd, int16 rankingType); - void (*update_rankingpoint) (struct map_session_data *sd, int16 rankingtype, int point); - void (*parse_ranklist) (int fd,struct map_session_data *sd); + void (*ranklist) (struct map_session_data *sd, enum fame_list_type type); + void (*update_rankingpoint) (struct map_session_data *sd, enum fame_list_type type, int points); + void (*pRanklist) (int fd, struct map_session_data *sd); void (*hotkeys) (struct map_session_data *sd); int (*insight) (struct block_list *bl,va_list ap); int (*outsight) (struct block_list *bl,va_list ap); diff --git a/src/map/packets.h b/src/map/packets.h index 86ae3af30..8fcc6c863 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2366,8 +2366,7 @@ packet(0x020d,-1); packet(0x0360,26,clif->pFriendsListAdd,2); packet(0x094A,5,clif->pHomMenu,2,4); packet(0x0873,36,clif->pStoragePassword,0); - packet(0x097c,4, clif->parse_ranklist); - packet(0x97D,288, clif->update_rankingpoint); //ZC_ACK_RANKING + packet(0x097C,4,clif->pRanklist); #endif -- cgit v1.2.3-70-g09d2 From 7d8f83d8ff360df4c2b960933c015117eb9d776b Mon Sep 17 00:00:00 2001 From: shenhuyong Date: Fri, 27 Sep 2013 10:35:52 +0800 Subject: Added full support for the Rebellion. Credits to 3ceam2 for the base,Thanks to Rytech. -The skill still needs to be completed, as well as support for higher base stats. -Bonus stats are set to temporarily values until the official ones are known. -Updated the item_db.txt file with information on the Rebellion's job equip mask. -Added packets and packet keys for 2013-08-07Ragexe with the info provided by Shakto,Thanks to Shakto. -A 2013-08-07Ragexe client or higher is required for this job to be properly playable. --- conf/help.txt | 2 +- conf/messages.conf | 1 + db/const.txt | 1 + db/job_db2.txt | 2 ++ db/pre-re/exp.txt | 4 +-- db/pre-re/job_db1.txt | 2 ++ db/pre-re/skill_db.txt | 26 ++++++++++++++ db/pre-re/skill_require_db.txt | 28 ++++++++++++++- db/pre-re/skill_tree.conf | 81 ++++++++++++++++++++++++++++++++++++++++++ db/re/exp.txt | 4 +-- db/re/job_db1.txt | 2 ++ db/re/skill_db.txt | 26 ++++++++++++++ db/re/skill_require_db.txt | 28 ++++++++++++++- db/re/skill_tree.conf | 81 ++++++++++++++++++++++++++++++++++++++++++ doc/item_db.txt | 1 + src/common/mmo.h | 1 + src/map/itemdb.c | 5 +++ src/map/map.h | 1 + src/map/packets.h | 35 ++++++++++++++++++ src/map/pc.c | 5 +++ src/map/pc.h | 5 +-- src/map/skill.c | 4 +-- src/map/skill.h | 25 +++++++++++++ src/map/status.c | 2 +- 24 files changed, 360 insertions(+), 12 deletions(-) (limited to 'src/map/packets.h') diff --git a/conf/help.txt b/conf/help.txt index 18630bf59..211ed5b19 100644 --- a/conf/help.txt +++ b/conf/help.txt @@ -102,7 +102,7 @@ jobchange: "Params: \n" "Changes your job.\n" " 23 Super Novice 24 Gunslinger 25 Ninja 4045 Super Baby\n" "4046 Taekwon 4047 Star Gladiator 4049 Soul Linker 4050 Gangsi\n" "4051 Death Knight 4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby\n" - "4211 Kagerou 4212 Oboro\n" + "4211 Kagerou 4212 Oboro 4215 Rebellion\n" "----- Baby Novice And Baby 1st Class -----\n" "4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer\n" "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief\n" diff --git a/conf/messages.conf b/conf/messages.conf index d7b25a258..fc8599f5b 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -652,6 +652,7 @@ 691: Sura T 692: Genetic T 693: Shadow Chaser T +694: Rebellion //------------------------------------ diff --git a/db/const.txt b/db/const.txt index 81421eac6..544638efb 100644 --- a/db/const.txt +++ b/db/const.txt @@ -164,6 +164,7 @@ Job_Super_Baby_E 4191 Job_Kagerou 4211 Job_Oboro 4212 +Job_Rebellion 4215 EAJL_2_1 0x100 EAJL_2_2 0x200 diff --git a/db/job_db2.txt b/db/job_db2.txt index a36cc3d88..5c5f9a445 100644 --- a/db/job_db2.txt +++ b/db/job_db2.txt @@ -287,3 +287,5 @@ 4211,5,0,4,0,2,3,0,1,6,0,5,1,2,0,4,6,3,0,1,5,2,0,6,3,4,0,5,0,2,0,1,4,0,5,4,0,3,5,1,0,2,4,1,0,5,6,2,1,0,5 // Oboro 4212,5,0,4,0,2,3,0,1,6,0,5,1,2,0,4,6,3,0,1,5,2,0,6,3,4,0,5,0,2,0,1,4,0,5,4,0,3,5,1,0,2,4,1,0,5,6,2,1,0,5 +// Rebellion +4215,5,6,0,6,0,5,0,0,0,6,5,6,0,0,4,0,5,0,0,5,6,0,0,0,5,2,0,0,0,3,6,1,0,0,5,4,0,0,5,0,1,0,6,0,5,0,0,1,0,1 diff --git a/db/pre-re/exp.txt b/db/pre-re/exp.txt index 0bb010b7c..7fff53932 100644 --- a/db/pre-re/exp.txt +++ b/db/pre-re/exp.txt @@ -53,7 +53,7 @@ //Base - 3rd Jobs, Baby 3rds, Expanded Super Novice, and Kagerou/Oboro //Note: (First 98 values [Level 1 - 98] are dummy values (used Adv Jobs values), because 3rd classes start at level 99.) -99,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304200,18516326,19766760,21085096,22473939,23935933,25473761,27090141,28787825,30569594,32438257,34396650,36447628,38594068,40838862,43184915,45635142,48192464,50859807,53640095,56536248,59551182,62687799,65948990,69337627,72856561,76508620,80296602,84223275,88291372,92503586,96862571,101370933,106031232,110845975,115817614,120948544,126241098,131697545,137320088,143110859,149071919,155205253,161512770,167996297,174657580,181498280,188519973,195724146,203112195,210685425,218445048,226392181,234527844,242852961,251368358,260074760,268972793,278062983,287345754,296821429,306490229,316352273,326407578,336656059,347097530,357731703,368558190,379576502,390786051,402186149,413776012,425554759,437521412,449674899,462014055,474537623,487244256,500132518,513200886,526447751,539871420,553470119,567241993,581185110,595297462,609576966,624021468,638628745,653396504,668322389,683403980,698638797,714024301,729557897,745236936,761058717,777020492,793119465,809352795,825717601,842210961,858829917,875571475,892432609,909410264,926501355,943702774,961011389,978424047,995937576,1013548788,1031254481,1049051440,1066936441,1084906252,1102957634,1121087346,1139292145,1157568786,1175914029,1194324635,1212797373,1231329018,1249916355,1268556179,1287245299,1305980536,1324758729,1343576732,1362431419,1381319683,1400238439,1419184625,1438155202,1457147157,1476157502,1495183278,1514221554,1533269429,1552324031,1571382520,1590442090,1609499966,1628553409,1647599713,1666636209,1685660263,1704669278,1723660695,1742631992,1761580687,1780504336,1799400534,1818266916,1837101157,1855900974,1874664122,1893388399,1912071644,1930711737,1949306600,1967854196,1986352530,2004799649,2023193642,2041532640,2059814816,2078038384,2096201600,2114302763,2132340212,2150312328,2168217533,2186054291,2203821106,2221516523,2239139127,2256687544,2274160439,2291556517,2308874523,2326113241,2343271492,2360348137,2377342074,2394252239,2411077605,2427817182,2444470016,2461035190,2477511822,2493899065,2510196107,2526402170,2542516509,2558538414,2574467207,2590302243,2606042908,2621688620,2637238829,2652693014,2668050684,2683311379,2698474666,2713540143,2728507434,2743376192,2758146097,2772816855,2787388198,2801859883,2816231694,2830503439,2844674950,2858746082,2872716714,2886586747,2900356105,2914024733,2927592598,2941059688,2954426010,2967691593,2980856483,2993920747,3006884469,3019747752,3032510717,3045173501,3057736259,3070199161,3082562393,3094826158,3106990673,3119056170,3131022894,3142891106,3154661079,3166333099,3177907466,3189384491,3200764497,3212047820,3223234805,3234325809,3245321200,3256221356,3267026664,3277737521,3288354333,3298877514,3309307489,3319644689,3329889553,3340042528,3350104069,3360074637,3369954700,3379744733,3389445216,3399056636,3408579485,3418014261,3427361466,3436621608,3445795199,3454882755,3463884797,3472801849,3481634440,3490383101,3499048368,3507630778,3516130872,3524549194,3532886290,3541142708,3549318998,3557415713,3565433406,3573372633,3581233950,3589017916,3596725090,3604356032,3611911302,3619391462,3626797073,3634128697,3641386897,3648572235,3655685273,3662726573,3669696697,3676596205,3683425658,3690185617,3696876640,3703499285,3710054109,3716541669,3722962519,3729317213,3735606303,3741830339,3747989871,3754085446,3760117610,3766086907,3771993879,3777839066,3783623006,3789346235,3795009287,3800612694,3806156985,3811642688,3817070327,3822440424,3827753500,3833010071,3838210653,3843355757,3848445893,3853481568,3858463286,3863391548,3868266853,3873089696,3877860570,3882579965,3887248368,3891866263,3896434130,3900952448,3905421692,3909842333,3914214841,3918539681,3922817316,3927048205,3931232805,3935371569,3939464947,3943513385,3947517328,3951477216,3955393486,3959266573,3963096907,3966884916,3970631025,3974335655,3977999224,3981622147,3985204835,3988747697,3992251137,3995715558,3999141358,4002528933,4005878676,4009190975,4012466216,4015704782,4018907052,4022073402,4025204206,4028299834,4031360652,4034387025,4037379312,4040337871,4043263057,4046155220,4049014709,4051841869,4054637042,4057400566,4060132778,4062834010,4065504592,4068144851,4070755111,4073335693,4075886914,4078409090,4080902532,4083367550,4085804450,4088213536,4090595108,4092949463,4095276897,4097577701,4099852165,4102100575,4104323215,4106520366,4108692307,4110839312,4112961655,4115059606,4117133433,4119183400,4121209770,4123212802,4125192754,4127149880,4129084433,4130996662,4132886814,4134755133,4136601862,4138427240,4140231505,4142014891,4143777631,4145519954,4147242089,4148944261,4150626693,4152289606,4153933218,4155557746,4157163403,4158750402,4160318952,4161869260,4163401532,4164915971,4166412777,4167892150,4169354286,4170799380,4172227625,4173639211,4175034327,4176413160,4177775894,4179122712,4180453795,4181769321,4183069467,4184354408,4185624318,4186879367,4188119725,4189345560,4190557037,4191754321,4192937573,4194106954,4195262623,4196404736,4197533449,4198648916,4199751289,4200840717,4201917350,4202981334,4204032815,4205071936,4206098840,4207113668,4208116558,4209107648,4210087074,4211054971,4212011472,4212956708,4213890810,4214813906,4215726123,4216627588,4217518424,4218398755,4219268703,4220128387,4220977927,4221817441,4222647044,4223466852,4224276979,4225077537,4225868637,4226650390,4227422904,4228186286,4228940643,4229686080,4230422700,4231150607,4231869902,4232580686,4233283058,4233977116,4234662957,4235340677,4236010370,4236672131,4237326053,4237972227,4238610743,4239241692,4239865161,4240481239,4241090012,4241691565,4242285983,4242873350,4243453749,4244027261,4244593967,4245153947,4245707279,4246254042,4246794313,4247328169,4247855684,4248376933,4248891990,4249400928,4249903818,4250400732,4250891740,4251376912,4251856316,4252330020,4252798092,4253260597,4253717602,4254169171,4254615368,4255056257,4255491900,4255922359,4256347695,4256767969,4257183240,4257593568,4257999011,4258399627,4258795472,4259186603,4259573076,4259954946,4260332267,4260705093,4261073477,4261437472,4261797129,4262152500,4262503636,4262850586,4263193401,4263532129,4263866819,4264197518,4264524274,4264847134,4265166143,4265481348,4265792793,4266100523,4266404582,4266705014,4267001861,4267295166,4267584971,4267871318,4268154248,4268433801,4268710017,4268982936,4269252597,4269519039,4269782300,4270042418,4270299430,4270553373,4270804284,4271052198,4271297151,4271539179,4271778316,4272014596,4272248054,4272478723,4272706636,4272931826,4273154325,4273374166,4273591380,4273805998,4274018051,4274227570,4274434585,4274639125,4274841221,4275040901,4275238194,4275433128,4275625732,4275816033,4276004059,4276189837,4276373393,4276554754,4276733946,4276910995,4277085927,4277258767,4277429540,4277598270,4277764982,4277929700,4278092447,4278253247,4278412124,4278569100,4278724198,4278877440,4279028849,4279178446,4279326253,4279472291,4279616582,4279759146,4279900004,4280039176,4280176683,4280312544,4280446779,4280579407,4280710448,4280839920,4280967842,4281094233,4281219111,4281342494,4281464400,4281584846,4281703850,4281821429,4281937601,4282052382,4282165788,4282277836,4282388543,4282497924,4282605995,4282712772,4282818270,4282922505,4283025492,4283127245,4283227779,4283327109,4283425250,4283522215,4283618019,4283712675,4283806197,4283898599,4283989894,4284080096,4284169217,4284257270,4284344268,4284430224,4284515150,4284599059,4284681963,4284763873,4284844802,4284924761,4285003762,4285081817,4285158936,4285235131,4285310413,4285384793,4285458282,4285530890,4285602628,4285673507,4285743536,4285812726,4285881087,4285948628,4286015360,4286081292,4286146434,4286210795,4286274385,4286337213,4286399288,4286460619,4286521215,4286581084,4286640236,4286698679,4286756421,4286813471,4286869837,4286925527,4286980550,4287034913,4287088625,4287141693,4287194125,4287245928,4287297110,4287347678,4287397640,4287447003,4287495774,4287543961,4287591570,4287638608,4287685082,4287730999,4287776365,4287821187,4287865472,4287909226,4287952455,4287995166,4288037365,4288079058,4288120251,4288160950,4288201161,4288240890,4288280143,4288318925,4288357242,4288395099,4288432502,4288469457,4288505969,4288542043,4288577684,4288612898,4288647690,4288682064,4288716026,4288749581,4288782733,4288815488,4288847850,4288879824,4288911414,4288942626,4288973463,4289003930,4289034032,4289063773,4289093157,4289122189,4289150873,4289179213,4289207213,4289234877,4289262209,4289289213,4289315893,4289342253,4289368297,4289394029,4289419452,4289444570,4289469387,4289493906,4289518131,4289542066,4289565714,4289589078,4289612162,4289634969,4289657502,4289679765,4289701761,4289723493,4289744964,4289766178,4289787137,4289807845,4289828305,4289848519,4289868491,4289888223,4289907718,4289926979,4289946009,4289964811,4289983388,4290001742,4290019876,4290037792,4290055493,4290072982,4290090261,4290107333,4290124200,4290140865,4290157330,4290173597,4290189669,4290205548,4290221237,4290236737,4290252051,4290267182,4290282131,4290296901,4290311494,4290325912,4290340157,4290354231,4290368136,4290381874,4290395447,4290408857,4290422107,4290435198,4290448132,4290460910,4290473535,4290486009,4290498333,4290510509,4290522539,4290534425,4290546168,4290557770,4290569233,4290580558,4290591748,4290602803,4290613726,4290624518,4290635180,4290645714,4290656122,4290666405,4290676565,4290686603,4290696520,4290706318,4290715999,4290725564,4290735014,4290744350,4290753574,4290762688,4290771692,4290780588,4290789378,4290798062,4290806642,4290815119,4290823494,4290831769,4290839944,4290848021,4290856001,4290863886,4290871676,4290879373,4290886977,4290894490,4290901913,4290909247,4290916493,4290923652,4290930725,4290937713,4290944617,4290951438,4290958178,4290964837,4290971416,4290977916,4290984338,4290990683,4290996952,4291003145,4291009264,4291015310,4291021283,4291027184,4291033015,4291038776,4291044468,4291050091,4291055647,4291061136,4291066559,4291071917,4291077211,4291082441,4291087609,4291092715,4291097759,4291102743,4291107667,4291112532,4291117338,4291122087,4291126779 +99,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212:4215,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304200,18516326,19766760,21085096,22473939,23935933,25473761,27090141,28787825,30569594,32438257,34396650,36447628,38594068,40838862,43184915,45635142,48192464,50859807,53640095,56536248,59551182,62687799,65948990,69337627,72856561,76508620,80296602,84223275,88291372,92503586,96862571,101370933,106031232,110845975,115817614,120948544,126241098,131697545,137320088,143110859,149071919,155205253,161512770,167996297,174657580,181498280,188519973,195724146,203112195,210685425,218445048,226392181,234527844,242852961,251368358,260074760,268972793,278062983,287345754,296821429,306490229,316352273,326407578,336656059,347097530,357731703,368558190,379576502,390786051,402186149,413776012,425554759,437521412,449674899,462014055,474537623,487244256,500132518,513200886,526447751,539871420,553470119,567241993,581185110,595297462,609576966,624021468,638628745,653396504,668322389,683403980,698638797,714024301,729557897,745236936,761058717,777020492,793119465,809352795,825717601,842210961,858829917,875571475,892432609,909410264,926501355,943702774,961011389,978424047,995937576,1013548788,1031254481,1049051440,1066936441,1084906252,1102957634,1121087346,1139292145,1157568786,1175914029,1194324635,1212797373,1231329018,1249916355,1268556179,1287245299,1305980536,1324758729,1343576732,1362431419,1381319683,1400238439,1419184625,1438155202,1457147157,1476157502,1495183278,1514221554,1533269429,1552324031,1571382520,1590442090,1609499966,1628553409,1647599713,1666636209,1685660263,1704669278,1723660695,1742631992,1761580687,1780504336,1799400534,1818266916,1837101157,1855900974,1874664122,1893388399,1912071644,1930711737,1949306600,1967854196,1986352530,2004799649,2023193642,2041532640,2059814816,2078038384,2096201600,2114302763,2132340212,2150312328,2168217533,2186054291,2203821106,2221516523,2239139127,2256687544,2274160439,2291556517,2308874523,2326113241,2343271492,2360348137,2377342074,2394252239,2411077605,2427817182,2444470016,2461035190,2477511822,2493899065,2510196107,2526402170,2542516509,2558538414,2574467207,2590302243,2606042908,2621688620,2637238829,2652693014,2668050684,2683311379,2698474666,2713540143,2728507434,2743376192,2758146097,2772816855,2787388198,2801859883,2816231694,2830503439,2844674950,2858746082,2872716714,2886586747,2900356105,2914024733,2927592598,2941059688,2954426010,2967691593,2980856483,2993920747,3006884469,3019747752,3032510717,3045173501,3057736259,3070199161,3082562393,3094826158,3106990673,3119056170,3131022894,3142891106,3154661079,3166333099,3177907466,3189384491,3200764497,3212047820,3223234805,3234325809,3245321200,3256221356,3267026664,3277737521,3288354333,3298877514,3309307489,3319644689,3329889553,3340042528,3350104069,3360074637,3369954700,3379744733,3389445216,3399056636,3408579485,3418014261,3427361466,3436621608,3445795199,3454882755,3463884797,3472801849,3481634440,3490383101,3499048368,3507630778,3516130872,3524549194,3532886290,3541142708,3549318998,3557415713,3565433406,3573372633,3581233950,3589017916,3596725090,3604356032,3611911302,3619391462,3626797073,3634128697,3641386897,3648572235,3655685273,3662726573,3669696697,3676596205,3683425658,3690185617,3696876640,3703499285,3710054109,3716541669,3722962519,3729317213,3735606303,3741830339,3747989871,3754085446,3760117610,3766086907,3771993879,3777839066,3783623006,3789346235,3795009287,3800612694,3806156985,3811642688,3817070327,3822440424,3827753500,3833010071,3838210653,3843355757,3848445893,3853481568,3858463286,3863391548,3868266853,3873089696,3877860570,3882579965,3887248368,3891866263,3896434130,3900952448,3905421692,3909842333,3914214841,3918539681,3922817316,3927048205,3931232805,3935371569,3939464947,3943513385,3947517328,3951477216,3955393486,3959266573,3963096907,3966884916,3970631025,3974335655,3977999224,3981622147,3985204835,3988747697,3992251137,3995715558,3999141358,4002528933,4005878676,4009190975,4012466216,4015704782,4018907052,4022073402,4025204206,4028299834,4031360652,4034387025,4037379312,4040337871,4043263057,4046155220,4049014709,4051841869,4054637042,4057400566,4060132778,4062834010,4065504592,4068144851,4070755111,4073335693,4075886914,4078409090,4080902532,4083367550,4085804450,4088213536,4090595108,4092949463,4095276897,4097577701,4099852165,4102100575,4104323215,4106520366,4108692307,4110839312,4112961655,4115059606,4117133433,4119183400,4121209770,4123212802,4125192754,4127149880,4129084433,4130996662,4132886814,4134755133,4136601862,4138427240,4140231505,4142014891,4143777631,4145519954,4147242089,4148944261,4150626693,4152289606,4153933218,4155557746,4157163403,4158750402,4160318952,4161869260,4163401532,4164915971,4166412777,4167892150,4169354286,4170799380,4172227625,4173639211,4175034327,4176413160,4177775894,4179122712,4180453795,4181769321,4183069467,4184354408,4185624318,4186879367,4188119725,4189345560,4190557037,4191754321,4192937573,4194106954,4195262623,4196404736,4197533449,4198648916,4199751289,4200840717,4201917350,4202981334,4204032815,4205071936,4206098840,4207113668,4208116558,4209107648,4210087074,4211054971,4212011472,4212956708,4213890810,4214813906,4215726123,4216627588,4217518424,4218398755,4219268703,4220128387,4220977927,4221817441,4222647044,4223466852,4224276979,4225077537,4225868637,4226650390,4227422904,4228186286,4228940643,4229686080,4230422700,4231150607,4231869902,4232580686,4233283058,4233977116,4234662957,4235340677,4236010370,4236672131,4237326053,4237972227,4238610743,4239241692,4239865161,4240481239,4241090012,4241691565,4242285983,4242873350,4243453749,4244027261,4244593967,4245153947,4245707279,4246254042,4246794313,4247328169,4247855684,4248376933,4248891990,4249400928,4249903818,4250400732,4250891740,4251376912,4251856316,4252330020,4252798092,4253260597,4253717602,4254169171,4254615368,4255056257,4255491900,4255922359,4256347695,4256767969,4257183240,4257593568,4257999011,4258399627,4258795472,4259186603,4259573076,4259954946,4260332267,4260705093,4261073477,4261437472,4261797129,4262152500,4262503636,4262850586,4263193401,4263532129,4263866819,4264197518,4264524274,4264847134,4265166143,4265481348,4265792793,4266100523,4266404582,4266705014,4267001861,4267295166,4267584971,4267871318,4268154248,4268433801,4268710017,4268982936,4269252597,4269519039,4269782300,4270042418,4270299430,4270553373,4270804284,4271052198,4271297151,4271539179,4271778316,4272014596,4272248054,4272478723,4272706636,4272931826,4273154325,4273374166,4273591380,4273805998,4274018051,4274227570,4274434585,4274639125,4274841221,4275040901,4275238194,4275433128,4275625732,4275816033,4276004059,4276189837,4276373393,4276554754,4276733946,4276910995,4277085927,4277258767,4277429540,4277598270,4277764982,4277929700,4278092447,4278253247,4278412124,4278569100,4278724198,4278877440,4279028849,4279178446,4279326253,4279472291,4279616582,4279759146,4279900004,4280039176,4280176683,4280312544,4280446779,4280579407,4280710448,4280839920,4280967842,4281094233,4281219111,4281342494,4281464400,4281584846,4281703850,4281821429,4281937601,4282052382,4282165788,4282277836,4282388543,4282497924,4282605995,4282712772,4282818270,4282922505,4283025492,4283127245,4283227779,4283327109,4283425250,4283522215,4283618019,4283712675,4283806197,4283898599,4283989894,4284080096,4284169217,4284257270,4284344268,4284430224,4284515150,4284599059,4284681963,4284763873,4284844802,4284924761,4285003762,4285081817,4285158936,4285235131,4285310413,4285384793,4285458282,4285530890,4285602628,4285673507,4285743536,4285812726,4285881087,4285948628,4286015360,4286081292,4286146434,4286210795,4286274385,4286337213,4286399288,4286460619,4286521215,4286581084,4286640236,4286698679,4286756421,4286813471,4286869837,4286925527,4286980550,4287034913,4287088625,4287141693,4287194125,4287245928,4287297110,4287347678,4287397640,4287447003,4287495774,4287543961,4287591570,4287638608,4287685082,4287730999,4287776365,4287821187,4287865472,4287909226,4287952455,4287995166,4288037365,4288079058,4288120251,4288160950,4288201161,4288240890,4288280143,4288318925,4288357242,4288395099,4288432502,4288469457,4288505969,4288542043,4288577684,4288612898,4288647690,4288682064,4288716026,4288749581,4288782733,4288815488,4288847850,4288879824,4288911414,4288942626,4288973463,4289003930,4289034032,4289063773,4289093157,4289122189,4289150873,4289179213,4289207213,4289234877,4289262209,4289289213,4289315893,4289342253,4289368297,4289394029,4289419452,4289444570,4289469387,4289493906,4289518131,4289542066,4289565714,4289589078,4289612162,4289634969,4289657502,4289679765,4289701761,4289723493,4289744964,4289766178,4289787137,4289807845,4289828305,4289848519,4289868491,4289888223,4289907718,4289926979,4289946009,4289964811,4289983388,4290001742,4290019876,4290037792,4290055493,4290072982,4290090261,4290107333,4290124200,4290140865,4290157330,4290173597,4290189669,4290205548,4290221237,4290236737,4290252051,4290267182,4290282131,4290296901,4290311494,4290325912,4290340157,4290354231,4290368136,4290381874,4290395447,4290408857,4290422107,4290435198,4290448132,4290460910,4290473535,4290486009,4290498333,4290510509,4290522539,4290534425,4290546168,4290557770,4290569233,4290580558,4290591748,4290602803,4290613726,4290624518,4290635180,4290645714,4290656122,4290666405,4290676565,4290686603,4290696520,4290706318,4290715999,4290725564,4290735014,4290744350,4290753574,4290762688,4290771692,4290780588,4290789378,4290798062,4290806642,4290815119,4290823494,4290831769,4290839944,4290848021,4290856001,4290863886,4290871676,4290879373,4290886977,4290894490,4290901913,4290909247,4290916493,4290923652,4290930725,4290937713,4290944617,4290951438,4290958178,4290964837,4290971416,4290977916,4290984338,4290990683,4290996952,4291003145,4291009264,4291015310,4291021283,4291027184,4291033015,4291038776,4291044468,4291050091,4291055647,4291061136,4291066559,4291071917,4291077211,4291082441,4291087609,4291092715,4291097759,4291102743,4291107667,4291112532,4291117338,4291122087,4291126779 //Job - 3rd Jobs, Baby 3rds, Expanded Super Novice, and Kagerou/Oboro -50,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212,1,368,568,696,1206,1774,2192,3196,5080,7352,8580,9892,13358,18984,31925,35860,40013,51605,68585,87770,96443,105515,131770,167428,206720,223860,241673,294553,362303,479053,513362,548856,656197,787507,927154,985696,1046034,1231134,1449220,1678177,1943306,2244059,2584282,2968115,3400000,3884688,4427246,5033064,5707855,6457661,7288852,8208125,9222500,10339317,11566230,12911197,14382470,15988583,17738338,19640789,21705223,23941143,26358244,28966392,31775600,34796000,38037819,41511350,45226922,49194872,53425513,57929105,62715823,67795725,73178721,78874542,84892710,91242506,97932943,104972733,112370263,120133566,128270295,136787699,145692601,154991375,164689926,174793673,185307530,196235893,207582627,219351052,231543938,244163492,257211358,270688607,284595740,298932685,313698799,328892871,344513126,360557232,377022309,393904936,411201163,428906522,447016041,465524258,484425237,503712583,523379460,543418608,563822364,584582678,605691135,627138976,648917115,671016163,693426449,716138040,739140762,762424222,785977830,809790819,833852265,858151108,882676174,907416194,932359821,957495652,982812246,1008298142,1033941875,1059731995,1085657082,1111705763,1137866726,1164128735,1190480643,1216911407,1243410098,1269965914,1296568193,1323206421,1349870242,1376549469,1403234090,1429914278,1456580397,1483223010,1509832883,1536400993,1562918530,1589376904,1615767747,1642082917,1668314501,1694454815,1720496409,1746432067,1772254807,1797957882,1823534782,1848979230,1874285184,1899446836,1924458610,1949315159,1974011367,1998542342,2022903418,2047090150,2071098310,2094923887,2118563083,2142012307,2165268175,2188327503,2211187307,2233844796,2256297369,2278542611,2300578289,2322402347,2344012903,2365408244,2386586822,2407547248,2428288289,2448808865,2469108042,2489185029,2509039173,2528669956,2548076989,2567260008,2586218871,2604953553,2623464142,2641750834,2659813929,2677653830,2695271035,2712666136,2729839813,2746792832,2763526041,2780040365,2796336805,2812416433,2828280388,2843929874,2859366157,2874590560,2889604462,2904409294,2919006536,2933397714,2947584399,2961568203,2975350775,2988933801,3002319001,3015508125,3028502953,3041305291,3053916970,3066339843,3078575783,3090626683,3102494451,3114181011,3125688300,3137018266,3148172868,3159154072,3169963851,3180604184,3191077054,3201384446,3211528348,3221510747,3231333629,3240998979,3250508779,3259865006,3269069632,3278124624,3287031942,3295793538,3304411356,3312887331,3321223387,3329421440,3337483392,3345411135,3353206549,3360871500,3368407842,3375817414,3383102041,3390263534,3397303689,3404224286,3411027090,3417713850,3424286299,3430746152,3437095109,3443334852,3449467047,3455493342,3461415367,3467234735,3472953041,3478571863,3484092761,3489517276,3494846931,3500083232,3505227667,3510281705,3515246797,3520124376,3524915857,3529622637,3534246095,3538787592,3543248471,3547630058,3551933659,3556160565,3560312047,3564389360,3568393741,3572326410,3576188570,3579981406,3583706087,3587363764,3590955573,3594482632,3597946043,3601346892,3604686248,3607965165,3611184681,3614345817,3617449581,3620496963,3623488939,3626426470,3629310502,3632141966,3634921779,3637650842,3640330044,3642960259,3645542346,3648077152,3650565509,3653008236,3655406140,3657760013,3660070635,3662338774,3664565184,3666750607,3668895774,3671001402,3673068197,3675096854,3677088055,3679042471,3680960763,3682843579,3684691557,3686505325,3688285499,3690032685,3691747478,3693430465,3695082220,3696703310,3698294290,3699855707,3701388097,3702891989,3704367901,3705816342,3707237813,3708632806,3710001804,3711345282,3712663706,3713957535,3715227220,3716473203,3717695918,3718895792,3720073245,3721228689,3722362528,3723475160,3724566975,3725638356,3726689680,3727721318,3728733632,3729726979,3730701710,3731658168,3732596692,3733517613,3734421257,3735307945,3736177990,3737031701,3737869381,3738691328,3739497833,3740289184,3741065662,3741827543,3742575099,3743308597,3744028298,3744734459,3745427333,3746107167,3746774204,3747428682,3748070836,3748700896,3749319088,3749925634,3750520750,3751104651,3751677546,3752239641,3752791138,3753332236,3753863129,3754384008,3754895060,3755396470,3755888418,3756371081,3756844634,3757309248,3757765090,3758212325,3758651114,3759081616,3759503986,3759918377,3760324939,3760723819,3761115161,3761499107,3761875797,3762245366,3762607949,3762963676,3763312677,3763655079,3763991005,3764320578,3764643917,3764961140,3765272361,3765577694,3765877250,3766171137,3766459463,3766742332,3767019847,3767292109,3767559217,3767821269,3768078359,3768330582,3768578029,3768820790,3769058954,3769292607,3769521835,3769746721,3769967347,3770183794,3770396141,3770604465,3770808842,3771009346,3771206051,3771399029,3771588350,3771774083,3771956296,3772135055,3772310426,3772482473,3772651259,3772816845,3772979292,3773138659,3773295005,3773448386,3773598859,3773746479,3773891300,3774033375,3774172755,3774309492,3774443636,3774575236,3774704340,3774830995,3774955248,3775077144,3775196728,3775314043,3775429133,3775542040,3775652805,3775761468,3775868070,3775972649,3776075244,3776175892,3776274631,3776371496,3776466523,3776559747,3776651202,3776740921,3776828938,3776915285,3776999993,3777083093,3777164616,3777244592,3777323050,3777400019,3777475527,3777549602,3777622271,3777693560,3777763496,3777832105,3777899411,3777965440,3778030215,3778093760,3778156099,3778217255,3778277250,3778336106,3778393844,3778450486,3778506053,3778560565,3778614042,3778666503,3778717968,3778768456,3778817986,3778866575,3778914242,3778961003,3779006877,3779051880,3779096028,3779139338,3779181825,3779223505,3779264394,3779304506,3779343857,3779382460,3779420330,3779457481,3779493927,3779529681,3779564756,3779599164,3779632919,3779666033,3779698518,3779730386,3779761649,3779792318,3779822405,3779851920,3779880875,3779909280,3779937145,3779964481,3779991298,3780017605,3780043413,3780068731,3780093568,3780117933,3780141835,3780165283,3780188286,3780210852,3780232989,3780254706,3780276010,3780296909,3780317412,3780337525,3780357256,3780376612,3780395601,3780414229,3780432503,3780450430,3780468016,3780485268,3780502193,3780518796,3780535084,3780551062,3780566737,3780582114,3780597199,3780611997,3780626514,3780640755,3780654726,3780668431,3780681876,3780695066,3780708005,3780720698,3780733150,3780745366,3780757349,3780769105,3780780637,3780791950,3780803048,3780813936,3780824617,3780835095,3780845374,3780855458,3780865350,3780875054,3780884574,3780893913,3780903074,3780912061,3780920878,3780929527,3780938012,3780946336,3780954501,3780962511,3780970369,3780978078,3780985640,3780993059,3781000337,3781007476,3781014480,3781021351,3781028091,3781034703,3781041189,3781047552,3781053794,3781059918,3781065925,3781071818,3781077599,3781083270,3781088834,3781094292,3781099646,3781104899,3781110052,3781115107,3781120066,3781124931,3781129703,3781134384,3781138976,3781143481,3781147901,3781152237,3781156490,3781160662,3781164755,3781168770,3781172709,3781176573,3781180364,3781184083,3781187731,3781191310,3781194821,3781198265,3781201644,3781204958,3781208209,3781211399,3781214528,3781217598,3781220609,3781223563,3781226461,3781229304,3781232093,3781234829,3781237513,3781240146,3781242729,3781245263,3781247749,3781250187,3781252579,3781254926,3781257228,3781259486,3781261701,3781263874,3781266006,3781268097,3781270149,3781272162,3781274136,3781276073,3781277973,3781279837,3781281666,3781283460,3781285220,3781286946,3781288639,3781290300,3781291930,3781293529,3781295097,3781296636,3781298145,3781299626,3781301078,3781302503,3781303901,3781305272,3781306617,3781307937,3781309231,3781310501,3781311747,3781312969,3781314168,3781315344,3781316498,3781317630,3781318740,3781319829,3781320897,3781321945,3781322973,3781323982,3781324972,3781325943,3781326895,3781327829,3781328745,3781329644,3781330526,3781331391,3781332240,3781333073,3781333890,3781334691,3781335477,3781336248,3781337004,3781337746,3781338474,3781339188,3781339888,3781340575,3781341249,3781341910,3781342559,3781343195,3781343819,3781344431,3781345032,3781345621,3781346199,3781346766,3781347322,3781347868,3781348403,3781348928,3781349443,3781349948,3781350444,3781350930,3781351407,3781351875,3781352334,3781352784,3781353226,3781353659,3781354084,3781354501,3781354910,3781355311,3781355705,3781356091,3781356470,3781356842,3781357207,3781357565,3781357916,3781358260,3781358598,3781358929,3781359254,3781359573,3781359886,3781360193,3781360494,3781360789,3781361079,3781361363,3781361642,3781361915,3781362183,3781362446,3781362704,3781362957,3781363205,3781363449,3781363688,3781363922,3781364152,3781364378,3781364599,3781364816,3781365029,3781365238,3781365443,3781365644,3781365841,3781366034,3781366224,3781366410,3781366593,3781366772,3781366948,3781367120,3781367289,3781367455,3781367618,3781367778,3781367934,3781368088,3781368239,3781368387,3781368532,3781368674,3781368813,3781368950,3781369084,3781369216,3781369345,3781369472,3781369596,3781369718,3781369838,3781369955,3781370070,3781370183,3781370294,3781370403,3781370509,3781370613,3781370715,3781370815,3781370914,3781371011,3781371106,3781371199,3781371290,3781371380,3781371468,3781371554,3781371638,3781371721,3781371802,3781371882,3781371960,3781372037,3781372112,3781372186,3781372258,3781372329,3781372399,3781372467,3781372534,3781372600,3781372664,3781372727,3781372789,3781372850,3781372910,3781372969,3781373026,3781373082,3781373137,3781373191,3781373244,3781373296,3781373347,3781373397,3781373446,3781373494,3781373541,3781373587,3781373632,3781373677,3781373721,3781373764,3781373806,3781373847,3781373887,3781373927,3781373966,3781374004,3781374041,3781374078,3781374114,3781374149,3781374184,3781374218,3781374251,3781374284,3781374316,3781374347,3781374378,3781374408,3781374438,3781374467,3781374496,3781374524,3781374551,3781374578,3781374604,3781374630,3781374655,3781374680,3781374704,3781374728,3781374751,3781374774,3781374797,3781374819,3781374841,3781374862,3781374883,3781374903,3781374923,3781374943,3781374962,3781374981,3781375000,3781375018,3781375036,3781375053,3781375070,3781375087,3781375103,3781375119,3781375135,3781375151,3781375166,3781375181,3781375196,3781375210,3781375224,3781375238,3781375252,3781375265,3781375278,3781375291,3781375303,3781375315,3781375327,3781375339,3781375351,3781375362,3781375373,3781375384,3781375395,3781375405,3781375415,3781375425,3781375435,3781375445,3781375454,3781375463,3781375472,3781375481,3781375490,3781375499,3781375507,3781375515,3781375523,3781375531,3781375539,3781375547,3781375554,3781375561,3781375568,3781375575,3781375582,3781375589,3781375596,3781375602,3781375608,3781375614,3781375620,3781375626,3781375632,3781375638,3781375644,3781375649,3781375654,3781375659,3781375664 +50,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212:4215,1,368,568,696,1206,1774,2192,3196,5080,7352,8580,9892,13358,18984,31925,35860,40013,51605,68585,87770,96443,105515,131770,167428,206720,223860,241673,294553,362303,479053,513362,548856,656197,787507,927154,985696,1046034,1231134,1449220,1678177,1943306,2244059,2584282,2968115,3400000,3884688,4427246,5033064,5707855,6457661,7288852,8208125,9222500,10339317,11566230,12911197,14382470,15988583,17738338,19640789,21705223,23941143,26358244,28966392,31775600,34796000,38037819,41511350,45226922,49194872,53425513,57929105,62715823,67795725,73178721,78874542,84892710,91242506,97932943,104972733,112370263,120133566,128270295,136787699,145692601,154991375,164689926,174793673,185307530,196235893,207582627,219351052,231543938,244163492,257211358,270688607,284595740,298932685,313698799,328892871,344513126,360557232,377022309,393904936,411201163,428906522,447016041,465524258,484425237,503712583,523379460,543418608,563822364,584582678,605691135,627138976,648917115,671016163,693426449,716138040,739140762,762424222,785977830,809790819,833852265,858151108,882676174,907416194,932359821,957495652,982812246,1008298142,1033941875,1059731995,1085657082,1111705763,1137866726,1164128735,1190480643,1216911407,1243410098,1269965914,1296568193,1323206421,1349870242,1376549469,1403234090,1429914278,1456580397,1483223010,1509832883,1536400993,1562918530,1589376904,1615767747,1642082917,1668314501,1694454815,1720496409,1746432067,1772254807,1797957882,1823534782,1848979230,1874285184,1899446836,1924458610,1949315159,1974011367,1998542342,2022903418,2047090150,2071098310,2094923887,2118563083,2142012307,2165268175,2188327503,2211187307,2233844796,2256297369,2278542611,2300578289,2322402347,2344012903,2365408244,2386586822,2407547248,2428288289,2448808865,2469108042,2489185029,2509039173,2528669956,2548076989,2567260008,2586218871,2604953553,2623464142,2641750834,2659813929,2677653830,2695271035,2712666136,2729839813,2746792832,2763526041,2780040365,2796336805,2812416433,2828280388,2843929874,2859366157,2874590560,2889604462,2904409294,2919006536,2933397714,2947584399,2961568203,2975350775,2988933801,3002319001,3015508125,3028502953,3041305291,3053916970,3066339843,3078575783,3090626683,3102494451,3114181011,3125688300,3137018266,3148172868,3159154072,3169963851,3180604184,3191077054,3201384446,3211528348,3221510747,3231333629,3240998979,3250508779,3259865006,3269069632,3278124624,3287031942,3295793538,3304411356,3312887331,3321223387,3329421440,3337483392,3345411135,3353206549,3360871500,3368407842,3375817414,3383102041,3390263534,3397303689,3404224286,3411027090,3417713850,3424286299,3430746152,3437095109,3443334852,3449467047,3455493342,3461415367,3467234735,3472953041,3478571863,3484092761,3489517276,3494846931,3500083232,3505227667,3510281705,3515246797,3520124376,3524915857,3529622637,3534246095,3538787592,3543248471,3547630058,3551933659,3556160565,3560312047,3564389360,3568393741,3572326410,3576188570,3579981406,3583706087,3587363764,3590955573,3594482632,3597946043,3601346892,3604686248,3607965165,3611184681,3614345817,3617449581,3620496963,3623488939,3626426470,3629310502,3632141966,3634921779,3637650842,3640330044,3642960259,3645542346,3648077152,3650565509,3653008236,3655406140,3657760013,3660070635,3662338774,3664565184,3666750607,3668895774,3671001402,3673068197,3675096854,3677088055,3679042471,3680960763,3682843579,3684691557,3686505325,3688285499,3690032685,3691747478,3693430465,3695082220,3696703310,3698294290,3699855707,3701388097,3702891989,3704367901,3705816342,3707237813,3708632806,3710001804,3711345282,3712663706,3713957535,3715227220,3716473203,3717695918,3718895792,3720073245,3721228689,3722362528,3723475160,3724566975,3725638356,3726689680,3727721318,3728733632,3729726979,3730701710,3731658168,3732596692,3733517613,3734421257,3735307945,3736177990,3737031701,3737869381,3738691328,3739497833,3740289184,3741065662,3741827543,3742575099,3743308597,3744028298,3744734459,3745427333,3746107167,3746774204,3747428682,3748070836,3748700896,3749319088,3749925634,3750520750,3751104651,3751677546,3752239641,3752791138,3753332236,3753863129,3754384008,3754895060,3755396470,3755888418,3756371081,3756844634,3757309248,3757765090,3758212325,3758651114,3759081616,3759503986,3759918377,3760324939,3760723819,3761115161,3761499107,3761875797,3762245366,3762607949,3762963676,3763312677,3763655079,3763991005,3764320578,3764643917,3764961140,3765272361,3765577694,3765877250,3766171137,3766459463,3766742332,3767019847,3767292109,3767559217,3767821269,3768078359,3768330582,3768578029,3768820790,3769058954,3769292607,3769521835,3769746721,3769967347,3770183794,3770396141,3770604465,3770808842,3771009346,3771206051,3771399029,3771588350,3771774083,3771956296,3772135055,3772310426,3772482473,3772651259,3772816845,3772979292,3773138659,3773295005,3773448386,3773598859,3773746479,3773891300,3774033375,3774172755,3774309492,3774443636,3774575236,3774704340,3774830995,3774955248,3775077144,3775196728,3775314043,3775429133,3775542040,3775652805,3775761468,3775868070,3775972649,3776075244,3776175892,3776274631,3776371496,3776466523,3776559747,3776651202,3776740921,3776828938,3776915285,3776999993,3777083093,3777164616,3777244592,3777323050,3777400019,3777475527,3777549602,3777622271,3777693560,3777763496,3777832105,3777899411,3777965440,3778030215,3778093760,3778156099,3778217255,3778277250,3778336106,3778393844,3778450486,3778506053,3778560565,3778614042,3778666503,3778717968,3778768456,3778817986,3778866575,3778914242,3778961003,3779006877,3779051880,3779096028,3779139338,3779181825,3779223505,3779264394,3779304506,3779343857,3779382460,3779420330,3779457481,3779493927,3779529681,3779564756,3779599164,3779632919,3779666033,3779698518,3779730386,3779761649,3779792318,3779822405,3779851920,3779880875,3779909280,3779937145,3779964481,3779991298,3780017605,3780043413,3780068731,3780093568,3780117933,3780141835,3780165283,3780188286,3780210852,3780232989,3780254706,3780276010,3780296909,3780317412,3780337525,3780357256,3780376612,3780395601,3780414229,3780432503,3780450430,3780468016,3780485268,3780502193,3780518796,3780535084,3780551062,3780566737,3780582114,3780597199,3780611997,3780626514,3780640755,3780654726,3780668431,3780681876,3780695066,3780708005,3780720698,3780733150,3780745366,3780757349,3780769105,3780780637,3780791950,3780803048,3780813936,3780824617,3780835095,3780845374,3780855458,3780865350,3780875054,3780884574,3780893913,3780903074,3780912061,3780920878,3780929527,3780938012,3780946336,3780954501,3780962511,3780970369,3780978078,3780985640,3780993059,3781000337,3781007476,3781014480,3781021351,3781028091,3781034703,3781041189,3781047552,3781053794,3781059918,3781065925,3781071818,3781077599,3781083270,3781088834,3781094292,3781099646,3781104899,3781110052,3781115107,3781120066,3781124931,3781129703,3781134384,3781138976,3781143481,3781147901,3781152237,3781156490,3781160662,3781164755,3781168770,3781172709,3781176573,3781180364,3781184083,3781187731,3781191310,3781194821,3781198265,3781201644,3781204958,3781208209,3781211399,3781214528,3781217598,3781220609,3781223563,3781226461,3781229304,3781232093,3781234829,3781237513,3781240146,3781242729,3781245263,3781247749,3781250187,3781252579,3781254926,3781257228,3781259486,3781261701,3781263874,3781266006,3781268097,3781270149,3781272162,3781274136,3781276073,3781277973,3781279837,3781281666,3781283460,3781285220,3781286946,3781288639,3781290300,3781291930,3781293529,3781295097,3781296636,3781298145,3781299626,3781301078,3781302503,3781303901,3781305272,3781306617,3781307937,3781309231,3781310501,3781311747,3781312969,3781314168,3781315344,3781316498,3781317630,3781318740,3781319829,3781320897,3781321945,3781322973,3781323982,3781324972,3781325943,3781326895,3781327829,3781328745,3781329644,3781330526,3781331391,3781332240,3781333073,3781333890,3781334691,3781335477,3781336248,3781337004,3781337746,3781338474,3781339188,3781339888,3781340575,3781341249,3781341910,3781342559,3781343195,3781343819,3781344431,3781345032,3781345621,3781346199,3781346766,3781347322,3781347868,3781348403,3781348928,3781349443,3781349948,3781350444,3781350930,3781351407,3781351875,3781352334,3781352784,3781353226,3781353659,3781354084,3781354501,3781354910,3781355311,3781355705,3781356091,3781356470,3781356842,3781357207,3781357565,3781357916,3781358260,3781358598,3781358929,3781359254,3781359573,3781359886,3781360193,3781360494,3781360789,3781361079,3781361363,3781361642,3781361915,3781362183,3781362446,3781362704,3781362957,3781363205,3781363449,3781363688,3781363922,3781364152,3781364378,3781364599,3781364816,3781365029,3781365238,3781365443,3781365644,3781365841,3781366034,3781366224,3781366410,3781366593,3781366772,3781366948,3781367120,3781367289,3781367455,3781367618,3781367778,3781367934,3781368088,3781368239,3781368387,3781368532,3781368674,3781368813,3781368950,3781369084,3781369216,3781369345,3781369472,3781369596,3781369718,3781369838,3781369955,3781370070,3781370183,3781370294,3781370403,3781370509,3781370613,3781370715,3781370815,3781370914,3781371011,3781371106,3781371199,3781371290,3781371380,3781371468,3781371554,3781371638,3781371721,3781371802,3781371882,3781371960,3781372037,3781372112,3781372186,3781372258,3781372329,3781372399,3781372467,3781372534,3781372600,3781372664,3781372727,3781372789,3781372850,3781372910,3781372969,3781373026,3781373082,3781373137,3781373191,3781373244,3781373296,3781373347,3781373397,3781373446,3781373494,3781373541,3781373587,3781373632,3781373677,3781373721,3781373764,3781373806,3781373847,3781373887,3781373927,3781373966,3781374004,3781374041,3781374078,3781374114,3781374149,3781374184,3781374218,3781374251,3781374284,3781374316,3781374347,3781374378,3781374408,3781374438,3781374467,3781374496,3781374524,3781374551,3781374578,3781374604,3781374630,3781374655,3781374680,3781374704,3781374728,3781374751,3781374774,3781374797,3781374819,3781374841,3781374862,3781374883,3781374903,3781374923,3781374943,3781374962,3781374981,3781375000,3781375018,3781375036,3781375053,3781375070,3781375087,3781375103,3781375119,3781375135,3781375151,3781375166,3781375181,3781375196,3781375210,3781375224,3781375238,3781375252,3781375265,3781375278,3781375291,3781375303,3781375315,3781375327,3781375339,3781375351,3781375362,3781375373,3781375384,3781375395,3781375405,3781375415,3781375425,3781375435,3781375445,3781375454,3781375463,3781375472,3781375481,3781375490,3781375499,3781375507,3781375515,3781375523,3781375531,3781375539,3781375547,3781375554,3781375561,3781375568,3781375575,3781375582,3781375589,3781375596,3781375602,3781375608,3781375614,3781375620,3781375626,3781375632,3781375638,3781375644,3781375649,3781375654,3781375659,3781375664 diff --git a/db/pre-re/job_db1.txt b/db/pre-re/job_db1.txt index d25f0891a..d9dbaa24e 100644 --- a/db/pre-re/job_db1.txt +++ b/db/pre-re/job_db1.txt @@ -279,3 +279,5 @@ 4211, 26000,80 , 0 ,515 ,400 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 // Oboro 4212, 26000,80 , 0 ,515 ,400 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 +// Rebellion +4215, 28000,88 , 0 ,450 ,540 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490 ,590 ,440 ,940 ,1040 ,2000 ,2000 ,600 diff --git a/db/pre-re/skill_db.txt b/db/pre-re/skill_db.txt index ec7a8bdbc..a663e4b57 100644 --- a/db/pre-re/skill_db.txt +++ b/db/pre-re/skill_db.txt @@ -1028,6 +1028,32 @@ //2547,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_MATKMAX#Maximum Magic Attack# //2548,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_MATKMIN#Minimal Magic Attack# +// Rebellion +2551,0,0,0,0,0,0,10,0,no,0,0,0,none,0, RL_GLITTERING_GREED,Flip The Coin Greed//Not in the skill tree. Why and what does it do? Need real max level. +2552,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_RICHS_COIN,Rich's Coin +2553,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_MASS_SPIRAL,Mass Spiral +2554,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_BANISHING_BUSTER,Banishing Buster +2555,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_B_TRAP,Bind Trap +2556,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_FLICKER,Flicker +2557,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_S_STORM,Shatter Storm +2558,0,0,0,0,0,0,10,0,no,0,0,0,none,0, RL_E_CHAIN,Eternal Chain +2559,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_QD_SHOT,Quick Draw Shot +2560,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_C_MARKER,Crimson Marker +2561,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_FIREDANCE,Fire Dance +2562,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_H_MINE,Howling Mine +2563,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_P_ALTER,Platinum Alter +2564,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_FALLEN_ANGEL,Fallen Angel +2565,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_R_TRIP,Round Trip +2566,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_D_TAIL,Dragon Tail +2567,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_FIRE_RAIN,Fire Rain +2568,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_HEAT_BARREL,Heat Barrel +2569,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_AM_BLAST,Anti-Material Blast +2570,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_SLUGSHOT,Slug Shot +2571,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_HAMMER_OF_GOD,Hammer of God +2572,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_R_TRIP_PLUSATK,Round Trip Plus Attack +2573,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_B_FLICKER_ATK,Bind Flicker Attack//Max level guess based on Bind Trap max level. +2574,0,0,0,0,0,0,10,0,no,0,0,0,none,0, RL_GLITTERING_GREED_ATK,Flip The Coin Greed Attack//Guess on max level is from Flip The Coin Greed + // Kagerou & Oboro 3001,0,6,4,0,0,0,1,1,no,0,0,0,none,0, KO_YAMIKUMO,Yamikumo 3002,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0, KO_RIGHT,Right Hand Mastery diff --git a/db/pre-re/skill_require_db.txt b/db/pre-re/skill_require_db.txt index 5b04d5f6a..7f4597f61 100644 --- a/db/pre-re/skill_require_db.txt +++ b/db/pre-re/skill_require_db.txt @@ -443,7 +443,7 @@ 1004,0,0,15,0,0,0,99,2,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AS_VENOMKNIFE#ƒxƒiƒ€ƒiƒCƒt# 1005,0,0,25,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RG_CLOSECONFINE#ƒN??[ƒYƒRƒ“ƒtƒ@ƒCƒ“# 1006,0,0,40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WZ_SIGHTBLASTER#ƒTƒCƒgƒuƒ‰ƒXƒ^?[# -1007,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SA_CREATECON#ƒGƒ‹ƒŒ?ƒ“ƒ^ƒ‹ƒRƒ“ƒo?[ƒ^?»?? +1007,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SA_CREATECON#ƒGƒ‹ƒŒ?ƒ“ƒ^ƒ‹ƒRƒ“ƒo?[ƒ^??? 1008,0,0,30,0,0,0,99,0,0,none,0,12115,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SA_ELEMENTWATER#ƒGƒ‹ƒŒ?ƒ“ƒ^ƒ‹ƒ`ƒFƒ“ƒW# 1009,0,0,10,0,0,0,11,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_PHANTASMIC#ƒtƒ@ƒ“ƒ^ƒXƒ~ƒbƒNƒA??[# 1010,0,0,20,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //BA_PANGVOICE#ƒpƒ“ƒ{ƒCƒX# @@ -793,6 +793,32 @@ //2543,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_RAY_OF_PROTECTION#Ray of Protection# //2544,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate# +// Rebellion +2551,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_GLITTERING_GREED#Flip The Coin Greed# +2552,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_RICHS_COIN#Rich's Coin# +2553,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_MASS_SPIRAL#Mass Spiral# +2554,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_BANISHING_BUSTER#Banishing Buster# +2555,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_B_TRAP#Bind Trap# +2556,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FLICKER#Flicker# +2557,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_S_STORM#Shatter Storm# +2558,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_E_CHAIN#Eternal Chain# +2559,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_QD_SHOT#Quick Draw Shot# +2560,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_C_MARKER#Crimson Marker# +2561,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FIREDANCE#Fire Dance# +2562,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_H_MINE#Howling Mine# +2563,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_P_ALTER#Platinum Alter# +2564,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FALLEN_ANGEL#Fallen Angel# +2565,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_R_TRIP#Round Trip# +2566,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_D_TAIL#Dragon Tail# +2567,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FIRE_RAIN#Fire Rain# +2568,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_HEAT_BARREL#Heat Barrel# +2569,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_AM_BLAST#Anti-Material Blast# +2570,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_SLUGSHOT#Slug Shot# +2571,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_HAMMER_OF_GOD#Hammer of God# +2572,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_R_TRIP_PLUSATK#Round Trip Plus Attack# +2573,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_B_FLICKER_ATK#Bind Flicker Attack# +2574,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_GLITTERING_GREED_ATK#Flip The Coin Greed Attack# + //**** // Kagerou/Oboro 3001,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //KO_YAMIKUMO#Yamikumo# diff --git a/db/pre-re/skill_tree.conf b/db/pre-re/skill_tree.conf index 23563b17e..c8f072c26 100644 --- a/db/pre-re/skill_tree.conf +++ b/db/pre-re/skill_tree.conf @@ -3851,4 +3851,85 @@ Oboro: { OB_ZANGETSU: 2 } } +Rebellion: { + inherit: ( "Gunslinger" ); + + skills: { + RL_RICHS_COIN: { + MaxLevel: 1 + GS_GLITTERING: 5 + } + RL_MASS_SPIRAL: { + MaxLevel: 5 + GS_PIERCINGSHOT: 1 + } + RL_BANISHING_BUSTER: { + MaxLevel: 5 + RL_S_STORM: 1 + } + RL_B_TRAP: 5 + RL_FLICKER: { + MaxLevel: 1 + GS_FLING: 1 + } + RL_S_STORM: { + MaxLevel: 5 + GS_DISARM: 1 + GS_DUST: 1 + } + RL_E_CHAIN: { + MaxLevel: 10 + GS_CHAINACTION: 10 + } + RL_QD_SHOT: { + MaxLevel: 1 + RL_E_CHAIN: 1 + } + RL_C_MARKER: { + MaxLevel: 1 + GS_INCREASING: 1 + } + RL_FIREDANCE: { + MaxLevel: 5 + RL_FALLEN_ANGEL: 1 + } + RL_H_MINE: { + MaxLevel: 5 + GS_SPREADATTACK: 1 + } + RL_P_ALTER: 5 + RL_FALLEN_ANGEL: { + MaxLevel: 5 + GS_DESPERADO: 10 + } + RL_R_TRIP: { + MaxLevel: 5 + RL_FIRE_RAIN: 1 + } + RL_D_TAIL: { + MaxLevel: 5 + RL_H_MINE: 3 + RL_C_MARKER: 1 + } + RL_FIRE_RAIN: { + MaxLevel: 5 + GS_GATLINGFEVER: 1 + } + RL_HEAT_BARREL: { + MaxLevel: 5 + RL_FIREDANCE: 2 + } + RL_AM_BLAST: { + MaxLevel: 5 + RL_MASS_SPIRAL: 1 + } + RL_SLUGSHOT: { + MaxLevel: 5 + RL_BANISHING_BUSTER: 3 + } + RL_HAMMER_OF_GOD: { + MaxLevel: 5 + RL_AM_BLAST: 3 + } + } } diff --git a/db/re/exp.txt b/db/re/exp.txt index 8ed6b6c83..c3bf5ccc0 100644 --- a/db/re/exp.txt +++ b/db/re/exp.txt @@ -14,7 +14,7 @@ //Base - 3rd Jobs, Baby 3rds, Expanded Super Novice, and Kagerou/Oboro //Note: (First 98 values [Level 1 - 98] are dummy values (used Adv Jobs values), because 3rd classes start at level 99.) -150,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212,0,420,660,1080,1800,2640,3840,4560,5040,5460,6000,6600,7200,7320,7620,8040,8820,9600,10080,10560,11040,12610,13390,14300,15340,16900,18460,19500,20800,22100,23400,24700,26000,27300,28600,30160,31200,33800,35750,37700,39000,44100,46200,47600,50400,52500,53200,56000,58800,62300,65800,68600,71400,74200,77000,79800,82600,86100,88200,91000,93800,103500,105000,109500,115500,120000,126000,132000,136500,142500,165000,192000,210000,232500,244500,255000,270000,282000,292500,300000,345000,416000,480000,560000,640000,768000,880000,960000,1088000,1200000,1440000,1700000,2040000,2550000,3060000,3570000,4080000,4760000,5610000,6800000,7070000,7400000,7770000,8150000,8550000,9100000,9610000,10150000,10570000,11180000,12000000,12200000,12930000,13150000,14030000,14420000,15420000,15670000,16870000,17140000,18720000,19020000,20590000,20930000,22690000,23310000,25290000,26020000,27860000,28535000,30990000,31680000,33560000,34942000,36372000,38350000,39890000,41545000,43330000,45400000,48100000,50410000,53370000,56250000,59230000,62590000,66120000,70200000,75330000,81100000,95000000,95285001,95570856,95857570,96145142,96433581,96722886,97013058,97304097,97596010,97888798,98182468,98477013,98772449,99068767,99365976,99664076,99963074,100262963,100563750,100865445,101168046,101471554,101775968,102081298,102387542,102694708,103002790,103311802,103621737,103932603,104244399,104557135,104870809,105185422,105500982,105817489,106134942,106453351,106772714,107093032,107414313,107736557,108059771,108383949,108709106,109035233,109362339,109690425,110019497,110349556,110680602,111012644,111345680,111679719,112014761,112350806,112687862,113025929,113365008,113705105,114046221,114388365,114731535,115075733,115420965,115767233,116114536,116462882,116812271,117162711,117514202,117866745,118220346,118575007,118930735,119287530,119645393,120004330,120364343,120725439,121087618,121450881,121815235,122180680,122547224,122914868,123283611,123653461,124024426,124396499,124769688,125143999,125519434,125895992,126273682,126652503,127032464,127413564,127795811,128179198,128563740,128949437,129336291,129724299,130113471,130503815,130895330,131288016,131681882,132076928,132473161,132870582,133269198,133669010,134070017,134472228,134875643,135280277,135686115,136093173,136501450,136910963,137321695,137733663,138146867,138561307,138976998,139393925,139812104,140231535,140652233,141074199,141497417,141921919,142347688,142774726,143203047,143632652,144063556,144495745,144929234,145364022,145800111,146237515,146676235,147116271,147557623,148000291,148444291,148889623,149336287,149784299,150233660,150684368,151136424,151589828,152044596,152500728,152958241,153417117,153877374,154339011,154802028,155266441,155732250,156199456,156668057,157138071,157609481,158082319,158556570,159032249,159509356,159987891,160467855,160949262,161432115,161916411,162402168,162889385,163378063,163868201,164359816,164852890,165347458,165843501,166341037,166840066,167340587,167842617,168346155,168851202,169357757,169865836,170375441,170886569,171399239,171913433,172429183,172946475,173465323,173985727,174507688,175031206,175556297,176082976,176611228,177141069,177672498,178205517,178740140,179276368,179814200,180353654,180894712,181437407,181981724,182527677,183075266,183624493,184175373,184727905,185282091,185837946,186395469,186954662,187515523,188078070,188642302,189208234,189775868,190345203,190916239,191488992,192063462,192639650,193217570,193797224,194378611,194961747,195546633,196133284,196721683,197311849,197903795,198497507,199093000,199690275,200289347,200890216,201492882,202097362,202703656,203311763,203921699,204533465,205147076,205762517,206379803,206998951,207619945,208242816,208867548,209494159,210122646,210753012,211385271,212019424,212655486,213293458,213933340,214575148,215218881,215864541,216512142,217161684,217813169,218466612,219122012,219779386,220438734,221100056,221763368,222428654,223095946,223765244,224436548,225109858,225785190,226462544,227141936,227823366,228506834,229192357,229879933,230569580,231261297,231955084,232650958,233348917,234048963,234751111,235455362,236161731,236870218,237580839,238293579,239008469,239725494,240444669,241166011,241889519,242615193,243343050,244073090,244805312,245539733,246276352,247015186,247756234,248499513,249245023,249992764,250742751,251494985,252249482,253006241,253765264,254526565,255290145,256056019,256824189,257594669,258367461,259142563,259919993,260699765,261481864,262266307,263053108,263842268,264633804,265427714,266224000,267022677,267823745,268627220,269433119,270241425,271052169,271865322,272680913,273498976,274319478,275142452,275967897,276795813,277626201,278459092,279294487,280132385,280972787,281815724,282661165,283509141,284359685,285212765,286068412,286926627,287787409,288650792,289516742,290385292,291256441,292130223,293006604,293885617,294767295,295651604,296538577,297428213,298320514,299215479,300113140,301013497,301916550,302822299,303730777,304641982,305555916,306472578,307392000,308314182,309239124,310166859,311097355,312030642,312966754,313905658,314847387,315791940,316739318,317689552,318642611,319598558,320557362,321519054,322483603,323451073,324421432,325394711,326370910,327350031,328332072,329317067,330305014,331295946,332289830,333286700,334286555,335289426,336295315,337304221,338316143,339331083,340349072,341370110,342394229,343421429,344451711,345485074,346521550,347561107,348603810,349649626,350698588,351750695,352805947,353864377,354925984,355990769,357058763,358129935,359204317,360281940,361362805,362446912,363534260,364624882,365718778,366815948,367916391,369020140,370127196,371237589,372351320,373468389,374588796,375712574,376839721,377970239,379104158,380241480,381382204,382526362,383673955,384824981,385979475,387137434,388298860,389463752,390632143,391804032,392979452,394158402,395340883,396526926,397716501,398909669,400106401,401306727,402510648,403718196,404929371,406144172,407362601,408584688,409810466,411039903,412273032,413509851,414750394,415994659,417242648,418494392,419749891,421009146,422272188,423539017,424809633,426084069,427362325,428644431,429930358,431220168,432513829,433811374,435112803,436418147,437727407,439040583,440357706,441678778,443003829,444332860,445665871,447002862,448343865,449688913,451038004,452391139,453748318,455109574,456474906,457844346,459217894,460595551,461977348,463363285,464753395,466147677,467546132,468948792,470355656,471766724,473182030,474601571,476025382,477453462,478885842,480322523,481763505,483208820,484658468,486112449,487570795,489033506,490500614,491972120,493448054,494928418,496413211,497902466,499396181,500894391,502397093,503904289,505416011,506932258,508453063,509978425,511508377,513042919,514582051,516125804,517674180,519227209,520784892,522347261,523914316,525486057,527062517,528643726,530229654,531820364,533415824,535016066,536621123,538230994,539845680,541465244,543089623,544718880,546353015,547992094,549636051,551284951,552938794,554597644,556261436,557930235,559604042,561282855,562966740,564655631,566349594,568048628,569752797,571462038,573176414,574895925,576620635,578350481,580085527,581825772,583571281,585321990,587077962,588839198,590605697,592377525,594154681,595937164,597724975,599518179,601316775,603120763,604930142,606744915,608565143,610390828,612222033,614058694,615900876,617748579,619601866,621460674,623325067,625195044,627070670,628951881,630838740,632731249,634629471,636533341,638442925,640358286,642279360,644206211,646138840,648077246,650021493,651971582,653927512,655889284,657856961,659830544,661810033,663795492,665786920,667784318,669787686,671797089,673812525,675833995,677861500,679895102,681934803,683980602,686032564,688090688,690154974,692225423,694302098,696385000,698474193,700569613,702671323,704779324,706893680,709014391,711141458,713274879,715414719,717560979,719713657,721872820,724038465,726210594,728389271,730574431,732766138,734964457,737169388,739380931,741599086,743823916,746055423,748293605,750538528,752790127,755048530,757313673,759585620,761864372,764149993,766442482,768741839,771048065,773361224,775681315,778008404,780342425,782683443,785031522,787386663,789748864,792118127,794494515,796878028,799268666,801666494,804071512,806483719,808903180,811329894,813763926,816205212,818653816,821109802,823573170,826043920,828522053,831007631,833500656,836001191,838509237,841024793,843547859,846078501,848616781,851162636,853716129,856277326,858846161,861422700,864007006,866599015,869198855,871806462,874421901,877045172,879676337,882315399,884962356,887617273,890280150,892950987,895629847,898316732,901011705,903714766,906425915,909145216,911872670,914608277,917352099,920104203,922864523,925633124,928410070,931195297,933988933,936790914,939601304,942420103,945247376,948083121,950927405,953780226,956641584,959511544,962390106,965277270,968173099,971077659,973990885,976912905,979843655,982783199,985731538,988688735,991654790,994629769,997613670,1000606558,1003608368,1006619230,1009639078,1012668042,1015706057,1018753187,1021809497,1024874921,1027949590,1031033438,1034126529,1037228929,1040340636,1043461651,1046592038,1049731862,1052881057,1056039753,1059207885,1062385517,1065572714,1068769476,1071975802,1075191757,1078417405,1081652682,1084897716,1088152379,1091416799,1094691105,1097975168,1101269116,1104572950,1107886669,1111210403,1114544022,1117887655,1121241302,1124605091,1127978894,1131362840,1134756928,1138161158,1141575659,1145000430,1148435473,1151880786,1155336498,1158802481,1162278863,1165765773,1169263081,1172770917,1176289281,1179818172,1183357591,1186907665,1190468395,1194039782,1197621952,1201214907,1204818517,1208433040,1212058348 +150,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212:4215,0,420,660,1080,1800,2640,3840,4560,5040,5460,6000,6600,7200,7320,7620,8040,8820,9600,10080,10560,11040,12610,13390,14300,15340,16900,18460,19500,20800,22100,23400,24700,26000,27300,28600,30160,31200,33800,35750,37700,39000,44100,46200,47600,50400,52500,53200,56000,58800,62300,65800,68600,71400,74200,77000,79800,82600,86100,88200,91000,93800,103500,105000,109500,115500,120000,126000,132000,136500,142500,165000,192000,210000,232500,244500,255000,270000,282000,292500,300000,345000,416000,480000,560000,640000,768000,880000,960000,1088000,1200000,1440000,1700000,2040000,2550000,3060000,3570000,4080000,4760000,5610000,6800000,7070000,7400000,7770000,8150000,8550000,9100000,9610000,10150000,10570000,11180000,12000000,12200000,12930000,13150000,14030000,14420000,15420000,15670000,16870000,17140000,18720000,19020000,20590000,20930000,22690000,23310000,25290000,26020000,27860000,28535000,30990000,31680000,33560000,34942000,36372000,38350000,39890000,41545000,43330000,45400000,48100000,50410000,53370000,56250000,59230000,62590000,66120000,70200000,75330000,81100000,95000000,95285001,95570856,95857570,96145142,96433581,96722886,97013058,97304097,97596010,97888798,98182468,98477013,98772449,99068767,99365976,99664076,99963074,100262963,100563750,100865445,101168046,101471554,101775968,102081298,102387542,102694708,103002790,103311802,103621737,103932603,104244399,104557135,104870809,105185422,105500982,105817489,106134942,106453351,106772714,107093032,107414313,107736557,108059771,108383949,108709106,109035233,109362339,109690425,110019497,110349556,110680602,111012644,111345680,111679719,112014761,112350806,112687862,113025929,113365008,113705105,114046221,114388365,114731535,115075733,115420965,115767233,116114536,116462882,116812271,117162711,117514202,117866745,118220346,118575007,118930735,119287530,119645393,120004330,120364343,120725439,121087618,121450881,121815235,122180680,122547224,122914868,123283611,123653461,124024426,124396499,124769688,125143999,125519434,125895992,126273682,126652503,127032464,127413564,127795811,128179198,128563740,128949437,129336291,129724299,130113471,130503815,130895330,131288016,131681882,132076928,132473161,132870582,133269198,133669010,134070017,134472228,134875643,135280277,135686115,136093173,136501450,136910963,137321695,137733663,138146867,138561307,138976998,139393925,139812104,140231535,140652233,141074199,141497417,141921919,142347688,142774726,143203047,143632652,144063556,144495745,144929234,145364022,145800111,146237515,146676235,147116271,147557623,148000291,148444291,148889623,149336287,149784299,150233660,150684368,151136424,151589828,152044596,152500728,152958241,153417117,153877374,154339011,154802028,155266441,155732250,156199456,156668057,157138071,157609481,158082319,158556570,159032249,159509356,159987891,160467855,160949262,161432115,161916411,162402168,162889385,163378063,163868201,164359816,164852890,165347458,165843501,166341037,166840066,167340587,167842617,168346155,168851202,169357757,169865836,170375441,170886569,171399239,171913433,172429183,172946475,173465323,173985727,174507688,175031206,175556297,176082976,176611228,177141069,177672498,178205517,178740140,179276368,179814200,180353654,180894712,181437407,181981724,182527677,183075266,183624493,184175373,184727905,185282091,185837946,186395469,186954662,187515523,188078070,188642302,189208234,189775868,190345203,190916239,191488992,192063462,192639650,193217570,193797224,194378611,194961747,195546633,196133284,196721683,197311849,197903795,198497507,199093000,199690275,200289347,200890216,201492882,202097362,202703656,203311763,203921699,204533465,205147076,205762517,206379803,206998951,207619945,208242816,208867548,209494159,210122646,210753012,211385271,212019424,212655486,213293458,213933340,214575148,215218881,215864541,216512142,217161684,217813169,218466612,219122012,219779386,220438734,221100056,221763368,222428654,223095946,223765244,224436548,225109858,225785190,226462544,227141936,227823366,228506834,229192357,229879933,230569580,231261297,231955084,232650958,233348917,234048963,234751111,235455362,236161731,236870218,237580839,238293579,239008469,239725494,240444669,241166011,241889519,242615193,243343050,244073090,244805312,245539733,246276352,247015186,247756234,248499513,249245023,249992764,250742751,251494985,252249482,253006241,253765264,254526565,255290145,256056019,256824189,257594669,258367461,259142563,259919993,260699765,261481864,262266307,263053108,263842268,264633804,265427714,266224000,267022677,267823745,268627220,269433119,270241425,271052169,271865322,272680913,273498976,274319478,275142452,275967897,276795813,277626201,278459092,279294487,280132385,280972787,281815724,282661165,283509141,284359685,285212765,286068412,286926627,287787409,288650792,289516742,290385292,291256441,292130223,293006604,293885617,294767295,295651604,296538577,297428213,298320514,299215479,300113140,301013497,301916550,302822299,303730777,304641982,305555916,306472578,307392000,308314182,309239124,310166859,311097355,312030642,312966754,313905658,314847387,315791940,316739318,317689552,318642611,319598558,320557362,321519054,322483603,323451073,324421432,325394711,326370910,327350031,328332072,329317067,330305014,331295946,332289830,333286700,334286555,335289426,336295315,337304221,338316143,339331083,340349072,341370110,342394229,343421429,344451711,345485074,346521550,347561107,348603810,349649626,350698588,351750695,352805947,353864377,354925984,355990769,357058763,358129935,359204317,360281940,361362805,362446912,363534260,364624882,365718778,366815948,367916391,369020140,370127196,371237589,372351320,373468389,374588796,375712574,376839721,377970239,379104158,380241480,381382204,382526362,383673955,384824981,385979475,387137434,388298860,389463752,390632143,391804032,392979452,394158402,395340883,396526926,397716501,398909669,400106401,401306727,402510648,403718196,404929371,406144172,407362601,408584688,409810466,411039903,412273032,413509851,414750394,415994659,417242648,418494392,419749891,421009146,422272188,423539017,424809633,426084069,427362325,428644431,429930358,431220168,432513829,433811374,435112803,436418147,437727407,439040583,440357706,441678778,443003829,444332860,445665871,447002862,448343865,449688913,451038004,452391139,453748318,455109574,456474906,457844346,459217894,460595551,461977348,463363285,464753395,466147677,467546132,468948792,470355656,471766724,473182030,474601571,476025382,477453462,478885842,480322523,481763505,483208820,484658468,486112449,487570795,489033506,490500614,491972120,493448054,494928418,496413211,497902466,499396181,500894391,502397093,503904289,505416011,506932258,508453063,509978425,511508377,513042919,514582051,516125804,517674180,519227209,520784892,522347261,523914316,525486057,527062517,528643726,530229654,531820364,533415824,535016066,536621123,538230994,539845680,541465244,543089623,544718880,546353015,547992094,549636051,551284951,552938794,554597644,556261436,557930235,559604042,561282855,562966740,564655631,566349594,568048628,569752797,571462038,573176414,574895925,576620635,578350481,580085527,581825772,583571281,585321990,587077962,588839198,590605697,592377525,594154681,595937164,597724975,599518179,601316775,603120763,604930142,606744915,608565143,610390828,612222033,614058694,615900876,617748579,619601866,621460674,623325067,625195044,627070670,628951881,630838740,632731249,634629471,636533341,638442925,640358286,642279360,644206211,646138840,648077246,650021493,651971582,653927512,655889284,657856961,659830544,661810033,663795492,665786920,667784318,669787686,671797089,673812525,675833995,677861500,679895102,681934803,683980602,686032564,688090688,690154974,692225423,694302098,696385000,698474193,700569613,702671323,704779324,706893680,709014391,711141458,713274879,715414719,717560979,719713657,721872820,724038465,726210594,728389271,730574431,732766138,734964457,737169388,739380931,741599086,743823916,746055423,748293605,750538528,752790127,755048530,757313673,759585620,761864372,764149993,766442482,768741839,771048065,773361224,775681315,778008404,780342425,782683443,785031522,787386663,789748864,792118127,794494515,796878028,799268666,801666494,804071512,806483719,808903180,811329894,813763926,816205212,818653816,821109802,823573170,826043920,828522053,831007631,833500656,836001191,838509237,841024793,843547859,846078501,848616781,851162636,853716129,856277326,858846161,861422700,864007006,866599015,869198855,871806462,874421901,877045172,879676337,882315399,884962356,887617273,890280150,892950987,895629847,898316732,901011705,903714766,906425915,909145216,911872670,914608277,917352099,920104203,922864523,925633124,928410070,931195297,933988933,936790914,939601304,942420103,945247376,948083121,950927405,953780226,956641584,959511544,962390106,965277270,968173099,971077659,973990885,976912905,979843655,982783199,985731538,988688735,991654790,994629769,997613670,1000606558,1003608368,1006619230,1009639078,1012668042,1015706057,1018753187,1021809497,1024874921,1027949590,1031033438,1034126529,1037228929,1040340636,1043461651,1046592038,1049731862,1052881057,1056039753,1059207885,1062385517,1065572714,1068769476,1071975802,1075191757,1078417405,1081652682,1084897716,1088152379,1091416799,1094691105,1097975168,1101269116,1104572950,1107886669,1111210403,1114544022,1117887655,1121241302,1124605091,1127978894,1131362840,1134756928,1138161158,1141575659,1145000430,1148435473,1151880786,1155336498,1158802481,1162278863,1165765773,1169263081,1172770917,1176289281,1179818172,1183357591,1186907665,1190468395,1194039782,1197621952,1201214907,1204818517,1208433040,1212058348 //Job - Novice & Baby Novice 10,0:4023,1,4,10,18,28,40,91,151,205,268,340 @@ -35,7 +35,7 @@ 70,4008:4009:4010:4011:4012:4013:4014:4015:4016:4017:4018:4019:4020:4021:4022,1,2400,3800,6200,10400,15200,22900,27100,30000,32500,35700,41300,45000,45800,47600,50300,58700,63900,67100,70300,73500,90600,96200,102700,110200,121400,144700,152900,163100,173300,183500,213500,224700,236000,247200,260700,299800,324800,343600,362300,374800,474400,497000,512100,542200,564800,644300,678200,712100,754500,796900,949300,988100,1026800,1065600,1104300,1334800,1391400,1425300,1470600,1515800,2003800,2032800,2119900,2236100,2323200,3025300,3433300,3776600,4436900,6758400,6893567,7031438,7172066,7315507,7461817,7611053,7763273,7918538,8076908,8238446,8403214,8571278,8742703,8917556,9095906,9277823,9463379,9652646,9845698,10042611,10243463,10448332,10657298,10870443,11087851,11309607,11535798,11766513,12001843,12241879,12486716,12736450,12991178,13251001,13516020,13786340,14062066,14343307,14630172,14922775,15221230,15525654,15836166,16152889,16475946,16805464,17141572,17484403,17834091,18190773,18554587,18925679,19304193,19690275,20084081,20485761,20895474,21313383,21739651,22174444,22617932,23070290,23531695,24002329,24482374,24972021,25471459,25980888,26500505,27030513,27571121,28122541,28684990,29258689,29843861,30440736,31049550,31670540,32303950,32950028,33609027,34281207,34966831,35666167,36379490,37107077,37849216,38606199,39378323,40165889,40969204,41788587,42624358,43476846,44346384,45233310,46137977,47060734,48001949,48961986,49941222,50940047,51958847,52998023,54057983,55139142,56241925,57366761,58514094,59684376,60878062,62095624,63337535,64604285,65896368,67214294,68558580,69929746,71328337,72754901,74210000,75694198,77208082,78752240,80327283,81933824,83572498,85243944,86948821,88687798,90461554,92270781,94116197,95998522,97918488,99876855,101874391,103911877,105990115,108109912,110272108,112477552,114727100,117021643,119362070,121749311,124184295,126667979,129201333,131785360,134421064,137109474,139851658,142648694,145501659,148411694,151379927,154407515,157495667,160645574,163858476,167135646,170478357,173887915,177365675,180912990,184531248,188221869,191986305,195826026,199742548,203737391,207812135,211968366,216207731,220531878,224942505,229441357,234030182,238710775,243484978,248354670,253321760,258388190,263555950 //Job - 3rd Jobs, Baby 3rds, Expanded Super Novice, and Kagerou/Oboro -50,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212,1,106000,112000,355000,615000,917000,1253000,1595000,2007000,2430000,2868000,3420000,3863000,4504000,4998000,5769000,6321000,7254000,7870000,9015000,9530000,11072000,11848000,13467000,14337000,16243000,17216000,19446000,20781000,23070000,24453000,27568000,29118000,31820000,34125000,37048000,40204000,42972000,45937000,49110000,52696000,57158000,61305000,67167000,72285000,77647000,83624000,91113000,98548000,107630000,119077000,120267768,121470444,122685151,123912002,125151118,126402630,127666657,128943321,130232751,131535078,132850429,134178935,135520724,136875925,138244677,139627117,141023389,142433624,143857966,145296546,146749508,148216997,149699160,151196158,152708120,154235207,155777550,157335326,158908679,160497757,162102736,163723761,165360996,167014600,168684736,170371581,172075298,173796047,175534006,177289338,179062235,180852860,182661390,184488004,186332878,188196207,190078168,191978955,193898747,195837737,197796119,199774071,201771802,203789524,205827413,207885680,209964534,212064171,214184815,216326662,218489920,220674817,222881562,225110381,227361485,229635100,231931452,234250768,236593273,238959210,241348805,243762285,246199908,248661900,251148520,253659994,256196597,258758555,261346143,263959602,266599193,269265189,271957833,274677399,277424179,280198431,283000413,285830417,288688733,291575620,294491369,297436270,300410615,303414727,306448864,309513349,312608474,315734561,318891902,322080819,325301637,328554645,331840199,335158590,338510174,341895274,345314213,348767346,352255030,355777587,359335372,362928710,366557987,370223560,373925783,377665046,381441702,385256109,389108653,392999722,396929705,400898989,404907961,408957043,413046622,417177086,421348854,425562348,429817955,434116127,438457285,442841848,447270270,451742970,456260401,460823015,465431233,470085539,474786386,479534259,484329610,489172891,494064620,499005249,503995295,509035244,514125579,519266818,524459479,529704077,535001099,540351093,545754609,551212165,556724276,562291525,567914429,573593570,579329530,585122825,590974038,596883750,602852608,608881128,614969957,621119677,627330870,633604182,639940195,646339620,652803038,659331031,665924311,672583524,679309381,686102463,692963482,699893083,706891979,713960880,721100498,728311477,735594595,742950563,750380090,757883889,765462735,773117339,780848477,788656925,796543457,804508915,812554009,820679516,828886275,837175126,845546847,854002276,862542318,871167751,879879413,888678209,897564981,906540633,915606005 +50,4054:4055:4056:4057:4058:4059:4060:4061:4062:4063:4064:4065:4066:4067:4068:4069:4070:4071:4072:4073:4074:4075:4076:4077:4078:4079:4080:4081:4082:4083:4084:4085:4086:4087:4096:4097:4098:4099:4100:4101:4102:4103:4104:4105:4106:4107:4108:4109:4110:4111:4112:4190:4191:4211:4212:4215,1,106000,112000,355000,615000,917000,1253000,1595000,2007000,2430000,2868000,3420000,3863000,4504000,4998000,5769000,6321000,7254000,7870000,9015000,9530000,11072000,11848000,13467000,14337000,16243000,17216000,19446000,20781000,23070000,24453000,27568000,29118000,31820000,34125000,37048000,40204000,42972000,45937000,49110000,52696000,57158000,61305000,67167000,72285000,77647000,83624000,91113000,98548000,107630000,119077000,120267768,121470444,122685151,123912002,125151118,126402630,127666657,128943321,130232751,131535078,132850429,134178935,135520724,136875925,138244677,139627117,141023389,142433624,143857966,145296546,146749508,148216997,149699160,151196158,152708120,154235207,155777550,157335326,158908679,160497757,162102736,163723761,165360996,167014600,168684736,170371581,172075298,173796047,175534006,177289338,179062235,180852860,182661390,184488004,186332878,188196207,190078168,191978955,193898747,195837737,197796119,199774071,201771802,203789524,205827413,207885680,209964534,212064171,214184815,216326662,218489920,220674817,222881562,225110381,227361485,229635100,231931452,234250768,236593273,238959210,241348805,243762285,246199908,248661900,251148520,253659994,256196597,258758555,261346143,263959602,266599193,269265189,271957833,274677399,277424179,280198431,283000413,285830417,288688733,291575620,294491369,297436270,300410615,303414727,306448864,309513349,312608474,315734561,318891902,322080819,325301637,328554645,331840199,335158590,338510174,341895274,345314213,348767346,352255030,355777587,359335372,362928710,366557987,370223560,373925783,377665046,381441702,385256109,389108653,392999722,396929705,400898989,404907961,408957043,413046622,417177086,421348854,425562348,429817955,434116127,438457285,442841848,447270270,451742970,456260401,460823015,465431233,470085539,474786386,479534259,484329610,489172891,494064620,499005249,503995295,509035244,514125579,519266818,524459479,529704077,535001099,540351093,545754609,551212165,556724276,562291525,567914429,573593570,579329530,585122825,590974038,596883750,602852608,608881128,614969957,621119677,627330870,633604182,639940195,646339620,652803038,659331031,665924311,672583524,679309381,686102463,692963482,699893083,706891979,713960880,721100498,728311477,735594595,742950563,750380090,757883889,765462735,773117339,780848477,788656925,796543457,804508915,812554009,820679516,828886275,837175126,845546847,854002276,862542318,871167751,879879413,888678209,897564981,906540633,915606005 //Job - Ninja/Gunslinger 70,24:25,1,100,200,300,400,600,700,1000,1200,1400,1700,1900,2400,2700,3200,3600,4200,4900,5500,6100,6900,7700,8400,9300,10100,11100,12100,13000,14600,16100,17500,18600,21500,23300,24700,27000,29000,30000,32400,35000,38100,41100,44000,46700,49600,52500,55600,58900,62700,65500,69200,72300,81200,84100,89300,95500,100900,107800,114900,120700,128600,150500,176900,196100,219600,234200,247900,266400,281300,296600,308000,311079,314189,317330,320503,323708,326945,330214,333516,336851,340219,343621,347057,350527,354032,357572,361147,364758,368405,372089,375809,379567,383362,387195,391066,394976,398925,402914,406943,411012,415122,419273,423465,427699,431975,436294,440656,445062,449512,454007,458547,463132,467763,472440,477164,481935,486754,491621,496537,501502,506517,511582,516697,521863,527081,532351,537674,543050,548480,553964,559503,565098,570748,576455,582219,588041,593921,599860,605858,611916,618035,624215,630457,636761,643128,649559,656054,662614,669240,675932,682691,689517,696412,703376,710409,717513,724688,731934,739253,746645,754111,761652,769268,776960,784729,792576,800501,808506,816591,824756,833003,841333,849746,858243,866825,875493,884247,893089,902019,911039,920149,929350,938643,948029,957509,967084,976754,996289,1016214,1036538,1057268,1078413,1099981,1121980,1144419,1167307,1190653,1214466,1238755,1263530,1288800,1314575,1340866,1367683,1395036,1422936,1451394,1480421,1510029,1540229,1571033,1602453,1634502,1667192,1700535,1734545,1769235,1804619,1840711,1877525,1915075,1953376,1992443,2032291,2072936,2114394,2156681,2199814,2243810,2288686,2334459,2381148,2428770,2477345,2526891,2577428,2628976,2681555,2735186,2789889,2845686,2902599,2960650,3019862,3080259,3141864,3204701,3268794,3334169,3400852,3468868,3538245,3609009,3681189,3754812,3829908 diff --git a/db/re/job_db1.txt b/db/re/job_db1.txt index 085e29625..ff175592a 100644 --- a/db/re/job_db1.txt +++ b/db/re/job_db1.txt @@ -269,3 +269,5 @@ 4211, 26000,80 , 0 ,515 ,400 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 ,500 // Oboro 4212, 26000,80 , 0 ,515 ,400 ,500 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 , 750 ,2000 ,500 +// Rebellion +4215, 28000,88 , 0 ,450 ,540 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,2000 ,490 ,590 ,440 ,940 ,1040 ,2000 ,2000 ,600 diff --git a/db/re/skill_db.txt b/db/re/skill_db.txt index 4b01cb34e..9296d34da 100644 --- a/db/re/skill_db.txt +++ b/db/re/skill_db.txt @@ -1040,6 +1040,32 @@ //2547,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_MATKMAX#Maximum Magic Attack# //2548,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GM_ITEM_MATKMIN#Minimal Magic Attack# +// Rebellion +2551,0,0,0,0,0,0,10,0,no,0,0,0,none,0, RL_GLITTERING_GREED,Flip The Coin Greed//Not in the skill tree. Why and what does it do? Need real max level. +2552,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_RICHS_COIN,Rich's Coin +2553,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_MASS_SPIRAL,Mass Spiral +2554,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_BANISHING_BUSTER,Banishing Buster +2555,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_B_TRAP,Bind Trap +2556,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_FLICKER,Flicker +2557,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_S_STORM,Shatter Storm +2558,0,0,0,0,0,0,10,0,no,0,0,0,none,0, RL_E_CHAIN,Eternal Chain +2559,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_QD_SHOT,Quick Draw Shot +2560,0,0,0,0,0,0,1,0,no,0,0,0,none,0, RL_C_MARKER,Crimson Marker +2561,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_FIREDANCE,Fire Dance +2562,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_H_MINE,Howling Mine +2563,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_P_ALTER,Platinum Alter +2564,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_FALLEN_ANGEL,Fallen Angel +2565,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_R_TRIP,Round Trip +2566,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_D_TAIL,Dragon Tail +2567,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_FIRE_RAIN,Fire Rain +2568,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_HEAT_BARREL,Heat Barrel +2569,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_AM_BLAST,Anti-Material Blast +2570,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_SLUGSHOT,Slug Shot +2571,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_HAMMER_OF_GOD,Hammer of God +2572,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_R_TRIP_PLUSATK,Round Trip Plus Attack +2573,0,0,0,0,0,0,5,0,no,0,0,0,none,0, RL_B_FLICKER_ATK,Bind Flicker Attack//Max level guess based on Bind Trap max level. +2574,0,0,0,0,0,0,10,0,no,0,0,0,none,0, RL_GLITTERING_GREED_ATK,Flip The Coin Greed Attack//Guess on max level is from Flip The Coin Greed + // Kagerou & Oboro 3001,0,6,4,0,0,0,1,1,no,0,0,0,none,0, KO_YAMIKUMO,Yamikumo 3002,0,0,0,0,0,0,5,0,no,0,0,0,weapon,0, KO_RIGHT,Right Hand Mastery diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt index 2f2c1e8b6..c85f45b37 100644 --- a/db/re/skill_require_db.txt +++ b/db/re/skill_require_db.txt @@ -455,7 +455,7 @@ 1004,0,0,15,0,0,0,99,2,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AS_VENOMKNIFE#ƒxƒiƒ€ƒiƒCƒt# 1005,0,0,25,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RG_CLOSECONFINE#ƒN??[ƒYƒRƒ“ƒtƒ@ƒCƒ“# 1006,0,0,40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WZ_SIGHTBLASTER#ƒTƒCƒgƒuƒ‰ƒXƒ^?[# -1007,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SA_CREATECON#ƒGƒ‹ƒŒ?ƒ“ƒ^ƒ‹ƒRƒ“ƒo?[ƒ^?»?? +1007,0,0,30,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SA_CREATECON#ƒGƒ‹ƒŒ?ƒ“ƒ^ƒ‹ƒRƒ“ƒo?[ƒ^??? 1008,0,0,30,0,0,0,99,0,0,none,0,12115,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SA_ELEMENTWATER#ƒGƒ‹ƒŒ?ƒ“ƒ^ƒ‹ƒ`ƒFƒ“ƒW# 1009,0,0,10,0,0,0,11,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_PHANTASMIC#ƒtƒ@ƒ“ƒ^ƒXƒ~ƒbƒNƒA??[# 1010,0,0,20,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //BA_PANGVOICE#ƒpƒ“ƒ{ƒCƒX# @@ -805,6 +805,32 @@ //2543,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_RAY_OF_PROTECTION#Ray of Protection# //2544,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //MC_CARTDECORATE#Cart Decorate# +// Rebellion +2551,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_GLITTERING_GREED#Flip The Coin Greed# +2552,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_RICHS_COIN#Rich's Coin# +2553,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_MASS_SPIRAL#Mass Spiral# +2554,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_BANISHING_BUSTER#Banishing Buster# +2555,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_B_TRAP#Bind Trap# +2556,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FLICKER#Flicker# +2557,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_S_STORM#Shatter Storm# +2558,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_E_CHAIN#Eternal Chain# +2559,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_QD_SHOT#Quick Draw Shot# +2560,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_C_MARKER#Crimson Marker# +2561,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FIREDANCE#Fire Dance# +2562,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_H_MINE#Howling Mine# +2563,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_P_ALTER#Platinum Alter# +2564,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FALLEN_ANGEL#Fallen Angel# +2565,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_R_TRIP#Round Trip# +2566,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_D_TAIL#Dragon Tail# +2567,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_FIRE_RAIN#Fire Rain# +2568,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_HEAT_BARREL#Heat Barrel# +2569,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_AM_BLAST#Anti-Material Blast# +2570,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_SLUGSHOT#Slug Shot# +2571,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_HAMMER_OF_GOD#Hammer of God# +2572,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_R_TRIP_PLUSATK#Round Trip Plus Attack# +2573,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_B_FLICKER_ATK#Bind Flicker Attack# +2574,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RL_GLITTERING_GREED_ATK#Flip The Coin Greed Attack# + //**** // Kagerou/Oboro 3001,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //KO_YAMIKUMO#Yamikumo# diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf index c745c514f..450cd6897 100644 --- a/db/re/skill_tree.conf +++ b/db/re/skill_tree.conf @@ -3848,4 +3848,85 @@ Oboro: { OB_ZANGETSU: 2 } } +Rebellion: { + inherit: ( "Gunslinger" ); + + skills: { + RL_RICHS_COIN: { + MaxLevel: 1 + GS_GLITTERING: 5 + } + RL_MASS_SPIRAL: { + MaxLevel: 5 + GS_PIERCINGSHOT: 1 + } + RL_BANISHING_BUSTER: { + MaxLevel: 5 + RL_S_STORM: 1 + } + RL_B_TRAP: 5 + RL_FLICKER: { + MaxLevel: 1 + GS_FLING: 1 + } + RL_S_STORM: { + MaxLevel: 5 + GS_DISARM: 1 + GS_DUST: 1 + } + RL_E_CHAIN: { + MaxLevel: 10 + GS_CHAINACTION: 10 + } + RL_QD_SHOT: { + MaxLevel: 1 + RL_E_CHAIN: 1 + } + RL_C_MARKER: { + MaxLevel: 1 + GS_INCREASING: 1 + } + RL_FIREDANCE: { + MaxLevel: 5 + RL_FALLEN_ANGEL: 1 + } + RL_H_MINE: { + MaxLevel: 5 + GS_SPREADATTACK: 1 + } + RL_P_ALTER: 5 + RL_FALLEN_ANGEL: { + MaxLevel: 5 + GS_DESPERADO: 10 + } + RL_R_TRIP: { + MaxLevel: 5 + RL_FIRE_RAIN: 1 + } + RL_D_TAIL: { + MaxLevel: 5 + RL_H_MINE: 3 + RL_C_MARKER: 1 + } + RL_FIRE_RAIN: { + MaxLevel: 5 + GS_GATLINGFEVER: 1 + } + RL_HEAT_BARREL: { + MaxLevel: 5 + RL_FIREDANCE: 2 + } + RL_AM_BLAST: { + MaxLevel: 5 + RL_MASS_SPIRAL: 1 + } + RL_SLUGSHOT: { + MaxLevel: 5 + RL_BANISHING_BUSTER: 3 + } + RL_HAMMER_OF_GOD: { + MaxLevel: 5 + RL_AM_BLAST: 3 + } + } } diff --git a/doc/item_db.txt b/doc/item_db.txt index 77f6e1a37..1cf92977c 100644 --- a/doc/item_db.txt +++ b/doc/item_db.txt @@ -76,6 +76,7 @@ Job: Equippable jobs. Uses the following bitmask table: Death Knight (2^27): 0x08000000 Dark Collector (2^28): 0x10000000 Kagerou/Oboro (2^29): 0x20000000 + Rebellion (2^30): 0x40000000 Upper: Equippable upper-types. Uses the following bitmasks: 1: Normal jobs diff --git a/src/common/mmo.h b/src/common/mmo.h index b51d0ec4a..f49a859e0 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -772,6 +772,7 @@ enum { JOB_KAGEROU = 4211, JOB_OBORO, + JOB_REBELLION = 4215, JOB_MAX, }; diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 2398ba04c..7af6f3262 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -354,7 +354,10 @@ void itemdb_jobid2mapid(unsigned int *bclass, unsigned int jobmask) if (jobmask & 1<<23) //Soul Linker bclass[2] |= 1<pRanklist); #endif +//2013-08-07Ragexe (Shakto) +#if PACKETVER >= 20130807 + packet(0x0369,7,clif->pActionRequest,2,6); + packet(0x083C,10,clif->pUseSkillToId,2,4,6); + packet(0x0437,5,clif->pWalkToXY,2); + packet(0x035F,6,clif->pTickSend,2); + packet(0x0202,5,clif->pChangeDir,2,4); + packet(0x07E4,6,clif->pTakeItem,2); + packet(0x0362,6,clif->pDropItem,2,4); + packet(0x07EC,8,clif->pMoveToKafra,2,4); + packet(0x0364,8,clif->pMoveFromKafra,2,4); + packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); + packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); + packet(0x096A,6,clif->pGetCharNameRequest,2); + packet(0x0368,6,clif->pSolveCharName,2); + packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); + packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); + packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); + packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); + packet(0x0360,6,clif->pReqClickBuyingStore,2); + packet(0x0817,2,clif->pReqCloseBuyingStore,0); + packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); + // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD + packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0802,26,clif->pPartyInvite2,2); + // packet(0x0436,4); // CZ_GANGSI_RANK + packet(0x023B,26,clif->pFriendsListAdd,2); + packet(0x0361,5,clif->pHomMenu,2,4); + packet(0x0887,36,clif->pStoragePassword,0); +#endif /* PacketKeys: http://hercules.ws/board/topic/1105-hercules-wpe-free-june-14th-patch/ */ #if PACKETVER >= 20110817 @@ -2559,5 +2591,8 @@ packet(0x020d,-1); packetKeys(0x4FF90E23,0x0F1432F2,0x4CFA1EDA); /* Thanks to Shakto */ #endif +#if PACKETVER >= 20130807 + packetKeys(0x7E241DE0,0x5E805580,0x3D807D80); /* Thanks to Shakto */ +#endif #endif /* _PACKETS_H_ */ diff --git a/src/map/pc.c b/src/map/pc.c index 86ee7a8db..29a59cd69 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5222,6 +5222,7 @@ int pc_jobid2mapid(unsigned short b_class) case JOB_STAR_GLADIATOR: return MAPID_STAR_GLADIATOR; case JOB_KAGEROU: case JOB_OBORO: return MAPID_KAGEROUOBORO; + case JOB_REBELLION: return MAPID_REBELLION; case JOB_DEATH_KNIGHT: return MAPID_DEATH_KNIGHT; //2-2 Jobs case JOB_CRUSADER: return MAPID_CRUSADER; @@ -5362,6 +5363,7 @@ int pc_mapid2jobid(unsigned short class_, int sex) case MAPID_ASSASSIN: return JOB_ASSASSIN; case MAPID_STAR_GLADIATOR: return JOB_STAR_GLADIATOR; case MAPID_KAGEROUOBORO: return sex?JOB_KAGEROU:JOB_OBORO; + case MAPID_REBELLION: return JOB_REBELLION; case MAPID_DEATH_KNIGHT: return JOB_DEATH_KNIGHT; //2-2 Jobs case MAPID_CRUSADER: return JOB_CRUSADER; @@ -5678,6 +5680,8 @@ const char* job_name(int class_) case JOB_KAGEROU: case JOB_OBORO: return msg_txt(653 - JOB_KAGEROU+class_); + case JOB_REBELLION: + return msg_txt(694); default: return msg_txt(655); @@ -9741,6 +9745,7 @@ void pc_read_skill_tree(void) { { "Expanded_Super_Baby", JOB_SUPER_BABY_E }, { "Kagerou", JOB_KAGEROU }, { "Oboro", JOB_OBORO }, + { "Rebellion", JOB_REBELLION }, }; if (conf_read_file(&skill_tree_conf, config_filename)) { diff --git a/src/map/pc.h b/src/map/pc.h index 4b90e7fc3..36c866535 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -634,7 +634,7 @@ enum equip_pos { #define pc_isinvisible(sd) ( (sd)->sc.option&OPTION_INVISIBLE ) #define pc_is50overweight(sd) ( (sd)->weight*100 >= (sd)->max_weight*battle_config.natural_heal_weight_rate ) #define pc_is90overweight(sd) ( (sd)->weight*10 >= (sd)->max_weight*9 ) -#define pc_maxparameter(sd) ( ((((sd)->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO) || (sd)->class_&JOBL_THIRD ? ((sd)->class_&JOBL_BABY ? battle_config.max_baby_third_parameter : battle_config.max_third_parameter) : ((sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter)) ) +#define pc_maxparameter(sd) ( ((((sd)->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO) || (((sd)->class_&MAPID_UPPERMASK) == MAPID_REBELLION) || (sd)->class_&JOBL_THIRD ? ((sd)->class_&JOBL_BABY ? battle_config.max_baby_third_parameter : battle_config.max_third_parameter) : ((sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter)) ) /** * Ranger **/ @@ -660,7 +660,8 @@ enum equip_pos { || ( (class_) >= JOB_RUNE_KNIGHT && (class_) <= JOB_MECHANIC_T2 ) \ || ( (class_) >= JOB_BABY_RUNE && (class_) <= JOB_BABY_MECHANIC2 ) \ || ( (class_) >= JOB_SUPER_NOVICE_E && (class_) <= JOB_SUPER_BABY_E ) \ -|| ( (class_) >= JOB_KAGEROU && (class_) < JOB_MAX ) \ +|| ( (class_) >= JOB_KAGEROU && (class_) <= JOB_OBORO ) \ +|| ( (class_) >= JOB_REBELLION && (class_) < JOB_MAX ) \ ) #define pcdb_checkid(class_) pcdb_checkid_sub((unsigned int)class_) diff --git a/src/map/skill.c b/src/map/skill.c index 3541f9f45..32880e535 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5813,7 +5813,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; case MO_KITRANSLATION: - if(dstsd && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER) { + if(dstsd && ((dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER || (dstsd->class_&MAPID_UPPERMASK)!=MAPID_REBELLION)) { pc->addspiritball(dstsd,skill->get_time(skill_id,skill_lv),5); } break; @@ -5828,7 +5828,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case MO_ABSORBSPIRITS: i = 0; - if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m)) && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER) + if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m)) && ((dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER || (dstsd->class_&MAPID_UPPERMASK)!=MAPID_REBELLION)) { // split the if for readability, and included gunslingers in the check so that their coins cannot be removed [Reddozen] i = dstsd->spiritball * 7; pc->delspiritball(dstsd,dstsd->spiritball,0); diff --git a/src/map/skill.h b/src/map/skill.h index eee62dc4a..00242887f 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -1247,6 +1247,31 @@ enum e_skill { ALL_RAY_OF_PROTECTION, MC_CARTDECORATE, + RL_GLITTERING_GREED = 2551, + RL_RICHS_COIN, + RL_MASS_SPIRAL, + RL_BANISHING_BUSTER, + RL_B_TRAP, + RL_FLICKER, + RL_S_STORM, + RL_E_CHAIN, + RL_QD_SHOT, + RL_C_MARKER, + RL_FIREDANCE, + RL_H_MINE, + RL_P_ALTER, + RL_FALLEN_ANGEL, + RL_R_TRIP, + RL_D_TAIL, + RL_FIRE_RAIN, + RL_HEAT_BARREL, + RL_AM_BLAST, + RL_SLUGSHOT, + RL_HAMMER_OF_GOD, + RL_R_TRIP_PLUSATK, + RL_B_FLICKER_ATK, + RL_GLITTERING_GREED_ATK, + KO_YAMIKUMO = 3001, KO_RIGHT, KO_LEFT, diff --git a/src/map/status.c b/src/map/status.c index 46f732e81..bac302dec 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -2278,7 +2278,7 @@ static unsigned int status_base_pc_maxhp(struct map_session_data *sd, struct sta uint64 val = pc->class2idx(sd->status.class_); val = 35 + sd->status.base_level*(int64)hp_coefficient2[val]/100 + hp_sigma_val[val][sd->status.base_level]; - if((sd->class_&MAPID_UPPERMASK) == MAPID_NINJA || (sd->class_&MAPID_UPPERMASK) == MAPID_GUNSLINGER) + if((sd->class_&MAPID_UPPERMASK) == MAPID_NINJA || (sd->class_&MAPID_UPPERMASK) == MAPID_GUNSLINGER || (sd->class_&MAPID_UPPERMASK) == MAPID_REBELLION) val += 100; //Since their HP can't be approximated well enough without this. if((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc->famerank(sd->status.char_id, MAPID_TAEKWON)) val *= 3; //Triple max HP for top ranking Taekwons over level 90. -- cgit v1.2.3-70-g09d2 From 5319f0f13224a91f9604cac3d53cccc50bf6d99c Mon Sep 17 00:00:00 2001 From: Haru Date: Mon, 30 Sep 2013 01:52:35 +0200 Subject: Corrected length of the PARTY_BOOKING_REQ_REGISTER packet for Ragexe clients - Fixes bugreport:7656 (thanks to Angelmelody) http://hercules.ws/board/tracker/issue-7656-party-booking-system-unsupported-packet-0x0000-0x1b01 - While I have not checked all of the affected clients, the ones I checked had a length of 18. The 41-byte version appears to be used by the RagexeRE clients only. If this speculation turns out to be incorrect, or your client is incompatible with this patch, please report it and it'll be fixed. Signed-off-by: Haru --- src/map/packets.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/map/packets.h') diff --git a/src/map/packets.h b/src/map/packets.h index 326d436a8..3ae52cba8 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2118,7 +2118,11 @@ packet(0x020d,-1); packet(0x035F,6,clif->pReqClickBuyingStore,2); packet(0x0886,2,clif->pReqCloseBuyingStore,0); packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x085D,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x085D,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE //packet(0x095A,8); // unknown usage packet(0x0868,-1,clif->pItemListWindowSelected,2,4,8); packet(0x0888,19,clif->pWantToConnection,2,6,10,14,18); @@ -2159,7 +2163,11 @@ packet(0x020d,-1); packet(0x0360,6,clif->pReqClickBuyingStore,2); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x092D,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x092D,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE //packet(0x08AA,8); // CZ_JOIN_BATTLE_FIELD packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); @@ -2194,7 +2202,11 @@ packet(0x020d,-1); packet(0x0368,6,clif->pReqClickBuyingStore,2); packet(0x086E,2,clif->pReqCloseBuyingStore,0); packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x089B,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x089B,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE //packet(0x0965,8); // CZ_JOIN_BATTLE_FIELD packet(0x086A,-1,clif->pItemListWindowSelected,2,4,8); packet(0x08A9,19,clif->pWantToConnection,2,6,10,14,18); @@ -2228,7 +2240,11 @@ packet(0x020d,-1); packet(0x0892,6,clif->pReqClickBuyingStore,2); packet(0x0964,2,clif->pReqCloseBuyingStore,0); packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x0874,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE // packet(0x088E,8); // CZ_JOIN_BATTLE_FIELD packet(0x0958,-1,clif->pItemListWindowSelected,2,4,8); packet(0x0919,19,clif->pWantToConnection,2,6,10,14,18); @@ -2261,7 +2277,11 @@ packet(0x020d,-1); packet(0x0360,6,clif->pReqClickBuyingStore,2); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); @@ -2303,7 +2323,11 @@ packet(0x020d,-1); packet(0x0862,6,clif->pReqClickBuyingStore,2); packet(0x085A,2,clif->pReqCloseBuyingStore,0); packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x08A7,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x08A7,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE // packet(0x087A,8); // CZ_JOIN_BATTLE_FIELD packet(0x0942,-1,clif->pItemListWindowSelected,2,4,8); packet(0x095B,19,clif->pWantToConnection,2,6,10,14,18); @@ -2336,7 +2360,11 @@ packet(0x020d,-1); packet(0x0360,6,clif->pReqClickBuyingStore,2); packet(0x0365,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x0894,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE // packet(0x0860,8); // CZ_JOIN_BATTLE_FIELD packet(0x08A5,-1,clif->pItemListWindowSelected,2,4,8); packet(0x088C,19,clif->pWantToConnection,2,6,10,14,18); @@ -2357,7 +2385,11 @@ packet(0x020d,-1); packet(0x0202,6,clif->pReqClickBuyingStore,2); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); @@ -2391,7 +2423,11 @@ packet(0x020d,-1); packet(0x0360,6,clif->pReqClickBuyingStore,2); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); +#ifdef PACKETVER_RE packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); +#else // not PACKETVER_RE + packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); +#endif // PACKETVER_RE // packet(0x0363,8); // CZ_JOIN_BATTLE_FIELD packet(0x0281,-1,clif->pItemListWindowSelected,2,4,8); packet(0x022D,19,clif->pWantToConnection,2,6,10,14,18); -- cgit v1.2.3-70-g09d2 From 95caa2458c92c04c479e0dce18aaeb1e8846c214 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Mon, 7 Oct 2013 15:11:14 -0300 Subject: Follow up c56e3eb701658079f1de09db759f3b09327ec046 Adjusted PARTY_RECRUIT accordingly, special thanks to ossi0110 for bringing it up. Signed-off-by: shennetsind --- src/map/clif.c | 155 +- src/map/clif.h | 10 + src/map/packets.h | 30 +- src/map/party.c | 14 +- src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc | 40 + .../HPMHooking/HPMHooking.HookingPoints.inc | 3688 ++++++++++---------- src/plugins/HPMHooking/HPMHooking.Hooks.inc | 250 ++ 7 files changed, 2314 insertions(+), 1873 deletions(-) (limited to 'src/map/packets.h') diff --git a/src/map/clif.c b/src/map/clif.c index e730823be..357c4dc6a 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -12190,7 +12190,6 @@ void clif_parse_PartyChangeLeader(int fd, struct map_session_data* sd) { party->changeleader(sd, map->id2sd(RFIFOL(fd,2))); } -#ifndef PARTY_RECRUIT /// Party Booking in KRO [Spiria] /// @@ -12198,6 +12197,7 @@ void clif_parse_PartyChangeLeader(int fd, struct map_session_data* sd) { /// 0802 .W .W { .W }*6 void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data* sd) { +#ifndef PARTY_RECRUIT short level = RFIFOW(fd,2); short mapid = RFIFOW(fd,4); short job[PARTY_BOOKING_JOBS]; @@ -12207,6 +12207,9 @@ void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data* sd) job[i] = RFIFOB(fd,6+i*2); party->booking_register(sd, level, mapid, job); +#else + return; +#endif } @@ -12218,12 +12221,16 @@ void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data* sd) /// 2 = already registered void clif_PartyBookingRegisterAck(struct map_session_data *sd, int flag) { +#ifndef PARTY_RECRUIT int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x803)); WFIFOW(fd,0) = 0x803; WFIFOW(fd,2) = flag; WFIFOSET(fd,packet_len(0x803)); +#else + return; +#endif } @@ -12231,6 +12238,7 @@ void clif_PartyBookingRegisterAck(struct map_session_data *sd, int flag) /// 0804 .W .W .W .L .W void clif_parse_PartyBookingSearchReq(int fd, struct map_session_data* sd) { +#ifndef PARTY_RECRUIT short level = RFIFOW(fd,2); short mapid = RFIFOW(fd,4); short job = RFIFOW(fd,6); @@ -12238,6 +12246,9 @@ void clif_parse_PartyBookingSearchReq(int fd, struct map_session_data* sd) short resultcount = RFIFOW(fd,12); party->booking_search(sd, level, mapid, job, lastindex, resultcount); +#else + return; +#endif } @@ -12248,6 +12259,7 @@ void clif_parse_PartyBookingSearchReq(int fd, struct map_session_data* sd) /// 1 = yes void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, int count, bool more_result) { +#ifndef PARTY_RECRUIT int i, j; int size = sizeof(struct party_booking_ad_info); // structure size (48) struct party_booking_ad_info *pb_ad; @@ -12267,6 +12279,9 @@ void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, WFIFOW(fd,i*size+41+j*2) = pb_ad->p_detail.job[j]; } WFIFOSET(fd,WFIFOW(fd,2)); +#else + return; +#endif } @@ -12274,8 +12289,12 @@ void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, /// 0806 void clif_parse_PartyBookingDeleteReq(int fd, struct map_session_data* sd) { +#ifndef PARTY_RECRUIT if(party->booking_delete(sd)) clif->PartyBookingDeleteAck(sd, 0); +#else + return; +#endif } @@ -12288,12 +12307,16 @@ void clif_parse_PartyBookingDeleteReq(int fd, struct map_session_data* sd) /// 3 = nothing registered void clif_PartyBookingDeleteAck(struct map_session_data* sd, int flag) { +#ifndef PARTY_RECRUIT int fd = sd->fd; WFIFOHEAD(fd,packet_len(0x807)); WFIFOW(fd,0) = 0x807; WFIFOW(fd,2) = flag; WFIFOSET(fd,packet_len(0x807)); +#else + return; +#endif } @@ -12301,6 +12324,7 @@ void clif_PartyBookingDeleteAck(struct map_session_data* sd, int flag) /// 0808 { .W }*6 void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data* sd) { +#ifndef PARTY_RECRUIT short job[PARTY_BOOKING_JOBS]; int i; @@ -12308,6 +12332,9 @@ void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data* sd) job[i] = RFIFOW(fd,2+i*2); party->booking_update(sd, job); +#else + return; +#endif } @@ -12315,6 +12342,7 @@ void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data* sd) /// 0809 .L .24B .L .W .W { .W }*6 void clif_PartyBookingInsertNotify(struct map_session_data* sd, struct party_booking_ad_info* pb_ad) { +#ifndef PARTY_RECRUIT int i; uint8 buf[38+PARTY_BOOKING_JOBS*2]; @@ -12330,6 +12358,9 @@ void clif_PartyBookingInsertNotify(struct map_session_data* sd, struct party_boo WBUFW(buf,38+i*2) = pb_ad->p_detail.job[i]; clif->send(buf, packet_len(0x809), &sd->bl, ALL_CLIENT); +#else + return; +#endif } @@ -12337,6 +12368,7 @@ void clif_PartyBookingInsertNotify(struct map_session_data* sd, struct party_boo /// 080a .L { .W }*6 void clif_PartyBookingUpdateNotify(struct map_session_data* sd, struct party_booking_ad_info* pb_ad) { +#ifndef PARTY_RECRUIT int i; uint8 buf[6+PARTY_BOOKING_JOBS*2]; @@ -12347,6 +12379,9 @@ void clif_PartyBookingUpdateNotify(struct map_session_data* sd, struct party_boo for(i=0; ip_detail.job[i]; clif->send(buf,packet_len(0x80a),&sd->bl,ALL_CLIENT); // Now UPDATE all client. +#else + return; +#endif } @@ -12354,26 +12389,33 @@ void clif_PartyBookingUpdateNotify(struct map_session_data* sd, struct party_boo /// 080b .L void clif_PartyBookingDeleteNotify(struct map_session_data* sd, int index) { +#ifndef PARTY_RECRUIT uint8 buf[6]; WBUFW(buf,0) = 0x80b; WBUFL(buf,2) = index; clif->send(buf, packet_len(0x80b), &sd->bl, ALL_CLIENT); // Now UPDATE all client. +#else + return; +#endif } -#else /// Modified version of Party Booking System for 2012-04-10 or 2012-04-18 (RagexeRE). /// Code written by mkbu95, Spiria, Yommy and Ind /// Request to register a party booking advertisment (CZ_PARTY_RECRUIT_REQ_REGISTER). /// 08e5 .W .37B -void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data* sd) +void clif_parse_PartyRecruitRegisterReq(int fd, struct map_session_data* sd) { +#ifdef PARTY_RECRUIT short level = RFIFOW(fd,2); const char *notice = (const char*)RFIFOP(fd, 4); party->recruit_register(sd, level, notice); +#else + return; +#endif } /// Party booking search results (ZC_PARTY_RECRUIT_ACK_SEARCH). @@ -12381,8 +12423,9 @@ void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data* sd) /// more results: /// 0 = no /// 1 = yes -void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, int count, bool more_result) +void clif_PartyRecruitSearchAck(int fd, struct party_booking_ad_info** results, int count, bool more_result) { +#ifdef PARTY_RECRUIT int i; int size = sizeof(struct party_booking_ad_info); struct party_booking_ad_info *pb_ad; @@ -12403,6 +12446,9 @@ void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, } WFIFOSET(fd,WFIFOW(fd,2)); +#else + return; +#endif } /// Result of request to register a party booking advertisment (ZC_PARTY_RECRUIT_ACK_REGISTER). @@ -12411,34 +12457,46 @@ void clif_PartyBookingSearchAck(int fd, struct party_booking_ad_info** results, /// 0 = success /// 1 = failure /// 2 = already registered -void clif_PartyBookingRegisterAck(struct map_session_data *sd, int flag) +void clif_PartyRecruitRegisterAck(struct map_session_data *sd, int flag) { +#ifdef PARTY_RECRUIT int fd = sd->fd; WFIFOHEAD(fd, packet_len(0x8e6)); WFIFOW(fd, 0) = 0x8e6; WFIFOW(fd, 2) = flag; WFIFOSET(fd, packet_len(0x8e6)); +#else + return; +#endif } /// Request to search for party booking advertisments (CZ_PARTY_RECRUIT_REQ_SEARCH). /// 08e7 .W .W .L .W -void clif_parse_PartyBookingSearchReq(int fd, struct map_session_data* sd) +void clif_parse_PartyRecruitSearchReq(int fd, struct map_session_data* sd) { +#ifdef PARTY_RECRUIT short level = RFIFOW(fd, 2); short mapid = RFIFOW(fd, 4); unsigned long lastindex = RFIFOL(fd, 6); short resultcount = RFIFOW(fd, 10); party->recruit_search(sd, level, mapid, lastindex, resultcount); +#else + return; +#endif } /// Request to delete own party booking advertisment (CZ_PARTY_RECRUIT_REQ_DELETE). /// 08e9 -void clif_parse_PartyBookingDeleteReq(int fd, struct map_session_data* sd) +void clif_parse_PartyRecruitDeleteReq(int fd, struct map_session_data* sd) { +#ifdef PARTY_RECRUIT if(party->booking_delete(sd)) - clif->PartyBookingDeleteAck(sd, 0); + clif->PartyRecruitDeleteAck(sd, 0); +#else + return; +#endif } /// Result of request to delete own party booking advertisment (ZC_PARTY_RECRUIT_ACK_DELETE). @@ -12448,31 +12506,40 @@ void clif_parse_PartyBookingDeleteReq(int fd, struct map_session_data* sd) /// 1 = success (auto-removed expired ad) /// 2 = failure /// 3 = nothing registered -void clif_PartyBookingDeleteAck(struct map_session_data* sd, int flag) +void clif_PartyRecruitDeleteAck(struct map_session_data* sd, int flag) { +#ifdef PARTY_RECRUIT int fd = sd->fd; WFIFOHEAD(fd, packet_len(0x8ea)); WFIFOW(fd, 0) = 0x8ea; WFIFOW(fd, 2) = flag; WFIFOSET(fd, packet_len(0x8ea)); +#else + return; +#endif } /// Request to update party booking advertisment (CZ_PARTY_RECRUIT_REQ_UPDATE). /// 08eb .37B -void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data *sd) +void clif_parse_PartyRecruitUpdateReq(int fd, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT const char *notice; notice = (const char*)RFIFOP(fd, 2); party->recruit_update(sd, notice); +#else + return; +#endif } /// Notification about new party booking advertisment (ZC_PARTY_RECRUIT_NOTIFY_INSERT). /// 08ec .L .L .24B .W .37B -void clif_PartyBookingInsertNotify(struct map_session_data* sd, struct party_booking_ad_info* pb_ad) +void clif_PartyRecruitInsertNotify(struct map_session_data* sd, struct party_booking_ad_info* pb_ad) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6+6+24+4+37+1]; if (pb_ad == NULL) @@ -12485,12 +12552,16 @@ void clif_PartyBookingInsertNotify(struct map_session_data* sd, struct party_boo WBUFW(buf,34) = pb_ad->p_detail.level; memcpy(WBUFP(buf, 36), pb_ad->p_detail.notice, PB_NOTICE_LENGTH); clif->send(buf, packet_len(0x8ec), &sd->bl, ALL_CLIENT); +#else + return; +#endif } /// Notification about updated party booking advertisment (ZC_PARTY_RECRUIT_NOTIFY_UPDATE). /// 08ed .L .37B -void clif_PartyBookingUpdateNotify(struct map_session_data *sd, struct party_booking_ad_info* pb_ad) +void clif_PartyRecruitUpdateNotify(struct map_session_data *sd, struct party_booking_ad_info* pb_ad) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6+37+1]; WBUFW(buf, 0) = 0x8ed; @@ -12498,51 +12569,71 @@ void clif_PartyBookingUpdateNotify(struct map_session_data *sd, struct party_boo memcpy(WBUFP(buf, 6), pb_ad->p_detail.notice, PB_NOTICE_LENGTH); clif->send(buf, packet_len(0x8ed), &sd->bl, ALL_CLIENT); +#else + return; +#endif } /// Notification about deleted party booking advertisment (ZC_PARTY_RECRUIT_NOTIFY_DELETE). /// 08ee .L -void clif_PartyBookingDeleteNotify(struct map_session_data* sd, int index) +void clif_PartyRecruitDeleteNotify(struct map_session_data* sd, int index) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6+1]; WBUFW(buf, 0) = 0x8ee; WBUFL(buf, 2) = index; clif->send(buf, packet_len(0x8ee), &sd->bl, ALL_CLIENT); +#else + return; +#endif } /// Request to add to filtering list (PARTY_RECRUIT_ADD_FILTERLINGLIST). /// 08ef .L void clif_parse_PartyBookingAddFilteringList(int fd, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT int index = RFIFOL(fd, 2); clif->PartyBookingAddFilteringList(index, sd); +#else + return; +#endif } /// Request to remove from filtering list (PARTY_RECRUIT_SUB_FILTERLINGLIST). /// 08f0 .L void clif_parse_PartyBookingSubFilteringList(int fd, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT int gid = RFIFOL(fd, 2); clif->PartyBookingSubFilteringList(gid, sd); +#else + return; +#endif } /// Request to recruit volunteer (PARTY_RECRUIT_REQ_VOLUNTEER). /// 08f1 .L void clif_parse_PartyBookingReqVolunteer(int fd, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT int index = RFIFOL(fd, 2); clif->PartyBookingVolunteerInfo(index, sd); +#else + return; +#endif } /// Request volunteer information (PARTY_RECRUIT_VOLUNTEER_INFO). /// 08f2 .L .L .W .24B void clif_PartyBookingVolunteerInfo(int index, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT unsigned char buf[2+4+4+2+24+1]; WBUFW(buf, 0) = 0x8f2; @@ -12552,6 +12643,9 @@ void clif_PartyBookingVolunteerInfo(int index, struct map_session_data *sd) memcpy(WBUFP(buf, 12), sd->status.name, NAME_LENGTH); clif->send(buf, packet_len(0x8f2), &sd->bl, ALL_CLIENT); +#else + return; +#endif } #if 0 //Disabled for now. Needs more info. @@ -12595,44 +12689,61 @@ void clif_PartyBookingFailedRecall(int fd, struct map_session_data *sd) /// 08f9 .L void clif_parse_PartyBookingRefuseVolunteer(int fd, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT unsigned long aid = RFIFOL(fd, 2); clif->PartyBookingRefuseVolunteer(aid, sd); +#else + return; +#endif } /// 08fa .L void clif_PartyBookingRefuseVolunteer(unsigned long aid, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6]; WBUFW(buf, 0) = 0x8fa; WBUFL(buf, 2) = aid; clif->send(buf, packet_len(0x8fa), &sd->bl, ALL_CLIENT); +#else + return; +#endif } /// 08fb .L void clif_parse_PartyBookingCancelVolunteer(int fd, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT int index = RFIFOL(fd, 2); clif->PartyBookingCancelVolunteer(index, sd); +#else + return; +#endif } /// 0909 .L void clif_PartyBookingCancelVolunteer(int index, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6+1]; WBUFW(buf, 0) = 0x909; WBUFL(buf, 2) = index; clif->send(buf, packet_len(0x909), &sd->bl, ALL_CLIENT); +#else + return; +#endif } /// 090b .L .24B void clif_PartyBookingAddFilteringList(int index, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6+24+1]; WBUFW(buf, 0) = 0x90b; @@ -12640,11 +12751,15 @@ void clif_PartyBookingAddFilteringList(int index, struct map_session_data *sd) memcpy(WBUFP(buf, 6), sd->status.name, NAME_LENGTH); clif->send(buf, packet_len(0x90b), &sd->bl, ALL_CLIENT); +#else + return; +#endif } /// 090c .L .24B void clif_PartyBookingSubFilteringList(int gid, struct map_session_data *sd) { +#ifdef PARTY_RECRUIT unsigned char buf[2+6+24+1]; WBUFW(buf, 0) = 0x90c; @@ -12652,6 +12767,9 @@ void clif_PartyBookingSubFilteringList(int gid, struct map_session_data *sd) memcpy(WBUFP(buf, 6), sd->status.name, NAME_LENGTH); clif->send(buf, packet_len(0x90c), &sd->bl, ALL_CLIENT); +#else + return; +#endif } #if 0 @@ -12665,7 +12783,6 @@ void clif_PartyBookingRefuseVolunteerToPM(struct map_session_data *sd) { } #endif //if 0 -#endif /// Request to close own vending (CZ_REQ_CLOSESTORE). /// 012e @@ -18344,6 +18461,12 @@ void clif_defaults(void) { clif->PartyBookingUpdateNotify = clif_PartyBookingUpdateNotify; clif->PartyBookingDeleteNotify = clif_PartyBookingDeleteNotify; clif->PartyBookingInsertNotify = clif_PartyBookingInsertNotify; + clif->PartyRecruitRegisterAck = clif_PartyRecruitRegisterAck; + clif->PartyRecruitDeleteAck = clif_PartyRecruitDeleteAck; + clif->PartyRecruitSearchAck = clif_PartyRecruitSearchAck; + clif->PartyRecruitUpdateNotify = clif_PartyRecruitUpdateNotify; + clif->PartyRecruitDeleteNotify = clif_PartyRecruitDeleteNotify; + clif->PartyRecruitInsertNotify = clif_PartyRecruitInsertNotify; /* Group Search System Update */ clif->PartyBookingVolunteerInfo = clif_PartyBookingVolunteerInfo; clif->PartyBookingRefuseVolunteer = clif_PartyBookingRefuseVolunteer; @@ -18498,6 +18621,10 @@ void clif_defaults(void) { clif->pPartyBookingSearchReq = clif_parse_PartyBookingSearchReq; clif->pPartyBookingDeleteReq = clif_parse_PartyBookingDeleteReq; clif->pPartyBookingUpdateReq = clif_parse_PartyBookingUpdateReq; + clif->pPartyRecruitRegisterReq = clif_parse_PartyRecruitRegisterReq; + clif->pPartyRecruitSearchReq = clif_parse_PartyRecruitSearchReq; + clif->pPartyRecruitDeleteReq = clif_parse_PartyRecruitDeleteReq; + clif->pPartyRecruitUpdateReq = clif_parse_PartyRecruitUpdateReq; clif->pCloseVending = clif_parse_CloseVending; clif->pVendingListReq = clif_parse_VendingListReq; clif->pPurchaseReq = clif_parse_PurchaseReq; diff --git a/src/map/clif.h b/src/map/clif.h index 31808ddcc..1a2748353 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -902,6 +902,12 @@ struct clif_interface { void (*PartyBookingUpdateNotify) (struct map_session_data* sd, struct party_booking_ad_info* pb_ad); void (*PartyBookingDeleteNotify) (struct map_session_data* sd, int index); void (*PartyBookingInsertNotify) (struct map_session_data* sd, struct party_booking_ad_info* pb_ad); + void (*PartyRecruitRegisterAck) (struct map_session_data *sd, int flag); + void (*PartyRecruitDeleteAck) (struct map_session_data* sd, int flag); + void (*PartyRecruitSearchAck) (int fd, struct party_booking_ad_info** results, int count, bool more_result); + void (*PartyRecruitUpdateNotify) (struct map_session_data* sd, struct party_booking_ad_info* pb_ad); + void (*PartyRecruitDeleteNotify) (struct map_session_data* sd, int index); + void (*PartyRecruitInsertNotify) (struct map_session_data* sd, struct party_booking_ad_info* pb_ad); /* Group Search System Update */ void (*PartyBookingVolunteerInfo) (int index, struct map_session_data *sd); void (*PartyBookingRefuseVolunteer) (unsigned long aid, struct map_session_data *sd); @@ -1056,6 +1062,10 @@ struct clif_interface { void (*pPartyBookingSearchReq) (int fd, struct map_session_data* sd); void (*pPartyBookingDeleteReq) (int fd, struct map_session_data* sd); void (*pPartyBookingUpdateReq) (int fd, struct map_session_data* sd); + void (*pPartyRecruitRegisterReq) (int fd, struct map_session_data* sd); + void (*pPartyRecruitSearchReq) (int fd, struct map_session_data* sd); + void (*pPartyRecruitDeleteReq) (int fd, struct map_session_data* sd); + void (*pPartyRecruitUpdateReq) (int fd, struct map_session_data* sd); void (*pCloseVending) (int fd, struct map_session_data* sd); void (*pVendingListReq) (int fd, struct map_session_data* sd); void (*pPurchaseReq) (int fd, struct map_session_data* sd); diff --git a/src/map/packets.h b/src/map/packets.h index 3ae52cba8..c91b5d50c 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -1971,14 +1971,14 @@ packet(0x020d,-1); #ifndef PACKETVER_RE packet(0x091D,18,clif->pPartyBookingRegisterReq,2,4,6); #else - packet(0x08E5,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4); #endif packet(0x08E6,4); - packet(0x08E7,10,clif->pPartyBookingSearchReq,2); + packet(0x08E7,10,clif->pPartyRecruitSearchReq,2); packet(0x08E8,-1); - packet(0x08E9,2,clif->pPartyBookingDeleteReq,2); + packet(0x08E9,2,clif->pPartyRecruitDeleteReq,2); packet(0x08EA,4); - packet(0x08EB,39,clif->pPartyBookingUpdateReq,2); + packet(0x08EB,39,clif->pPartyRecruitUpdateReq,2); packet(0x08EC,73); packet(0x08ED,43); packet(0x08EE,6); @@ -2022,14 +2022,14 @@ packet(0x020d,-1); packet(0x0364,8,clif->pMoveFromKafra,2,4); packet(0x096A,6,clif->pGetCharNameRequest,2); packet(0x0368,6,clif->pSolveCharName,2); - packet(0x08E5,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x08E5,41,clif->pPartyRecruitRegisterReq,2,4); packet(0x08d2,10); packet(0x0916,26,clif->pGuildInvite2,2); #endif #ifndef PACKETVER_RE #if PACKETVER >= 20120604 - packet(0x0861,18,clif->pPartyBookingRegisterReq,2,4,6); + packet(0x0861,18,clif->pPartyRecruitRegisterReq,2,4,6); #endif #endif @@ -2119,7 +2119,7 @@ packet(0x020d,-1); packet(0x0886,2,clif->pReqCloseBuyingStore,0); packet(0x0938,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x085D,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x085D,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x085D,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2164,7 +2164,7 @@ packet(0x020d,-1); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x092D,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x092D,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x092D,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2203,7 +2203,7 @@ packet(0x020d,-1); packet(0x086E,2,clif->pReqCloseBuyingStore,0); packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x089B,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x089B,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x089B,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2241,7 +2241,7 @@ packet(0x020d,-1); packet(0x0964,2,clif->pReqCloseBuyingStore,0); packet(0x0869,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x0874,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x0874,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x0874,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2278,7 +2278,7 @@ packet(0x020d,-1); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2324,7 +2324,7 @@ packet(0x020d,-1); packet(0x085A,2,clif->pReqCloseBuyingStore,0); packet(0x0932,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x08A7,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x08A7,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x08A7,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2361,7 +2361,7 @@ packet(0x020d,-1); packet(0x0365,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x0894,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x0894,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x0894,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2386,7 +2386,7 @@ packet(0x020d,-1); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE @@ -2424,7 +2424,7 @@ packet(0x020d,-1); packet(0x0817,2,clif->pReqCloseBuyingStore,0); packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); #ifdef PACKETVER_RE - packet(0x0365,41,clif->pPartyBookingRegisterReq,2,4); + packet(0x0365,41,clif->pPartyRecruitRegisterReq,2,4); #else // not PACKETVER_RE packet(0x0365,18,clif->pPartyBookingRegisterReq,2,4); #endif // PACKETVER_RE diff --git a/src/map/party.c b/src/map/party.c index 7db6b8e10..904110452 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -1121,7 +1121,7 @@ void party_recruit_register(struct map_session_data *sd, short level, const char } else {// already registered - clif->PartyBookingRegisterAck(sd, 2); + clif->PartyRecruitRegisterAck(sd, 2); return; } @@ -1130,8 +1130,8 @@ void party_recruit_register(struct map_session_data *sd, short level, const char pb_ad->p_detail.level = level; safestrncpy(pb_ad->p_detail.notice, notice, PB_NOTICE_LENGTH); - clif->PartyBookingRegisterAck(sd, 0); - clif->PartyBookingInsertNotify(sd, pb_ad); // Notice + clif->PartyRecruitRegisterAck(sd, 0); + clif->PartyRecruitInsertNotify(sd, pb_ad); // Notice #else return; #endif @@ -1187,7 +1187,7 @@ void party_recruit_update(struct map_session_data *sd, const char *notice) { safestrncpy(pb_ad->p_detail.notice, notice, PB_NOTICE_LENGTH); } - clif->PartyBookingUpdateNotify(sd, pb_ad); + clif->PartyRecruitUpdateNotify(sd, pb_ad); #else return; #endif @@ -1241,7 +1241,7 @@ void party_recruit_search(struct map_session_data *sd, short level, short mapid, } } dbi_destroy(iter); - clif->PartyBookingSearchAck(sd->fd, result_list, count, more_result); + clif->PartyRecruitSearchAck(sd->fd, result_list, count, more_result); #else return; #endif @@ -1293,7 +1293,11 @@ bool party_booking_delete(struct map_session_data *sd) if((pb_ad = (struct party_booking_ad_info*)idb_get(party->booking_db, sd->status.char_id))!=NULL) { +#ifdef PARTY_RECRUIT + clif->PartyRecruitDeleteNotify(sd, pb_ad->index); +#else clif->PartyBookingDeleteNotify(sd, pb_ad->index); +#endif idb_remove(party->booking_db,sd->status.char_id); } return true; diff --git a/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc index caf5dd324..c682e4e58 100644 --- a/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc @@ -1155,6 +1155,18 @@ struct HPMHookPoint *HP_clif_PartyBookingDeleteNotify_pre; struct HPMHookPoint *HP_clif_PartyBookingDeleteNotify_post; struct HPMHookPoint *HP_clif_PartyBookingInsertNotify_pre; struct HPMHookPoint *HP_clif_PartyBookingInsertNotify_post; +struct HPMHookPoint *HP_clif_PartyRecruitRegisterAck_pre; +struct HPMHookPoint *HP_clif_PartyRecruitRegisterAck_post; +struct HPMHookPoint *HP_clif_PartyRecruitDeleteAck_pre; +struct HPMHookPoint *HP_clif_PartyRecruitDeleteAck_post; +struct HPMHookPoint *HP_clif_PartyRecruitSearchAck_pre; +struct HPMHookPoint *HP_clif_PartyRecruitSearchAck_post; +struct HPMHookPoint *HP_clif_PartyRecruitUpdateNotify_pre; +struct HPMHookPoint *HP_clif_PartyRecruitUpdateNotify_post; +struct HPMHookPoint *HP_clif_PartyRecruitDeleteNotify_pre; +struct HPMHookPoint *HP_clif_PartyRecruitDeleteNotify_post; +struct HPMHookPoint *HP_clif_PartyRecruitInsertNotify_pre; +struct HPMHookPoint *HP_clif_PartyRecruitInsertNotify_post; struct HPMHookPoint *HP_clif_PartyBookingVolunteerInfo_pre; struct HPMHookPoint *HP_clif_PartyBookingVolunteerInfo_post; struct HPMHookPoint *HP_clif_PartyBookingRefuseVolunteer_pre; @@ -1443,6 +1455,14 @@ struct HPMHookPoint *HP_clif_pPartyBookingDeleteReq_pre; struct HPMHookPoint *HP_clif_pPartyBookingDeleteReq_post; struct HPMHookPoint *HP_clif_pPartyBookingUpdateReq_pre; struct HPMHookPoint *HP_clif_pPartyBookingUpdateReq_post; +struct HPMHookPoint *HP_clif_pPartyRecruitRegisterReq_pre; +struct HPMHookPoint *HP_clif_pPartyRecruitRegisterReq_post; +struct HPMHookPoint *HP_clif_pPartyRecruitSearchReq_pre; +struct HPMHookPoint *HP_clif_pPartyRecruitSearchReq_post; +struct HPMHookPoint *HP_clif_pPartyRecruitDeleteReq_pre; +struct HPMHookPoint *HP_clif_pPartyRecruitDeleteReq_post; +struct HPMHookPoint *HP_clif_pPartyRecruitUpdateReq_pre; +struct HPMHookPoint *HP_clif_pPartyRecruitUpdateReq_post; struct HPMHookPoint *HP_clif_pCloseVending_pre; struct HPMHookPoint *HP_clif_pCloseVending_post; struct HPMHookPoint *HP_clif_pVendingListReq_pre; @@ -5991,6 +6011,18 @@ int HP_clif_PartyBookingDeleteNotify_pre; int HP_clif_PartyBookingDeleteNotify_post; int HP_clif_PartyBookingInsertNotify_pre; int HP_clif_PartyBookingInsertNotify_post; +int HP_clif_PartyRecruitRegisterAck_pre; +int HP_clif_PartyRecruitRegisterAck_post; +int HP_clif_PartyRecruitDeleteAck_pre; +int HP_clif_PartyRecruitDeleteAck_post; +int HP_clif_PartyRecruitSearchAck_pre; +int HP_clif_PartyRecruitSearchAck_post; +int HP_clif_PartyRecruitUpdateNotify_pre; +int HP_clif_PartyRecruitUpdateNotify_post; +int HP_clif_PartyRecruitDeleteNotify_pre; +int HP_clif_PartyRecruitDeleteNotify_post; +int HP_clif_PartyRecruitInsertNotify_pre; +int HP_clif_PartyRecruitInsertNotify_post; int HP_clif_PartyBookingVolunteerInfo_pre; int HP_clif_PartyBookingVolunteerInfo_post; int HP_clif_PartyBookingRefuseVolunteer_pre; @@ -6279,6 +6311,14 @@ int HP_clif_pPartyBookingDeleteReq_pre; int HP_clif_pPartyBookingDeleteReq_post; int HP_clif_pPartyBookingUpdateReq_pre; int HP_clif_pPartyBookingUpdateReq_post; +int HP_clif_pPartyRecruitRegisterReq_pre; +int HP_clif_pPartyRecruitRegisterReq_post; +int HP_clif_pPartyRecruitSearchReq_pre; +int HP_clif_pPartyRecruitSearchReq_post; +int HP_clif_pPartyRecruitDeleteReq_pre; +int HP_clif_pPartyRecruitDeleteReq_post; +int HP_clif_pPartyRecruitUpdateReq_pre; +int HP_clif_pPartyRecruitUpdateReq_post; int HP_clif_pCloseVending_pre; int HP_clif_pCloseVending_post; int HP_clif_pVendingListReq_pre; diff --git a/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc index e356f2b18..368e4a4c7 100644 --- a/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc @@ -584,1874 +584,1884 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->PartyBookingUpdateNotify), HP_POP2(HP_clif_PartyBookingUpdateNotify), 1150 }, { HP_POP(clif->PartyBookingDeleteNotify), HP_POP2(HP_clif_PartyBookingDeleteNotify), 1152 }, { HP_POP(clif->PartyBookingInsertNotify), HP_POP2(HP_clif_PartyBookingInsertNotify), 1154 }, -{ HP_POP(clif->PartyBookingVolunteerInfo), HP_POP2(HP_clif_PartyBookingVolunteerInfo), 1156 }, -{ HP_POP(clif->PartyBookingRefuseVolunteer), HP_POP2(HP_clif_PartyBookingRefuseVolunteer), 1158 }, -{ HP_POP(clif->PartyBookingCancelVolunteer), HP_POP2(HP_clif_PartyBookingCancelVolunteer), 1160 }, -{ HP_POP(clif->PartyBookingAddFilteringList), HP_POP2(HP_clif_PartyBookingAddFilteringList), 1162 }, -{ HP_POP(clif->PartyBookingSubFilteringList), HP_POP2(HP_clif_PartyBookingSubFilteringList), 1164 }, -{ HP_POP(clif->buyingstore_open), HP_POP2(HP_clif_buyingstore_open), 1166 }, -{ HP_POP(clif->buyingstore_open_failed), HP_POP2(HP_clif_buyingstore_open_failed), 1168 }, -{ HP_POP(clif->buyingstore_myitemlist), HP_POP2(HP_clif_buyingstore_myitemlist), 1170 }, -{ HP_POP(clif->buyingstore_entry), HP_POP2(HP_clif_buyingstore_entry), 1172 }, -{ HP_POP(clif->buyingstore_entry_single), HP_POP2(HP_clif_buyingstore_entry_single), 1174 }, -{ HP_POP(clif->buyingstore_disappear_entry), HP_POP2(HP_clif_buyingstore_disappear_entry), 1176 }, -{ HP_POP(clif->buyingstore_disappear_entry_single), HP_POP2(HP_clif_buyingstore_disappear_entry_single), 1178 }, -{ HP_POP(clif->buyingstore_itemlist), HP_POP2(HP_clif_buyingstore_itemlist), 1180 }, -{ HP_POP(clif->buyingstore_trade_failed_buyer), HP_POP2(HP_clif_buyingstore_trade_failed_buyer), 1182 }, -{ HP_POP(clif->buyingstore_update_item), HP_POP2(HP_clif_buyingstore_update_item), 1184 }, -{ HP_POP(clif->buyingstore_delete_item), HP_POP2(HP_clif_buyingstore_delete_item), 1186 }, -{ HP_POP(clif->buyingstore_trade_failed_seller), HP_POP2(HP_clif_buyingstore_trade_failed_seller), 1188 }, -{ HP_POP(clif->search_store_info_ack), HP_POP2(HP_clif_search_store_info_ack), 1190 }, -{ HP_POP(clif->search_store_info_failed), HP_POP2(HP_clif_search_store_info_failed), 1192 }, -{ HP_POP(clif->open_search_store_info), HP_POP2(HP_clif_open_search_store_info), 1194 }, -{ HP_POP(clif->search_store_info_click_ack), HP_POP2(HP_clif_search_store_info_click_ack), 1196 }, -{ HP_POP(clif->elemental_info), HP_POP2(HP_clif_elemental_info), 1198 }, -{ HP_POP(clif->elemental_updatestatus), HP_POP2(HP_clif_elemental_updatestatus), 1200 }, -{ HP_POP(clif->bgqueue_ack), HP_POP2(HP_clif_bgqueue_ack), 1202 }, -{ HP_POP(clif->bgqueue_notice_delete), HP_POP2(HP_clif_bgqueue_notice_delete), 1204 }, -{ HP_POP(clif->bgqueue_update_info), HP_POP2(HP_clif_bgqueue_update_info), 1206 }, -{ HP_POP(clif->bgqueue_joined), HP_POP2(HP_clif_bgqueue_joined), 1208 }, -{ HP_POP(clif->bgqueue_pcleft), HP_POP2(HP_clif_bgqueue_pcleft), 1210 }, -{ HP_POP(clif->bgqueue_battlebegins), HP_POP2(HP_clif_bgqueue_battlebegins), 1212 }, -{ HP_POP(clif->adopt_reply), HP_POP2(HP_clif_adopt_reply), 1214 }, -{ HP_POP(clif->adopt_request), HP_POP2(HP_clif_adopt_request), 1216 }, -{ HP_POP(clif->readbook), HP_POP2(HP_clif_readbook), 1218 }, -{ HP_POP(clif->notify_time), HP_POP2(HP_clif_notify_time), 1220 }, -{ HP_POP(clif->user_count), HP_POP2(HP_clif_user_count), 1222 }, -{ HP_POP(clif->noask_sub), HP_POP2(HP_clif_noask_sub), 1224 }, -{ HP_POP(clif->bc_ready), HP_POP2(HP_clif_bc_ready), 1226 }, -{ HP_POP(clif->undisguise_timer), HP_POP2(HP_clif_undisguise_timer), 1228 }, -{ HP_POP(clif->chsys_create), HP_POP2(HP_clif_chsys_create), 1230 }, -{ HP_POP(clif->chsys_msg), HP_POP2(HP_clif_chsys_msg), 1232 }, -{ HP_POP(clif->chsys_msg2), HP_POP2(HP_clif_chsys_msg2), 1234 }, -{ HP_POP(clif->chsys_send), HP_POP2(HP_clif_chsys_send), 1236 }, -{ HP_POP(clif->chsys_join), HP_POP2(HP_clif_chsys_join), 1238 }, -{ HP_POP(clif->chsys_left), HP_POP2(HP_clif_chsys_left), 1240 }, -{ HP_POP(clif->chsys_delete), HP_POP2(HP_clif_chsys_delete), 1242 }, -{ HP_POP(clif->chsys_mjoin), HP_POP2(HP_clif_chsys_mjoin), 1244 }, -{ HP_POP(clif->chsys_quit), HP_POP2(HP_clif_chsys_quit), 1246 }, -{ HP_POP(clif->chsys_quitg), HP_POP2(HP_clif_chsys_quitg), 1248 }, -{ HP_POP(clif->chsys_gjoin), HP_POP2(HP_clif_chsys_gjoin), 1250 }, -{ HP_POP(clif->chsys_gleave), HP_POP2(HP_clif_chsys_gleave), 1252 }, -{ HP_POP(clif->pWantToConnection), HP_POP2(HP_clif_pWantToConnection), 1254 }, -{ HP_POP(clif->pLoadEndAck), HP_POP2(HP_clif_pLoadEndAck), 1256 }, -{ HP_POP(clif->pTickSend), HP_POP2(HP_clif_pTickSend), 1258 }, -{ HP_POP(clif->pHotkey), HP_POP2(HP_clif_pHotkey), 1260 }, -{ HP_POP(clif->pProgressbar), HP_POP2(HP_clif_pProgressbar), 1262 }, -{ HP_POP(clif->pWalkToXY), HP_POP2(HP_clif_pWalkToXY), 1264 }, -{ HP_POP(clif->pQuitGame), HP_POP2(HP_clif_pQuitGame), 1266 }, -{ HP_POP(clif->pGetCharNameRequest), HP_POP2(HP_clif_pGetCharNameRequest), 1268 }, -{ HP_POP(clif->pGlobalMessage), HP_POP2(HP_clif_pGlobalMessage), 1270 }, -{ HP_POP(clif->pMapMove), HP_POP2(HP_clif_pMapMove), 1272 }, -{ HP_POP(clif->pChangeDir), HP_POP2(HP_clif_pChangeDir), 1274 }, -{ HP_POP(clif->pEmotion), HP_POP2(HP_clif_pEmotion), 1276 }, -{ HP_POP(clif->pHowManyConnections), HP_POP2(HP_clif_pHowManyConnections), 1278 }, -{ HP_POP(clif->pActionRequest), HP_POP2(HP_clif_pActionRequest), 1280 }, -{ HP_POP(clif->pActionRequest_sub), HP_POP2(HP_clif_pActionRequest_sub), 1282 }, -{ HP_POP(clif->pRestart), HP_POP2(HP_clif_pRestart), 1284 }, -{ HP_POP(clif->pWisMessage), HP_POP2(HP_clif_pWisMessage), 1286 }, -{ HP_POP(clif->pBroadcast), HP_POP2(HP_clif_pBroadcast), 1288 }, -{ HP_POP(clif->pTakeItem), HP_POP2(HP_clif_pTakeItem), 1290 }, -{ HP_POP(clif->pDropItem), HP_POP2(HP_clif_pDropItem), 1292 }, -{ HP_POP(clif->pUseItem), HP_POP2(HP_clif_pUseItem), 1294 }, -{ HP_POP(clif->pEquipItem), HP_POP2(HP_clif_pEquipItem), 1296 }, -{ HP_POP(clif->pUnequipItem), HP_POP2(HP_clif_pUnequipItem), 1298 }, -{ HP_POP(clif->pNpcClicked), HP_POP2(HP_clif_pNpcClicked), 1300 }, -{ HP_POP(clif->pNpcBuySellSelected), HP_POP2(HP_clif_pNpcBuySellSelected), 1302 }, -{ HP_POP(clif->pNpcBuyListSend), HP_POP2(HP_clif_pNpcBuyListSend), 1304 }, -{ HP_POP(clif->pNpcSellListSend), HP_POP2(HP_clif_pNpcSellListSend), 1306 }, -{ HP_POP(clif->pCreateChatRoom), HP_POP2(HP_clif_pCreateChatRoom), 1308 }, -{ HP_POP(clif->pChatAddMember), HP_POP2(HP_clif_pChatAddMember), 1310 }, -{ HP_POP(clif->pChatRoomStatusChange), HP_POP2(HP_clif_pChatRoomStatusChange), 1312 }, -{ HP_POP(clif->pChangeChatOwner), HP_POP2(HP_clif_pChangeChatOwner), 1314 }, -{ HP_POP(clif->pKickFromChat), HP_POP2(HP_clif_pKickFromChat), 1316 }, -{ HP_POP(clif->pChatLeave), HP_POP2(HP_clif_pChatLeave), 1318 }, -{ HP_POP(clif->pTradeRequest), HP_POP2(HP_clif_pTradeRequest), 1320 }, -{ HP_POP(clif->chann_config_read), HP_POP2(HP_clif_chann_config_read), 1322 }, -{ HP_POP(clif->pTradeAck), HP_POP2(HP_clif_pTradeAck), 1324 }, -{ HP_POP(clif->pTradeAddItem), HP_POP2(HP_clif_pTradeAddItem), 1326 }, -{ HP_POP(clif->pTradeOk), HP_POP2(HP_clif_pTradeOk), 1328 }, -{ HP_POP(clif->pTradeCancel), HP_POP2(HP_clif_pTradeCancel), 1330 }, -{ HP_POP(clif->pTradeCommit), HP_POP2(HP_clif_pTradeCommit), 1332 }, -{ HP_POP(clif->pStopAttack), HP_POP2(HP_clif_pStopAttack), 1334 }, -{ HP_POP(clif->pPutItemToCart), HP_POP2(HP_clif_pPutItemToCart), 1336 }, -{ HP_POP(clif->pGetItemFromCart), HP_POP2(HP_clif_pGetItemFromCart), 1338 }, -{ HP_POP(clif->pRemoveOption), HP_POP2(HP_clif_pRemoveOption), 1340 }, -{ HP_POP(clif->pChangeCart), HP_POP2(HP_clif_pChangeCart), 1342 }, -{ HP_POP(clif->pStatusUp), HP_POP2(HP_clif_pStatusUp), 1344 }, -{ HP_POP(clif->pSkillUp), HP_POP2(HP_clif_pSkillUp), 1346 }, -{ HP_POP(clif->pUseSkillToId), HP_POP2(HP_clif_pUseSkillToId), 1348 }, -{ HP_POP(clif->pUseSkillToId_homun), HP_POP2(HP_clif_pUseSkillToId_homun), 1350 }, -{ HP_POP(clif->pUseSkillToId_mercenary), HP_POP2(HP_clif_pUseSkillToId_mercenary), 1352 }, -{ HP_POP(clif->pUseSkillToPos), HP_POP2(HP_clif_pUseSkillToPos), 1354 }, -{ HP_POP(clif->pUseSkillToPosSub), HP_POP2(HP_clif_pUseSkillToPosSub), 1356 }, -{ HP_POP(clif->pUseSkillToPos_homun), HP_POP2(HP_clif_pUseSkillToPos_homun), 1358 }, -{ HP_POP(clif->pUseSkillToPos_mercenary), HP_POP2(HP_clif_pUseSkillToPos_mercenary), 1360 }, -{ HP_POP(clif->pUseSkillToPosMoreInfo), HP_POP2(HP_clif_pUseSkillToPosMoreInfo), 1362 }, -{ HP_POP(clif->pUseSkillMap), HP_POP2(HP_clif_pUseSkillMap), 1364 }, -{ HP_POP(clif->pRequestMemo), HP_POP2(HP_clif_pRequestMemo), 1366 }, -{ HP_POP(clif->pProduceMix), HP_POP2(HP_clif_pProduceMix), 1368 }, -{ HP_POP(clif->pCooking), HP_POP2(HP_clif_pCooking), 1370 }, -{ HP_POP(clif->pRepairItem), HP_POP2(HP_clif_pRepairItem), 1372 }, -{ HP_POP(clif->pWeaponRefine), HP_POP2(HP_clif_pWeaponRefine), 1374 }, -{ HP_POP(clif->pNpcSelectMenu), HP_POP2(HP_clif_pNpcSelectMenu), 1376 }, -{ HP_POP(clif->pNpcNextClicked), HP_POP2(HP_clif_pNpcNextClicked), 1378 }, -{ HP_POP(clif->pNpcAmountInput), HP_POP2(HP_clif_pNpcAmountInput), 1380 }, -{ HP_POP(clif->pNpcStringInput), HP_POP2(HP_clif_pNpcStringInput), 1382 }, -{ HP_POP(clif->pNpcCloseClicked), HP_POP2(HP_clif_pNpcCloseClicked), 1384 }, -{ HP_POP(clif->pItemIdentify), HP_POP2(HP_clif_pItemIdentify), 1386 }, -{ HP_POP(clif->pSelectArrow), HP_POP2(HP_clif_pSelectArrow), 1388 }, -{ HP_POP(clif->pAutoSpell), HP_POP2(HP_clif_pAutoSpell), 1390 }, -{ HP_POP(clif->pUseCard), HP_POP2(HP_clif_pUseCard), 1392 }, -{ HP_POP(clif->pInsertCard), HP_POP2(HP_clif_pInsertCard), 1394 }, -{ HP_POP(clif->pSolveCharName), HP_POP2(HP_clif_pSolveCharName), 1396 }, -{ HP_POP(clif->pResetChar), HP_POP2(HP_clif_pResetChar), 1398 }, -{ HP_POP(clif->pLocalBroadcast), HP_POP2(HP_clif_pLocalBroadcast), 1400 }, -{ HP_POP(clif->pMoveToKafra), HP_POP2(HP_clif_pMoveToKafra), 1402 }, -{ HP_POP(clif->pMoveFromKafra), HP_POP2(HP_clif_pMoveFromKafra), 1404 }, -{ HP_POP(clif->pMoveToKafraFromCart), HP_POP2(HP_clif_pMoveToKafraFromCart), 1406 }, -{ HP_POP(clif->pMoveFromKafraToCart), HP_POP2(HP_clif_pMoveFromKafraToCart), 1408 }, -{ HP_POP(clif->pCloseKafra), HP_POP2(HP_clif_pCloseKafra), 1410 }, -{ HP_POP(clif->pStoragePassword), HP_POP2(HP_clif_pStoragePassword), 1412 }, -{ HP_POP(clif->pCreateParty), HP_POP2(HP_clif_pCreateParty), 1414 }, -{ HP_POP(clif->pCreateParty2), HP_POP2(HP_clif_pCreateParty2), 1416 }, -{ HP_POP(clif->pPartyInvite), HP_POP2(HP_clif_pPartyInvite), 1418 }, -{ HP_POP(clif->pPartyInvite2), HP_POP2(HP_clif_pPartyInvite2), 1420 }, -{ HP_POP(clif->pReplyPartyInvite), HP_POP2(HP_clif_pReplyPartyInvite), 1422 }, -{ HP_POP(clif->pReplyPartyInvite2), HP_POP2(HP_clif_pReplyPartyInvite2), 1424 }, -{ HP_POP(clif->pLeaveParty), HP_POP2(HP_clif_pLeaveParty), 1426 }, -{ HP_POP(clif->pRemovePartyMember), HP_POP2(HP_clif_pRemovePartyMember), 1428 }, -{ HP_POP(clif->pPartyChangeOption), HP_POP2(HP_clif_pPartyChangeOption), 1430 }, -{ HP_POP(clif->pPartyMessage), HP_POP2(HP_clif_pPartyMessage), 1432 }, -{ HP_POP(clif->pPartyChangeLeader), HP_POP2(HP_clif_pPartyChangeLeader), 1434 }, -{ HP_POP(clif->pPartyBookingRegisterReq), HP_POP2(HP_clif_pPartyBookingRegisterReq), 1436 }, -{ HP_POP(clif->pPartyBookingSearchReq), HP_POP2(HP_clif_pPartyBookingSearchReq), 1438 }, -{ HP_POP(clif->pPartyBookingDeleteReq), HP_POP2(HP_clif_pPartyBookingDeleteReq), 1440 }, -{ HP_POP(clif->pPartyBookingUpdateReq), HP_POP2(HP_clif_pPartyBookingUpdateReq), 1442 }, -{ HP_POP(clif->pCloseVending), HP_POP2(HP_clif_pCloseVending), 1444 }, -{ HP_POP(clif->pVendingListReq), HP_POP2(HP_clif_pVendingListReq), 1446 }, -{ HP_POP(clif->pPurchaseReq), HP_POP2(HP_clif_pPurchaseReq), 1448 }, -{ HP_POP(clif->pPurchaseReq2), HP_POP2(HP_clif_pPurchaseReq2), 1450 }, -{ HP_POP(clif->pOpenVending), HP_POP2(HP_clif_pOpenVending), 1452 }, -{ HP_POP(clif->pCreateGuild), HP_POP2(HP_clif_pCreateGuild), 1454 }, -{ HP_POP(clif->pGuildCheckMaster), HP_POP2(HP_clif_pGuildCheckMaster), 1456 }, -{ HP_POP(clif->pGuildRequestInfo), HP_POP2(HP_clif_pGuildRequestInfo), 1458 }, -{ HP_POP(clif->pGuildChangePositionInfo), HP_POP2(HP_clif_pGuildChangePositionInfo), 1460 }, -{ HP_POP(clif->pGuildChangeMemberPosition), HP_POP2(HP_clif_pGuildChangeMemberPosition), 1462 }, -{ HP_POP(clif->pGuildRequestEmblem), HP_POP2(HP_clif_pGuildRequestEmblem), 1464 }, -{ HP_POP(clif->pGuildChangeEmblem), HP_POP2(HP_clif_pGuildChangeEmblem), 1466 }, -{ HP_POP(clif->pGuildChangeNotice), HP_POP2(HP_clif_pGuildChangeNotice), 1468 }, -{ HP_POP(clif->pGuildInvite), HP_POP2(HP_clif_pGuildInvite), 1470 }, -{ HP_POP(clif->pGuildReplyInvite), HP_POP2(HP_clif_pGuildReplyInvite), 1472 }, -{ HP_POP(clif->pGuildLeave), HP_POP2(HP_clif_pGuildLeave), 1474 }, -{ HP_POP(clif->pGuildExpulsion), HP_POP2(HP_clif_pGuildExpulsion), 1476 }, -{ HP_POP(clif->pGuildMessage), HP_POP2(HP_clif_pGuildMessage), 1478 }, -{ HP_POP(clif->pGuildRequestAlliance), HP_POP2(HP_clif_pGuildRequestAlliance), 1480 }, -{ HP_POP(clif->pGuildReplyAlliance), HP_POP2(HP_clif_pGuildReplyAlliance), 1482 }, -{ HP_POP(clif->pGuildDelAlliance), HP_POP2(HP_clif_pGuildDelAlliance), 1484 }, -{ HP_POP(clif->pGuildOpposition), HP_POP2(HP_clif_pGuildOpposition), 1486 }, -{ HP_POP(clif->pGuildBreak), HP_POP2(HP_clif_pGuildBreak), 1488 }, -{ HP_POP(clif->pPetMenu), HP_POP2(HP_clif_pPetMenu), 1490 }, -{ HP_POP(clif->pCatchPet), HP_POP2(HP_clif_pCatchPet), 1492 }, -{ HP_POP(clif->pSelectEgg), HP_POP2(HP_clif_pSelectEgg), 1494 }, -{ HP_POP(clif->pSendEmotion), HP_POP2(HP_clif_pSendEmotion), 1496 }, -{ HP_POP(clif->pChangePetName), HP_POP2(HP_clif_pChangePetName), 1498 }, -{ HP_POP(clif->pGMKick), HP_POP2(HP_clif_pGMKick), 1500 }, -{ HP_POP(clif->pGMKickAll), HP_POP2(HP_clif_pGMKickAll), 1502 }, -{ HP_POP(clif->pGMShift), HP_POP2(HP_clif_pGMShift), 1504 }, -{ HP_POP(clif->pGMRemove2), HP_POP2(HP_clif_pGMRemove2), 1506 }, -{ HP_POP(clif->pGMRecall), HP_POP2(HP_clif_pGMRecall), 1508 }, -{ HP_POP(clif->pGMRecall2), HP_POP2(HP_clif_pGMRecall2), 1510 }, -{ HP_POP(clif->pGM_Monster_Item), HP_POP2(HP_clif_pGM_Monster_Item), 1512 }, -{ HP_POP(clif->pGMHide), HP_POP2(HP_clif_pGMHide), 1514 }, -{ HP_POP(clif->pGMReqNoChat), HP_POP2(HP_clif_pGMReqNoChat), 1516 }, -{ HP_POP(clif->pGMRc), HP_POP2(HP_clif_pGMRc), 1518 }, -{ HP_POP(clif->pGMReqAccountName), HP_POP2(HP_clif_pGMReqAccountName), 1520 }, -{ HP_POP(clif->pGMChangeMapType), HP_POP2(HP_clif_pGMChangeMapType), 1522 }, -{ HP_POP(clif->pPMIgnore), HP_POP2(HP_clif_pPMIgnore), 1524 }, -{ HP_POP(clif->pPMIgnoreAll), HP_POP2(HP_clif_pPMIgnoreAll), 1526 }, -{ HP_POP(clif->pPMIgnoreList), HP_POP2(HP_clif_pPMIgnoreList), 1528 }, -{ HP_POP(clif->pNoviceDoriDori), HP_POP2(HP_clif_pNoviceDoriDori), 1530 }, -{ HP_POP(clif->pNoviceExplosionSpirits), HP_POP2(HP_clif_pNoviceExplosionSpirits), 1532 }, -{ HP_POP(clif->pFriendsListAdd), HP_POP2(HP_clif_pFriendsListAdd), 1534 }, -{ HP_POP(clif->pFriendsListReply), HP_POP2(HP_clif_pFriendsListReply), 1536 }, -{ HP_POP(clif->pFriendsListRemove), HP_POP2(HP_clif_pFriendsListRemove), 1538 }, -{ HP_POP(clif->pPVPInfo), HP_POP2(HP_clif_pPVPInfo), 1540 }, -{ HP_POP(clif->pBlacksmith), HP_POP2(HP_clif_pBlacksmith), 1542 }, -{ HP_POP(clif->pAlchemist), HP_POP2(HP_clif_pAlchemist), 1544 }, -{ HP_POP(clif->pTaekwon), HP_POP2(HP_clif_pTaekwon), 1546 }, -{ HP_POP(clif->pRankingPk), HP_POP2(HP_clif_pRankingPk), 1548 }, -{ HP_POP(clif->pFeelSaveOk), HP_POP2(HP_clif_pFeelSaveOk), 1550 }, -{ HP_POP(clif->pChangeHomunculusName), HP_POP2(HP_clif_pChangeHomunculusName), 1552 }, -{ HP_POP(clif->pHomMoveToMaster), HP_POP2(HP_clif_pHomMoveToMaster), 1554 }, -{ HP_POP(clif->pHomMoveTo), HP_POP2(HP_clif_pHomMoveTo), 1556 }, -{ HP_POP(clif->pHomAttack), HP_POP2(HP_clif_pHomAttack), 1558 }, -{ HP_POP(clif->pHomMenu), HP_POP2(HP_clif_pHomMenu), 1560 }, -{ HP_POP(clif->pAutoRevive), HP_POP2(HP_clif_pAutoRevive), 1562 }, -{ HP_POP(clif->pCheck), HP_POP2(HP_clif_pCheck), 1564 }, -{ HP_POP(clif->pMail_refreshinbox), HP_POP2(HP_clif_pMail_refreshinbox), 1566 }, -{ HP_POP(clif->pMail_read), HP_POP2(HP_clif_pMail_read), 1568 }, -{ HP_POP(clif->pMail_getattach), HP_POP2(HP_clif_pMail_getattach), 1570 }, -{ HP_POP(clif->pMail_delete), HP_POP2(HP_clif_pMail_delete), 1572 }, -{ HP_POP(clif->pMail_return), HP_POP2(HP_clif_pMail_return), 1574 }, -{ HP_POP(clif->pMail_setattach), HP_POP2(HP_clif_pMail_setattach), 1576 }, -{ HP_POP(clif->pMail_winopen), HP_POP2(HP_clif_pMail_winopen), 1578 }, -{ HP_POP(clif->pMail_send), HP_POP2(HP_clif_pMail_send), 1580 }, -{ HP_POP(clif->pAuction_cancelreg), HP_POP2(HP_clif_pAuction_cancelreg), 1582 }, -{ HP_POP(clif->pAuction_setitem), HP_POP2(HP_clif_pAuction_setitem), 1584 }, -{ HP_POP(clif->pAuction_register), HP_POP2(HP_clif_pAuction_register), 1586 }, -{ HP_POP(clif->pAuction_cancel), HP_POP2(HP_clif_pAuction_cancel), 1588 }, -{ HP_POP(clif->pAuction_close), HP_POP2(HP_clif_pAuction_close), 1590 }, -{ HP_POP(clif->pAuction_bid), HP_POP2(HP_clif_pAuction_bid), 1592 }, -{ HP_POP(clif->pAuction_search), HP_POP2(HP_clif_pAuction_search), 1594 }, -{ HP_POP(clif->pAuction_buysell), HP_POP2(HP_clif_pAuction_buysell), 1596 }, -{ HP_POP(clif->pcashshop_buy), HP_POP2(HP_clif_pcashshop_buy), 1598 }, -{ HP_POP(clif->pAdopt_request), HP_POP2(HP_clif_pAdopt_request), 1600 }, -{ HP_POP(clif->pAdopt_reply), HP_POP2(HP_clif_pAdopt_reply), 1602 }, -{ HP_POP(clif->pViewPlayerEquip), HP_POP2(HP_clif_pViewPlayerEquip), 1604 }, -{ HP_POP(clif->pEquipTick), HP_POP2(HP_clif_pEquipTick), 1606 }, -{ HP_POP(clif->pquestStateAck), HP_POP2(HP_clif_pquestStateAck), 1608 }, -{ HP_POP(clif->pmercenary_action), HP_POP2(HP_clif_pmercenary_action), 1610 }, -{ HP_POP(clif->pBattleChat), HP_POP2(HP_clif_pBattleChat), 1612 }, -{ HP_POP(clif->pLessEffect), HP_POP2(HP_clif_pLessEffect), 1614 }, -{ HP_POP(clif->pItemListWindowSelected), HP_POP2(HP_clif_pItemListWindowSelected), 1616 }, -{ HP_POP(clif->pReqOpenBuyingStore), HP_POP2(HP_clif_pReqOpenBuyingStore), 1618 }, -{ HP_POP(clif->pReqCloseBuyingStore), HP_POP2(HP_clif_pReqCloseBuyingStore), 1620 }, -{ HP_POP(clif->pReqClickBuyingStore), HP_POP2(HP_clif_pReqClickBuyingStore), 1622 }, -{ HP_POP(clif->pReqTradeBuyingStore), HP_POP2(HP_clif_pReqTradeBuyingStore), 1624 }, -{ HP_POP(clif->pSearchStoreInfo), HP_POP2(HP_clif_pSearchStoreInfo), 1626 }, -{ HP_POP(clif->pSearchStoreInfoNextPage), HP_POP2(HP_clif_pSearchStoreInfoNextPage), 1628 }, -{ HP_POP(clif->pCloseSearchStoreInfo), HP_POP2(HP_clif_pCloseSearchStoreInfo), 1630 }, -{ HP_POP(clif->pSearchStoreInfoListItemClick), HP_POP2(HP_clif_pSearchStoreInfoListItemClick), 1632 }, -{ HP_POP(clif->pDebug), HP_POP2(HP_clif_pDebug), 1634 }, -{ HP_POP(clif->pSkillSelectMenu), HP_POP2(HP_clif_pSkillSelectMenu), 1636 }, -{ HP_POP(clif->pMoveItem), HP_POP2(HP_clif_pMoveItem), 1638 }, -{ HP_POP(clif->pDull), HP_POP2(HP_clif_pDull), 1640 }, -{ HP_POP(clif->pBGQueueRegister), HP_POP2(HP_clif_pBGQueueRegister), 1642 }, -{ HP_POP(clif->pBGQueueCheckState), HP_POP2(HP_clif_pBGQueueCheckState), 1644 }, -{ HP_POP(clif->pBGQueueRevokeReq), HP_POP2(HP_clif_pBGQueueRevokeReq), 1646 }, -{ HP_POP(clif->pBGQueueBattleBeginAck), HP_POP2(HP_clif_pBGQueueBattleBeginAck), 1648 }, -{ HP_POP(clif->pCashShopOpen), HP_POP2(HP_clif_pCashShopOpen), 1650 }, -{ HP_POP(clif->pCashShopClose), HP_POP2(HP_clif_pCashShopClose), 1652 }, -{ HP_POP(clif->pCashShopReqTab), HP_POP2(HP_clif_pCashShopReqTab), 1654 }, -{ HP_POP(clif->pCashShopSchedule), HP_POP2(HP_clif_pCashShopSchedule), 1656 }, -{ HP_POP(clif->pCashShopBuy), HP_POP2(HP_clif_pCashShopBuy), 1658 }, -{ HP_POP(clif->pPartyTick), HP_POP2(HP_clif_pPartyTick), 1660 }, -{ HP_POP(clif->pGuildInvite2), HP_POP2(HP_clif_pGuildInvite2), 1662 }, -{ HP_POP(clif->pPartyBookingAddFilter), HP_POP2(HP_clif_pPartyBookingAddFilter), 1664 }, -{ HP_POP(clif->pPartyBookingSubFilter), HP_POP2(HP_clif_pPartyBookingSubFilter), 1666 }, -{ HP_POP(clif->pPartyBookingReqVolunteer), HP_POP2(HP_clif_pPartyBookingReqVolunteer), 1668 }, -{ HP_POP(clif->pPartyBookingRefuseVolunteer), HP_POP2(HP_clif_pPartyBookingRefuseVolunteer), 1670 }, -{ HP_POP(clif->pPartyBookingCancelVolunteer), HP_POP2(HP_clif_pPartyBookingCancelVolunteer), 1672 }, +{ HP_POP(clif->PartyRecruitRegisterAck), HP_POP2(HP_clif_PartyRecruitRegisterAck), 1156 }, +{ HP_POP(clif->PartyRecruitDeleteAck), HP_POP2(HP_clif_PartyRecruitDeleteAck), 1158 }, +{ HP_POP(clif->PartyRecruitSearchAck), HP_POP2(HP_clif_PartyRecruitSearchAck), 1160 }, +{ HP_POP(clif->PartyRecruitUpdateNotify), HP_POP2(HP_clif_PartyRecruitUpdateNotify), 1162 }, +{ HP_POP(clif->PartyRecruitDeleteNotify), HP_POP2(HP_clif_PartyRecruitDeleteNotify), 1164 }, +{ HP_POP(clif->PartyRecruitInsertNotify), HP_POP2(HP_clif_PartyRecruitInsertNotify), 1166 }, +{ HP_POP(clif->PartyBookingVolunteerInfo), HP_POP2(HP_clif_PartyBookingVolunteerInfo), 1168 }, +{ HP_POP(clif->PartyBookingRefuseVolunteer), HP_POP2(HP_clif_PartyBookingRefuseVolunteer), 1170 }, +{ HP_POP(clif->PartyBookingCancelVolunteer), HP_POP2(HP_clif_PartyBookingCancelVolunteer), 1172 }, +{ HP_POP(clif->PartyBookingAddFilteringList), HP_POP2(HP_clif_PartyBookingAddFilteringList), 1174 }, +{ HP_POP(clif->PartyBookingSubFilteringList), HP_POP2(HP_clif_PartyBookingSubFilteringList), 1176 }, +{ HP_POP(clif->buyingstore_open), HP_POP2(HP_clif_buyingstore_open), 1178 }, +{ HP_POP(clif->buyingstore_open_failed), HP_POP2(HP_clif_buyingstore_open_failed), 1180 }, +{ HP_POP(clif->buyingstore_myitemlist), HP_POP2(HP_clif_buyingstore_myitemlist), 1182 }, +{ HP_POP(clif->buyingstore_entry), HP_POP2(HP_clif_buyingstore_entry), 1184 }, +{ HP_POP(clif->buyingstore_entry_single), HP_POP2(HP_clif_buyingstore_entry_single), 1186 }, +{ HP_POP(clif->buyingstore_disappear_entry), HP_POP2(HP_clif_buyingstore_disappear_entry), 1188 }, +{ HP_POP(clif->buyingstore_disappear_entry_single), HP_POP2(HP_clif_buyingstore_disappear_entry_single), 1190 }, +{ HP_POP(clif->buyingstore_itemlist), HP_POP2(HP_clif_buyingstore_itemlist), 1192 }, +{ HP_POP(clif->buyingstore_trade_failed_buyer), HP_POP2(HP_clif_buyingstore_trade_failed_buyer), 1194 }, +{ HP_POP(clif->buyingstore_update_item), HP_POP2(HP_clif_buyingstore_update_item), 1196 }, +{ HP_POP(clif->buyingstore_delete_item), HP_POP2(HP_clif_buyingstore_delete_item), 1198 }, +{ HP_POP(clif->buyingstore_trade_failed_seller), HP_POP2(HP_clif_buyingstore_trade_failed_seller), 1200 }, +{ HP_POP(clif->search_store_info_ack), HP_POP2(HP_clif_search_store_info_ack), 1202 }, +{ HP_POP(clif->search_store_info_failed), HP_POP2(HP_clif_search_store_info_failed), 1204 }, +{ HP_POP(clif->open_search_store_info), HP_POP2(HP_clif_open_search_store_info), 1206 }, +{ HP_POP(clif->search_store_info_click_ack), HP_POP2(HP_clif_search_store_info_click_ack), 1208 }, +{ HP_POP(clif->elemental_info), HP_POP2(HP_clif_elemental_info), 1210 }, +{ HP_POP(clif->elemental_updatestatus), HP_POP2(HP_clif_elemental_updatestatus), 1212 }, +{ HP_POP(clif->bgqueue_ack), HP_POP2(HP_clif_bgqueue_ack), 1214 }, +{ HP_POP(clif->bgqueue_notice_delete), HP_POP2(HP_clif_bgqueue_notice_delete), 1216 }, +{ HP_POP(clif->bgqueue_update_info), HP_POP2(HP_clif_bgqueue_update_info), 1218 }, +{ HP_POP(clif->bgqueue_joined), HP_POP2(HP_clif_bgqueue_joined), 1220 }, +{ HP_POP(clif->bgqueue_pcleft), HP_POP2(HP_clif_bgqueue_pcleft), 1222 }, +{ HP_POP(clif->bgqueue_battlebegins), HP_POP2(HP_clif_bgqueue_battlebegins), 1224 }, +{ HP_POP(clif->adopt_reply), HP_POP2(HP_clif_adopt_reply), 1226 }, +{ HP_POP(clif->adopt_request), HP_POP2(HP_clif_adopt_request), 1228 }, +{ HP_POP(clif->readbook), HP_POP2(HP_clif_readbook), 1230 }, +{ HP_POP(clif->notify_time), HP_POP2(HP_clif_notify_time), 1232 }, +{ HP_POP(clif->user_count), HP_POP2(HP_clif_user_count), 1234 }, +{ HP_POP(clif->noask_sub), HP_POP2(HP_clif_noask_sub), 1236 }, +{ HP_POP(clif->bc_ready), HP_POP2(HP_clif_bc_ready), 1238 }, +{ HP_POP(clif->undisguise_timer), HP_POP2(HP_clif_undisguise_timer), 1240 }, +{ HP_POP(clif->chsys_create), HP_POP2(HP_clif_chsys_create), 1242 }, +{ HP_POP(clif->chsys_msg), HP_POP2(HP_clif_chsys_msg), 1244 }, +{ HP_POP(clif->chsys_msg2), HP_POP2(HP_clif_chsys_msg2), 1246 }, +{ HP_POP(clif->chsys_send), HP_POP2(HP_clif_chsys_send), 1248 }, +{ HP_POP(clif->chsys_join), HP_POP2(HP_clif_chsys_join), 1250 }, +{ HP_POP(clif->chsys_left), HP_POP2(HP_clif_chsys_left), 1252 }, +{ HP_POP(clif->chsys_delete), HP_POP2(HP_clif_chsys_delete), 1254 }, +{ HP_POP(clif->chsys_mjoin), HP_POP2(HP_clif_chsys_mjoin), 1256 }, +{ HP_POP(clif->chsys_quit), HP_POP2(HP_clif_chsys_quit), 1258 }, +{ HP_POP(clif->chsys_quitg), HP_POP2(HP_clif_chsys_quitg), 1260 }, +{ HP_POP(clif->chsys_gjoin), HP_POP2(HP_clif_chsys_gjoin), 1262 }, +{ HP_POP(clif->chsys_gleave), HP_POP2(HP_clif_chsys_gleave), 1264 }, +{ HP_POP(clif->pWantToConnection), HP_POP2(HP_clif_pWantToConnection), 1266 }, +{ HP_POP(clif->pLoadEndAck), HP_POP2(HP_clif_pLoadEndAck), 1268 }, +{ HP_POP(clif->pTickSend), HP_POP2(HP_clif_pTickSend), 1270 }, +{ HP_POP(clif->pHotkey), HP_POP2(HP_clif_pHotkey), 1272 }, +{ HP_POP(clif->pProgressbar), HP_POP2(HP_clif_pProgressbar), 1274 }, +{ HP_POP(clif->pWalkToXY), HP_POP2(HP_clif_pWalkToXY), 1276 }, +{ HP_POP(clif->pQuitGame), HP_POP2(HP_clif_pQuitGame), 1278 }, +{ HP_POP(clif->pGetCharNameRequest), HP_POP2(HP_clif_pGetCharNameRequest), 1280 }, +{ HP_POP(clif->pGlobalMessage), HP_POP2(HP_clif_pGlobalMessage), 1282 }, +{ HP_POP(clif->pMapMove), HP_POP2(HP_clif_pMapMove), 1284 }, +{ HP_POP(clif->pChangeDir), HP_POP2(HP_clif_pChangeDir), 1286 }, +{ HP_POP(clif->pEmotion), HP_POP2(HP_clif_pEmotion), 1288 }, +{ HP_POP(clif->pHowManyConnections), HP_POP2(HP_clif_pHowManyConnections), 1290 }, +{ HP_POP(clif->pActionRequest), HP_POP2(HP_clif_pActionRequest), 1292 }, +{ HP_POP(clif->pActionRequest_sub), HP_POP2(HP_clif_pActionRequest_sub), 1294 }, +{ HP_POP(clif->pRestart), HP_POP2(HP_clif_pRestart), 1296 }, +{ HP_POP(clif->pWisMessage), HP_POP2(HP_clif_pWisMessage), 1298 }, +{ HP_POP(clif->pBroadcast), HP_POP2(HP_clif_pBroadcast), 1300 }, +{ HP_POP(clif->pTakeItem), HP_POP2(HP_clif_pTakeItem), 1302 }, +{ HP_POP(clif->pDropItem), HP_POP2(HP_clif_pDropItem), 1304 }, +{ HP_POP(clif->pUseItem), HP_POP2(HP_clif_pUseItem), 1306 }, +{ HP_POP(clif->pEquipItem), HP_POP2(HP_clif_pEquipItem), 1308 }, +{ HP_POP(clif->pUnequipItem), HP_POP2(HP_clif_pUnequipItem), 1310 }, +{ HP_POP(clif->pNpcClicked), HP_POP2(HP_clif_pNpcClicked), 1312 }, +{ HP_POP(clif->pNpcBuySellSelected), HP_POP2(HP_clif_pNpcBuySellSelected), 1314 }, +{ HP_POP(clif->pNpcBuyListSend), HP_POP2(HP_clif_pNpcBuyListSend), 1316 }, +{ HP_POP(clif->pNpcSellListSend), HP_POP2(HP_clif_pNpcSellListSend), 1318 }, +{ HP_POP(clif->pCreateChatRoom), HP_POP2(HP_clif_pCreateChatRoom), 1320 }, +{ HP_POP(clif->pChatAddMember), HP_POP2(HP_clif_pChatAddMember), 1322 }, +{ HP_POP(clif->pChatRoomStatusChange), HP_POP2(HP_clif_pChatRoomStatusChange), 1324 }, +{ HP_POP(clif->pChangeChatOwner), HP_POP2(HP_clif_pChangeChatOwner), 1326 }, +{ HP_POP(clif->pKickFromChat), HP_POP2(HP_clif_pKickFromChat), 1328 }, +{ HP_POP(clif->pChatLeave), HP_POP2(HP_clif_pChatLeave), 1330 }, +{ HP_POP(clif->pTradeRequest), HP_POP2(HP_clif_pTradeRequest), 1332 }, +{ HP_POP(clif->chann_config_read), HP_POP2(HP_clif_chann_config_read), 1334 }, +{ HP_POP(clif->pTradeAck), HP_POP2(HP_clif_pTradeAck), 1336 }, +{ HP_POP(clif->pTradeAddItem), HP_POP2(HP_clif_pTradeAddItem), 1338 }, +{ HP_POP(clif->pTradeOk), HP_POP2(HP_clif_pTradeOk), 1340 }, +{ HP_POP(clif->pTradeCancel), HP_POP2(HP_clif_pTradeCancel), 1342 }, +{ HP_POP(clif->pTradeCommit), HP_POP2(HP_clif_pTradeCommit), 1344 }, +{ HP_POP(clif->pStopAttack), HP_POP2(HP_clif_pStopAttack), 1346 }, +{ HP_POP(clif->pPutItemToCart), HP_POP2(HP_clif_pPutItemToCart), 1348 }, +{ HP_POP(clif->pGetItemFromCart), HP_POP2(HP_clif_pGetItemFromCart), 1350 }, +{ HP_POP(clif->pRemoveOption), HP_POP2(HP_clif_pRemoveOption), 1352 }, +{ HP_POP(clif->pChangeCart), HP_POP2(HP_clif_pChangeCart), 1354 }, +{ HP_POP(clif->pStatusUp), HP_POP2(HP_clif_pStatusUp), 1356 }, +{ HP_POP(clif->pSkillUp), HP_POP2(HP_clif_pSkillUp), 1358 }, +{ HP_POP(clif->pUseSkillToId), HP_POP2(HP_clif_pUseSkillToId), 1360 }, +{ HP_POP(clif->pUseSkillToId_homun), HP_POP2(HP_clif_pUseSkillToId_homun), 1362 }, +{ HP_POP(clif->pUseSkillToId_mercenary), HP_POP2(HP_clif_pUseSkillToId_mercenary), 1364 }, +{ HP_POP(clif->pUseSkillToPos), HP_POP2(HP_clif_pUseSkillToPos), 1366 }, +{ HP_POP(clif->pUseSkillToPosSub), HP_POP2(HP_clif_pUseSkillToPosSub), 1368 }, +{ HP_POP(clif->pUseSkillToPos_homun), HP_POP2(HP_clif_pUseSkillToPos_homun), 1370 }, +{ HP_POP(clif->pUseSkillToPos_mercenary), HP_POP2(HP_clif_pUseSkillToPos_mercenary), 1372 }, +{ HP_POP(clif->pUseSkillToPosMoreInfo), HP_POP2(HP_clif_pUseSkillToPosMoreInfo), 1374 }, +{ HP_POP(clif->pUseSkillMap), HP_POP2(HP_clif_pUseSkillMap), 1376 }, +{ HP_POP(clif->pRequestMemo), HP_POP2(HP_clif_pRequestMemo), 1378 }, +{ HP_POP(clif->pProduceMix), HP_POP2(HP_clif_pProduceMix), 1380 }, +{ HP_POP(clif->pCooking), HP_POP2(HP_clif_pCooking), 1382 }, +{ HP_POP(clif->pRepairItem), HP_POP2(HP_clif_pRepairItem), 1384 }, +{ HP_POP(clif->pWeaponRefine), HP_POP2(HP_clif_pWeaponRefine), 1386 }, +{ HP_POP(clif->pNpcSelectMenu), HP_POP2(HP_clif_pNpcSelectMenu), 1388 }, +{ HP_POP(clif->pNpcNextClicked), HP_POP2(HP_clif_pNpcNextClicked), 1390 }, +{ HP_POP(clif->pNpcAmountInput), HP_POP2(HP_clif_pNpcAmountInput), 1392 }, +{ HP_POP(clif->pNpcStringInput), HP_POP2(HP_clif_pNpcStringInput), 1394 }, +{ HP_POP(clif->pNpcCloseClicked), HP_POP2(HP_clif_pNpcCloseClicked), 1396 }, +{ HP_POP(clif->pItemIdentify), HP_POP2(HP_clif_pItemIdentify), 1398 }, +{ HP_POP(clif->pSelectArrow), HP_POP2(HP_clif_pSelectArrow), 1400 }, +{ HP_POP(clif->pAutoSpell), HP_POP2(HP_clif_pAutoSpell), 1402 }, +{ HP_POP(clif->pUseCard), HP_POP2(HP_clif_pUseCard), 1404 }, +{ HP_POP(clif->pInsertCard), HP_POP2(HP_clif_pInsertCard), 1406 }, +{ HP_POP(clif->pSolveCharName), HP_POP2(HP_clif_pSolveCharName), 1408 }, +{ HP_POP(clif->pResetChar), HP_POP2(HP_clif_pResetChar), 1410 }, +{ HP_POP(clif->pLocalBroadcast), HP_POP2(HP_clif_pLocalBroadcast), 1412 }, +{ HP_POP(clif->pMoveToKafra), HP_POP2(HP_clif_pMoveToKafra), 1414 }, +{ HP_POP(clif->pMoveFromKafra), HP_POP2(HP_clif_pMoveFromKafra), 1416 }, +{ HP_POP(clif->pMoveToKafraFromCart), HP_POP2(HP_clif_pMoveToKafraFromCart), 1418 }, +{ HP_POP(clif->pMoveFromKafraToCart), HP_POP2(HP_clif_pMoveFromKafraToCart), 1420 }, +{ HP_POP(clif->pCloseKafra), HP_POP2(HP_clif_pCloseKafra), 1422 }, +{ HP_POP(clif->pStoragePassword), HP_POP2(HP_clif_pStoragePassword), 1424 }, +{ HP_POP(clif->pCreateParty), HP_POP2(HP_clif_pCreateParty), 1426 }, +{ HP_POP(clif->pCreateParty2), HP_POP2(HP_clif_pCreateParty2), 1428 }, +{ HP_POP(clif->pPartyInvite), HP_POP2(HP_clif_pPartyInvite), 1430 }, +{ HP_POP(clif->pPartyInvite2), HP_POP2(HP_clif_pPartyInvite2), 1432 }, +{ HP_POP(clif->pReplyPartyInvite), HP_POP2(HP_clif_pReplyPartyInvite), 1434 }, +{ HP_POP(clif->pReplyPartyInvite2), HP_POP2(HP_clif_pReplyPartyInvite2), 1436 }, +{ HP_POP(clif->pLeaveParty), HP_POP2(HP_clif_pLeaveParty), 1438 }, +{ HP_POP(clif->pRemovePartyMember), HP_POP2(HP_clif_pRemovePartyMember), 1440 }, +{ HP_POP(clif->pPartyChangeOption), HP_POP2(HP_clif_pPartyChangeOption), 1442 }, +{ HP_POP(clif->pPartyMessage), HP_POP2(HP_clif_pPartyMessage), 1444 }, +{ HP_POP(clif->pPartyChangeLeader), HP_POP2(HP_clif_pPartyChangeLeader), 1446 }, +{ HP_POP(clif->pPartyBookingRegisterReq), HP_POP2(HP_clif_pPartyBookingRegisterReq), 1448 }, +{ HP_POP(clif->pPartyBookingSearchReq), HP_POP2(HP_clif_pPartyBookingSearchReq), 1450 }, +{ HP_POP(clif->pPartyBookingDeleteReq), HP_POP2(HP_clif_pPartyBookingDeleteReq), 1452 }, +{ HP_POP(clif->pPartyBookingUpdateReq), HP_POP2(HP_clif_pPartyBookingUpdateReq), 1454 }, +{ HP_POP(clif->pPartyRecruitRegisterReq), HP_POP2(HP_clif_pPartyRecruitRegisterReq), 1456 }, +{ HP_POP(clif->pPartyRecruitSearchReq), HP_POP2(HP_clif_pPartyRecruitSearchReq), 1458 }, +{ HP_POP(clif->pPartyRecruitDeleteReq), HP_POP2(HP_clif_pPartyRecruitDeleteReq), 1460 }, +{ HP_POP(clif->pPartyRecruitUpdateReq), HP_POP2(HP_clif_pPartyRecruitUpdateReq), 1462 }, +{ HP_POP(clif->pCloseVending), HP_POP2(HP_clif_pCloseVending), 1464 }, +{ HP_POP(clif->pVendingListReq), HP_POP2(HP_clif_pVendingListReq), 1466 }, +{ HP_POP(clif->pPurchaseReq), HP_POP2(HP_clif_pPurchaseReq), 1468 }, +{ HP_POP(clif->pPurchaseReq2), HP_POP2(HP_clif_pPurchaseReq2), 1470 }, +{ HP_POP(clif->pOpenVending), HP_POP2(HP_clif_pOpenVending), 1472 }, +{ HP_POP(clif->pCreateGuild), HP_POP2(HP_clif_pCreateGuild), 1474 }, +{ HP_POP(clif->pGuildCheckMaster), HP_POP2(HP_clif_pGuildCheckMaster), 1476 }, +{ HP_POP(clif->pGuildRequestInfo), HP_POP2(HP_clif_pGuildRequestInfo), 1478 }, +{ HP_POP(clif->pGuildChangePositionInfo), HP_POP2(HP_clif_pGuildChangePositionInfo), 1480 }, +{ HP_POP(clif->pGuildChangeMemberPosition), HP_POP2(HP_clif_pGuildChangeMemberPosition), 1482 }, +{ HP_POP(clif->pGuildRequestEmblem), HP_POP2(HP_clif_pGuildRequestEmblem), 1484 }, +{ HP_POP(clif->pGuildChangeEmblem), HP_POP2(HP_clif_pGuildChangeEmblem), 1486 }, +{ HP_POP(clif->pGuildChangeNotice), HP_POP2(HP_clif_pGuildChangeNotice), 1488 }, +{ HP_POP(clif->pGuildInvite), HP_POP2(HP_clif_pGuildInvite), 1490 }, +{ HP_POP(clif->pGuildReplyInvite), HP_POP2(HP_clif_pGuildReplyInvite), 1492 }, +{ HP_POP(clif->pGuildLeave), HP_POP2(HP_clif_pGuildLeave), 1494 }, +{ HP_POP(clif->pGuildExpulsion), HP_POP2(HP_clif_pGuildExpulsion), 1496 }, +{ HP_POP(clif->pGuildMessage), HP_POP2(HP_clif_pGuildMessage), 1498 }, +{ HP_POP(clif->pGuildRequestAlliance), HP_POP2(HP_clif_pGuildRequestAlliance), 1500 }, +{ HP_POP(clif->pGuildReplyAlliance), HP_POP2(HP_clif_pGuildReplyAlliance), 1502 }, +{ HP_POP(clif->pGuildDelAlliance), HP_POP2(HP_clif_pGuildDelAlliance), 1504 }, +{ HP_POP(clif->pGuildOpposition), HP_POP2(HP_clif_pGuildOpposition), 1506 }, +{ HP_POP(clif->pGuildBreak), HP_POP2(HP_clif_pGuildBreak), 1508 }, +{ HP_POP(clif->pPetMenu), HP_POP2(HP_clif_pPetMenu), 1510 }, +{ HP_POP(clif->pCatchPet), HP_POP2(HP_clif_pCatchPet), 1512 }, +{ HP_POP(clif->pSelectEgg), HP_POP2(HP_clif_pSelectEgg), 1514 }, +{ HP_POP(clif->pSendEmotion), HP_POP2(HP_clif_pSendEmotion), 1516 }, +{ HP_POP(clif->pChangePetName), HP_POP2(HP_clif_pChangePetName), 1518 }, +{ HP_POP(clif->pGMKick), HP_POP2(HP_clif_pGMKick), 1520 }, +{ HP_POP(clif->pGMKickAll), HP_POP2(HP_clif_pGMKickAll), 1522 }, +{ HP_POP(clif->pGMShift), HP_POP2(HP_clif_pGMShift), 1524 }, +{ HP_POP(clif->pGMRemove2), HP_POP2(HP_clif_pGMRemove2), 1526 }, +{ HP_POP(clif->pGMRecall), HP_POP2(HP_clif_pGMRecall), 1528 }, +{ HP_POP(clif->pGMRecall2), HP_POP2(HP_clif_pGMRecall2), 1530 }, +{ HP_POP(clif->pGM_Monster_Item), HP_POP2(HP_clif_pGM_Monster_Item), 1532 }, +{ HP_POP(clif->pGMHide), HP_POP2(HP_clif_pGMHide), 1534 }, +{ HP_POP(clif->pGMReqNoChat), HP_POP2(HP_clif_pGMReqNoChat), 1536 }, +{ HP_POP(clif->pGMRc), HP_POP2(HP_clif_pGMRc), 1538 }, +{ HP_POP(clif->pGMReqAccountName), HP_POP2(HP_clif_pGMReqAccountName), 1540 }, +{ HP_POP(clif->pGMChangeMapType), HP_POP2(HP_clif_pGMChangeMapType), 1542 }, +{ HP_POP(clif->pPMIgnore), HP_POP2(HP_clif_pPMIgnore), 1544 }, +{ HP_POP(clif->pPMIgnoreAll), HP_POP2(HP_clif_pPMIgnoreAll), 1546 }, +{ HP_POP(clif->pPMIgnoreList), HP_POP2(HP_clif_pPMIgnoreList), 1548 }, +{ HP_POP(clif->pNoviceDoriDori), HP_POP2(HP_clif_pNoviceDoriDori), 1550 }, +{ HP_POP(clif->pNoviceExplosionSpirits), HP_POP2(HP_clif_pNoviceExplosionSpirits), 1552 }, +{ HP_POP(clif->pFriendsListAdd), HP_POP2(HP_clif_pFriendsListAdd), 1554 }, +{ HP_POP(clif->pFriendsListReply), HP_POP2(HP_clif_pFriendsListReply), 1556 }, +{ HP_POP(clif->pFriendsListRemove), HP_POP2(HP_clif_pFriendsListRemove), 1558 }, +{ HP_POP(clif->pPVPInfo), HP_POP2(HP_clif_pPVPInfo), 1560 }, +{ HP_POP(clif->pBlacksmith), HP_POP2(HP_clif_pBlacksmith), 1562 }, +{ HP_POP(clif->pAlchemist), HP_POP2(HP_clif_pAlchemist), 1564 }, +{ HP_POP(clif->pTaekwon), HP_POP2(HP_clif_pTaekwon), 1566 }, +{ HP_POP(clif->pRankingPk), HP_POP2(HP_clif_pRankingPk), 1568 }, +{ HP_POP(clif->pFeelSaveOk), HP_POP2(HP_clif_pFeelSaveOk), 1570 }, +{ HP_POP(clif->pChangeHomunculusName), HP_POP2(HP_clif_pChangeHomunculusName), 1572 }, +{ HP_POP(clif->pHomMoveToMaster), HP_POP2(HP_clif_pHomMoveToMaster), 1574 }, +{ HP_POP(clif->pHomMoveTo), HP_POP2(HP_clif_pHomMoveTo), 1576 }, +{ HP_POP(clif->pHomAttack), HP_POP2(HP_clif_pHomAttack), 1578 }, +{ HP_POP(clif->pHomMenu), HP_POP2(HP_clif_pHomMenu), 1580 }, +{ HP_POP(clif->pAutoRevive), HP_POP2(HP_clif_pAutoRevive), 1582 }, +{ HP_POP(clif->pCheck), HP_POP2(HP_clif_pCheck), 1584 }, +{ HP_POP(clif->pMail_refreshinbox), HP_POP2(HP_clif_pMail_refreshinbox), 1586 }, +{ HP_POP(clif->pMail_read), HP_POP2(HP_clif_pMail_read), 1588 }, +{ HP_POP(clif->pMail_getattach), HP_POP2(HP_clif_pMail_getattach), 1590 }, +{ HP_POP(clif->pMail_delete), HP_POP2(HP_clif_pMail_delete), 1592 }, +{ HP_POP(clif->pMail_return), HP_POP2(HP_clif_pMail_return), 1594 }, +{ HP_POP(clif->pMail_setattach), HP_POP2(HP_clif_pMail_setattach), 1596 }, +{ HP_POP(clif->pMail_winopen), HP_POP2(HP_clif_pMail_winopen), 1598 }, +{ HP_POP(clif->pMail_send), HP_POP2(HP_clif_pMail_send), 1600 }, +{ HP_POP(clif->pAuction_cancelreg), HP_POP2(HP_clif_pAuction_cancelreg), 1602 }, +{ HP_POP(clif->pAuction_setitem), HP_POP2(HP_clif_pAuction_setitem), 1604 }, +{ HP_POP(clif->pAuction_register), HP_POP2(HP_clif_pAuction_register), 1606 }, +{ HP_POP(clif->pAuction_cancel), HP_POP2(HP_clif_pAuction_cancel), 1608 }, +{ HP_POP(clif->pAuction_close), HP_POP2(HP_clif_pAuction_close), 1610 }, +{ HP_POP(clif->pAuction_bid), HP_POP2(HP_clif_pAuction_bid), 1612 }, +{ HP_POP(clif->pAuction_search), HP_POP2(HP_clif_pAuction_search), 1614 }, +{ HP_POP(clif->pAuction_buysell), HP_POP2(HP_clif_pAuction_buysell), 1616 }, +{ HP_POP(clif->pcashshop_buy), HP_POP2(HP_clif_pcashshop_buy), 1618 }, +{ HP_POP(clif->pAdopt_request), HP_POP2(HP_clif_pAdopt_request), 1620 }, +{ HP_POP(clif->pAdopt_reply), HP_POP2(HP_clif_pAdopt_reply), 1622 }, +{ HP_POP(clif->pViewPlayerEquip), HP_POP2(HP_clif_pViewPlayerEquip), 1624 }, +{ HP_POP(clif->pEquipTick), HP_POP2(HP_clif_pEquipTick), 1626 }, +{ HP_POP(clif->pquestStateAck), HP_POP2(HP_clif_pquestStateAck), 1628 }, +{ HP_POP(clif->pmercenary_action), HP_POP2(HP_clif_pmercenary_action), 1630 }, +{ HP_POP(clif->pBattleChat), HP_POP2(HP_clif_pBattleChat), 1632 }, +{ HP_POP(clif->pLessEffect), HP_POP2(HP_clif_pLessEffect), 1634 }, +{ HP_POP(clif->pItemListWindowSelected), HP_POP2(HP_clif_pItemListWindowSelected), 1636 }, +{ HP_POP(clif->pReqOpenBuyingStore), HP_POP2(HP_clif_pReqOpenBuyingStore), 1638 }, +{ HP_POP(clif->pReqCloseBuyingStore), HP_POP2(HP_clif_pReqCloseBuyingStore), 1640 }, +{ HP_POP(clif->pReqClickBuyingStore), HP_POP2(HP_clif_pReqClickBuyingStore), 1642 }, +{ HP_POP(clif->pReqTradeBuyingStore), HP_POP2(HP_clif_pReqTradeBuyingStore), 1644 }, +{ HP_POP(clif->pSearchStoreInfo), HP_POP2(HP_clif_pSearchStoreInfo), 1646 }, +{ HP_POP(clif->pSearchStoreInfoNextPage), HP_POP2(HP_clif_pSearchStoreInfoNextPage), 1648 }, +{ HP_POP(clif->pCloseSearchStoreInfo), HP_POP2(HP_clif_pCloseSearchStoreInfo), 1650 }, +{ HP_POP(clif->pSearchStoreInfoListItemClick), HP_POP2(HP_clif_pSearchStoreInfoListItemClick), 1652 }, +{ HP_POP(clif->pDebug), HP_POP2(HP_clif_pDebug), 1654 }, +{ HP_POP(clif->pSkillSelectMenu), HP_POP2(HP_clif_pSkillSelectMenu), 1656 }, +{ HP_POP(clif->pMoveItem), HP_POP2(HP_clif_pMoveItem), 1658 }, +{ HP_POP(clif->pDull), HP_POP2(HP_clif_pDull), 1660 }, +{ HP_POP(clif->pBGQueueRegister), HP_POP2(HP_clif_pBGQueueRegister), 1662 }, +{ HP_POP(clif->pBGQueueCheckState), HP_POP2(HP_clif_pBGQueueCheckState), 1664 }, +{ HP_POP(clif->pBGQueueRevokeReq), HP_POP2(HP_clif_pBGQueueRevokeReq), 1666 }, +{ HP_POP(clif->pBGQueueBattleBeginAck), HP_POP2(HP_clif_pBGQueueBattleBeginAck), 1668 }, +{ HP_POP(clif->pCashShopOpen), HP_POP2(HP_clif_pCashShopOpen), 1670 }, +{ HP_POP(clif->pCashShopClose), HP_POP2(HP_clif_pCashShopClose), 1672 }, +{ HP_POP(clif->pCashShopReqTab), HP_POP2(HP_clif_pCashShopReqTab), 1674 }, +{ HP_POP(clif->pCashShopSchedule), HP_POP2(HP_clif_pCashShopSchedule), 1676 }, +{ HP_POP(clif->pCashShopBuy), HP_POP2(HP_clif_pCashShopBuy), 1678 }, +{ HP_POP(clif->pPartyTick), HP_POP2(HP_clif_pPartyTick), 1680 }, +{ HP_POP(clif->pGuildInvite2), HP_POP2(HP_clif_pGuildInvite2), 1682 }, +{ HP_POP(clif->pPartyBookingAddFilter), HP_POP2(HP_clif_pPartyBookingAddFilter), 1684 }, +{ HP_POP(clif->pPartyBookingSubFilter), HP_POP2(HP_clif_pPartyBookingSubFilter), 1686 }, +{ HP_POP(clif->pPartyBookingReqVolunteer), HP_POP2(HP_clif_pPartyBookingReqVolunteer), 1688 }, +{ HP_POP(clif->pPartyBookingRefuseVolunteer), HP_POP2(HP_clif_pPartyBookingRefuseVolunteer), 1690 }, +{ HP_POP(clif->pPartyBookingCancelVolunteer), HP_POP2(HP_clif_pPartyBookingCancelVolunteer), 1692 }, /* duel */ -{ HP_POP(duel->create), HP_POP2(HP_duel_create), 1674 }, -{ HP_POP(duel->invite), HP_POP2(HP_duel_invite), 1676 }, -{ HP_POP(duel->accept), HP_POP2(HP_duel_accept), 1678 }, -{ HP_POP(duel->reject), HP_POP2(HP_duel_reject), 1680 }, -{ HP_POP(duel->leave), HP_POP2(HP_duel_leave), 1682 }, -{ HP_POP(duel->showinfo), HP_POP2(HP_duel_showinfo), 1684 }, -{ HP_POP(duel->checktime), HP_POP2(HP_duel_checktime), 1686 }, -{ HP_POP(duel->init), HP_POP2(HP_duel_init), 1688 }, -{ HP_POP(duel->final), HP_POP2(HP_duel_final), 1690 }, +{ HP_POP(duel->create), HP_POP2(HP_duel_create), 1694 }, +{ HP_POP(duel->invite), HP_POP2(HP_duel_invite), 1696 }, +{ HP_POP(duel->accept), HP_POP2(HP_duel_accept), 1698 }, +{ HP_POP(duel->reject), HP_POP2(HP_duel_reject), 1700 }, +{ HP_POP(duel->leave), HP_POP2(HP_duel_leave), 1702 }, +{ HP_POP(duel->showinfo), HP_POP2(HP_duel_showinfo), 1704 }, +{ HP_POP(duel->checktime), HP_POP2(HP_duel_checktime), 1706 }, +{ HP_POP(duel->init), HP_POP2(HP_duel_init), 1708 }, +{ HP_POP(duel->final), HP_POP2(HP_duel_final), 1710 }, /* elemental */ -{ HP_POP(elemental->init), HP_POP2(HP_elemental_init), 1692 }, -{ HP_POP(elemental->final), HP_POP2(HP_elemental_final), 1694 }, -{ HP_POP(elemental->class), HP_POP2(HP_elemental_class), 1696 }, -{ HP_POP(elemental->get_viewdata), HP_POP2(HP_elemental_get_viewdata), 1698 }, -{ HP_POP(elemental->create), HP_POP2(HP_elemental_create), 1700 }, -{ HP_POP(elemental->data_received), HP_POP2(HP_elemental_data_received), 1702 }, -{ HP_POP(elemental->save), HP_POP2(HP_elemental_save), 1704 }, -{ HP_POP(elemental->change_mode_ack), HP_POP2(HP_elemental_change_mode_ack), 1706 }, -{ HP_POP(elemental->change_mode), HP_POP2(HP_elemental_change_mode), 1708 }, -{ HP_POP(elemental->heal), HP_POP2(HP_elemental_heal), 1710 }, -{ HP_POP(elemental->dead), HP_POP2(HP_elemental_dead), 1712 }, -{ HP_POP(elemental->delete), HP_POP2(HP_elemental_delete), 1714 }, -{ HP_POP(elemental->summon_stop), HP_POP2(HP_elemental_summon_stop), 1716 }, -{ HP_POP(elemental->get_lifetime), HP_POP2(HP_elemental_get_lifetime), 1718 }, -{ HP_POP(elemental->unlocktarget), HP_POP2(HP_elemental_unlocktarget), 1720 }, -{ HP_POP(elemental->skillnotok), HP_POP2(HP_elemental_skillnotok), 1722 }, -{ HP_POP(elemental->set_target), HP_POP2(HP_elemental_set_target), 1724 }, -{ HP_POP(elemental->clean_single_effect), HP_POP2(HP_elemental_clean_single_effect), 1726 }, -{ HP_POP(elemental->clean_effect), HP_POP2(HP_elemental_clean_effect), 1728 }, -{ HP_POP(elemental->action), HP_POP2(HP_elemental_action), 1730 }, -{ HP_POP(elemental->skill_get_requirements), HP_POP2(HP_elemental_skill_get_requirements), 1732 }, -{ HP_POP(elemental->read_skilldb), HP_POP2(HP_elemental_read_skilldb), 1734 }, -{ HP_POP(elemental->reload_db), HP_POP2(HP_elemental_reload_db), 1736 }, -{ HP_POP(elemental->reload_skilldb), HP_POP2(HP_elemental_reload_skilldb), 1738 }, -{ HP_POP(elemental->search_index), HP_POP2(HP_elemental_search_index), 1740 }, -{ HP_POP(elemental->summon_init), HP_POP2(HP_elemental_summon_init), 1742 }, -{ HP_POP(elemental->summon_end_timer), HP_POP2(HP_elemental_summon_end_timer), 1744 }, -{ HP_POP(elemental->ai_sub_timer_activesearch), HP_POP2(HP_elemental_ai_sub_timer_activesearch), 1746 }, -{ HP_POP(elemental->ai_sub_timer), HP_POP2(HP_elemental_ai_sub_timer), 1748 }, -{ HP_POP(elemental->ai_sub_foreachclient), HP_POP2(HP_elemental_ai_sub_foreachclient), 1750 }, -{ HP_POP(elemental->ai_timer), HP_POP2(HP_elemental_ai_timer), 1752 }, -{ HP_POP(elemental->read_db), HP_POP2(HP_elemental_read_db), 1754 }, +{ HP_POP(elemental->init), HP_POP2(HP_elemental_init), 1712 }, +{ HP_POP(elemental->final), HP_POP2(HP_elemental_final), 1714 }, +{ HP_POP(elemental->class), HP_POP2(HP_elemental_class), 1716 }, +{ HP_POP(elemental->get_viewdata), HP_POP2(HP_elemental_get_viewdata), 1718 }, +{ HP_POP(elemental->create), HP_POP2(HP_elemental_create), 1720 }, +{ HP_POP(elemental->data_received), HP_POP2(HP_elemental_data_received), 1722 }, +{ HP_POP(elemental->save), HP_POP2(HP_elemental_save), 1724 }, +{ HP_POP(elemental->change_mode_ack), HP_POP2(HP_elemental_change_mode_ack), 1726 }, +{ HP_POP(elemental->change_mode), HP_POP2(HP_elemental_change_mode), 1728 }, +{ HP_POP(elemental->heal), HP_POP2(HP_elemental_heal), 1730 }, +{ HP_POP(elemental->dead), HP_POP2(HP_elemental_dead), 1732 }, +{ HP_POP(elemental->delete), HP_POP2(HP_elemental_delete), 1734 }, +{ HP_POP(elemental->summon_stop), HP_POP2(HP_elemental_summon_stop), 1736 }, +{ HP_POP(elemental->get_lifetime), HP_POP2(HP_elemental_get_lifetime), 1738 }, +{ HP_POP(elemental->unlocktarget), HP_POP2(HP_elemental_unlocktarget), 1740 }, +{ HP_POP(elemental->skillnotok), HP_POP2(HP_elemental_skillnotok), 1742 }, +{ HP_POP(elemental->set_target), HP_POP2(HP_elemental_set_target), 1744 }, +{ HP_POP(elemental->clean_single_effect), HP_POP2(HP_elemental_clean_single_effect), 1746 }, +{ HP_POP(elemental->clean_effect), HP_POP2(HP_elemental_clean_effect), 1748 }, +{ HP_POP(elemental->action), HP_POP2(HP_elemental_action), 1750 }, +{ HP_POP(elemental->skill_get_requirements), HP_POP2(HP_elemental_skill_get_requirements), 1752 }, +{ HP_POP(elemental->read_skilldb), HP_POP2(HP_elemental_read_skilldb), 1754 }, +{ HP_POP(elemental->reload_db), HP_POP2(HP_elemental_reload_db), 1756 }, +{ HP_POP(elemental->reload_skilldb), HP_POP2(HP_elemental_reload_skilldb), 1758 }, +{ HP_POP(elemental->search_index), HP_POP2(HP_elemental_search_index), 1760 }, +{ HP_POP(elemental->summon_init), HP_POP2(HP_elemental_summon_init), 1762 }, +{ HP_POP(elemental->summon_end_timer), HP_POP2(HP_elemental_summon_end_timer), 1764 }, +{ HP_POP(elemental->ai_sub_timer_activesearch), HP_POP2(HP_elemental_ai_sub_timer_activesearch), 1766 }, +{ HP_POP(elemental->ai_sub_timer), HP_POP2(HP_elemental_ai_sub_timer), 1768 }, +{ HP_POP(elemental->ai_sub_foreachclient), HP_POP2(HP_elemental_ai_sub_foreachclient), 1770 }, +{ HP_POP(elemental->ai_timer), HP_POP2(HP_elemental_ai_timer), 1772 }, +{ HP_POP(elemental->read_db), HP_POP2(HP_elemental_read_db), 1774 }, /* guild */ -{ HP_POP(guild->init), HP_POP2(HP_guild_init), 1756 }, -{ HP_POP(guild->final), HP_POP2(HP_guild_final), 1758 }, -{ HP_POP(guild->skill_get_max), HP_POP2(HP_guild_skill_get_max), 1760 }, -{ HP_POP(guild->checkskill), HP_POP2(HP_guild_checkskill), 1762 }, -{ HP_POP(guild->check_skill_require), HP_POP2(HP_guild_check_skill_require), 1764 }, -{ HP_POP(guild->checkcastles), HP_POP2(HP_guild_checkcastles), 1766 }, -{ HP_POP(guild->isallied), HP_POP2(HP_guild_isallied), 1768 }, -{ HP_POP(guild->search), HP_POP2(HP_guild_search), 1770 }, -{ HP_POP(guild->searchname), HP_POP2(HP_guild_searchname), 1772 }, -{ HP_POP(guild->castle_search), HP_POP2(HP_guild_castle_search), 1774 }, -{ HP_POP(guild->mapname2gc), HP_POP2(HP_guild_mapname2gc), 1776 }, -{ HP_POP(guild->mapindex2gc), HP_POP2(HP_guild_mapindex2gc), 1778 }, -{ HP_POP(guild->getavailablesd), HP_POP2(HP_guild_getavailablesd), 1780 }, -{ HP_POP(guild->getindex), HP_POP2(HP_guild_getindex), 1782 }, -{ HP_POP(guild->getposition), HP_POP2(HP_guild_getposition), 1784 }, -{ HP_POP(guild->payexp), HP_POP2(HP_guild_payexp), 1786 }, -{ HP_POP(guild->getexp), HP_POP2(HP_guild_getexp), 1788 }, -{ HP_POP(guild->create), HP_POP2(HP_guild_create), 1790 }, -{ HP_POP(guild->created), HP_POP2(HP_guild_created), 1792 }, -{ HP_POP(guild->request_info), HP_POP2(HP_guild_request_info), 1794 }, -{ HP_POP(guild->recv_noinfo), HP_POP2(HP_guild_recv_noinfo), 1796 }, -{ HP_POP(guild->recv_info), HP_POP2(HP_guild_recv_info), 1798 }, -{ HP_POP(guild->npc_request_info), HP_POP2(HP_guild_npc_request_info), 1800 }, -{ HP_POP(guild->invite), HP_POP2(HP_guild_invite), 1802 }, -{ HP_POP(guild->reply_invite), HP_POP2(HP_guild_reply_invite), 1804 }, -{ HP_POP(guild->member_joined), HP_POP2(HP_guild_member_joined), 1806 }, -{ HP_POP(guild->member_added), HP_POP2(HP_guild_member_added), 1808 }, -{ HP_POP(guild->leave), HP_POP2(HP_guild_leave), 1810 }, -{ HP_POP(guild->member_withdraw), HP_POP2(HP_guild_member_withdraw), 1812 }, -{ HP_POP(guild->expulsion), HP_POP2(HP_guild_expulsion), 1814 }, -{ HP_POP(guild->skillup), HP_POP2(HP_guild_skillup), 1816 }, -{ HP_POP(guild->block_skill), HP_POP2(HP_guild_block_skill), 1818 }, -{ HP_POP(guild->reqalliance), HP_POP2(HP_guild_reqalliance), 1820 }, -{ HP_POP(guild->reply_reqalliance), HP_POP2(HP_guild_reply_reqalliance), 1822 }, -{ HP_POP(guild->allianceack), HP_POP2(HP_guild_allianceack), 1824 }, -{ HP_POP(guild->delalliance), HP_POP2(HP_guild_delalliance), 1826 }, -{ HP_POP(guild->opposition), HP_POP2(HP_guild_opposition), 1828 }, -{ HP_POP(guild->check_alliance), HP_POP2(HP_guild_check_alliance), 1830 }, -{ HP_POP(guild->send_memberinfoshort), HP_POP2(HP_guild_send_memberinfoshort), 1832 }, -{ HP_POP(guild->recv_memberinfoshort), HP_POP2(HP_guild_recv_memberinfoshort), 1834 }, -{ HP_POP(guild->change_memberposition), HP_POP2(HP_guild_change_memberposition), 1836 }, -{ HP_POP(guild->memberposition_changed), HP_POP2(HP_guild_memberposition_changed), 1838 }, -{ HP_POP(guild->change_position), HP_POP2(HP_guild_change_position), 1840 }, -{ HP_POP(guild->position_changed), HP_POP2(HP_guild_position_changed), 1842 }, -{ HP_POP(guild->change_notice), HP_POP2(HP_guild_change_notice), 1844 }, -{ HP_POP(guild->notice_changed), HP_POP2(HP_guild_notice_changed), 1846 }, -{ HP_POP(guild->change_emblem), HP_POP2(HP_guild_change_emblem), 1848 }, -{ HP_POP(guild->emblem_changed), HP_POP2(HP_guild_emblem_changed), 1850 }, -{ HP_POP(guild->send_message), HP_POP2(HP_guild_send_message), 1852 }, -{ HP_POP(guild->recv_message), HP_POP2(HP_guild_recv_message), 1854 }, -{ HP_POP(guild->send_dot_remove), HP_POP2(HP_guild_send_dot_remove), 1856 }, -{ HP_POP(guild->skillupack), HP_POP2(HP_guild_skillupack), 1858 }, -{ HP_POP(guild->dobreak), HP_POP2(HP_guild_dobreak), 1860 }, -{ HP_POP(guild->broken), HP_POP2(HP_guild_broken), 1862 }, -{ HP_POP(guild->gm_change), HP_POP2(HP_guild_gm_change), 1864 }, -{ HP_POP(guild->gm_changed), HP_POP2(HP_guild_gm_changed), 1866 }, -{ HP_POP(guild->castle_map_init), HP_POP2(HP_guild_castle_map_init), 1868 }, -{ HP_POP(guild->castledatasave), HP_POP2(HP_guild_castledatasave), 1870 }, -{ HP_POP(guild->castledataloadack), HP_POP2(HP_guild_castledataloadack), 1872 }, -{ HP_POP(guild->castle_reconnect), HP_POP2(HP_guild_castle_reconnect), 1874 }, -{ HP_POP(guild->agit_start), HP_POP2(HP_guild_agit_start), 1876 }, -{ HP_POP(guild->agit_end), HP_POP2(HP_guild_agit_end), 1878 }, -{ HP_POP(guild->agit2_start), HP_POP2(HP_guild_agit2_start), 1880 }, -{ HP_POP(guild->agit2_end), HP_POP2(HP_guild_agit2_end), 1882 }, -{ HP_POP(guild->flag_add), HP_POP2(HP_guild_flag_add), 1884 }, -{ HP_POP(guild->flag_remove), HP_POP2(HP_guild_flag_remove), 1886 }, -{ HP_POP(guild->flags_clear), HP_POP2(HP_guild_flags_clear), 1888 }, -{ HP_POP(guild->aura_refresh), HP_POP2(HP_guild_aura_refresh), 1890 }, -{ HP_POP(guild->payexp_timer), HP_POP2(HP_guild_payexp_timer), 1892 }, -{ HP_POP(guild->sd_check), HP_POP2(HP_guild_sd_check), 1894 }, -{ HP_POP(guild->read_guildskill_tree_db), HP_POP2(HP_guild_read_guildskill_tree_db), 1896 }, -{ HP_POP(guild->read_castledb), HP_POP2(HP_guild_read_castledb), 1898 }, -{ HP_POP(guild->payexp_timer_sub), HP_POP2(HP_guild_payexp_timer_sub), 1900 }, -{ HP_POP(guild->send_xy_timer_sub), HP_POP2(HP_guild_send_xy_timer_sub), 1902 }, -{ HP_POP(guild->send_xy_timer), HP_POP2(HP_guild_send_xy_timer), 1904 }, -{ HP_POP(guild->create_expcache), HP_POP2(HP_guild_create_expcache), 1906 }, -{ HP_POP(guild->eventlist_db_final), HP_POP2(HP_guild_eventlist_db_final), 1908 }, -{ HP_POP(guild->expcache_db_final), HP_POP2(HP_guild_expcache_db_final), 1910 }, -{ HP_POP(guild->castle_db_final), HP_POP2(HP_guild_castle_db_final), 1912 }, -{ HP_POP(guild->broken_sub), HP_POP2(HP_guild_broken_sub), 1914 }, -{ HP_POP(guild->castle_broken_sub), HP_POP2(HP_guild_castle_broken_sub), 1916 }, -{ HP_POP(guild->makemember), HP_POP2(HP_guild_makemember), 1918 }, -{ HP_POP(guild->check_member), HP_POP2(HP_guild_check_member), 1920 }, -{ HP_POP(guild->get_alliance_count), HP_POP2(HP_guild_get_alliance_count), 1922 }, -{ HP_POP(guild->castle_reconnect_sub), HP_POP2(HP_guild_castle_reconnect_sub), 1924 }, +{ HP_POP(guild->init), HP_POP2(HP_guild_init), 1776 }, +{ HP_POP(guild->final), HP_POP2(HP_guild_final), 1778 }, +{ HP_POP(guild->skill_get_max), HP_POP2(HP_guild_skill_get_max), 1780 }, +{ HP_POP(guild->checkskill), HP_POP2(HP_guild_checkskill), 1782 }, +{ HP_POP(guild->check_skill_require), HP_POP2(HP_guild_check_skill_require), 1784 }, +{ HP_POP(guild->checkcastles), HP_POP2(HP_guild_checkcastles), 1786 }, +{ HP_POP(guild->isallied), HP_POP2(HP_guild_isallied), 1788 }, +{ HP_POP(guild->search), HP_POP2(HP_guild_search), 1790 }, +{ HP_POP(guild->searchname), HP_POP2(HP_guild_searchname), 1792 }, +{ HP_POP(guild->castle_search), HP_POP2(HP_guild_castle_search), 1794 }, +{ HP_POP(guild->mapname2gc), HP_POP2(HP_guild_mapname2gc), 1796 }, +{ HP_POP(guild->mapindex2gc), HP_POP2(HP_guild_mapindex2gc), 1798 }, +{ HP_POP(guild->getavailablesd), HP_POP2(HP_guild_getavailablesd), 1800 }, +{ HP_POP(guild->getindex), HP_POP2(HP_guild_getindex), 1802 }, +{ HP_POP(guild->getposition), HP_POP2(HP_guild_getposition), 1804 }, +{ HP_POP(guild->payexp), HP_POP2(HP_guild_payexp), 1806 }, +{ HP_POP(guild->getexp), HP_POP2(HP_guild_getexp), 1808 }, +{ HP_POP(guild->create), HP_POP2(HP_guild_create), 1810 }, +{ HP_POP(guild->created), HP_POP2(HP_guild_created), 1812 }, +{ HP_POP(guild->request_info), HP_POP2(HP_guild_request_info), 1814 }, +{ HP_POP(guild->recv_noinfo), HP_POP2(HP_guild_recv_noinfo), 1816 }, +{ HP_POP(guild->recv_info), HP_POP2(HP_guild_recv_info), 1818 }, +{ HP_POP(guild->npc_request_info), HP_POP2(HP_guild_npc_request_info), 1820 }, +{ HP_POP(guild->invite), HP_POP2(HP_guild_invite), 1822 }, +{ HP_POP(guild->reply_invite), HP_POP2(HP_guild_reply_invite), 1824 }, +{ HP_POP(guild->member_joined), HP_POP2(HP_guild_member_joined), 1826 }, +{ HP_POP(guild->member_added), HP_POP2(HP_guild_member_added), 1828 }, +{ HP_POP(guild->leave), HP_POP2(HP_guild_leave), 1830 }, +{ HP_POP(guild->member_withdraw), HP_POP2(HP_guild_member_withdraw), 1832 }, +{ HP_POP(guild->expulsion), HP_POP2(HP_guild_expulsion), 1834 }, +{ HP_POP(guild->skillup), HP_POP2(HP_guild_skillup), 1836 }, +{ HP_POP(guild->block_skill), HP_POP2(HP_guild_block_skill), 1838 }, +{ HP_POP(guild->reqalliance), HP_POP2(HP_guild_reqalliance), 1840 }, +{ HP_POP(guild->reply_reqalliance), HP_POP2(HP_guild_reply_reqalliance), 1842 }, +{ HP_POP(guild->allianceack), HP_POP2(HP_guild_allianceack), 1844 }, +{ HP_POP(guild->delalliance), HP_POP2(HP_guild_delalliance), 1846 }, +{ HP_POP(guild->opposition), HP_POP2(HP_guild_opposition), 1848 }, +{ HP_POP(guild->check_alliance), HP_POP2(HP_guild_check_alliance), 1850 }, +{ HP_POP(guild->send_memberinfoshort), HP_POP2(HP_guild_send_memberinfoshort), 1852 }, +{ HP_POP(guild->recv_memberinfoshort), HP_POP2(HP_guild_recv_memberinfoshort), 1854 }, +{ HP_POP(guild->change_memberposition), HP_POP2(HP_guild_change_memberposition), 1856 }, +{ HP_POP(guild->memberposition_changed), HP_POP2(HP_guild_memberposition_changed), 1858 }, +{ HP_POP(guild->change_position), HP_POP2(HP_guild_change_position), 1860 }, +{ HP_POP(guild->position_changed), HP_POP2(HP_guild_position_changed), 1862 }, +{ HP_POP(guild->change_notice), HP_POP2(HP_guild_change_notice), 1864 }, +{ HP_POP(guild->notice_changed), HP_POP2(HP_guild_notice_changed), 1866 }, +{ HP_POP(guild->change_emblem), HP_POP2(HP_guild_change_emblem), 1868 }, +{ HP_POP(guild->emblem_changed), HP_POP2(HP_guild_emblem_changed), 1870 }, +{ HP_POP(guild->send_message), HP_POP2(HP_guild_send_message), 1872 }, +{ HP_POP(guild->recv_message), HP_POP2(HP_guild_recv_message), 1874 }, +{ HP_POP(guild->send_dot_remove), HP_POP2(HP_guild_send_dot_remove), 1876 }, +{ HP_POP(guild->skillupack), HP_POP2(HP_guild_skillupack), 1878 }, +{ HP_POP(guild->dobreak), HP_POP2(HP_guild_dobreak), 1880 }, +{ HP_POP(guild->broken), HP_POP2(HP_guild_broken), 1882 }, +{ HP_POP(guild->gm_change), HP_POP2(HP_guild_gm_change), 1884 }, +{ HP_POP(guild->gm_changed), HP_POP2(HP_guild_gm_changed), 1886 }, +{ HP_POP(guild->castle_map_init), HP_POP2(HP_guild_castle_map_init), 1888 }, +{ HP_POP(guild->castledatasave), HP_POP2(HP_guild_castledatasave), 1890 }, +{ HP_POP(guild->castledataloadack), HP_POP2(HP_guild_castledataloadack), 1892 }, +{ HP_POP(guild->castle_reconnect), HP_POP2(HP_guild_castle_reconnect), 1894 }, +{ HP_POP(guild->agit_start), HP_POP2(HP_guild_agit_start), 1896 }, +{ HP_POP(guild->agit_end), HP_POP2(HP_guild_agit_end), 1898 }, +{ HP_POP(guild->agit2_start), HP_POP2(HP_guild_agit2_start), 1900 }, +{ HP_POP(guild->agit2_end), HP_POP2(HP_guild_agit2_end), 1902 }, +{ HP_POP(guild->flag_add), HP_POP2(HP_guild_flag_add), 1904 }, +{ HP_POP(guild->flag_remove), HP_POP2(HP_guild_flag_remove), 1906 }, +{ HP_POP(guild->flags_clear), HP_POP2(HP_guild_flags_clear), 1908 }, +{ HP_POP(guild->aura_refresh), HP_POP2(HP_guild_aura_refresh), 1910 }, +{ HP_POP(guild->payexp_timer), HP_POP2(HP_guild_payexp_timer), 1912 }, +{ HP_POP(guild->sd_check), HP_POP2(HP_guild_sd_check), 1914 }, +{ HP_POP(guild->read_guildskill_tree_db), HP_POP2(HP_guild_read_guildskill_tree_db), 1916 }, +{ HP_POP(guild->read_castledb), HP_POP2(HP_guild_read_castledb), 1918 }, +{ HP_POP(guild->payexp_timer_sub), HP_POP2(HP_guild_payexp_timer_sub), 1920 }, +{ HP_POP(guild->send_xy_timer_sub), HP_POP2(HP_guild_send_xy_timer_sub), 1922 }, +{ HP_POP(guild->send_xy_timer), HP_POP2(HP_guild_send_xy_timer), 1924 }, +{ HP_POP(guild->create_expcache), HP_POP2(HP_guild_create_expcache), 1926 }, +{ HP_POP(guild->eventlist_db_final), HP_POP2(HP_guild_eventlist_db_final), 1928 }, +{ HP_POP(guild->expcache_db_final), HP_POP2(HP_guild_expcache_db_final), 1930 }, +{ HP_POP(guild->castle_db_final), HP_POP2(HP_guild_castle_db_final), 1932 }, +{ HP_POP(guild->broken_sub), HP_POP2(HP_guild_broken_sub), 1934 }, +{ HP_POP(guild->castle_broken_sub), HP_POP2(HP_guild_castle_broken_sub), 1936 }, +{ HP_POP(guild->makemember), HP_POP2(HP_guild_makemember), 1938 }, +{ HP_POP(guild->check_member), HP_POP2(HP_guild_check_member), 1940 }, +{ HP_POP(guild->get_alliance_count), HP_POP2(HP_guild_get_alliance_count), 1942 }, +{ HP_POP(guild->castle_reconnect_sub), HP_POP2(HP_guild_castle_reconnect_sub), 1944 }, /* gstorage */ -{ HP_POP(gstorage->id2storage), HP_POP2(HP_gstorage_id2storage), 1926 }, -{ HP_POP(gstorage->id2storage2), HP_POP2(HP_gstorage_id2storage2), 1928 }, -{ HP_POP(gstorage->init), HP_POP2(HP_gstorage_init), 1930 }, -{ HP_POP(gstorage->final), HP_POP2(HP_gstorage_final), 1932 }, -{ HP_POP(gstorage->delete), HP_POP2(HP_gstorage_delete), 1934 }, -{ HP_POP(gstorage->open), HP_POP2(HP_gstorage_open), 1936 }, -{ HP_POP(gstorage->additem), HP_POP2(HP_gstorage_additem), 1938 }, -{ HP_POP(gstorage->delitem), HP_POP2(HP_gstorage_delitem), 1940 }, -{ HP_POP(gstorage->add), HP_POP2(HP_gstorage_add), 1942 }, -{ HP_POP(gstorage->get), HP_POP2(HP_gstorage_get), 1944 }, -{ HP_POP(gstorage->addfromcart), HP_POP2(HP_gstorage_addfromcart), 1946 }, -{ HP_POP(gstorage->gettocart), HP_POP2(HP_gstorage_gettocart), 1948 }, -{ HP_POP(gstorage->close), HP_POP2(HP_gstorage_close), 1950 }, -{ HP_POP(gstorage->pc_quit), HP_POP2(HP_gstorage_pc_quit), 1952 }, -{ HP_POP(gstorage->save), HP_POP2(HP_gstorage_save), 1954 }, -{ HP_POP(gstorage->saved), HP_POP2(HP_gstorage_saved), 1956 }, -{ HP_POP(gstorage->create), HP_POP2(HP_gstorage_create), 1958 }, +{ HP_POP(gstorage->id2storage), HP_POP2(HP_gstorage_id2storage), 1946 }, +{ HP_POP(gstorage->id2storage2), HP_POP2(HP_gstorage_id2storage2), 1948 }, +{ HP_POP(gstorage->init), HP_POP2(HP_gstorage_init), 1950 }, +{ HP_POP(gstorage->final), HP_POP2(HP_gstorage_final), 1952 }, +{ HP_POP(gstorage->delete), HP_POP2(HP_gstorage_delete), 1954 }, +{ HP_POP(gstorage->open), HP_POP2(HP_gstorage_open), 1956 }, +{ HP_POP(gstorage->additem), HP_POP2(HP_gstorage_additem), 1958 }, +{ HP_POP(gstorage->delitem), HP_POP2(HP_gstorage_delitem), 1960 }, +{ HP_POP(gstorage->add), HP_POP2(HP_gstorage_add), 1962 }, +{ HP_POP(gstorage->get), HP_POP2(HP_gstorage_get), 1964 }, +{ HP_POP(gstorage->addfromcart), HP_POP2(HP_gstorage_addfromcart), 1966 }, +{ HP_POP(gstorage->gettocart), HP_POP2(HP_gstorage_gettocart), 1968 }, +{ HP_POP(gstorage->close), HP_POP2(HP_gstorage_close), 1970 }, +{ HP_POP(gstorage->pc_quit), HP_POP2(HP_gstorage_pc_quit), 1972 }, +{ HP_POP(gstorage->save), HP_POP2(HP_gstorage_save), 1974 }, +{ HP_POP(gstorage->saved), HP_POP2(HP_gstorage_saved), 1976 }, +{ HP_POP(gstorage->create), HP_POP2(HP_gstorage_create), 1978 }, /* homun */ -{ HP_POP(homun->init), HP_POP2(HP_homun_init), 1960 }, -{ HP_POP(homun->final), HP_POP2(HP_homun_final), 1962 }, -{ HP_POP(homun->reload), HP_POP2(HP_homun_reload), 1964 }, -{ HP_POP(homun->reload_skill), HP_POP2(HP_homun_reload_skill), 1966 }, -{ HP_POP(homun->get_viewdata), HP_POP2(HP_homun_get_viewdata), 1968 }, -{ HP_POP(homun->class2type), HP_POP2(HP_homun_class2type), 1970 }, -{ HP_POP(homun->damaged), HP_POP2(HP_homun_damaged), 1972 }, -{ HP_POP(homun->dead), HP_POP2(HP_homun_dead), 1974 }, -{ HP_POP(homun->vaporize), HP_POP2(HP_homun_vaporize), 1976 }, -{ HP_POP(homun->delete), HP_POP2(HP_homun_delete), 1978 }, -{ HP_POP(homun->checkskill), HP_POP2(HP_homun_checkskill), 1980 }, -{ HP_POP(homun->calc_skilltree), HP_POP2(HP_homun_calc_skilltree), 1982 }, -{ HP_POP(homun->skill_tree_get_max), HP_POP2(HP_homun_skill_tree_get_max), 1984 }, -{ HP_POP(homun->skillup), HP_POP2(HP_homun_skillup), 1986 }, -{ HP_POP(homun->levelup), HP_POP2(HP_homun_levelup), 1988 }, -{ HP_POP(homun->change_class), HP_POP2(HP_homun_change_class), 1990 }, -{ HP_POP(homun->evolve), HP_POP2(HP_homun_evolve), 1992 }, -{ HP_POP(homun->mutate), HP_POP2(HP_homun_mutate), 1994 }, -{ HP_POP(homun->gainexp), HP_POP2(HP_homun_gainexp), 1996 }, -{ HP_POP(homun->add_intimacy), HP_POP2(HP_homun_add_intimacy), 1998 }, -{ HP_POP(homun->consume_intimacy), HP_POP2(HP_homun_consume_intimacy), 2000 }, -{ HP_POP(homun->healed), HP_POP2(HP_homun_healed), 2002 }, -{ HP_POP(homun->save), HP_POP2(HP_homun_save), 2004 }, -{ HP_POP(homun->menu), HP_POP2(HP_homun_menu), 2006 }, -{ HP_POP(homun->feed), HP_POP2(HP_homun_feed), 2008 }, -{ HP_POP(homun->hunger_timer), HP_POP2(HP_homun_hunger_timer), 2010 }, -{ HP_POP(homun->hunger_timer_delete), HP_POP2(HP_homun_hunger_timer_delete), 2012 }, -{ HP_POP(homun->change_name), HP_POP2(HP_homun_change_name), 2014 }, -{ HP_POP(homun->change_name_ack), HP_POP2(HP_homun_change_name_ack), 2016 }, -{ HP_POP(homun->db_search), HP_POP2(HP_homun_db_search), 2018 }, -{ HP_POP(homun->create), HP_POP2(HP_homun_create), 2020 }, -{ HP_POP(homun->init_timers), HP_POP2(HP_homun_init_timers), 2022 }, -{ HP_POP(homun->call), HP_POP2(HP_homun_call), 2024 }, -{ HP_POP(homun->recv_data), HP_POP2(HP_homun_recv_data), 2026 }, -{ HP_POP(homun->creation_request), HP_POP2(HP_homun_creation_request), 2028 }, -{ HP_POP(homun->ressurect), HP_POP2(HP_homun_ressurect), 2030 }, -{ HP_POP(homun->revive), HP_POP2(HP_homun_revive), 2032 }, -{ HP_POP(homun->stat_reset), HP_POP2(HP_homun_stat_reset), 2034 }, -{ HP_POP(homun->shuffle), HP_POP2(HP_homun_shuffle), 2036 }, -{ HP_POP(homun->read_db_sub), HP_POP2(HP_homun_read_db_sub), 2038 }, -{ HP_POP(homun->read_db), HP_POP2(HP_homun_read_db), 2040 }, -{ HP_POP(homun->read_skill_db_sub), HP_POP2(HP_homun_read_skill_db_sub), 2042 }, -{ HP_POP(homun->skill_db_read), HP_POP2(HP_homun_skill_db_read), 2044 }, -{ HP_POP(homun->exp_db_read), HP_POP2(HP_homun_exp_db_read), 2046 }, -{ HP_POP(homun->addspiritball), HP_POP2(HP_homun_addspiritball), 2048 }, -{ HP_POP(homun->delspiritball), HP_POP2(HP_homun_delspiritball), 2050 }, +{ HP_POP(homun->init), HP_POP2(HP_homun_init), 1980 }, +{ HP_POP(homun->final), HP_POP2(HP_homun_final), 1982 }, +{ HP_POP(homun->reload), HP_POP2(HP_homun_reload), 1984 }, +{ HP_POP(homun->reload_skill), HP_POP2(HP_homun_reload_skill), 1986 }, +{ HP_POP(homun->get_viewdata), HP_POP2(HP_homun_get_viewdata), 1988 }, +{ HP_POP(homun->class2type), HP_POP2(HP_homun_class2type), 1990 }, +{ HP_POP(homun->damaged), HP_POP2(HP_homun_damaged), 1992 }, +{ HP_POP(homun->dead), HP_POP2(HP_homun_dead), 1994 }, +{ HP_POP(homun->vaporize), HP_POP2(HP_homun_vaporize), 1996 }, +{ HP_POP(homun->delete), HP_POP2(HP_homun_delete), 1998 }, +{ HP_POP(homun->checkskill), HP_POP2(HP_homun_checkskill), 2000 }, +{ HP_POP(homun->calc_skilltree), HP_POP2(HP_homun_calc_skilltree), 2002 }, +{ HP_POP(homun->skill_tree_get_max), HP_POP2(HP_homun_skill_tree_get_max), 2004 }, +{ HP_POP(homun->skillup), HP_POP2(HP_homun_skillup), 2006 }, +{ HP_POP(homun->levelup), HP_POP2(HP_homun_levelup), 2008 }, +{ HP_POP(homun->change_class), HP_POP2(HP_homun_change_class), 2010 }, +{ HP_POP(homun->evolve), HP_POP2(HP_homun_evolve), 2012 }, +{ HP_POP(homun->mutate), HP_POP2(HP_homun_mutate), 2014 }, +{ HP_POP(homun->gainexp), HP_POP2(HP_homun_gainexp), 2016 }, +{ HP_POP(homun->add_intimacy), HP_POP2(HP_homun_add_intimacy), 2018 }, +{ HP_POP(homun->consume_intimacy), HP_POP2(HP_homun_consume_intimacy), 2020 }, +{ HP_POP(homun->healed), HP_POP2(HP_homun_healed), 2022 }, +{ HP_POP(homun->save), HP_POP2(HP_homun_save), 2024 }, +{ HP_POP(homun->menu), HP_POP2(HP_homun_menu), 2026 }, +{ HP_POP(homun->feed), HP_POP2(HP_homun_feed), 2028 }, +{ HP_POP(homun->hunger_timer), HP_POP2(HP_homun_hunger_timer), 2030 }, +{ HP_POP(homun->hunger_timer_delete), HP_POP2(HP_homun_hunger_timer_delete), 2032 }, +{ HP_POP(homun->change_name), HP_POP2(HP_homun_change_name), 2034 }, +{ HP_POP(homun->change_name_ack), HP_POP2(HP_homun_change_name_ack), 2036 }, +{ HP_POP(homun->db_search), HP_POP2(HP_homun_db_search), 2038 }, +{ HP_POP(homun->create), HP_POP2(HP_homun_create), 2040 }, +{ HP_POP(homun->init_timers), HP_POP2(HP_homun_init_timers), 2042 }, +{ HP_POP(homun->call), HP_POP2(HP_homun_call), 2044 }, +{ HP_POP(homun->recv_data), HP_POP2(HP_homun_recv_data), 2046 }, +{ HP_POP(homun->creation_request), HP_POP2(HP_homun_creation_request), 2048 }, +{ HP_POP(homun->ressurect), HP_POP2(HP_homun_ressurect), 2050 }, +{ HP_POP(homun->revive), HP_POP2(HP_homun_revive), 2052 }, +{ HP_POP(homun->stat_reset), HP_POP2(HP_homun_stat_reset), 2054 }, +{ HP_POP(homun->shuffle), HP_POP2(HP_homun_shuffle), 2056 }, +{ HP_POP(homun->read_db_sub), HP_POP2(HP_homun_read_db_sub), 2058 }, +{ HP_POP(homun->read_db), HP_POP2(HP_homun_read_db), 2060 }, +{ HP_POP(homun->read_skill_db_sub), HP_POP2(HP_homun_read_skill_db_sub), 2062 }, +{ HP_POP(homun->skill_db_read), HP_POP2(HP_homun_skill_db_read), 2064 }, +{ HP_POP(homun->exp_db_read), HP_POP2(HP_homun_exp_db_read), 2066 }, +{ HP_POP(homun->addspiritball), HP_POP2(HP_homun_addspiritball), 2068 }, +{ HP_POP(homun->delspiritball), HP_POP2(HP_homun_delspiritball), 2070 }, /* instance */ -{ HP_POP(instance->init), HP_POP2(HP_instance_init), 2052 }, -{ HP_POP(instance->final), HP_POP2(HP_instance_final), 2054 }, -{ HP_POP(instance->create), HP_POP2(HP_instance_create), 2056 }, -{ HP_POP(instance->add_map), HP_POP2(HP_instance_add_map), 2058 }, -{ HP_POP(instance->del_map), HP_POP2(HP_instance_del_map), 2060 }, -{ HP_POP(instance->map2imap), HP_POP2(HP_instance_map2imap), 2062 }, -{ HP_POP(instance->mapid2imapid), HP_POP2(HP_instance_mapid2imapid), 2064 }, -{ HP_POP(instance->destroy), HP_POP2(HP_instance_destroy), 2066 }, -{ HP_POP(instance->start), HP_POP2(HP_instance_start), 2068 }, -{ HP_POP(instance->check_idle), HP_POP2(HP_instance_check_idle), 2070 }, -{ HP_POP(instance->check_kick), HP_POP2(HP_instance_check_kick), 2072 }, -{ HP_POP(instance->set_timeout), HP_POP2(HP_instance_set_timeout), 2074 }, -{ HP_POP(instance->valid), HP_POP2(HP_instance_valid), 2076 }, -{ HP_POP(instance->destroy_timer), HP_POP2(HP_instance_destroy_timer), 2078 }, +{ HP_POP(instance->init), HP_POP2(HP_instance_init), 2072 }, +{ HP_POP(instance->final), HP_POP2(HP_instance_final), 2074 }, +{ HP_POP(instance->create), HP_POP2(HP_instance_create), 2076 }, +{ HP_POP(instance->add_map), HP_POP2(HP_instance_add_map), 2078 }, +{ HP_POP(instance->del_map), HP_POP2(HP_instance_del_map), 2080 }, +{ HP_POP(instance->map2imap), HP_POP2(HP_instance_map2imap), 2082 }, +{ HP_POP(instance->mapid2imapid), HP_POP2(HP_instance_mapid2imapid), 2084 }, +{ HP_POP(instance->destroy), HP_POP2(HP_instance_destroy), 2086 }, +{ HP_POP(instance->start), HP_POP2(HP_instance_start), 2088 }, +{ HP_POP(instance->check_idle), HP_POP2(HP_instance_check_idle), 2090 }, +{ HP_POP(instance->check_kick), HP_POP2(HP_instance_check_kick), 2092 }, +{ HP_POP(instance->set_timeout), HP_POP2(HP_instance_set_timeout), 2094 }, +{ HP_POP(instance->valid), HP_POP2(HP_instance_valid), 2096 }, +{ HP_POP(instance->destroy_timer), HP_POP2(HP_instance_destroy_timer), 2098 }, /* intif */ -{ HP_POP(intif->parse), HP_POP2(HP_intif_parse), 2080 }, -{ HP_POP(intif->create_pet), HP_POP2(HP_intif_create_pet), 2082 }, -{ HP_POP(intif->broadcast), HP_POP2(HP_intif_broadcast), 2084 }, -{ HP_POP(intif->broadcast2), HP_POP2(HP_intif_broadcast2), 2086 }, -{ HP_POP(intif->main_message), HP_POP2(HP_intif_main_message), 2088 }, -{ HP_POP(intif->wis_message), HP_POP2(HP_intif_wis_message), 2090 }, -{ HP_POP(intif->wis_message_to_gm), HP_POP2(HP_intif_wis_message_to_gm), 2092 }, -{ HP_POP(intif->saveregistry), HP_POP2(HP_intif_saveregistry), 2094 }, -{ HP_POP(intif->request_registry), HP_POP2(HP_intif_request_registry), 2096 }, -{ HP_POP(intif->request_guild_storage), HP_POP2(HP_intif_request_guild_storage), 2098 }, -{ HP_POP(intif->send_guild_storage), HP_POP2(HP_intif_send_guild_storage), 2100 }, -{ HP_POP(intif->create_party), HP_POP2(HP_intif_create_party), 2102 }, -{ HP_POP(intif->request_partyinfo), HP_POP2(HP_intif_request_partyinfo), 2104 }, -{ HP_POP(intif->party_addmember), HP_POP2(HP_intif_party_addmember), 2106 }, -{ HP_POP(intif->party_changeoption), HP_POP2(HP_intif_party_changeoption), 2108 }, -{ HP_POP(intif->party_leave), HP_POP2(HP_intif_party_leave), 2110 }, -{ HP_POP(intif->party_changemap), HP_POP2(HP_intif_party_changemap), 2112 }, -{ HP_POP(intif->break_party), HP_POP2(HP_intif_break_party), 2114 }, -{ HP_POP(intif->party_message), HP_POP2(HP_intif_party_message), 2116 }, -{ HP_POP(intif->party_leaderchange), HP_POP2(HP_intif_party_leaderchange), 2118 }, -{ HP_POP(intif->guild_create), HP_POP2(HP_intif_guild_create), 2120 }, -{ HP_POP(intif->guild_request_info), HP_POP2(HP_intif_guild_request_info), 2122 }, -{ HP_POP(intif->guild_addmember), HP_POP2(HP_intif_guild_addmember), 2124 }, -{ HP_POP(intif->guild_leave), HP_POP2(HP_intif_guild_leave), 2126 }, -{ HP_POP(intif->guild_memberinfoshort), HP_POP2(HP_intif_guild_memberinfoshort), 2128 }, -{ HP_POP(intif->guild_break), HP_POP2(HP_intif_guild_break), 2130 }, -{ HP_POP(intif->guild_message), HP_POP2(HP_intif_guild_message), 2132 }, -{ HP_POP(intif->guild_change_gm), HP_POP2(HP_intif_guild_change_gm), 2134 }, -{ HP_POP(intif->guild_change_basicinfo), HP_POP2(HP_intif_guild_change_basicinfo), 2136 }, -{ HP_POP(intif->guild_change_memberinfo), HP_POP2(HP_intif_guild_change_memberinfo), 2138 }, -{ HP_POP(intif->guild_position), HP_POP2(HP_intif_guild_position), 2140 }, -{ HP_POP(intif->guild_skillup), HP_POP2(HP_intif_guild_skillup), 2142 }, -{ HP_POP(intif->guild_alliance), HP_POP2(HP_intif_guild_alliance), 2144 }, -{ HP_POP(intif->guild_notice), HP_POP2(HP_intif_guild_notice), 2146 }, -{ HP_POP(intif->guild_emblem), HP_POP2(HP_intif_guild_emblem), 2148 }, -{ HP_POP(intif->guild_castle_dataload), HP_POP2(HP_intif_guild_castle_dataload), 2150 }, -{ HP_POP(intif->guild_castle_datasave), HP_POP2(HP_intif_guild_castle_datasave), 2152 }, -{ HP_POP(intif->request_petdata), HP_POP2(HP_intif_request_petdata), 2154 }, -{ HP_POP(intif->save_petdata), HP_POP2(HP_intif_save_petdata), 2156 }, -{ HP_POP(intif->delete_petdata), HP_POP2(HP_intif_delete_petdata), 2158 }, -{ HP_POP(intif->rename), HP_POP2(HP_intif_rename), 2160 }, -{ HP_POP(intif->homunculus_create), HP_POP2(HP_intif_homunculus_create), 2162 }, -{ HP_POP(intif->homunculus_requestload), HP_POP2(HP_intif_homunculus_requestload), 2164 }, -{ HP_POP(intif->homunculus_requestsave), HP_POP2(HP_intif_homunculus_requestsave), 2166 }, -{ HP_POP(intif->homunculus_requestdelete), HP_POP2(HP_intif_homunculus_requestdelete), 2168 }, -{ HP_POP(intif->request_questlog), HP_POP2(HP_intif_request_questlog), 2170 }, -{ HP_POP(intif->quest_save), HP_POP2(HP_intif_quest_save), 2172 }, -{ HP_POP(intif->mercenary_create), HP_POP2(HP_intif_mercenary_create), 2174 }, -{ HP_POP(intif->mercenary_request), HP_POP2(HP_intif_mercenary_request), 2176 }, -{ HP_POP(intif->mercenary_delete), HP_POP2(HP_intif_mercenary_delete), 2178 }, -{ HP_POP(intif->mercenary_save), HP_POP2(HP_intif_mercenary_save), 2180 }, -{ HP_POP(intif->Mail_requestinbox), HP_POP2(HP_intif_Mail_requestinbox), 2182 }, -{ HP_POP(intif->Mail_read), HP_POP2(HP_intif_Mail_read), 2184 }, -{ HP_POP(intif->Mail_getattach), HP_POP2(HP_intif_Mail_getattach), 2186 }, -{ HP_POP(intif->Mail_delete), HP_POP2(HP_intif_Mail_delete), 2188 }, -{ HP_POP(intif->Mail_return), HP_POP2(HP_intif_Mail_return), 2190 }, -{ HP_POP(intif->Mail_send), HP_POP2(HP_intif_Mail_send), 2192 }, -{ HP_POP(intif->Auction_requestlist), HP_POP2(HP_intif_Auction_requestlist), 2194 }, -{ HP_POP(intif->Auction_register), HP_POP2(HP_intif_Auction_register), 2196 }, -{ HP_POP(intif->Auction_cancel), HP_POP2(HP_intif_Auction_cancel), 2198 }, -{ HP_POP(intif->Auction_close), HP_POP2(HP_intif_Auction_close), 2200 }, -{ HP_POP(intif->Auction_bid), HP_POP2(HP_intif_Auction_bid), 2202 }, -{ HP_POP(intif->elemental_create), HP_POP2(HP_intif_elemental_create), 2204 }, -{ HP_POP(intif->elemental_request), HP_POP2(HP_intif_elemental_request), 2206 }, -{ HP_POP(intif->elemental_delete), HP_POP2(HP_intif_elemental_delete), 2208 }, -{ HP_POP(intif->elemental_save), HP_POP2(HP_intif_elemental_save), 2210 }, -{ HP_POP(intif->request_accinfo), HP_POP2(HP_intif_request_accinfo), 2212 }, -{ HP_POP(intif->CheckForCharServer), HP_POP2(HP_intif_CheckForCharServer), 2214 }, -{ HP_POP(intif->pWisMessage), HP_POP2(HP_intif_pWisMessage), 2216 }, -{ HP_POP(intif->pWisEnd), HP_POP2(HP_intif_pWisEnd), 2218 }, -{ HP_POP(intif->pWisToGM_sub), HP_POP2(HP_intif_pWisToGM_sub), 2220 }, -{ HP_POP(intif->pWisToGM), HP_POP2(HP_intif_pWisToGM), 2222 }, -{ HP_POP(intif->pRegisters), HP_POP2(HP_intif_pRegisters), 2224 }, -{ HP_POP(intif->pChangeNameOk), HP_POP2(HP_intif_pChangeNameOk), 2226 }, -{ HP_POP(intif->pMessageToFD), HP_POP2(HP_intif_pMessageToFD), 2228 }, -{ HP_POP(intif->pLoadGuildStorage), HP_POP2(HP_intif_pLoadGuildStorage), 2230 }, -{ HP_POP(intif->pSaveGuildStorage), HP_POP2(HP_intif_pSaveGuildStorage), 2232 }, -{ HP_POP(intif->pPartyCreated), HP_POP2(HP_intif_pPartyCreated), 2234 }, -{ HP_POP(intif->pPartyInfo), HP_POP2(HP_intif_pPartyInfo), 2236 }, -{ HP_POP(intif->pPartyMemberAdded), HP_POP2(HP_intif_pPartyMemberAdded), 2238 }, -{ HP_POP(intif->pPartyOptionChanged), HP_POP2(HP_intif_pPartyOptionChanged), 2240 }, -{ HP_POP(intif->pPartyMemberWithdraw), HP_POP2(HP_intif_pPartyMemberWithdraw), 2242 }, -{ HP_POP(intif->pPartyMove), HP_POP2(HP_intif_pPartyMove), 2244 }, -{ HP_POP(intif->pPartyBroken), HP_POP2(HP_intif_pPartyBroken), 2246 }, -{ HP_POP(intif->pPartyMessage), HP_POP2(HP_intif_pPartyMessage), 2248 }, -{ HP_POP(intif->pGuildCreated), HP_POP2(HP_intif_pGuildCreated), 2250 }, -{ HP_POP(intif->pGuildInfo), HP_POP2(HP_intif_pGuildInfo), 2252 }, -{ HP_POP(intif->pGuildMemberAdded), HP_POP2(HP_intif_pGuildMemberAdded), 2254 }, -{ HP_POP(intif->pGuildMemberWithdraw), HP_POP2(HP_intif_pGuildMemberWithdraw), 2256 }, -{ HP_POP(intif->pGuildMemberInfoShort), HP_POP2(HP_intif_pGuildMemberInfoShort), 2258 }, -{ HP_POP(intif->pGuildBroken), HP_POP2(HP_intif_pGuildBroken), 2260 }, -{ HP_POP(intif->pGuildMessage), HP_POP2(HP_intif_pGuildMessage), 2262 }, -{ HP_POP(intif->pGuildBasicInfoChanged), HP_POP2(HP_intif_pGuildBasicInfoChanged), 2264 }, -{ HP_POP(intif->pGuildMemberInfoChanged), HP_POP2(HP_intif_pGuildMemberInfoChanged), 2266 }, -{ HP_POP(intif->pGuildPosition), HP_POP2(HP_intif_pGuildPosition), 2268 }, -{ HP_POP(intif->pGuildSkillUp), HP_POP2(HP_intif_pGuildSkillUp), 2270 }, -{ HP_POP(intif->pGuildAlliance), HP_POP2(HP_intif_pGuildAlliance), 2272 }, -{ HP_POP(intif->pGuildNotice), HP_POP2(HP_intif_pGuildNotice), 2274 }, -{ HP_POP(intif->pGuildEmblem), HP_POP2(HP_intif_pGuildEmblem), 2276 }, -{ HP_POP(intif->pGuildCastleDataLoad), HP_POP2(HP_intif_pGuildCastleDataLoad), 2278 }, -{ HP_POP(intif->pGuildMasterChanged), HP_POP2(HP_intif_pGuildMasterChanged), 2280 }, -{ HP_POP(intif->pQuestLog), HP_POP2(HP_intif_pQuestLog), 2282 }, -{ HP_POP(intif->pQuestSave), HP_POP2(HP_intif_pQuestSave), 2284 }, -{ HP_POP(intif->pMailInboxReceived), HP_POP2(HP_intif_pMailInboxReceived), 2286 }, -{ HP_POP(intif->pMailNew), HP_POP2(HP_intif_pMailNew), 2288 }, -{ HP_POP(intif->pMailGetAttach), HP_POP2(HP_intif_pMailGetAttach), 2290 }, -{ HP_POP(intif->pMailDelete), HP_POP2(HP_intif_pMailDelete), 2292 }, -{ HP_POP(intif->pMailReturn), HP_POP2(HP_intif_pMailReturn), 2294 }, -{ HP_POP(intif->pMailSend), HP_POP2(HP_intif_pMailSend), 2296 }, -{ HP_POP(intif->pAuctionResults), HP_POP2(HP_intif_pAuctionResults), 2298 }, -{ HP_POP(intif->pAuctionRegister), HP_POP2(HP_intif_pAuctionRegister), 2300 }, -{ HP_POP(intif->pAuctionCancel), HP_POP2(HP_intif_pAuctionCancel), 2302 }, -{ HP_POP(intif->pAuctionClose), HP_POP2(HP_intif_pAuctionClose), 2304 }, -{ HP_POP(intif->pAuctionMessage), HP_POP2(HP_intif_pAuctionMessage), 2306 }, -{ HP_POP(intif->pAuctionBid), HP_POP2(HP_intif_pAuctionBid), 2308 }, -{ HP_POP(intif->pMercenaryReceived), HP_POP2(HP_intif_pMercenaryReceived), 2310 }, -{ HP_POP(intif->pMercenaryDeleted), HP_POP2(HP_intif_pMercenaryDeleted), 2312 }, -{ HP_POP(intif->pMercenarySaved), HP_POP2(HP_intif_pMercenarySaved), 2314 }, -{ HP_POP(intif->pElementalReceived), HP_POP2(HP_intif_pElementalReceived), 2316 }, -{ HP_POP(intif->pElementalDeleted), HP_POP2(HP_intif_pElementalDeleted), 2318 }, -{ HP_POP(intif->pElementalSaved), HP_POP2(HP_intif_pElementalSaved), 2320 }, -{ HP_POP(intif->pCreatePet), HP_POP2(HP_intif_pCreatePet), 2322 }, -{ HP_POP(intif->pRecvPetData), HP_POP2(HP_intif_pRecvPetData), 2324 }, -{ HP_POP(intif->pSavePetOk), HP_POP2(HP_intif_pSavePetOk), 2326 }, -{ HP_POP(intif->pDeletePetOk), HP_POP2(HP_intif_pDeletePetOk), 2328 }, -{ HP_POP(intif->pCreateHomunculus), HP_POP2(HP_intif_pCreateHomunculus), 2330 }, -{ HP_POP(intif->pRecvHomunculusData), HP_POP2(HP_intif_pRecvHomunculusData), 2332 }, -{ HP_POP(intif->pSaveHomunculusOk), HP_POP2(HP_intif_pSaveHomunculusOk), 2334 }, -{ HP_POP(intif->pDeleteHomunculusOk), HP_POP2(HP_intif_pDeleteHomunculusOk), 2336 }, +{ HP_POP(intif->parse), HP_POP2(HP_intif_parse), 2100 }, +{ HP_POP(intif->create_pet), HP_POP2(HP_intif_create_pet), 2102 }, +{ HP_POP(intif->broadcast), HP_POP2(HP_intif_broadcast), 2104 }, +{ HP_POP(intif->broadcast2), HP_POP2(HP_intif_broadcast2), 2106 }, +{ HP_POP(intif->main_message), HP_POP2(HP_intif_main_message), 2108 }, +{ HP_POP(intif->wis_message), HP_POP2(HP_intif_wis_message), 2110 }, +{ HP_POP(intif->wis_message_to_gm), HP_POP2(HP_intif_wis_message_to_gm), 2112 }, +{ HP_POP(intif->saveregistry), HP_POP2(HP_intif_saveregistry), 2114 }, +{ HP_POP(intif->request_registry), HP_POP2(HP_intif_request_registry), 2116 }, +{ HP_POP(intif->request_guild_storage), HP_POP2(HP_intif_request_guild_storage), 2118 }, +{ HP_POP(intif->send_guild_storage), HP_POP2(HP_intif_send_guild_storage), 2120 }, +{ HP_POP(intif->create_party), HP_POP2(HP_intif_create_party), 2122 }, +{ HP_POP(intif->request_partyinfo), HP_POP2(HP_intif_request_partyinfo), 2124 }, +{ HP_POP(intif->party_addmember), HP_POP2(HP_intif_party_addmember), 2126 }, +{ HP_POP(intif->party_changeoption), HP_POP2(HP_intif_party_changeoption), 2128 }, +{ HP_POP(intif->party_leave), HP_POP2(HP_intif_party_leave), 2130 }, +{ HP_POP(intif->party_changemap), HP_POP2(HP_intif_party_changemap), 2132 }, +{ HP_POP(intif->break_party), HP_POP2(HP_intif_break_party), 2134 }, +{ HP_POP(intif->party_message), HP_POP2(HP_intif_party_message), 2136 }, +{ HP_POP(intif->party_leaderchange), HP_POP2(HP_intif_party_leaderchange), 2138 }, +{ HP_POP(intif->guild_create), HP_POP2(HP_intif_guild_create), 2140 }, +{ HP_POP(intif->guild_request_info), HP_POP2(HP_intif_guild_request_info), 2142 }, +{ HP_POP(intif->guild_addmember), HP_POP2(HP_intif_guild_addmember), 2144 }, +{ HP_POP(intif->guild_leave), HP_POP2(HP_intif_guild_leave), 2146 }, +{ HP_POP(intif->guild_memberinfoshort), HP_POP2(HP_intif_guild_memberinfoshort), 2148 }, +{ HP_POP(intif->guild_break), HP_POP2(HP_intif_guild_break), 2150 }, +{ HP_POP(intif->guild_message), HP_POP2(HP_intif_guild_message), 2152 }, +{ HP_POP(intif->guild_change_gm), HP_POP2(HP_intif_guild_change_gm), 2154 }, +{ HP_POP(intif->guild_change_basicinfo), HP_POP2(HP_intif_guild_change_basicinfo), 2156 }, +{ HP_POP(intif->guild_change_memberinfo), HP_POP2(HP_intif_guild_change_memberinfo), 2158 }, +{ HP_POP(intif->guild_position), HP_POP2(HP_intif_guild_position), 2160 }, +{ HP_POP(intif->guild_skillup), HP_POP2(HP_intif_guild_skillup), 2162 }, +{ HP_POP(intif->guild_alliance), HP_POP2(HP_intif_guild_alliance), 2164 }, +{ HP_POP(intif->guild_notice), HP_POP2(HP_intif_guild_notice), 2166 }, +{ HP_POP(intif->guild_emblem), HP_POP2(HP_intif_guild_emblem), 2168 }, +{ HP_POP(intif->guild_castle_dataload), HP_POP2(HP_intif_guild_castle_dataload), 2170 }, +{ HP_POP(intif->guild_castle_datasave), HP_POP2(HP_intif_guild_castle_datasave), 2172 }, +{ HP_POP(intif->request_petdata), HP_POP2(HP_intif_request_petdata), 2174 }, +{ HP_POP(intif->save_petdata), HP_POP2(HP_intif_save_petdata), 2176 }, +{ HP_POP(intif->delete_petdata), HP_POP2(HP_intif_delete_petdata), 2178 }, +{ HP_POP(intif->rename), HP_POP2(HP_intif_rename), 2180 }, +{ HP_POP(intif->homunculus_create), HP_POP2(HP_intif_homunculus_create), 2182 }, +{ HP_POP(intif->homunculus_requestload), HP_POP2(HP_intif_homunculus_requestload), 2184 }, +{ HP_POP(intif->homunculus_requestsave), HP_POP2(HP_intif_homunculus_requestsave), 2186 }, +{ HP_POP(intif->homunculus_requestdelete), HP_POP2(HP_intif_homunculus_requestdelete), 2188 }, +{ HP_POP(intif->request_questlog), HP_POP2(HP_intif_request_questlog), 2190 }, +{ HP_POP(intif->quest_save), HP_POP2(HP_intif_quest_save), 2192 }, +{ HP_POP(intif->mercenary_create), HP_POP2(HP_intif_mercenary_create), 2194 }, +{ HP_POP(intif->mercenary_request), HP_POP2(HP_intif_mercenary_request), 2196 }, +{ HP_POP(intif->mercenary_delete), HP_POP2(HP_intif_mercenary_delete), 2198 }, +{ HP_POP(intif->mercenary_save), HP_POP2(HP_intif_mercenary_save), 2200 }, +{ HP_POP(intif->Mail_requestinbox), HP_POP2(HP_intif_Mail_requestinbox), 2202 }, +{ HP_POP(intif->Mail_read), HP_POP2(HP_intif_Mail_read), 2204 }, +{ HP_POP(intif->Mail_getattach), HP_POP2(HP_intif_Mail_getattach), 2206 }, +{ HP_POP(intif->Mail_delete), HP_POP2(HP_intif_Mail_delete), 2208 }, +{ HP_POP(intif->Mail_return), HP_POP2(HP_intif_Mail_return), 2210 }, +{ HP_POP(intif->Mail_send), HP_POP2(HP_intif_Mail_send), 2212 }, +{ HP_POP(intif->Auction_requestlist), HP_POP2(HP_intif_Auction_requestlist), 2214 }, +{ HP_POP(intif->Auction_register), HP_POP2(HP_intif_Auction_register), 2216 }, +{ HP_POP(intif->Auction_cancel), HP_POP2(HP_intif_Auction_cancel), 2218 }, +{ HP_POP(intif->Auction_close), HP_POP2(HP_intif_Auction_close), 2220 }, +{ HP_POP(intif->Auction_bid), HP_POP2(HP_intif_Auction_bid), 2222 }, +{ HP_POP(intif->elemental_create), HP_POP2(HP_intif_elemental_create), 2224 }, +{ HP_POP(intif->elemental_request), HP_POP2(HP_intif_elemental_request), 2226 }, +{ HP_POP(intif->elemental_delete), HP_POP2(HP_intif_elemental_delete), 2228 }, +{ HP_POP(intif->elemental_save), HP_POP2(HP_intif_elemental_save), 2230 }, +{ HP_POP(intif->request_accinfo), HP_POP2(HP_intif_request_accinfo), 2232 }, +{ HP_POP(intif->CheckForCharServer), HP_POP2(HP_intif_CheckForCharServer), 2234 }, +{ HP_POP(intif->pWisMessage), HP_POP2(HP_intif_pWisMessage), 2236 }, +{ HP_POP(intif->pWisEnd), HP_POP2(HP_intif_pWisEnd), 2238 }, +{ HP_POP(intif->pWisToGM_sub), HP_POP2(HP_intif_pWisToGM_sub), 2240 }, +{ HP_POP(intif->pWisToGM), HP_POP2(HP_intif_pWisToGM), 2242 }, +{ HP_POP(intif->pRegisters), HP_POP2(HP_intif_pRegisters), 2244 }, +{ HP_POP(intif->pChangeNameOk), HP_POP2(HP_intif_pChangeNameOk), 2246 }, +{ HP_POP(intif->pMessageToFD), HP_POP2(HP_intif_pMessageToFD), 2248 }, +{ HP_POP(intif->pLoadGuildStorage), HP_POP2(HP_intif_pLoadGuildStorage), 2250 }, +{ HP_POP(intif->pSaveGuildStorage), HP_POP2(HP_intif_pSaveGuildStorage), 2252 }, +{ HP_POP(intif->pPartyCreated), HP_POP2(HP_intif_pPartyCreated), 2254 }, +{ HP_POP(intif->pPartyInfo), HP_POP2(HP_intif_pPartyInfo), 2256 }, +{ HP_POP(intif->pPartyMemberAdded), HP_POP2(HP_intif_pPartyMemberAdded), 2258 }, +{ HP_POP(intif->pPartyOptionChanged), HP_POP2(HP_intif_pPartyOptionChanged), 2260 }, +{ HP_POP(intif->pPartyMemberWithdraw), HP_POP2(HP_intif_pPartyMemberWithdraw), 2262 }, +{ HP_POP(intif->pPartyMove), HP_POP2(HP_intif_pPartyMove), 2264 }, +{ HP_POP(intif->pPartyBroken), HP_POP2(HP_intif_pPartyBroken), 2266 }, +{ HP_POP(intif->pPartyMessage), HP_POP2(HP_intif_pPartyMessage), 2268 }, +{ HP_POP(intif->pGuildCreated), HP_POP2(HP_intif_pGuildCreated), 2270 }, +{ HP_POP(intif->pGuildInfo), HP_POP2(HP_intif_pGuildInfo), 2272 }, +{ HP_POP(intif->pGuildMemberAdded), HP_POP2(HP_intif_pGuildMemberAdded), 2274 }, +{ HP_POP(intif->pGuildMemberWithdraw), HP_POP2(HP_intif_pGuildMemberWithdraw), 2276 }, +{ HP_POP(intif->pGuildMemberInfoShort), HP_POP2(HP_intif_pGuildMemberInfoShort), 2278 }, +{ HP_POP(intif->pGuildBroken), HP_POP2(HP_intif_pGuildBroken), 2280 }, +{ HP_POP(intif->pGuildMessage), HP_POP2(HP_intif_pGuildMessage), 2282 }, +{ HP_POP(intif->pGuildBasicInfoChanged), HP_POP2(HP_intif_pGuildBasicInfoChanged), 2284 }, +{ HP_POP(intif->pGuildMemberInfoChanged), HP_POP2(HP_intif_pGuildMemberInfoChanged), 2286 }, +{ HP_POP(intif->pGuildPosition), HP_POP2(HP_intif_pGuildPosition), 2288 }, +{ HP_POP(intif->pGuildSkillUp), HP_POP2(HP_intif_pGuildSkillUp), 2290 }, +{ HP_POP(intif->pGuildAlliance), HP_POP2(HP_intif_pGuildAlliance), 2292 }, +{ HP_POP(intif->pGuildNotice), HP_POP2(HP_intif_pGuildNotice), 2294 }, +{ HP_POP(intif->pGuildEmblem), HP_POP2(HP_intif_pGuildEmblem), 2296 }, +{ HP_POP(intif->pGuildCastleDataLoad), HP_POP2(HP_intif_pGuildCastleDataLoad), 2298 }, +{ HP_POP(intif->pGuildMasterChanged), HP_POP2(HP_intif_pGuildMasterChanged), 2300 }, +{ HP_POP(intif->pQuestLog), HP_POP2(HP_intif_pQuestLog), 2302 }, +{ HP_POP(intif->pQuestSave), HP_POP2(HP_intif_pQuestSave), 2304 }, +{ HP_POP(intif->pMailInboxReceived), HP_POP2(HP_intif_pMailInboxReceived), 2306 }, +{ HP_POP(intif->pMailNew), HP_POP2(HP_intif_pMailNew), 2308 }, +{ HP_POP(intif->pMailGetAttach), HP_POP2(HP_intif_pMailGetAttach), 2310 }, +{ HP_POP(intif->pMailDelete), HP_POP2(HP_intif_pMailDelete), 2312 }, +{ HP_POP(intif->pMailReturn), HP_POP2(HP_intif_pMailReturn), 2314 }, +{ HP_POP(intif->pMailSend), HP_POP2(HP_intif_pMailSend), 2316 }, +{ HP_POP(intif->pAuctionResults), HP_POP2(HP_intif_pAuctionResults), 2318 }, +{ HP_POP(intif->pAuctionRegister), HP_POP2(HP_intif_pAuctionRegister), 2320 }, +{ HP_POP(intif->pAuctionCancel), HP_POP2(HP_intif_pAuctionCancel), 2322 }, +{ HP_POP(intif->pAuctionClose), HP_POP2(HP_intif_pAuctionClose), 2324 }, +{ HP_POP(intif->pAuctionMessage), HP_POP2(HP_intif_pAuctionMessage), 2326 }, +{ HP_POP(intif->pAuctionBid), HP_POP2(HP_intif_pAuctionBid), 2328 }, +{ HP_POP(intif->pMercenaryReceived), HP_POP2(HP_intif_pMercenaryReceived), 2330 }, +{ HP_POP(intif->pMercenaryDeleted), HP_POP2(HP_intif_pMercenaryDeleted), 2332 }, +{ HP_POP(intif->pMercenarySaved), HP_POP2(HP_intif_pMercenarySaved), 2334 }, +{ HP_POP(intif->pElementalReceived), HP_POP2(HP_intif_pElementalReceived), 2336 }, +{ HP_POP(intif->pElementalDeleted), HP_POP2(HP_intif_pElementalDeleted), 2338 }, +{ HP_POP(intif->pElementalSaved), HP_POP2(HP_intif_pElementalSaved), 2340 }, +{ HP_POP(intif->pCreatePet), HP_POP2(HP_intif_pCreatePet), 2342 }, +{ HP_POP(intif->pRecvPetData), HP_POP2(HP_intif_pRecvPetData), 2344 }, +{ HP_POP(intif->pSavePetOk), HP_POP2(HP_intif_pSavePetOk), 2346 }, +{ HP_POP(intif->pDeletePetOk), HP_POP2(HP_intif_pDeletePetOk), 2348 }, +{ HP_POP(intif->pCreateHomunculus), HP_POP2(HP_intif_pCreateHomunculus), 2350 }, +{ HP_POP(intif->pRecvHomunculusData), HP_POP2(HP_intif_pRecvHomunculusData), 2352 }, +{ HP_POP(intif->pSaveHomunculusOk), HP_POP2(HP_intif_pSaveHomunculusOk), 2354 }, +{ HP_POP(intif->pDeleteHomunculusOk), HP_POP2(HP_intif_pDeleteHomunculusOk), 2356 }, /* ircbot */ -{ HP_POP(ircbot->init), HP_POP2(HP_ircbot_init), 2338 }, -{ HP_POP(ircbot->final), HP_POP2(HP_ircbot_final), 2340 }, -{ HP_POP(ircbot->parse), HP_POP2(HP_ircbot_parse), 2342 }, -{ HP_POP(ircbot->parse_sub), HP_POP2(HP_ircbot_parse_sub), 2344 }, -{ HP_POP(ircbot->parse_source), HP_POP2(HP_ircbot_parse_source), 2346 }, -{ HP_POP(ircbot->func_search), HP_POP2(HP_ircbot_func_search), 2348 }, -{ HP_POP(ircbot->connect_timer), HP_POP2(HP_ircbot_connect_timer), 2350 }, -{ HP_POP(ircbot->identify_timer), HP_POP2(HP_ircbot_identify_timer), 2352 }, -{ HP_POP(ircbot->join_timer), HP_POP2(HP_ircbot_join_timer), 2354 }, -{ HP_POP(ircbot->send), HP_POP2(HP_ircbot_send), 2356 }, -{ HP_POP(ircbot->relay), HP_POP2(HP_ircbot_relay), 2358 }, -{ HP_POP(ircbot->pong), HP_POP2(HP_ircbot_pong), 2360 }, -{ HP_POP(ircbot->privmsg), HP_POP2(HP_ircbot_privmsg), 2362 }, -{ HP_POP(ircbot->userjoin), HP_POP2(HP_ircbot_userjoin), 2364 }, -{ HP_POP(ircbot->userleave), HP_POP2(HP_ircbot_userleave), 2366 }, -{ HP_POP(ircbot->usernick), HP_POP2(HP_ircbot_usernick), 2368 }, +{ HP_POP(ircbot->init), HP_POP2(HP_ircbot_init), 2358 }, +{ HP_POP(ircbot->final), HP_POP2(HP_ircbot_final), 2360 }, +{ HP_POP(ircbot->parse), HP_POP2(HP_ircbot_parse), 2362 }, +{ HP_POP(ircbot->parse_sub), HP_POP2(HP_ircbot_parse_sub), 2364 }, +{ HP_POP(ircbot->parse_source), HP_POP2(HP_ircbot_parse_source), 2366 }, +{ HP_POP(ircbot->func_search), HP_POP2(HP_ircbot_func_search), 2368 }, +{ HP_POP(ircbot->connect_timer), HP_POP2(HP_ircbot_connect_timer), 2370 }, +{ HP_POP(ircbot->identify_timer), HP_POP2(HP_ircbot_identify_timer), 2372 }, +{ HP_POP(ircbot->join_timer), HP_POP2(HP_ircbot_join_timer), 2374 }, +{ HP_POP(ircbot->send), HP_POP2(HP_ircbot_send), 2376 }, +{ HP_POP(ircbot->relay), HP_POP2(HP_ircbot_relay), 2378 }, +{ HP_POP(ircbot->pong), HP_POP2(HP_ircbot_pong), 2380 }, +{ HP_POP(ircbot->privmsg), HP_POP2(HP_ircbot_privmsg), 2382 }, +{ HP_POP(ircbot->userjoin), HP_POP2(HP_ircbot_userjoin), 2384 }, +{ HP_POP(ircbot->userleave), HP_POP2(HP_ircbot_userleave), 2386 }, +{ HP_POP(ircbot->usernick), HP_POP2(HP_ircbot_usernick), 2388 }, /* itemdb */ -{ HP_POP(itemdb->init), HP_POP2(HP_itemdb_init), 2370 }, -{ HP_POP(itemdb->final), HP_POP2(HP_itemdb_final), 2372 }, -{ HP_POP(itemdb->reload), HP_POP2(HP_itemdb_reload), 2374 }, -{ HP_POP(itemdb->name_constants), HP_POP2(HP_itemdb_name_constants), 2376 }, -{ HP_POP(itemdb->force_name_constants), HP_POP2(HP_itemdb_force_name_constants), 2378 }, -{ HP_POP(itemdb->read_groups), HP_POP2(HP_itemdb_read_groups), 2380 }, -{ HP_POP(itemdb->read_chains), HP_POP2(HP_itemdb_read_chains), 2382 }, -{ HP_POP(itemdb->read_packages), HP_POP2(HP_itemdb_read_packages), 2384 }, -{ HP_POP(itemdb->write_cached_packages), HP_POP2(HP_itemdb_write_cached_packages), 2386 }, -{ HP_POP(itemdb->read_cached_packages), HP_POP2(HP_itemdb_read_cached_packages), 2388 }, -{ HP_POP(itemdb->name2id), HP_POP2(HP_itemdb_name2id), 2390 }, -{ HP_POP(itemdb->search_name), HP_POP2(HP_itemdb_search_name), 2392 }, -{ HP_POP(itemdb->search_name_array), HP_POP2(HP_itemdb_search_name_array), 2394 }, -{ HP_POP(itemdb->load), HP_POP2(HP_itemdb_load), 2396 }, -{ HP_POP(itemdb->search), HP_POP2(HP_itemdb_search), 2398 }, -{ HP_POP(itemdb->parse_dbrow), HP_POP2(HP_itemdb_parse_dbrow), 2400 }, -{ HP_POP(itemdb->exists), HP_POP2(HP_itemdb_exists), 2402 }, -{ HP_POP(itemdb->in_group), HP_POP2(HP_itemdb_in_group), 2404 }, -{ HP_POP(itemdb->group_item), HP_POP2(HP_itemdb_group_item), 2406 }, -{ HP_POP(itemdb->chain_item), HP_POP2(HP_itemdb_chain_item), 2408 }, -{ HP_POP(itemdb->package_item), HP_POP2(HP_itemdb_package_item), 2410 }, -{ HP_POP(itemdb->searchname_sub), HP_POP2(HP_itemdb_searchname_sub), 2412 }, -{ HP_POP(itemdb->searchname_array_sub), HP_POP2(HP_itemdb_searchname_array_sub), 2414 }, -{ HP_POP(itemdb->searchrandomid), HP_POP2(HP_itemdb_searchrandomid), 2416 }, -{ HP_POP(itemdb->typename), HP_POP2(HP_itemdb_typename), 2418 }, -{ HP_POP(itemdb->jobid2mapid), HP_POP2(HP_itemdb_jobid2mapid), 2420 }, -{ HP_POP(itemdb->create_dummy_data), HP_POP2(HP_itemdb_create_dummy_data), 2422 }, -{ HP_POP(itemdb->create_item_data), HP_POP2(HP_itemdb_create_item_data), 2424 }, -{ HP_POP(itemdb->isequip), HP_POP2(HP_itemdb_isequip), 2426 }, -{ HP_POP(itemdb->isequip2), HP_POP2(HP_itemdb_isequip2), 2428 }, -{ HP_POP(itemdb->isstackable), HP_POP2(HP_itemdb_isstackable), 2430 }, -{ HP_POP(itemdb->isstackable2), HP_POP2(HP_itemdb_isstackable2), 2432 }, -{ HP_POP(itemdb->isdropable_sub), HP_POP2(HP_itemdb_isdropable_sub), 2434 }, -{ HP_POP(itemdb->cantrade_sub), HP_POP2(HP_itemdb_cantrade_sub), 2436 }, -{ HP_POP(itemdb->canpartnertrade_sub), HP_POP2(HP_itemdb_canpartnertrade_sub), 2438 }, -{ HP_POP(itemdb->cansell_sub), HP_POP2(HP_itemdb_cansell_sub), 2440 }, -{ HP_POP(itemdb->cancartstore_sub), HP_POP2(HP_itemdb_cancartstore_sub), 2442 }, -{ HP_POP(itemdb->canstore_sub), HP_POP2(HP_itemdb_canstore_sub), 2444 }, -{ HP_POP(itemdb->canguildstore_sub), HP_POP2(HP_itemdb_canguildstore_sub), 2446 }, -{ HP_POP(itemdb->canmail_sub), HP_POP2(HP_itemdb_canmail_sub), 2448 }, -{ HP_POP(itemdb->canauction_sub), HP_POP2(HP_itemdb_canauction_sub), 2450 }, -{ HP_POP(itemdb->isrestricted), HP_POP2(HP_itemdb_isrestricted), 2452 }, -{ HP_POP(itemdb->isidentified), HP_POP2(HP_itemdb_isidentified), 2454 }, -{ HP_POP(itemdb->isidentified2), HP_POP2(HP_itemdb_isidentified2), 2456 }, -{ HP_POP(itemdb->read_itemavail), HP_POP2(HP_itemdb_read_itemavail), 2458 }, -{ HP_POP(itemdb->read_itemtrade), HP_POP2(HP_itemdb_read_itemtrade), 2460 }, -{ HP_POP(itemdb->read_itemdelay), HP_POP2(HP_itemdb_read_itemdelay), 2462 }, -{ HP_POP(itemdb->read_stack), HP_POP2(HP_itemdb_read_stack), 2464 }, -{ HP_POP(itemdb->read_buyingstore), HP_POP2(HP_itemdb_read_buyingstore), 2466 }, -{ HP_POP(itemdb->read_nouse), HP_POP2(HP_itemdb_read_nouse), 2468 }, -{ HP_POP(itemdb->combo_split_atoi), HP_POP2(HP_itemdb_combo_split_atoi), 2470 }, -{ HP_POP(itemdb->read_combos), HP_POP2(HP_itemdb_read_combos), 2472 }, -{ HP_POP(itemdb->gendercheck), HP_POP2(HP_itemdb_gendercheck), 2474 }, -{ HP_POP(itemdb->re_split_atoi), HP_POP2(HP_itemdb_re_split_atoi), 2476 }, -{ HP_POP(itemdb->readdb), HP_POP2(HP_itemdb_readdb), 2478 }, -{ HP_POP(itemdb->read_sqldb), HP_POP2(HP_itemdb_read_sqldb), 2480 }, -{ HP_POP(itemdb->unique_id), HP_POP2(HP_itemdb_unique_id), 2482 }, -{ HP_POP(itemdb->uid_load), HP_POP2(HP_itemdb_uid_load), 2484 }, -{ HP_POP(itemdb->read), HP_POP2(HP_itemdb_read), 2486 }, -{ HP_POP(itemdb->destroy_item_data), HP_POP2(HP_itemdb_destroy_item_data), 2488 }, -{ HP_POP(itemdb->final_sub), HP_POP2(HP_itemdb_final_sub), 2490 }, +{ HP_POP(itemdb->init), HP_POP2(HP_itemdb_init), 2390 }, +{ HP_POP(itemdb->final), HP_POP2(HP_itemdb_final), 2392 }, +{ HP_POP(itemdb->reload), HP_POP2(HP_itemdb_reload), 2394 }, +{ HP_POP(itemdb->name_constants), HP_POP2(HP_itemdb_name_constants), 2396 }, +{ HP_POP(itemdb->force_name_constants), HP_POP2(HP_itemdb_force_name_constants), 2398 }, +{ HP_POP(itemdb->read_groups), HP_POP2(HP_itemdb_read_groups), 2400 }, +{ HP_POP(itemdb->read_chains), HP_POP2(HP_itemdb_read_chains), 2402 }, +{ HP_POP(itemdb->read_packages), HP_POP2(HP_itemdb_read_packages), 2404 }, +{ HP_POP(itemdb->write_cached_packages), HP_POP2(HP_itemdb_write_cached_packages), 2406 }, +{ HP_POP(itemdb->read_cached_packages), HP_POP2(HP_itemdb_read_cached_packages), 2408 }, +{ HP_POP(itemdb->name2id), HP_POP2(HP_itemdb_name2id), 2410 }, +{ HP_POP(itemdb->search_name), HP_POP2(HP_itemdb_search_name), 2412 }, +{ HP_POP(itemdb->search_name_array), HP_POP2(HP_itemdb_search_name_array), 2414 }, +{ HP_POP(itemdb->load), HP_POP2(HP_itemdb_load), 2416 }, +{ HP_POP(itemdb->search), HP_POP2(HP_itemdb_search), 2418 }, +{ HP_POP(itemdb->parse_dbrow), HP_POP2(HP_itemdb_parse_dbrow), 2420 }, +{ HP_POP(itemdb->exists), HP_POP2(HP_itemdb_exists), 2422 }, +{ HP_POP(itemdb->in_group), HP_POP2(HP_itemdb_in_group), 2424 }, +{ HP_POP(itemdb->group_item), HP_POP2(HP_itemdb_group_item), 2426 }, +{ HP_POP(itemdb->chain_item), HP_POP2(HP_itemdb_chain_item), 2428 }, +{ HP_POP(itemdb->package_item), HP_POP2(HP_itemdb_package_item), 2430 }, +{ HP_POP(itemdb->searchname_sub), HP_POP2(HP_itemdb_searchname_sub), 2432 }, +{ HP_POP(itemdb->searchname_array_sub), HP_POP2(HP_itemdb_searchname_array_sub), 2434 }, +{ HP_POP(itemdb->searchrandomid), HP_POP2(HP_itemdb_searchrandomid), 2436 }, +{ HP_POP(itemdb->typename), HP_POP2(HP_itemdb_typename), 2438 }, +{ HP_POP(itemdb->jobid2mapid), HP_POP2(HP_itemdb_jobid2mapid), 2440 }, +{ HP_POP(itemdb->create_dummy_data), HP_POP2(HP_itemdb_create_dummy_data), 2442 }, +{ HP_POP(itemdb->create_item_data), HP_POP2(HP_itemdb_create_item_data), 2444 }, +{ HP_POP(itemdb->isequip), HP_POP2(HP_itemdb_isequip), 2446 }, +{ HP_POP(itemdb->isequip2), HP_POP2(HP_itemdb_isequip2), 2448 }, +{ HP_POP(itemdb->isstackable), HP_POP2(HP_itemdb_isstackable), 2450 }, +{ HP_POP(itemdb->isstackable2), HP_POP2(HP_itemdb_isstackable2), 2452 }, +{ HP_POP(itemdb->isdropable_sub), HP_POP2(HP_itemdb_isdropable_sub), 2454 }, +{ HP_POP(itemdb->cantrade_sub), HP_POP2(HP_itemdb_cantrade_sub), 2456 }, +{ HP_POP(itemdb->canpartnertrade_sub), HP_POP2(HP_itemdb_canpartnertrade_sub), 2458 }, +{ HP_POP(itemdb->cansell_sub), HP_POP2(HP_itemdb_cansell_sub), 2460 }, +{ HP_POP(itemdb->cancartstore_sub), HP_POP2(HP_itemdb_cancartstore_sub), 2462 }, +{ HP_POP(itemdb->canstore_sub), HP_POP2(HP_itemdb_canstore_sub), 2464 }, +{ HP_POP(itemdb->canguildstore_sub), HP_POP2(HP_itemdb_canguildstore_sub), 2466 }, +{ HP_POP(itemdb->canmail_sub), HP_POP2(HP_itemdb_canmail_sub), 2468 }, +{ HP_POP(itemdb->canauction_sub), HP_POP2(HP_itemdb_canauction_sub), 2470 }, +{ HP_POP(itemdb->isrestricted), HP_POP2(HP_itemdb_isrestricted), 2472 }, +{ HP_POP(itemdb->isidentified), HP_POP2(HP_itemdb_isidentified), 2474 }, +{ HP_POP(itemdb->isidentified2), HP_POP2(HP_itemdb_isidentified2), 2476 }, +{ HP_POP(itemdb->read_itemavail), HP_POP2(HP_itemdb_read_itemavail), 2478 }, +{ HP_POP(itemdb->read_itemtrade), HP_POP2(HP_itemdb_read_itemtrade), 2480 }, +{ HP_POP(itemdb->read_itemdelay), HP_POP2(HP_itemdb_read_itemdelay), 2482 }, +{ HP_POP(itemdb->read_stack), HP_POP2(HP_itemdb_read_stack), 2484 }, +{ HP_POP(itemdb->read_buyingstore), HP_POP2(HP_itemdb_read_buyingstore), 2486 }, +{ HP_POP(itemdb->read_nouse), HP_POP2(HP_itemdb_read_nouse), 2488 }, +{ HP_POP(itemdb->combo_split_atoi), HP_POP2(HP_itemdb_combo_split_atoi), 2490 }, +{ HP_POP(itemdb->read_combos), HP_POP2(HP_itemdb_read_combos), 2492 }, +{ HP_POP(itemdb->gendercheck), HP_POP2(HP_itemdb_gendercheck), 2494 }, +{ HP_POP(itemdb->re_split_atoi), HP_POP2(HP_itemdb_re_split_atoi), 2496 }, +{ HP_POP(itemdb->readdb), HP_POP2(HP_itemdb_readdb), 2498 }, +{ HP_POP(itemdb->read_sqldb), HP_POP2(HP_itemdb_read_sqldb), 2500 }, +{ HP_POP(itemdb->unique_id), HP_POP2(HP_itemdb_unique_id), 2502 }, +{ HP_POP(itemdb->uid_load), HP_POP2(HP_itemdb_uid_load), 2504 }, +{ HP_POP(itemdb->read), HP_POP2(HP_itemdb_read), 2506 }, +{ HP_POP(itemdb->destroy_item_data), HP_POP2(HP_itemdb_destroy_item_data), 2508 }, +{ HP_POP(itemdb->final_sub), HP_POP2(HP_itemdb_final_sub), 2510 }, /* logs */ -{ HP_POP(logs->pick_pc), HP_POP2(HP_logs_pick_pc), 2492 }, -{ HP_POP(logs->pick_mob), HP_POP2(HP_logs_pick_mob), 2494 }, -{ HP_POP(logs->zeny), HP_POP2(HP_logs_zeny), 2496 }, -{ HP_POP(logs->npc), HP_POP2(HP_logs_npc), 2498 }, -{ HP_POP(logs->chat), HP_POP2(HP_logs_chat), 2500 }, -{ HP_POP(logs->atcommand), HP_POP2(HP_logs_atcommand), 2502 }, -{ HP_POP(logs->branch), HP_POP2(HP_logs_branch), 2504 }, -{ HP_POP(logs->mvpdrop), HP_POP2(HP_logs_mvpdrop), 2506 }, -{ HP_POP(logs->pick_sub), HP_POP2(HP_logs_pick_sub), 2508 }, -{ HP_POP(logs->zeny_sub), HP_POP2(HP_logs_zeny_sub), 2510 }, -{ HP_POP(logs->npc_sub), HP_POP2(HP_logs_npc_sub), 2512 }, -{ HP_POP(logs->chat_sub), HP_POP2(HP_logs_chat_sub), 2514 }, -{ HP_POP(logs->atcommand_sub), HP_POP2(HP_logs_atcommand_sub), 2516 }, -{ HP_POP(logs->branch_sub), HP_POP2(HP_logs_branch_sub), 2518 }, -{ HP_POP(logs->mvpdrop_sub), HP_POP2(HP_logs_mvpdrop_sub), 2520 }, -{ HP_POP(logs->config_read), HP_POP2(HP_logs_config_read), 2522 }, -{ HP_POP(logs->config_done), HP_POP2(HP_logs_config_done), 2524 }, -{ HP_POP(logs->sql_init), HP_POP2(HP_logs_sql_init), 2526 }, -{ HP_POP(logs->sql_final), HP_POP2(HP_logs_sql_final), 2528 }, -{ HP_POP(logs->picktype2char), HP_POP2(HP_logs_picktype2char), 2530 }, -{ HP_POP(logs->chattype2char), HP_POP2(HP_logs_chattype2char), 2532 }, -{ HP_POP(logs->should_log_item), HP_POP2(HP_logs_should_log_item), 2534 }, +{ HP_POP(logs->pick_pc), HP_POP2(HP_logs_pick_pc), 2512 }, +{ HP_POP(logs->pick_mob), HP_POP2(HP_logs_pick_mob), 2514 }, +{ HP_POP(logs->zeny), HP_POP2(HP_logs_zeny), 2516 }, +{ HP_POP(logs->npc), HP_POP2(HP_logs_npc), 2518 }, +{ HP_POP(logs->chat), HP_POP2(HP_logs_chat), 2520 }, +{ HP_POP(logs->atcommand), HP_POP2(HP_logs_atcommand), 2522 }, +{ HP_POP(logs->branch), HP_POP2(HP_logs_branch), 2524 }, +{ HP_POP(logs->mvpdrop), HP_POP2(HP_logs_mvpdrop), 2526 }, +{ HP_POP(logs->pick_sub), HP_POP2(HP_logs_pick_sub), 2528 }, +{ HP_POP(logs->zeny_sub), HP_POP2(HP_logs_zeny_sub), 2530 }, +{ HP_POP(logs->npc_sub), HP_POP2(HP_logs_npc_sub), 2532 }, +{ HP_POP(logs->chat_sub), HP_POP2(HP_logs_chat_sub), 2534 }, +{ HP_POP(logs->atcommand_sub), HP_POP2(HP_logs_atcommand_sub), 2536 }, +{ HP_POP(logs->branch_sub), HP_POP2(HP_logs_branch_sub), 2538 }, +{ HP_POP(logs->mvpdrop_sub), HP_POP2(HP_logs_mvpdrop_sub), 2540 }, +{ HP_POP(logs->config_read), HP_POP2(HP_logs_config_read), 2542 }, +{ HP_POP(logs->config_done), HP_POP2(HP_logs_config_done), 2544 }, +{ HP_POP(logs->sql_init), HP_POP2(HP_logs_sql_init), 2546 }, +{ HP_POP(logs->sql_final), HP_POP2(HP_logs_sql_final), 2548 }, +{ HP_POP(logs->picktype2char), HP_POP2(HP_logs_picktype2char), 2550 }, +{ HP_POP(logs->chattype2char), HP_POP2(HP_logs_chattype2char), 2552 }, +{ HP_POP(logs->should_log_item), HP_POP2(HP_logs_should_log_item), 2554 }, /* mail */ -{ HP_POP(mail->clear), HP_POP2(HP_mail_clear), 2536 }, -{ HP_POP(mail->removeitem), HP_POP2(HP_mail_removeitem), 2538 }, -{ HP_POP(mail->removezeny), HP_POP2(HP_mail_removezeny), 2540 }, -{ HP_POP(mail->setitem), HP_POP2(HP_mail_setitem), 2542 }, -{ HP_POP(mail->setattachment), HP_POP2(HP_mail_setattachment), 2544 }, -{ HP_POP(mail->getattachment), HP_POP2(HP_mail_getattachment), 2546 }, -{ HP_POP(mail->openmail), HP_POP2(HP_mail_openmail), 2548 }, -{ HP_POP(mail->deliveryfail), HP_POP2(HP_mail_deliveryfail), 2550 }, -{ HP_POP(mail->invalid_operation), HP_POP2(HP_mail_invalid_operation), 2552 }, +{ HP_POP(mail->clear), HP_POP2(HP_mail_clear), 2556 }, +{ HP_POP(mail->removeitem), HP_POP2(HP_mail_removeitem), 2558 }, +{ HP_POP(mail->removezeny), HP_POP2(HP_mail_removezeny), 2560 }, +{ HP_POP(mail->setitem), HP_POP2(HP_mail_setitem), 2562 }, +{ HP_POP(mail->setattachment), HP_POP2(HP_mail_setattachment), 2564 }, +{ HP_POP(mail->getattachment), HP_POP2(HP_mail_getattachment), 2566 }, +{ HP_POP(mail->openmail), HP_POP2(HP_mail_openmail), 2568 }, +{ HP_POP(mail->deliveryfail), HP_POP2(HP_mail_deliveryfail), 2570 }, +{ HP_POP(mail->invalid_operation), HP_POP2(HP_mail_invalid_operation), 2572 }, /* map */ -{ HP_POP(map->zone_init), HP_POP2(HP_map_zone_init), 2554 }, -{ HP_POP(map->zone_remove), HP_POP2(HP_map_zone_remove), 2556 }, -{ HP_POP(map->zone_apply), HP_POP2(HP_map_zone_apply), 2558 }, -{ HP_POP(map->zone_change), HP_POP2(HP_map_zone_change), 2560 }, -{ HP_POP(map->zone_change2), HP_POP2(HP_map_zone_change2), 2562 }, -{ HP_POP(map->getcell), HP_POP2(HP_map_getcell), 2564 }, -{ HP_POP(map->setgatcell), HP_POP2(HP_map_setgatcell), 2566 }, -{ HP_POP(map->cellfromcache), HP_POP2(HP_map_cellfromcache), 2568 }, -{ HP_POP(map->setusers), HP_POP2(HP_map_setusers), 2570 }, -{ HP_POP(map->getusers), HP_POP2(HP_map_getusers), 2572 }, -{ HP_POP(map->usercount), HP_POP2(HP_map_usercount), 2574 }, -{ HP_POP(map->freeblock), HP_POP2(HP_map_freeblock), 2576 }, -{ HP_POP(map->freeblock_lock), HP_POP2(HP_map_freeblock_lock), 2578 }, -{ HP_POP(map->freeblock_unlock), HP_POP2(HP_map_freeblock_unlock), 2580 }, -{ HP_POP(map->addblock), HP_POP2(HP_map_addblock), 2582 }, -{ HP_POP(map->delblock), HP_POP2(HP_map_delblock), 2584 }, -{ HP_POP(map->moveblock), HP_POP2(HP_map_moveblock), 2586 }, -{ HP_POP(map->count_oncell), HP_POP2(HP_map_count_oncell), 2588 }, -{ HP_POP(map->find_skill_unit_oncell), HP_POP2(HP_map_find_skill_unit_oncell), 2590 }, -{ HP_POP(map->get_new_object_id), HP_POP2(HP_map_get_new_object_id), 2592 }, -{ HP_POP(map->search_freecell), HP_POP2(HP_map_search_freecell), 2594 }, -{ HP_POP(map->quit), HP_POP2(HP_map_quit), 2596 }, -{ HP_POP(map->addnpc), HP_POP2(HP_map_addnpc), 2598 }, -{ HP_POP(map->clearflooritem_timer), HP_POP2(HP_map_clearflooritem_timer), 2600 }, -{ HP_POP(map->removemobs_timer), HP_POP2(HP_map_removemobs_timer), 2602 }, -{ HP_POP(map->clearflooritem), HP_POP2(HP_map_clearflooritem), 2604 }, -{ HP_POP(map->addflooritem), HP_POP2(HP_map_addflooritem), 2606 }, -{ HP_POP(map->addnickdb), HP_POP2(HP_map_addnickdb), 2608 }, -{ HP_POP(map->delnickdb), HP_POP2(HP_map_delnickdb), 2610 }, -{ HP_POP(map->reqnickdb), HP_POP2(HP_map_reqnickdb), 2612 }, -{ HP_POP(map->charid2nick), HP_POP2(HP_map_charid2nick), 2614 }, -{ HP_POP(map->charid2sd), HP_POP2(HP_map_charid2sd), 2616 }, -{ HP_POP(map->vforeachpc), HP_POP2(HP_map_vforeachpc), 2618 }, -{ HP_POP(map->vforeachmob), HP_POP2(HP_map_vforeachmob), 2620 }, -{ HP_POP(map->vforeachnpc), HP_POP2(HP_map_vforeachnpc), 2622 }, -{ HP_POP(map->vforeachregen), HP_POP2(HP_map_vforeachregen), 2624 }, -{ HP_POP(map->vforeachiddb), HP_POP2(HP_map_vforeachiddb), 2626 }, -{ HP_POP(map->vforeachinrange), HP_POP2(HP_map_vforeachinrange), 2628 }, -{ HP_POP(map->vforeachinshootrange), HP_POP2(HP_map_vforeachinshootrange), 2630 }, -{ HP_POP(map->vforeachinarea), HP_POP2(HP_map_vforeachinarea), 2632 }, -{ HP_POP(map->vforcountinrange), HP_POP2(HP_map_vforcountinrange), 2634 }, -{ HP_POP(map->vforcountinarea), HP_POP2(HP_map_vforcountinarea), 2636 }, -{ HP_POP(map->vforeachinmovearea), HP_POP2(HP_map_vforeachinmovearea), 2638 }, -{ HP_POP(map->vforeachincell), HP_POP2(HP_map_vforeachincell), 2640 }, -{ HP_POP(map->vforeachinpath), HP_POP2(HP_map_vforeachinpath), 2642 }, -{ HP_POP(map->vforeachinmap), HP_POP2(HP_map_vforeachinmap), 2644 }, -{ HP_POP(map->vforeachininstance), HP_POP2(HP_map_vforeachininstance), 2646 }, -{ HP_POP(map->id2sd), HP_POP2(HP_map_id2sd), 2648 }, -{ HP_POP(map->id2md), HP_POP2(HP_map_id2md), 2650 }, -{ HP_POP(map->id2nd), HP_POP2(HP_map_id2nd), 2652 }, -{ HP_POP(map->id2hd), HP_POP2(HP_map_id2hd), 2654 }, -{ HP_POP(map->id2mc), HP_POP2(HP_map_id2mc), 2656 }, -{ HP_POP(map->id2cd), HP_POP2(HP_map_id2cd), 2658 }, -{ HP_POP(map->id2bl), HP_POP2(HP_map_id2bl), 2660 }, -{ HP_POP(map->blid_exists), HP_POP2(HP_map_blid_exists), 2662 }, -{ HP_POP(map->mapindex2mapid), HP_POP2(HP_map_mapindex2mapid), 2664 }, -{ HP_POP(map->mapname2mapid), HP_POP2(HP_map_mapname2mapid), 2666 }, -{ HP_POP(map->mapname2ipport), HP_POP2(HP_map_mapname2ipport), 2668 }, -{ HP_POP(map->setipport), HP_POP2(HP_map_setipport), 2670 }, -{ HP_POP(map->eraseipport), HP_POP2(HP_map_eraseipport), 2672 }, -{ HP_POP(map->eraseallipport), HP_POP2(HP_map_eraseallipport), 2674 }, -{ HP_POP(map->addiddb), HP_POP2(HP_map_addiddb), 2676 }, -{ HP_POP(map->deliddb), HP_POP2(HP_map_deliddb), 2678 }, -{ HP_POP(map->nick2sd), HP_POP2(HP_map_nick2sd), 2680 }, -{ HP_POP(map->getmob_boss), HP_POP2(HP_map_getmob_boss), 2682 }, -{ HP_POP(map->id2boss), HP_POP2(HP_map_id2boss), 2684 }, -{ HP_POP(map->reloadnpc), HP_POP2(HP_map_reloadnpc), 2686 }, -{ HP_POP(map->check_dir), HP_POP2(HP_map_check_dir), 2688 }, -{ HP_POP(map->calc_dir), HP_POP2(HP_map_calc_dir), 2690 }, -{ HP_POP(map->random_dir), HP_POP2(HP_map_random_dir), 2692 }, -{ HP_POP(map->cleanup_sub), HP_POP2(HP_map_cleanup_sub), 2694 }, -{ HP_POP(map->delmap), HP_POP2(HP_map_delmap), 2696 }, -{ HP_POP(map->flags_init), HP_POP2(HP_map_flags_init), 2698 }, -{ HP_POP(map->iwall_set), HP_POP2(HP_map_iwall_set), 2700 }, -{ HP_POP(map->iwall_get), HP_POP2(HP_map_iwall_get), 2702 }, -{ HP_POP(map->iwall_remove), HP_POP2(HP_map_iwall_remove), 2704 }, -{ HP_POP(map->addmobtolist), HP_POP2(HP_map_addmobtolist), 2706 }, -{ HP_POP(map->spawnmobs), HP_POP2(HP_map_spawnmobs), 2708 }, -{ HP_POP(map->removemobs), HP_POP2(HP_map_removemobs), 2710 }, -{ HP_POP(map->addmap2db), HP_POP2(HP_map_addmap2db), 2712 }, -{ HP_POP(map->removemapdb), HP_POP2(HP_map_removemapdb), 2714 }, -{ HP_POP(map->clean), HP_POP2(HP_map_clean), 2716 }, -{ HP_POP(map->do_shutdown), HP_POP2(HP_map_do_shutdown), 2718 }, -{ HP_POP(map->freeblock_timer), HP_POP2(HP_map_freeblock_timer), 2720 }, -{ HP_POP(map->searchrandfreecell), HP_POP2(HP_map_searchrandfreecell), 2722 }, -{ HP_POP(map->count_sub), HP_POP2(HP_map_count_sub), 2724 }, -{ HP_POP(map->create_charid2nick), HP_POP2(HP_map_create_charid2nick), 2726 }, -{ HP_POP(map->removemobs_sub), HP_POP2(HP_map_removemobs_sub), 2728 }, -{ HP_POP(map->gat2cell), HP_POP2(HP_map_gat2cell), 2730 }, -{ HP_POP(map->cell2gat), HP_POP2(HP_map_cell2gat), 2732 }, -{ HP_POP(map->getcellp), HP_POP2(HP_map_getcellp), 2734 }, -{ HP_POP(map->setcell), HP_POP2(HP_map_setcell), 2736 }, -{ HP_POP(map->sub_getcellp), HP_POP2(HP_map_sub_getcellp), 2738 }, -{ HP_POP(map->sub_setcell), HP_POP2(HP_map_sub_setcell), 2740 }, -{ HP_POP(map->iwall_nextxy), HP_POP2(HP_map_iwall_nextxy), 2742 }, -{ HP_POP(map->create_map_data_other_server), HP_POP2(HP_map_create_map_data_other_server), 2744 }, -{ HP_POP(map->eraseallipport_sub), HP_POP2(HP_map_eraseallipport_sub), 2746 }, -{ HP_POP(map->init_mapcache), HP_POP2(HP_map_init_mapcache), 2748 }, -{ HP_POP(map->readfromcache), HP_POP2(HP_map_readfromcache), 2750 }, -{ HP_POP(map->addmap), HP_POP2(HP_map_addmap), 2752 }, -{ HP_POP(map->delmapid), HP_POP2(HP_map_delmapid), 2754 }, -{ HP_POP(map->zone_db_clear), HP_POP2(HP_map_zone_db_clear), 2756 }, -{ HP_POP(map->list_final), HP_POP2(HP_map_list_final), 2758 }, -{ HP_POP(map->waterheight), HP_POP2(HP_map_waterheight), 2760 }, -{ HP_POP(map->readgat), HP_POP2(HP_map_readgat), 2762 }, -{ HP_POP(map->readallmaps), HP_POP2(HP_map_readallmaps), 2764 }, -{ HP_POP(map->config_read), HP_POP2(HP_map_config_read), 2766 }, -{ HP_POP(map->config_read_sub), HP_POP2(HP_map_config_read_sub), 2768 }, -{ HP_POP(map->reloadnpc_sub), HP_POP2(HP_map_reloadnpc_sub), 2770 }, -{ HP_POP(map->inter_config_read), HP_POP2(HP_map_inter_config_read), 2772 }, -{ HP_POP(map->sql_init), HP_POP2(HP_map_sql_init), 2774 }, -{ HP_POP(map->sql_close), HP_POP2(HP_map_sql_close), 2776 }, -{ HP_POP(map->zone_mf_cache), HP_POP2(HP_map_zone_mf_cache), 2778 }, -{ HP_POP(map->zone_str2itemid), HP_POP2(HP_map_zone_str2itemid), 2780 }, -{ HP_POP(map->zone_str2skillid), HP_POP2(HP_map_zone_str2skillid), 2782 }, -{ HP_POP(map->zone_bl_type), HP_POP2(HP_map_zone_bl_type), 2784 }, -{ HP_POP(map->read_zone_db), HP_POP2(HP_map_read_zone_db), 2786 }, -{ HP_POP(map->db_final), HP_POP2(HP_map_db_final), 2788 }, -{ HP_POP(map->nick_db_final), HP_POP2(HP_map_nick_db_final), 2790 }, -{ HP_POP(map->cleanup_db_sub), HP_POP2(HP_map_cleanup_db_sub), 2792 }, -{ HP_POP(map->abort_sub), HP_POP2(HP_map_abort_sub), 2794 }, -{ HP_POP(map->helpscreen), HP_POP2(HP_map_helpscreen), 2796 }, -{ HP_POP(map->versionscreen), HP_POP2(HP_map_versionscreen), 2798 }, -{ HP_POP(map->arg_next_value), HP_POP2(HP_map_arg_next_value), 2800 }, -{ HP_POP(map->addblcell), HP_POP2(HP_map_addblcell), 2802 }, -{ HP_POP(map->delblcell), HP_POP2(HP_map_delblcell), 2804 }, +{ HP_POP(map->zone_init), HP_POP2(HP_map_zone_init), 2574 }, +{ HP_POP(map->zone_remove), HP_POP2(HP_map_zone_remove), 2576 }, +{ HP_POP(map->zone_apply), HP_POP2(HP_map_zone_apply), 2578 }, +{ HP_POP(map->zone_change), HP_POP2(HP_map_zone_change), 2580 }, +{ HP_POP(map->zone_change2), HP_POP2(HP_map_zone_change2), 2582 }, +{ HP_POP(map->getcell), HP_POP2(HP_map_getcell), 2584 }, +{ HP_POP(map->setgatcell), HP_POP2(HP_map_setgatcell), 2586 }, +{ HP_POP(map->cellfromcache), HP_POP2(HP_map_cellfromcache), 2588 }, +{ HP_POP(map->setusers), HP_POP2(HP_map_setusers), 2590 }, +{ HP_POP(map->getusers), HP_POP2(HP_map_getusers), 2592 }, +{ HP_POP(map->usercount), HP_POP2(HP_map_usercount), 2594 }, +{ HP_POP(map->freeblock), HP_POP2(HP_map_freeblock), 2596 }, +{ HP_POP(map->freeblock_lock), HP_POP2(HP_map_freeblock_lock), 2598 }, +{ HP_POP(map->freeblock_unlock), HP_POP2(HP_map_freeblock_unlock), 2600 }, +{ HP_POP(map->addblock), HP_POP2(HP_map_addblock), 2602 }, +{ HP_POP(map->delblock), HP_POP2(HP_map_delblock), 2604 }, +{ HP_POP(map->moveblock), HP_POP2(HP_map_moveblock), 2606 }, +{ HP_POP(map->count_oncell), HP_POP2(HP_map_count_oncell), 2608 }, +{ HP_POP(map->find_skill_unit_oncell), HP_POP2(HP_map_find_skill_unit_oncell), 2610 }, +{ HP_POP(map->get_new_object_id), HP_POP2(HP_map_get_new_object_id), 2612 }, +{ HP_POP(map->search_freecell), HP_POP2(HP_map_search_freecell), 2614 }, +{ HP_POP(map->quit), HP_POP2(HP_map_quit), 2616 }, +{ HP_POP(map->addnpc), HP_POP2(HP_map_addnpc), 2618 }, +{ HP_POP(map->clearflooritem_timer), HP_POP2(HP_map_clearflooritem_timer), 2620 }, +{ HP_POP(map->removemobs_timer), HP_POP2(HP_map_removemobs_timer), 2622 }, +{ HP_POP(map->clearflooritem), HP_POP2(HP_map_clearflooritem), 2624 }, +{ HP_POP(map->addflooritem), HP_POP2(HP_map_addflooritem), 2626 }, +{ HP_POP(map->addnickdb), HP_POP2(HP_map_addnickdb), 2628 }, +{ HP_POP(map->delnickdb), HP_POP2(HP_map_delnickdb), 2630 }, +{ HP_POP(map->reqnickdb), HP_POP2(HP_map_reqnickdb), 2632 }, +{ HP_POP(map->charid2nick), HP_POP2(HP_map_charid2nick), 2634 }, +{ HP_POP(map->charid2sd), HP_POP2(HP_map_charid2sd), 2636 }, +{ HP_POP(map->vforeachpc), HP_POP2(HP_map_vforeachpc), 2638 }, +{ HP_POP(map->vforeachmob), HP_POP2(HP_map_vforeachmob), 2640 }, +{ HP_POP(map->vforeachnpc), HP_POP2(HP_map_vforeachnpc), 2642 }, +{ HP_POP(map->vforeachregen), HP_POP2(HP_map_vforeachregen), 2644 }, +{ HP_POP(map->vforeachiddb), HP_POP2(HP_map_vforeachiddb), 2646 }, +{ HP_POP(map->vforeachinrange), HP_POP2(HP_map_vforeachinrange), 2648 }, +{ HP_POP(map->vforeachinshootrange), HP_POP2(HP_map_vforeachinshootrange), 2650 }, +{ HP_POP(map->vforeachinarea), HP_POP2(HP_map_vforeachinarea), 2652 }, +{ HP_POP(map->vforcountinrange), HP_POP2(HP_map_vforcountinrange), 2654 }, +{ HP_POP(map->vforcountinarea), HP_POP2(HP_map_vforcountinarea), 2656 }, +{ HP_POP(map->vforeachinmovearea), HP_POP2(HP_map_vforeachinmovearea), 2658 }, +{ HP_POP(map->vforeachincell), HP_POP2(HP_map_vforeachincell), 2660 }, +{ HP_POP(map->vforeachinpath), HP_POP2(HP_map_vforeachinpath), 2662 }, +{ HP_POP(map->vforeachinmap), HP_POP2(HP_map_vforeachinmap), 2664 }, +{ HP_POP(map->vforeachininstance), HP_POP2(HP_map_vforeachininstance), 2666 }, +{ HP_POP(map->id2sd), HP_POP2(HP_map_id2sd), 2668 }, +{ HP_POP(map->id2md), HP_POP2(HP_map_id2md), 2670 }, +{ HP_POP(map->id2nd), HP_POP2(HP_map_id2nd), 2672 }, +{ HP_POP(map->id2hd), HP_POP2(HP_map_id2hd), 2674 }, +{ HP_POP(map->id2mc), HP_POP2(HP_map_id2mc), 2676 }, +{ HP_POP(map->id2cd), HP_POP2(HP_map_id2cd), 2678 }, +{ HP_POP(map->id2bl), HP_POP2(HP_map_id2bl), 2680 }, +{ HP_POP(map->blid_exists), HP_POP2(HP_map_blid_exists), 2682 }, +{ HP_POP(map->mapindex2mapid), HP_POP2(HP_map_mapindex2mapid), 2684 }, +{ HP_POP(map->mapname2mapid), HP_POP2(HP_map_mapname2mapid), 2686 }, +{ HP_POP(map->mapname2ipport), HP_POP2(HP_map_mapname2ipport), 2688 }, +{ HP_POP(map->setipport), HP_POP2(HP_map_setipport), 2690 }, +{ HP_POP(map->eraseipport), HP_POP2(HP_map_eraseipport), 2692 }, +{ HP_POP(map->eraseallipport), HP_POP2(HP_map_eraseallipport), 2694 }, +{ HP_POP(map->addiddb), HP_POP2(HP_map_addiddb), 2696 }, +{ HP_POP(map->deliddb), HP_POP2(HP_map_deliddb), 2698 }, +{ HP_POP(map->nick2sd), HP_POP2(HP_map_nick2sd), 2700 }, +{ HP_POP(map->getmob_boss), HP_POP2(HP_map_getmob_boss), 2702 }, +{ HP_POP(map->id2boss), HP_POP2(HP_map_id2boss), 2704 }, +{ HP_POP(map->reloadnpc), HP_POP2(HP_map_reloadnpc), 2706 }, +{ HP_POP(map->check_dir), HP_POP2(HP_map_check_dir), 2708 }, +{ HP_POP(map->calc_dir), HP_POP2(HP_map_calc_dir), 2710 }, +{ HP_POP(map->random_dir), HP_POP2(HP_map_random_dir), 2712 }, +{ HP_POP(map->cleanup_sub), HP_POP2(HP_map_cleanup_sub), 2714 }, +{ HP_POP(map->delmap), HP_POP2(HP_map_delmap), 2716 }, +{ HP_POP(map->flags_init), HP_POP2(HP_map_flags_init), 2718 }, +{ HP_POP(map->iwall_set), HP_POP2(HP_map_iwall_set), 2720 }, +{ HP_POP(map->iwall_get), HP_POP2(HP_map_iwall_get), 2722 }, +{ HP_POP(map->iwall_remove), HP_POP2(HP_map_iwall_remove), 2724 }, +{ HP_POP(map->addmobtolist), HP_POP2(HP_map_addmobtolist), 2726 }, +{ HP_POP(map->spawnmobs), HP_POP2(HP_map_spawnmobs), 2728 }, +{ HP_POP(map->removemobs), HP_POP2(HP_map_removemobs), 2730 }, +{ HP_POP(map->addmap2db), HP_POP2(HP_map_addmap2db), 2732 }, +{ HP_POP(map->removemapdb), HP_POP2(HP_map_removemapdb), 2734 }, +{ HP_POP(map->clean), HP_POP2(HP_map_clean), 2736 }, +{ HP_POP(map->do_shutdown), HP_POP2(HP_map_do_shutdown), 2738 }, +{ HP_POP(map->freeblock_timer), HP_POP2(HP_map_freeblock_timer), 2740 }, +{ HP_POP(map->searchrandfreecell), HP_POP2(HP_map_searchrandfreecell), 2742 }, +{ HP_POP(map->count_sub), HP_POP2(HP_map_count_sub), 2744 }, +{ HP_POP(map->create_charid2nick), HP_POP2(HP_map_create_charid2nick), 2746 }, +{ HP_POP(map->removemobs_sub), HP_POP2(HP_map_removemobs_sub), 2748 }, +{ HP_POP(map->gat2cell), HP_POP2(HP_map_gat2cell), 2750 }, +{ HP_POP(map->cell2gat), HP_POP2(HP_map_cell2gat), 2752 }, +{ HP_POP(map->getcellp), HP_POP2(HP_map_getcellp), 2754 }, +{ HP_POP(map->setcell), HP_POP2(HP_map_setcell), 2756 }, +{ HP_POP(map->sub_getcellp), HP_POP2(HP_map_sub_getcellp), 2758 }, +{ HP_POP(map->sub_setcell), HP_POP2(HP_map_sub_setcell), 2760 }, +{ HP_POP(map->iwall_nextxy), HP_POP2(HP_map_iwall_nextxy), 2762 }, +{ HP_POP(map->create_map_data_other_server), HP_POP2(HP_map_create_map_data_other_server), 2764 }, +{ HP_POP(map->eraseallipport_sub), HP_POP2(HP_map_eraseallipport_sub), 2766 }, +{ HP_POP(map->init_mapcache), HP_POP2(HP_map_init_mapcache), 2768 }, +{ HP_POP(map->readfromcache), HP_POP2(HP_map_readfromcache), 2770 }, +{ HP_POP(map->addmap), HP_POP2(HP_map_addmap), 2772 }, +{ HP_POP(map->delmapid), HP_POP2(HP_map_delmapid), 2774 }, +{ HP_POP(map->zone_db_clear), HP_POP2(HP_map_zone_db_clear), 2776 }, +{ HP_POP(map->list_final), HP_POP2(HP_map_list_final), 2778 }, +{ HP_POP(map->waterheight), HP_POP2(HP_map_waterheight), 2780 }, +{ HP_POP(map->readgat), HP_POP2(HP_map_readgat), 2782 }, +{ HP_POP(map->readallmaps), HP_POP2(HP_map_readallmaps), 2784 }, +{ HP_POP(map->config_read), HP_POP2(HP_map_config_read), 2786 }, +{ HP_POP(map->config_read_sub), HP_POP2(HP_map_config_read_sub), 2788 }, +{ HP_POP(map->reloadnpc_sub), HP_POP2(HP_map_reloadnpc_sub), 2790 }, +{ HP_POP(map->inter_config_read), HP_POP2(HP_map_inter_config_read), 2792 }, +{ HP_POP(map->sql_init), HP_POP2(HP_map_sql_init), 2794 }, +{ HP_POP(map->sql_close), HP_POP2(HP_map_sql_close), 2796 }, +{ HP_POP(map->zone_mf_cache), HP_POP2(HP_map_zone_mf_cache), 2798 }, +{ HP_POP(map->zone_str2itemid), HP_POP2(HP_map_zone_str2itemid), 2800 }, +{ HP_POP(map->zone_str2skillid), HP_POP2(HP_map_zone_str2skillid), 2802 }, +{ HP_POP(map->zone_bl_type), HP_POP2(HP_map_zone_bl_type), 2804 }, +{ HP_POP(map->read_zone_db), HP_POP2(HP_map_read_zone_db), 2806 }, +{ HP_POP(map->db_final), HP_POP2(HP_map_db_final), 2808 }, +{ HP_POP(map->nick_db_final), HP_POP2(HP_map_nick_db_final), 2810 }, +{ HP_POP(map->cleanup_db_sub), HP_POP2(HP_map_cleanup_db_sub), 2812 }, +{ HP_POP(map->abort_sub), HP_POP2(HP_map_abort_sub), 2814 }, +{ HP_POP(map->helpscreen), HP_POP2(HP_map_helpscreen), 2816 }, +{ HP_POP(map->versionscreen), HP_POP2(HP_map_versionscreen), 2818 }, +{ HP_POP(map->arg_next_value), HP_POP2(HP_map_arg_next_value), 2820 }, +{ HP_POP(map->addblcell), HP_POP2(HP_map_addblcell), 2822 }, +{ HP_POP(map->delblcell), HP_POP2(HP_map_delblcell), 2824 }, /* mapit */ -{ HP_POP(mapit->alloc), HP_POP2(HP_mapit_alloc), 2806 }, -{ HP_POP(mapit->free), HP_POP2(HP_mapit_free), 2808 }, -{ HP_POP(mapit->first), HP_POP2(HP_mapit_first), 2810 }, -{ HP_POP(mapit->last), HP_POP2(HP_mapit_last), 2812 }, -{ HP_POP(mapit->next), HP_POP2(HP_mapit_next), 2814 }, -{ HP_POP(mapit->prev), HP_POP2(HP_mapit_prev), 2816 }, -{ HP_POP(mapit->exists), HP_POP2(HP_mapit_exists), 2818 }, +{ HP_POP(mapit->alloc), HP_POP2(HP_mapit_alloc), 2826 }, +{ HP_POP(mapit->free), HP_POP2(HP_mapit_free), 2828 }, +{ HP_POP(mapit->first), HP_POP2(HP_mapit_first), 2830 }, +{ HP_POP(mapit->last), HP_POP2(HP_mapit_last), 2832 }, +{ HP_POP(mapit->next), HP_POP2(HP_mapit_next), 2834 }, +{ HP_POP(mapit->prev), HP_POP2(HP_mapit_prev), 2836 }, +{ HP_POP(mapit->exists), HP_POP2(HP_mapit_exists), 2838 }, /* mapreg */ -{ HP_POP(mapreg->init), HP_POP2(HP_mapreg_init), 2820 }, -{ HP_POP(mapreg->final), HP_POP2(HP_mapreg_final), 2822 }, -{ HP_POP(mapreg->readreg), HP_POP2(HP_mapreg_readreg), 2824 }, -{ HP_POP(mapreg->readregstr), HP_POP2(HP_mapreg_readregstr), 2826 }, -{ HP_POP(mapreg->setreg), HP_POP2(HP_mapreg_setreg), 2828 }, -{ HP_POP(mapreg->setregstr), HP_POP2(HP_mapreg_setregstr), 2830 }, -{ HP_POP(mapreg->load), HP_POP2(HP_mapreg_load), 2832 }, -{ HP_POP(mapreg->save), HP_POP2(HP_mapreg_save), 2834 }, -{ HP_POP(mapreg->save_timer), HP_POP2(HP_mapreg_save_timer), 2836 }, -{ HP_POP(mapreg->reload), HP_POP2(HP_mapreg_reload), 2838 }, -{ HP_POP(mapreg->config_read), HP_POP2(HP_mapreg_config_read), 2840 }, +{ HP_POP(mapreg->init), HP_POP2(HP_mapreg_init), 2840 }, +{ HP_POP(mapreg->final), HP_POP2(HP_mapreg_final), 2842 }, +{ HP_POP(mapreg->readreg), HP_POP2(HP_mapreg_readreg), 2844 }, +{ HP_POP(mapreg->readregstr), HP_POP2(HP_mapreg_readregstr), 2846 }, +{ HP_POP(mapreg->setreg), HP_POP2(HP_mapreg_setreg), 2848 }, +{ HP_POP(mapreg->setregstr), HP_POP2(HP_mapreg_setregstr), 2850 }, +{ HP_POP(mapreg->load), HP_POP2(HP_mapreg_load), 2852 }, +{ HP_POP(mapreg->save), HP_POP2(HP_mapreg_save), 2854 }, +{ HP_POP(mapreg->save_timer), HP_POP2(HP_mapreg_save_timer), 2856 }, +{ HP_POP(mapreg->reload), HP_POP2(HP_mapreg_reload), 2858 }, +{ HP_POP(mapreg->config_read), HP_POP2(HP_mapreg_config_read), 2860 }, /* mercenary */ -{ HP_POP(mercenary->init), HP_POP2(HP_mercenary_init), 2842 }, -{ HP_POP(mercenary->class), HP_POP2(HP_mercenary_class), 2844 }, -{ HP_POP(mercenary->get_viewdata), HP_POP2(HP_mercenary_get_viewdata), 2846 }, -{ HP_POP(mercenary->create), HP_POP2(HP_mercenary_create), 2848 }, -{ HP_POP(mercenary->data_received), HP_POP2(HP_mercenary_data_received), 2850 }, -{ HP_POP(mercenary->save), HP_POP2(HP_mercenary_save), 2852 }, -{ HP_POP(mercenary->heal), HP_POP2(HP_mercenary_heal), 2854 }, -{ HP_POP(mercenary->dead), HP_POP2(HP_mercenary_dead), 2856 }, -{ HP_POP(mercenary->delete), HP_POP2(HP_mercenary_delete), 2858 }, -{ HP_POP(mercenary->contract_stop), HP_POP2(HP_mercenary_contract_stop), 2860 }, -{ HP_POP(mercenary->get_lifetime), HP_POP2(HP_mercenary_get_lifetime), 2862 }, -{ HP_POP(mercenary->get_guild), HP_POP2(HP_mercenary_get_guild), 2864 }, -{ HP_POP(mercenary->get_faith), HP_POP2(HP_mercenary_get_faith), 2866 }, -{ HP_POP(mercenary->set_faith), HP_POP2(HP_mercenary_set_faith), 2868 }, -{ HP_POP(mercenary->get_calls), HP_POP2(HP_mercenary_get_calls), 2870 }, -{ HP_POP(mercenary->set_calls), HP_POP2(HP_mercenary_set_calls), 2872 }, -{ HP_POP(mercenary->kills), HP_POP2(HP_mercenary_kills), 2874 }, -{ HP_POP(mercenary->checkskill), HP_POP2(HP_mercenary_checkskill), 2876 }, -{ HP_POP(mercenary->read_db), HP_POP2(HP_mercenary_read_db), 2878 }, -{ HP_POP(mercenary->read_skilldb), HP_POP2(HP_mercenary_read_skilldb), 2880 }, -{ HP_POP(mercenary->killbonus), HP_POP2(HP_mercenary_killbonus), 2882 }, -{ HP_POP(mercenary->search_index), HP_POP2(HP_mercenary_search_index), 2884 }, -{ HP_POP(mercenary->contract_end_timer), HP_POP2(HP_mercenary_contract_end_timer), 2886 }, -{ HP_POP(mercenary->read_db_sub), HP_POP2(HP_mercenary_read_db_sub), 2888 }, -{ HP_POP(mercenary->read_skill_db_sub), HP_POP2(HP_mercenary_read_skill_db_sub), 2890 }, +{ HP_POP(mercenary->init), HP_POP2(HP_mercenary_init), 2862 }, +{ HP_POP(mercenary->class), HP_POP2(HP_mercenary_class), 2864 }, +{ HP_POP(mercenary->get_viewdata), HP_POP2(HP_mercenary_get_viewdata), 2866 }, +{ HP_POP(mercenary->create), HP_POP2(HP_mercenary_create), 2868 }, +{ HP_POP(mercenary->data_received), HP_POP2(HP_mercenary_data_received), 2870 }, +{ HP_POP(mercenary->save), HP_POP2(HP_mercenary_save), 2872 }, +{ HP_POP(mercenary->heal), HP_POP2(HP_mercenary_heal), 2874 }, +{ HP_POP(mercenary->dead), HP_POP2(HP_mercenary_dead), 2876 }, +{ HP_POP(mercenary->delete), HP_POP2(HP_mercenary_delete), 2878 }, +{ HP_POP(mercenary->contract_stop), HP_POP2(HP_mercenary_contract_stop), 2880 }, +{ HP_POP(mercenary->get_lifetime), HP_POP2(HP_mercenary_get_lifetime), 2882 }, +{ HP_POP(mercenary->get_guild), HP_POP2(HP_mercenary_get_guild), 2884 }, +{ HP_POP(mercenary->get_faith), HP_POP2(HP_mercenary_get_faith), 2886 }, +{ HP_POP(mercenary->set_faith), HP_POP2(HP_mercenary_set_faith), 2888 }, +{ HP_POP(mercenary->get_calls), HP_POP2(HP_mercenary_get_calls), 2890 }, +{ HP_POP(mercenary->set_calls), HP_POP2(HP_mercenary_set_calls), 2892 }, +{ HP_POP(mercenary->kills), HP_POP2(HP_mercenary_kills), 2894 }, +{ HP_POP(mercenary->checkskill), HP_POP2(HP_mercenary_checkskill), 2896 }, +{ HP_POP(mercenary->read_db), HP_POP2(HP_mercenary_read_db), 2898 }, +{ HP_POP(mercenary->read_skilldb), HP_POP2(HP_mercenary_read_skilldb), 2900 }, +{ HP_POP(mercenary->killbonus), HP_POP2(HP_mercenary_killbonus), 2902 }, +{ HP_POP(mercenary->search_index), HP_POP2(HP_mercenary_search_index), 2904 }, +{ HP_POP(mercenary->contract_end_timer), HP_POP2(HP_mercenary_contract_end_timer), 2906 }, +{ HP_POP(mercenary->read_db_sub), HP_POP2(HP_mercenary_read_db_sub), 2908 }, +{ HP_POP(mercenary->read_skill_db_sub), HP_POP2(HP_mercenary_read_skill_db_sub), 2910 }, /* mob */ -{ HP_POP(mob->init), HP_POP2(HP_mob_init), 2892 }, -{ HP_POP(mob->final), HP_POP2(HP_mob_final), 2894 }, -{ HP_POP(mob->reload), HP_POP2(HP_mob_reload), 2896 }, -{ HP_POP(mob->db), HP_POP2(HP_mob_db), 2898 }, -{ HP_POP(mob->chat), HP_POP2(HP_mob_chat), 2900 }, -{ HP_POP(mob->makedummymobdb), HP_POP2(HP_mob_makedummymobdb), 2902 }, -{ HP_POP(mob->spawn_guardian_sub), HP_POP2(HP_mob_spawn_guardian_sub), 2904 }, -{ HP_POP(mob->skill_id2skill_idx), HP_POP2(HP_mob_skill_id2skill_idx), 2906 }, -{ HP_POP(mob->db_searchname), HP_POP2(HP_mob_db_searchname), 2908 }, -{ HP_POP(mob->db_searchname_array_sub), HP_POP2(HP_mob_db_searchname_array_sub), 2910 }, -{ HP_POP(mob->mvptomb_create), HP_POP2(HP_mob_mvptomb_create), 2912 }, -{ HP_POP(mob->mvptomb_destroy), HP_POP2(HP_mob_mvptomb_destroy), 2914 }, -{ HP_POP(mob->db_searchname_array), HP_POP2(HP_mob_db_searchname_array), 2916 }, -{ HP_POP(mob->db_checkid), HP_POP2(HP_mob_db_checkid), 2918 }, -{ HP_POP(mob->get_viewdata), HP_POP2(HP_mob_get_viewdata), 2920 }, -{ HP_POP(mob->parse_dataset), HP_POP2(HP_mob_parse_dataset), 2922 }, -{ HP_POP(mob->spawn_dataset), HP_POP2(HP_mob_spawn_dataset), 2924 }, -{ HP_POP(mob->get_random_id), HP_POP2(HP_mob_get_random_id), 2926 }, -{ HP_POP(mob->ksprotected), HP_POP2(HP_mob_ksprotected), 2928 }, -{ HP_POP(mob->once_spawn_sub), HP_POP2(HP_mob_once_spawn_sub), 2930 }, -{ HP_POP(mob->once_spawn), HP_POP2(HP_mob_once_spawn), 2932 }, -{ HP_POP(mob->once_spawn_area), HP_POP2(HP_mob_once_spawn_area), 2934 }, -{ HP_POP(mob->spawn_guardian), HP_POP2(HP_mob_spawn_guardian), 2936 }, -{ HP_POP(mob->spawn_bg), HP_POP2(HP_mob_spawn_bg), 2938 }, -{ HP_POP(mob->can_reach), HP_POP2(HP_mob_can_reach), 2940 }, -{ HP_POP(mob->linksearch), HP_POP2(HP_mob_linksearch), 2942 }, -{ HP_POP(mob->delayspawn), HP_POP2(HP_mob_delayspawn), 2944 }, -{ HP_POP(mob->setdelayspawn), HP_POP2(HP_mob_setdelayspawn), 2946 }, -{ HP_POP(mob->count_sub), HP_POP2(HP_mob_count_sub), 2948 }, -{ HP_POP(mob->spawn), HP_POP2(HP_mob_spawn), 2950 }, -{ HP_POP(mob->can_changetarget), HP_POP2(HP_mob_can_changetarget), 2952 }, -{ HP_POP(mob->target), HP_POP2(HP_mob_target), 2954 }, -{ HP_POP(mob->ai_sub_hard_activesearch), HP_POP2(HP_mob_ai_sub_hard_activesearch), 2956 }, -{ HP_POP(mob->ai_sub_hard_changechase), HP_POP2(HP_mob_ai_sub_hard_changechase), 2958 }, -{ HP_POP(mob->ai_sub_hard_bg_ally), HP_POP2(HP_mob_ai_sub_hard_bg_ally), 2960 }, -{ HP_POP(mob->ai_sub_hard_lootsearch), HP_POP2(HP_mob_ai_sub_hard_lootsearch), 2962 }, -{ HP_POP(mob->warpchase_sub), HP_POP2(HP_mob_warpchase_sub), 2964 }, -{ HP_POP(mob->ai_sub_hard_slavemob), HP_POP2(HP_mob_ai_sub_hard_slavemob), 2966 }, -{ HP_POP(mob->unlocktarget), HP_POP2(HP_mob_unlocktarget), 2968 }, -{ HP_POP(mob->randomwalk), HP_POP2(HP_mob_randomwalk), 2970 }, -{ HP_POP(mob->warpchase), HP_POP2(HP_mob_warpchase), 2972 }, -{ HP_POP(mob->ai_sub_hard), HP_POP2(HP_mob_ai_sub_hard), 2974 }, -{ HP_POP(mob->ai_sub_hard_timer), HP_POP2(HP_mob_ai_sub_hard_timer), 2976 }, -{ HP_POP(mob->ai_sub_foreachclient), HP_POP2(HP_mob_ai_sub_foreachclient), 2978 }, -{ HP_POP(mob->ai_sub_lazy), HP_POP2(HP_mob_ai_sub_lazy), 2980 }, -{ HP_POP(mob->ai_lazy), HP_POP2(HP_mob_ai_lazy), 2982 }, -{ HP_POP(mob->ai_hard), HP_POP2(HP_mob_ai_hard), 2984 }, -{ HP_POP(mob->setdropitem), HP_POP2(HP_mob_setdropitem), 2986 }, -{ HP_POP(mob->setlootitem), HP_POP2(HP_mob_setlootitem), 2988 }, -{ HP_POP(mob->delay_item_drop), HP_POP2(HP_mob_delay_item_drop), 2990 }, -{ HP_POP(mob->item_drop), HP_POP2(HP_mob_item_drop), 2992 }, -{ HP_POP(mob->timer_delete), HP_POP2(HP_mob_timer_delete), 2994 }, -{ HP_POP(mob->deleteslave_sub), HP_POP2(HP_mob_deleteslave_sub), 2996 }, -{ HP_POP(mob->deleteslave), HP_POP2(HP_mob_deleteslave), 2998 }, -{ HP_POP(mob->respawn), HP_POP2(HP_mob_respawn), 3000 }, -{ HP_POP(mob->log_damage), HP_POP2(HP_mob_log_damage), 3002 }, -{ HP_POP(mob->damage), HP_POP2(HP_mob_damage), 3004 }, -{ HP_POP(mob->dead), HP_POP2(HP_mob_dead), 3006 }, -{ HP_POP(mob->revive), HP_POP2(HP_mob_revive), 3008 }, -{ HP_POP(mob->guardian_guildchange), HP_POP2(HP_mob_guardian_guildchange), 3010 }, -{ HP_POP(mob->random_class), HP_POP2(HP_mob_random_class), 3012 }, -{ HP_POP(mob->class_change), HP_POP2(HP_mob_class_change), 3014 }, -{ HP_POP(mob->heal), HP_POP2(HP_mob_heal), 3016 }, -{ HP_POP(mob->warpslave_sub), HP_POP2(HP_mob_warpslave_sub), 3018 }, -{ HP_POP(mob->warpslave), HP_POP2(HP_mob_warpslave), 3020 }, -{ HP_POP(mob->countslave_sub), HP_POP2(HP_mob_countslave_sub), 3022 }, -{ HP_POP(mob->countslave), HP_POP2(HP_mob_countslave), 3024 }, -{ HP_POP(mob->summonslave), HP_POP2(HP_mob_summonslave), 3026 }, -{ HP_POP(mob->getfriendhprate_sub), HP_POP2(HP_mob_getfriendhprate_sub), 3028 }, -{ HP_POP(mob->getfriendhprate), HP_POP2(HP_mob_getfriendhprate), 3030 }, -{ HP_POP(mob->getmasterhpltmaxrate), HP_POP2(HP_mob_getmasterhpltmaxrate), 3032 }, -{ HP_POP(mob->getfriendstatus_sub), HP_POP2(HP_mob_getfriendstatus_sub), 3034 }, -{ HP_POP(mob->getfriendstatus), HP_POP2(HP_mob_getfriendstatus), 3036 }, -{ HP_POP(mob->skill_use), HP_POP2(HP_mob_skill_use), 3038 }, -{ HP_POP(mob->skill_event), HP_POP2(HP_mob_skill_event), 3040 }, -{ HP_POP(mob->is_clone), HP_POP2(HP_mob_is_clone), 3042 }, -{ HP_POP(mob->clone_spawn), HP_POP2(HP_mob_clone_spawn), 3044 }, -{ HP_POP(mob->clone_delete), HP_POP2(HP_mob_clone_delete), 3046 }, -{ HP_POP(mob->drop_adjust), HP_POP2(HP_mob_drop_adjust), 3048 }, -{ HP_POP(mob->item_dropratio_adjust), HP_POP2(HP_mob_item_dropratio_adjust), 3050 }, -{ HP_POP(mob->parse_dbrow), HP_POP2(HP_mob_parse_dbrow), 3052 }, -{ HP_POP(mob->readdb_sub), HP_POP2(HP_mob_readdb_sub), 3054 }, -{ HP_POP(mob->readdb), HP_POP2(HP_mob_readdb), 3056 }, -{ HP_POP(mob->read_sqldb), HP_POP2(HP_mob_read_sqldb), 3058 }, -{ HP_POP(mob->readdb_mobavail), HP_POP2(HP_mob_readdb_mobavail), 3060 }, -{ HP_POP(mob->read_randommonster), HP_POP2(HP_mob_read_randommonster), 3062 }, -{ HP_POP(mob->parse_row_chatdb), HP_POP2(HP_mob_parse_row_chatdb), 3064 }, -{ HP_POP(mob->readchatdb), HP_POP2(HP_mob_readchatdb), 3066 }, -{ HP_POP(mob->parse_row_mobskilldb), HP_POP2(HP_mob_parse_row_mobskilldb), 3068 }, -{ HP_POP(mob->readskilldb), HP_POP2(HP_mob_readskilldb), 3070 }, -{ HP_POP(mob->read_sqlskilldb), HP_POP2(HP_mob_read_sqlskilldb), 3072 }, -{ HP_POP(mob->readdb_race2), HP_POP2(HP_mob_readdb_race2), 3074 }, -{ HP_POP(mob->readdb_itemratio), HP_POP2(HP_mob_readdb_itemratio), 3076 }, -{ HP_POP(mob->load), HP_POP2(HP_mob_load), 3078 }, -{ HP_POP(mob->clear_spawninfo), HP_POP2(HP_mob_clear_spawninfo), 3080 }, +{ HP_POP(mob->init), HP_POP2(HP_mob_init), 2912 }, +{ HP_POP(mob->final), HP_POP2(HP_mob_final), 2914 }, +{ HP_POP(mob->reload), HP_POP2(HP_mob_reload), 2916 }, +{ HP_POP(mob->db), HP_POP2(HP_mob_db), 2918 }, +{ HP_POP(mob->chat), HP_POP2(HP_mob_chat), 2920 }, +{ HP_POP(mob->makedummymobdb), HP_POP2(HP_mob_makedummymobdb), 2922 }, +{ HP_POP(mob->spawn_guardian_sub), HP_POP2(HP_mob_spawn_guardian_sub), 2924 }, +{ HP_POP(mob->skill_id2skill_idx), HP_POP2(HP_mob_skill_id2skill_idx), 2926 }, +{ HP_POP(mob->db_searchname), HP_POP2(HP_mob_db_searchname), 2928 }, +{ HP_POP(mob->db_searchname_array_sub), HP_POP2(HP_mob_db_searchname_array_sub), 2930 }, +{ HP_POP(mob->mvptomb_create), HP_POP2(HP_mob_mvptomb_create), 2932 }, +{ HP_POP(mob->mvptomb_destroy), HP_POP2(HP_mob_mvptomb_destroy), 2934 }, +{ HP_POP(mob->db_searchname_array), HP_POP2(HP_mob_db_searchname_array), 2936 }, +{ HP_POP(mob->db_checkid), HP_POP2(HP_mob_db_checkid), 2938 }, +{ HP_POP(mob->get_viewdata), HP_POP2(HP_mob_get_viewdata), 2940 }, +{ HP_POP(mob->parse_dataset), HP_POP2(HP_mob_parse_dataset), 2942 }, +{ HP_POP(mob->spawn_dataset), HP_POP2(HP_mob_spawn_dataset), 2944 }, +{ HP_POP(mob->get_random_id), HP_POP2(HP_mob_get_random_id), 2946 }, +{ HP_POP(mob->ksprotected), HP_POP2(HP_mob_ksprotected), 2948 }, +{ HP_POP(mob->once_spawn_sub), HP_POP2(HP_mob_once_spawn_sub), 2950 }, +{ HP_POP(mob->once_spawn), HP_POP2(HP_mob_once_spawn), 2952 }, +{ HP_POP(mob->once_spawn_area), HP_POP2(HP_mob_once_spawn_area), 2954 }, +{ HP_POP(mob->spawn_guardian), HP_POP2(HP_mob_spawn_guardian), 2956 }, +{ HP_POP(mob->spawn_bg), HP_POP2(HP_mob_spawn_bg), 2958 }, +{ HP_POP(mob->can_reach), HP_POP2(HP_mob_can_reach), 2960 }, +{ HP_POP(mob->linksearch), HP_POP2(HP_mob_linksearch), 2962 }, +{ HP_POP(mob->delayspawn), HP_POP2(HP_mob_delayspawn), 2964 }, +{ HP_POP(mob->setdelayspawn), HP_POP2(HP_mob_setdelayspawn), 2966 }, +{ HP_POP(mob->count_sub), HP_POP2(HP_mob_count_sub), 2968 }, +{ HP_POP(mob->spawn), HP_POP2(HP_mob_spawn), 2970 }, +{ HP_POP(mob->can_changetarget), HP_POP2(HP_mob_can_changetarget), 2972 }, +{ HP_POP(mob->target), HP_POP2(HP_mob_target), 2974 }, +{ HP_POP(mob->ai_sub_hard_activesearch), HP_POP2(HP_mob_ai_sub_hard_activesearch), 2976 }, +{ HP_POP(mob->ai_sub_hard_changechase), HP_POP2(HP_mob_ai_sub_hard_changechase), 2978 }, +{ HP_POP(mob->ai_sub_hard_bg_ally), HP_POP2(HP_mob_ai_sub_hard_bg_ally), 2980 }, +{ HP_POP(mob->ai_sub_hard_lootsearch), HP_POP2(HP_mob_ai_sub_hard_lootsearch), 2982 }, +{ HP_POP(mob->warpchase_sub), HP_POP2(HP_mob_warpchase_sub), 2984 }, +{ HP_POP(mob->ai_sub_hard_slavemob), HP_POP2(HP_mob_ai_sub_hard_slavemob), 2986 }, +{ HP_POP(mob->unlocktarget), HP_POP2(HP_mob_unlocktarget), 2988 }, +{ HP_POP(mob->randomwalk), HP_POP2(HP_mob_randomwalk), 2990 }, +{ HP_POP(mob->warpchase), HP_POP2(HP_mob_warpchase), 2992 }, +{ HP_POP(mob->ai_sub_hard), HP_POP2(HP_mob_ai_sub_hard), 2994 }, +{ HP_POP(mob->ai_sub_hard_timer), HP_POP2(HP_mob_ai_sub_hard_timer), 2996 }, +{ HP_POP(mob->ai_sub_foreachclient), HP_POP2(HP_mob_ai_sub_foreachclient), 2998 }, +{ HP_POP(mob->ai_sub_lazy), HP_POP2(HP_mob_ai_sub_lazy), 3000 }, +{ HP_POP(mob->ai_lazy), HP_POP2(HP_mob_ai_lazy), 3002 }, +{ HP_POP(mob->ai_hard), HP_POP2(HP_mob_ai_hard), 3004 }, +{ HP_POP(mob->setdropitem), HP_POP2(HP_mob_setdropitem), 3006 }, +{ HP_POP(mob->setlootitem), HP_POP2(HP_mob_setlootitem), 3008 }, +{ HP_POP(mob->delay_item_drop), HP_POP2(HP_mob_delay_item_drop), 3010 }, +{ HP_POP(mob->item_drop), HP_POP2(HP_mob_item_drop), 3012 }, +{ HP_POP(mob->timer_delete), HP_POP2(HP_mob_timer_delete), 3014 }, +{ HP_POP(mob->deleteslave_sub), HP_POP2(HP_mob_deleteslave_sub), 3016 }, +{ HP_POP(mob->deleteslave), HP_POP2(HP_mob_deleteslave), 3018 }, +{ HP_POP(mob->respawn), HP_POP2(HP_mob_respawn), 3020 }, +{ HP_POP(mob->log_damage), HP_POP2(HP_mob_log_damage), 3022 }, +{ HP_POP(mob->damage), HP_POP2(HP_mob_damage), 3024 }, +{ HP_POP(mob->dead), HP_POP2(HP_mob_dead), 3026 }, +{ HP_POP(mob->revive), HP_POP2(HP_mob_revive), 3028 }, +{ HP_POP(mob->guardian_guildchange), HP_POP2(HP_mob_guardian_guildchange), 3030 }, +{ HP_POP(mob->random_class), HP_POP2(HP_mob_random_class), 3032 }, +{ HP_POP(mob->class_change), HP_POP2(HP_mob_class_change), 3034 }, +{ HP_POP(mob->heal), HP_POP2(HP_mob_heal), 3036 }, +{ HP_POP(mob->warpslave_sub), HP_POP2(HP_mob_warpslave_sub), 3038 }, +{ HP_POP(mob->warpslave), HP_POP2(HP_mob_warpslave), 3040 }, +{ HP_POP(mob->countslave_sub), HP_POP2(HP_mob_countslave_sub), 3042 }, +{ HP_POP(mob->countslave), HP_POP2(HP_mob_countslave), 3044 }, +{ HP_POP(mob->summonslave), HP_POP2(HP_mob_summonslave), 3046 }, +{ HP_POP(mob->getfriendhprate_sub), HP_POP2(HP_mob_getfriendhprate_sub), 3048 }, +{ HP_POP(mob->getfriendhprate), HP_POP2(HP_mob_getfriendhprate), 3050 }, +{ HP_POP(mob->getmasterhpltmaxrate), HP_POP2(HP_mob_getmasterhpltmaxrate), 3052 }, +{ HP_POP(mob->getfriendstatus_sub), HP_POP2(HP_mob_getfriendstatus_sub), 3054 }, +{ HP_POP(mob->getfriendstatus), HP_POP2(HP_mob_getfriendstatus), 3056 }, +{ HP_POP(mob->skill_use), HP_POP2(HP_mob_skill_use), 3058 }, +{ HP_POP(mob->skill_event), HP_POP2(HP_mob_skill_event), 3060 }, +{ HP_POP(mob->is_clone), HP_POP2(HP_mob_is_clone), 3062 }, +{ HP_POP(mob->clone_spawn), HP_POP2(HP_mob_clone_spawn), 3064 }, +{ HP_POP(mob->clone_delete), HP_POP2(HP_mob_clone_delete), 3066 }, +{ HP_POP(mob->drop_adjust), HP_POP2(HP_mob_drop_adjust), 3068 }, +{ HP_POP(mob->item_dropratio_adjust), HP_POP2(HP_mob_item_dropratio_adjust), 3070 }, +{ HP_POP(mob->parse_dbrow), HP_POP2(HP_mob_parse_dbrow), 3072 }, +{ HP_POP(mob->readdb_sub), HP_POP2(HP_mob_readdb_sub), 3074 }, +{ HP_POP(mob->readdb), HP_POP2(HP_mob_readdb), 3076 }, +{ HP_POP(mob->read_sqldb), HP_POP2(HP_mob_read_sqldb), 3078 }, +{ HP_POP(mob->readdb_mobavail), HP_POP2(HP_mob_readdb_mobavail), 3080 }, +{ HP_POP(mob->read_randommonster), HP_POP2(HP_mob_read_randommonster), 3082 }, +{ HP_POP(mob->parse_row_chatdb), HP_POP2(HP_mob_parse_row_chatdb), 3084 }, +{ HP_POP(mob->readchatdb), HP_POP2(HP_mob_readchatdb), 3086 }, +{ HP_POP(mob->parse_row_mobskilldb), HP_POP2(HP_mob_parse_row_mobskilldb), 3088 }, +{ HP_POP(mob->readskilldb), HP_POP2(HP_mob_readskilldb), 3090 }, +{ HP_POP(mob->read_sqlskilldb), HP_POP2(HP_mob_read_sqlskilldb), 3092 }, +{ HP_POP(mob->readdb_race2), HP_POP2(HP_mob_readdb_race2), 3094 }, +{ HP_POP(mob->readdb_itemratio), HP_POP2(HP_mob_readdb_itemratio), 3096 }, +{ HP_POP(mob->load), HP_POP2(HP_mob_load), 3098 }, +{ HP_POP(mob->clear_spawninfo), HP_POP2(HP_mob_clear_spawninfo), 3100 }, /* npc */ -{ HP_POP(npc->init), HP_POP2(HP_npc_init), 3082 }, -{ HP_POP(npc->final), HP_POP2(HP_npc_final), 3084 }, -{ HP_POP(npc->get_new_npc_id), HP_POP2(HP_npc_get_new_npc_id), 3086 }, -{ HP_POP(npc->get_viewdata), HP_POP2(HP_npc_get_viewdata), 3088 }, -{ HP_POP(npc->isnear_sub), HP_POP2(HP_npc_isnear_sub), 3090 }, -{ HP_POP(npc->isnear), HP_POP2(HP_npc_isnear), 3092 }, -{ HP_POP(npc->ontouch_event), HP_POP2(HP_npc_ontouch_event), 3094 }, -{ HP_POP(npc->ontouch2_event), HP_POP2(HP_npc_ontouch2_event), 3096 }, -{ HP_POP(npc->enable_sub), HP_POP2(HP_npc_enable_sub), 3098 }, -{ HP_POP(npc->enable), HP_POP2(HP_npc_enable), 3100 }, -{ HP_POP(npc->name2id), HP_POP2(HP_npc_name2id), 3102 }, -{ HP_POP(npc->event_dequeue), HP_POP2(HP_npc_event_dequeue), 3104 }, -{ HP_POP(npc->event_export_create), HP_POP2(HP_npc_event_export_create), 3106 }, -{ HP_POP(npc->event_export), HP_POP2(HP_npc_event_export), 3108 }, -{ HP_POP(npc->event_sub), HP_POP2(HP_npc_event_sub), 3110 }, -{ HP_POP(npc->event_doall_sub), HP_POP2(HP_npc_event_doall_sub), 3112 }, -{ HP_POP(npc->event_do), HP_POP2(HP_npc_event_do), 3114 }, -{ HP_POP(npc->event_doall_id), HP_POP2(HP_npc_event_doall_id), 3116 }, -{ HP_POP(npc->event_doall), HP_POP2(HP_npc_event_doall), 3118 }, -{ HP_POP(npc->event_do_clock), HP_POP2(HP_npc_event_do_clock), 3120 }, -{ HP_POP(npc->event_do_oninit), HP_POP2(HP_npc_event_do_oninit), 3122 }, -{ HP_POP(npc->timerevent_export), HP_POP2(HP_npc_timerevent_export), 3124 }, -{ HP_POP(npc->timerevent), HP_POP2(HP_npc_timerevent), 3126 }, -{ HP_POP(npc->timerevent_start), HP_POP2(HP_npc_timerevent_start), 3128 }, -{ HP_POP(npc->timerevent_stop), HP_POP2(HP_npc_timerevent_stop), 3130 }, -{ HP_POP(npc->timerevent_quit), HP_POP2(HP_npc_timerevent_quit), 3132 }, -{ HP_POP(npc->gettimerevent_tick), HP_POP2(HP_npc_gettimerevent_tick), 3134 }, -{ HP_POP(npc->settimerevent_tick), HP_POP2(HP_npc_settimerevent_tick), 3136 }, -{ HP_POP(npc->event), HP_POP2(HP_npc_event), 3138 }, -{ HP_POP(npc->touch_areanpc_sub), HP_POP2(HP_npc_touch_areanpc_sub), 3140 }, -{ HP_POP(npc->touchnext_areanpc), HP_POP2(HP_npc_touchnext_areanpc), 3142 }, -{ HP_POP(npc->touch_areanpc), HP_POP2(HP_npc_touch_areanpc), 3144 }, -{ HP_POP(npc->touch_areanpc2), HP_POP2(HP_npc_touch_areanpc2), 3146 }, -{ HP_POP(npc->check_areanpc), HP_POP2(HP_npc_check_areanpc), 3148 }, -{ HP_POP(npc->checknear), HP_POP2(HP_npc_checknear), 3150 }, -{ HP_POP(npc->globalmessage), HP_POP2(HP_npc_globalmessage), 3152 }, -{ HP_POP(npc->run_tomb), HP_POP2(HP_npc_run_tomb), 3154 }, -{ HP_POP(npc->click), HP_POP2(HP_npc_click), 3156 }, -{ HP_POP(npc->scriptcont), HP_POP2(HP_npc_scriptcont), 3158 }, -{ HP_POP(npc->buysellsel), HP_POP2(HP_npc_buysellsel), 3160 }, -{ HP_POP(npc->cashshop_buylist), HP_POP2(HP_npc_cashshop_buylist), 3162 }, -{ HP_POP(npc->buylist_sub), HP_POP2(HP_npc_buylist_sub), 3164 }, -{ HP_POP(npc->cashshop_buy), HP_POP2(HP_npc_cashshop_buy), 3166 }, -{ HP_POP(npc->buylist), HP_POP2(HP_npc_buylist), 3168 }, -{ HP_POP(npc->selllist_sub), HP_POP2(HP_npc_selllist_sub), 3170 }, -{ HP_POP(npc->selllist), HP_POP2(HP_npc_selllist), 3172 }, -{ HP_POP(npc->remove_map), HP_POP2(HP_npc_remove_map), 3174 }, -{ HP_POP(npc->unload_ev), HP_POP2(HP_npc_unload_ev), 3176 }, -{ HP_POP(npc->unload_ev_label), HP_POP2(HP_npc_unload_ev_label), 3178 }, -{ HP_POP(npc->unload_dup_sub), HP_POP2(HP_npc_unload_dup_sub), 3180 }, -{ HP_POP(npc->unload_duplicates), HP_POP2(HP_npc_unload_duplicates), 3182 }, -{ HP_POP(npc->unload), HP_POP2(HP_npc_unload), 3184 }, -{ HP_POP(npc->clearsrcfile), HP_POP2(HP_npc_clearsrcfile), 3186 }, -{ HP_POP(npc->addsrcfile), HP_POP2(HP_npc_addsrcfile), 3188 }, -{ HP_POP(npc->delsrcfile), HP_POP2(HP_npc_delsrcfile), 3190 }, -{ HP_POP(npc->parsename), HP_POP2(HP_npc_parsename), 3192 }, -{ HP_POP(npc->add_warp), HP_POP2(HP_npc_add_warp), 3194 }, -{ HP_POP(npc->parse_warp), HP_POP2(HP_npc_parse_warp), 3196 }, -{ HP_POP(npc->parse_shop), HP_POP2(HP_npc_parse_shop), 3198 }, -{ HP_POP(npc->convertlabel_db), HP_POP2(HP_npc_convertlabel_db), 3200 }, -{ HP_POP(npc->skip_script), HP_POP2(HP_npc_skip_script), 3202 }, -{ HP_POP(npc->parse_script), HP_POP2(HP_npc_parse_script), 3204 }, -{ HP_POP(npc->parse_duplicate), HP_POP2(HP_npc_parse_duplicate), 3206 }, -{ HP_POP(npc->duplicate4instance), HP_POP2(HP_npc_duplicate4instance), 3208 }, -{ HP_POP(npc->setcells), HP_POP2(HP_npc_setcells), 3210 }, -{ HP_POP(npc->unsetcells_sub), HP_POP2(HP_npc_unsetcells_sub), 3212 }, -{ HP_POP(npc->unsetcells), HP_POP2(HP_npc_unsetcells), 3214 }, -{ HP_POP(npc->movenpc), HP_POP2(HP_npc_movenpc), 3216 }, -{ HP_POP(npc->setdisplayname), HP_POP2(HP_npc_setdisplayname), 3218 }, -{ HP_POP(npc->setclass), HP_POP2(HP_npc_setclass), 3220 }, -{ HP_POP(npc->do_atcmd_event), HP_POP2(HP_npc_do_atcmd_event), 3222 }, -{ HP_POP(npc->parse_function), HP_POP2(HP_npc_parse_function), 3224 }, -{ HP_POP(npc->parse_mob2), HP_POP2(HP_npc_parse_mob2), 3226 }, -{ HP_POP(npc->parse_mob), HP_POP2(HP_npc_parse_mob), 3228 }, -{ HP_POP(npc->parse_mapflag), HP_POP2(HP_npc_parse_mapflag), 3230 }, -{ HP_POP(npc->parsesrcfile), HP_POP2(HP_npc_parsesrcfile), 3232 }, -{ HP_POP(npc->script_event), HP_POP2(HP_npc_script_event), 3234 }, -{ HP_POP(npc->read_event_script), HP_POP2(HP_npc_read_event_script), 3236 }, -{ HP_POP(npc->path_db_clear_sub), HP_POP2(HP_npc_path_db_clear_sub), 3238 }, -{ HP_POP(npc->ev_label_db_clear_sub), HP_POP2(HP_npc_ev_label_db_clear_sub), 3240 }, -{ HP_POP(npc->reload), HP_POP2(HP_npc_reload), 3242 }, -{ HP_POP(npc->unloadfile), HP_POP2(HP_npc_unloadfile), 3244 }, -{ HP_POP(npc->do_clear_npc), HP_POP2(HP_npc_do_clear_npc), 3246 }, -{ HP_POP(npc->debug_warps_sub), HP_POP2(HP_npc_debug_warps_sub), 3248 }, -{ HP_POP(npc->debug_warps), HP_POP2(HP_npc_debug_warps), 3250 }, -{ HP_POP(npc->secure_timeout_timer), HP_POP2(HP_npc_secure_timeout_timer), 3252 }, +{ HP_POP(npc->init), HP_POP2(HP_npc_init), 3102 }, +{ HP_POP(npc->final), HP_POP2(HP_npc_final), 3104 }, +{ HP_POP(npc->get_new_npc_id), HP_POP2(HP_npc_get_new_npc_id), 3106 }, +{ HP_POP(npc->get_viewdata), HP_POP2(HP_npc_get_viewdata), 3108 }, +{ HP_POP(npc->isnear_sub), HP_POP2(HP_npc_isnear_sub), 3110 }, +{ HP_POP(npc->isnear), HP_POP2(HP_npc_isnear), 3112 }, +{ HP_POP(npc->ontouch_event), HP_POP2(HP_npc_ontouch_event), 3114 }, +{ HP_POP(npc->ontouch2_event), HP_POP2(HP_npc_ontouch2_event), 3116 }, +{ HP_POP(npc->enable_sub), HP_POP2(HP_npc_enable_sub), 3118 }, +{ HP_POP(npc->enable), HP_POP2(HP_npc_enable), 3120 }, +{ HP_POP(npc->name2id), HP_POP2(HP_npc_name2id), 3122 }, +{ HP_POP(npc->event_dequeue), HP_POP2(HP_npc_event_dequeue), 3124 }, +{ HP_POP(npc->event_export_create), HP_POP2(HP_npc_event_export_create), 3126 }, +{ HP_POP(npc->event_export), HP_POP2(HP_npc_event_export), 3128 }, +{ HP_POP(npc->event_sub), HP_POP2(HP_npc_event_sub), 3130 }, +{ HP_POP(npc->event_doall_sub), HP_POP2(HP_npc_event_doall_sub), 3132 }, +{ HP_POP(npc->event_do), HP_POP2(HP_npc_event_do), 3134 }, +{ HP_POP(npc->event_doall_id), HP_POP2(HP_npc_event_doall_id), 3136 }, +{ HP_POP(npc->event_doall), HP_POP2(HP_npc_event_doall), 3138 }, +{ HP_POP(npc->event_do_clock), HP_POP2(HP_npc_event_do_clock), 3140 }, +{ HP_POP(npc->event_do_oninit), HP_POP2(HP_npc_event_do_oninit), 3142 }, +{ HP_POP(npc->timerevent_export), HP_POP2(HP_npc_timerevent_export), 3144 }, +{ HP_POP(npc->timerevent), HP_POP2(HP_npc_timerevent), 3146 }, +{ HP_POP(npc->timerevent_start), HP_POP2(HP_npc_timerevent_start), 3148 }, +{ HP_POP(npc->timerevent_stop), HP_POP2(HP_npc_timerevent_stop), 3150 }, +{ HP_POP(npc->timerevent_quit), HP_POP2(HP_npc_timerevent_quit), 3152 }, +{ HP_POP(npc->gettimerevent_tick), HP_POP2(HP_npc_gettimerevent_tick), 3154 }, +{ HP_POP(npc->settimerevent_tick), HP_POP2(HP_npc_settimerevent_tick), 3156 }, +{ HP_POP(npc->event), HP_POP2(HP_npc_event), 3158 }, +{ HP_POP(npc->touch_areanpc_sub), HP_POP2(HP_npc_touch_areanpc_sub), 3160 }, +{ HP_POP(npc->touchnext_areanpc), HP_POP2(HP_npc_touchnext_areanpc), 3162 }, +{ HP_POP(npc->touch_areanpc), HP_POP2(HP_npc_touch_areanpc), 3164 }, +{ HP_POP(npc->touch_areanpc2), HP_POP2(HP_npc_touch_areanpc2), 3166 }, +{ HP_POP(npc->check_areanpc), HP_POP2(HP_npc_check_areanpc), 3168 }, +{ HP_POP(npc->checknear), HP_POP2(HP_npc_checknear), 3170 }, +{ HP_POP(npc->globalmessage), HP_POP2(HP_npc_globalmessage), 3172 }, +{ HP_POP(npc->run_tomb), HP_POP2(HP_npc_run_tomb), 3174 }, +{ HP_POP(npc->click), HP_POP2(HP_npc_click), 3176 }, +{ HP_POP(npc->scriptcont), HP_POP2(HP_npc_scriptcont), 3178 }, +{ HP_POP(npc->buysellsel), HP_POP2(HP_npc_buysellsel), 3180 }, +{ HP_POP(npc->cashshop_buylist), HP_POP2(HP_npc_cashshop_buylist), 3182 }, +{ HP_POP(npc->buylist_sub), HP_POP2(HP_npc_buylist_sub), 3184 }, +{ HP_POP(npc->cashshop_buy), HP_POP2(HP_npc_cashshop_buy), 3186 }, +{ HP_POP(npc->buylist), HP_POP2(HP_npc_buylist), 3188 }, +{ HP_POP(npc->selllist_sub), HP_POP2(HP_npc_selllist_sub), 3190 }, +{ HP_POP(npc->selllist), HP_POP2(HP_npc_selllist), 3192 }, +{ HP_POP(npc->remove_map), HP_POP2(HP_npc_remove_map), 3194 }, +{ HP_POP(npc->unload_ev), HP_POP2(HP_npc_unload_ev), 3196 }, +{ HP_POP(npc->unload_ev_label), HP_POP2(HP_npc_unload_ev_label), 3198 }, +{ HP_POP(npc->unload_dup_sub), HP_POP2(HP_npc_unload_dup_sub), 3200 }, +{ HP_POP(npc->unload_duplicates), HP_POP2(HP_npc_unload_duplicates), 3202 }, +{ HP_POP(npc->unload), HP_POP2(HP_npc_unload), 3204 }, +{ HP_POP(npc->clearsrcfile), HP_POP2(HP_npc_clearsrcfile), 3206 }, +{ HP_POP(npc->addsrcfile), HP_POP2(HP_npc_addsrcfile), 3208 }, +{ HP_POP(npc->delsrcfile), HP_POP2(HP_npc_delsrcfile), 3210 }, +{ HP_POP(npc->parsename), HP_POP2(HP_npc_parsename), 3212 }, +{ HP_POP(npc->add_warp), HP_POP2(HP_npc_add_warp), 3214 }, +{ HP_POP(npc->parse_warp), HP_POP2(HP_npc_parse_warp), 3216 }, +{ HP_POP(npc->parse_shop), HP_POP2(HP_npc_parse_shop), 3218 }, +{ HP_POP(npc->convertlabel_db), HP_POP2(HP_npc_convertlabel_db), 3220 }, +{ HP_POP(npc->skip_script), HP_POP2(HP_npc_skip_script), 3222 }, +{ HP_POP(npc->parse_script), HP_POP2(HP_npc_parse_script), 3224 }, +{ HP_POP(npc->parse_duplicate), HP_POP2(HP_npc_parse_duplicate), 3226 }, +{ HP_POP(npc->duplicate4instance), HP_POP2(HP_npc_duplicate4instance), 3228 }, +{ HP_POP(npc->setcells), HP_POP2(HP_npc_setcells), 3230 }, +{ HP_POP(npc->unsetcells_sub), HP_POP2(HP_npc_unsetcells_sub), 3232 }, +{ HP_POP(npc->unsetcells), HP_POP2(HP_npc_unsetcells), 3234 }, +{ HP_POP(npc->movenpc), HP_POP2(HP_npc_movenpc), 3236 }, +{ HP_POP(npc->setdisplayname), HP_POP2(HP_npc_setdisplayname), 3238 }, +{ HP_POP(npc->setclass), HP_POP2(HP_npc_setclass), 3240 }, +{ HP_POP(npc->do_atcmd_event), HP_POP2(HP_npc_do_atcmd_event), 3242 }, +{ HP_POP(npc->parse_function), HP_POP2(HP_npc_parse_function), 3244 }, +{ HP_POP(npc->parse_mob2), HP_POP2(HP_npc_parse_mob2), 3246 }, +{ HP_POP(npc->parse_mob), HP_POP2(HP_npc_parse_mob), 3248 }, +{ HP_POP(npc->parse_mapflag), HP_POP2(HP_npc_parse_mapflag), 3250 }, +{ HP_POP(npc->parsesrcfile), HP_POP2(HP_npc_parsesrcfile), 3252 }, +{ HP_POP(npc->script_event), HP_POP2(HP_npc_script_event), 3254 }, +{ HP_POP(npc->read_event_script), HP_POP2(HP_npc_read_event_script), 3256 }, +{ HP_POP(npc->path_db_clear_sub), HP_POP2(HP_npc_path_db_clear_sub), 3258 }, +{ HP_POP(npc->ev_label_db_clear_sub), HP_POP2(HP_npc_ev_label_db_clear_sub), 3260 }, +{ HP_POP(npc->reload), HP_POP2(HP_npc_reload), 3262 }, +{ HP_POP(npc->unloadfile), HP_POP2(HP_npc_unloadfile), 3264 }, +{ HP_POP(npc->do_clear_npc), HP_POP2(HP_npc_do_clear_npc), 3266 }, +{ HP_POP(npc->debug_warps_sub), HP_POP2(HP_npc_debug_warps_sub), 3268 }, +{ HP_POP(npc->debug_warps), HP_POP2(HP_npc_debug_warps), 3270 }, +{ HP_POP(npc->secure_timeout_timer), HP_POP2(HP_npc_secure_timeout_timer), 3272 }, /* party */ -{ HP_POP(party->init), HP_POP2(HP_party_init), 3254 }, -{ HP_POP(party->final), HP_POP2(HP_party_final), 3256 }, -{ HP_POP(party->search), HP_POP2(HP_party_search), 3258 }, -{ HP_POP(party->searchname), HP_POP2(HP_party_searchname), 3260 }, -{ HP_POP(party->getmemberid), HP_POP2(HP_party_getmemberid), 3262 }, -{ HP_POP(party->getavailablesd), HP_POP2(HP_party_getavailablesd), 3264 }, -{ HP_POP(party->create), HP_POP2(HP_party_create), 3266 }, -{ HP_POP(party->created), HP_POP2(HP_party_created), 3268 }, -{ HP_POP(party->request_info), HP_POP2(HP_party_request_info), 3270 }, -{ HP_POP(party->invite), HP_POP2(HP_party_invite), 3272 }, -{ HP_POP(party->member_joined), HP_POP2(HP_party_member_joined), 3274 }, -{ HP_POP(party->member_added), HP_POP2(HP_party_member_added), 3276 }, -{ HP_POP(party->leave), HP_POP2(HP_party_leave), 3278 }, -{ HP_POP(party->removemember), HP_POP2(HP_party_removemember), 3280 }, -{ HP_POP(party->member_withdraw), HP_POP2(HP_party_member_withdraw), 3282 }, -{ HP_POP(party->reply_invite), HP_POP2(HP_party_reply_invite), 3284 }, -{ HP_POP(party->recv_noinfo), HP_POP2(HP_party_recv_noinfo), 3286 }, -{ HP_POP(party->recv_info), HP_POP2(HP_party_recv_info), 3288 }, -{ HP_POP(party->recv_movemap), HP_POP2(HP_party_recv_movemap), 3290 }, -{ HP_POP(party->broken), HP_POP2(HP_party_broken), 3292 }, -{ HP_POP(party->optionchanged), HP_POP2(HP_party_optionchanged), 3294 }, -{ HP_POP(party->changeoption), HP_POP2(HP_party_changeoption), 3296 }, -{ HP_POP(party->changeleader), HP_POP2(HP_party_changeleader), 3298 }, -{ HP_POP(party->send_movemap), HP_POP2(HP_party_send_movemap), 3300 }, -{ HP_POP(party->send_levelup), HP_POP2(HP_party_send_levelup), 3302 }, -{ HP_POP(party->send_logout), HP_POP2(HP_party_send_logout), 3304 }, -{ HP_POP(party->send_message), HP_POP2(HP_party_send_message), 3306 }, -{ HP_POP(party->recv_message), HP_POP2(HP_party_recv_message), 3308 }, -{ HP_POP(party->skill_check), HP_POP2(HP_party_skill_check), 3310 }, -{ HP_POP(party->send_xy_clear), HP_POP2(HP_party_send_xy_clear), 3312 }, -{ HP_POP(party->exp_share), HP_POP2(HP_party_exp_share), 3314 }, -{ HP_POP(party->share_loot), HP_POP2(HP_party_share_loot), 3316 }, -{ HP_POP(party->send_dot_remove), HP_POP2(HP_party_send_dot_remove), 3318 }, -{ HP_POP(party->sub_count), HP_POP2(HP_party_sub_count), 3320 }, -{ HP_POP(party->booking_register), HP_POP2(HP_party_booking_register), 3322 }, -{ HP_POP(party->booking_update), HP_POP2(HP_party_booking_update), 3324 }, -{ HP_POP(party->booking_search), HP_POP2(HP_party_booking_search), 3326 }, -{ HP_POP(party->recruit_register), HP_POP2(HP_party_recruit_register), 3328 }, -{ HP_POP(party->recruit_update), HP_POP2(HP_party_recruit_update), 3330 }, -{ HP_POP(party->recruit_search), HP_POP2(HP_party_recruit_search), 3332 }, -{ HP_POP(party->booking_delete), HP_POP2(HP_party_booking_delete), 3334 }, -{ HP_POP(party->vforeachsamemap), HP_POP2(HP_party_vforeachsamemap), 3336 }, -{ HP_POP(party->send_xy_timer), HP_POP2(HP_party_send_xy_timer), 3338 }, -{ HP_POP(party->fill_member), HP_POP2(HP_party_fill_member), 3340 }, -{ HP_POP(party->sd_check), HP_POP2(HP_party_sd_check), 3342 }, -{ HP_POP(party->check_state), HP_POP2(HP_party_check_state), 3344 }, -{ HP_POP(party->create_booking_data), HP_POP2(HP_party_create_booking_data), 3346 }, -{ HP_POP(party->db_final), HP_POP2(HP_party_db_final), 3348 }, +{ HP_POP(party->init), HP_POP2(HP_party_init), 3274 }, +{ HP_POP(party->final), HP_POP2(HP_party_final), 3276 }, +{ HP_POP(party->search), HP_POP2(HP_party_search), 3278 }, +{ HP_POP(party->searchname), HP_POP2(HP_party_searchname), 3280 }, +{ HP_POP(party->getmemberid), HP_POP2(HP_party_getmemberid), 3282 }, +{ HP_POP(party->getavailablesd), HP_POP2(HP_party_getavailablesd), 3284 }, +{ HP_POP(party->create), HP_POP2(HP_party_create), 3286 }, +{ HP_POP(party->created), HP_POP2(HP_party_created), 3288 }, +{ HP_POP(party->request_info), HP_POP2(HP_party_request_info), 3290 }, +{ HP_POP(party->invite), HP_POP2(HP_party_invite), 3292 }, +{ HP_POP(party->member_joined), HP_POP2(HP_party_member_joined), 3294 }, +{ HP_POP(party->member_added), HP_POP2(HP_party_member_added), 3296 }, +{ HP_POP(party->leave), HP_POP2(HP_party_leave), 3298 }, +{ HP_POP(party->removemember), HP_POP2(HP_party_removemember), 3300 }, +{ HP_POP(party->member_withdraw), HP_POP2(HP_party_member_withdraw), 3302 }, +{ HP_POP(party->reply_invite), HP_POP2(HP_party_reply_invite), 3304 }, +{ HP_POP(party->recv_noinfo), HP_POP2(HP_party_recv_noinfo), 3306 }, +{ HP_POP(party->recv_info), HP_POP2(HP_party_recv_info), 3308 }, +{ HP_POP(party->recv_movemap), HP_POP2(HP_party_recv_movemap), 3310 }, +{ HP_POP(party->broken), HP_POP2(HP_party_broken), 3312 }, +{ HP_POP(party->optionchanged), HP_POP2(HP_party_optionchanged), 3314 }, +{ HP_POP(party->changeoption), HP_POP2(HP_party_changeoption), 3316 }, +{ HP_POP(party->changeleader), HP_POP2(HP_party_changeleader), 3318 }, +{ HP_POP(party->send_movemap), HP_POP2(HP_party_send_movemap), 3320 }, +{ HP_POP(party->send_levelup), HP_POP2(HP_party_send_levelup), 3322 }, +{ HP_POP(party->send_logout), HP_POP2(HP_party_send_logout), 3324 }, +{ HP_POP(party->send_message), HP_POP2(HP_party_send_message), 3326 }, +{ HP_POP(party->recv_message), HP_POP2(HP_party_recv_message), 3328 }, +{ HP_POP(party->skill_check), HP_POP2(HP_party_skill_check), 3330 }, +{ HP_POP(party->send_xy_clear), HP_POP2(HP_party_send_xy_clear), 3332 }, +{ HP_POP(party->exp_share), HP_POP2(HP_party_exp_share), 3334 }, +{ HP_POP(party->share_loot), HP_POP2(HP_party_share_loot), 3336 }, +{ HP_POP(party->send_dot_remove), HP_POP2(HP_party_send_dot_remove), 3338 }, +{ HP_POP(party->sub_count), HP_POP2(HP_party_sub_count), 3340 }, +{ HP_POP(party->booking_register), HP_POP2(HP_party_booking_register), 3342 }, +{ HP_POP(party->booking_update), HP_POP2(HP_party_booking_update), 3344 }, +{ HP_POP(party->booking_search), HP_POP2(HP_party_booking_search), 3346 }, +{ HP_POP(party->recruit_register), HP_POP2(HP_party_recruit_register), 3348 }, +{ HP_POP(party->recruit_update), HP_POP2(HP_party_recruit_update), 3350 }, +{ HP_POP(party->recruit_search), HP_POP2(HP_party_recruit_search), 3352 }, +{ HP_POP(party->booking_delete), HP_POP2(HP_party_booking_delete), 3354 }, +{ HP_POP(party->vforeachsamemap), HP_POP2(HP_party_vforeachsamemap), 3356 }, +{ HP_POP(party->send_xy_timer), HP_POP2(HP_party_send_xy_timer), 3358 }, +{ HP_POP(party->fill_member), HP_POP2(HP_party_fill_member), 3360 }, +{ HP_POP(party->sd_check), HP_POP2(HP_party_sd_check), 3362 }, +{ HP_POP(party->check_state), HP_POP2(HP_party_check_state), 3364 }, +{ HP_POP(party->create_booking_data), HP_POP2(HP_party_create_booking_data), 3366 }, +{ HP_POP(party->db_final), HP_POP2(HP_party_db_final), 3368 }, /* path */ -{ HP_POP(path->blownpos), HP_POP2(HP_path_blownpos), 3350 }, -{ HP_POP(path->search), HP_POP2(HP_path_search), 3352 }, -{ HP_POP(path->search_long), HP_POP2(HP_path_search_long), 3354 }, -{ HP_POP(path->check_distance), HP_POP2(HP_path_check_distance), 3356 }, -{ HP_POP(path->distance), HP_POP2(HP_path_distance), 3358 }, +{ HP_POP(path->blownpos), HP_POP2(HP_path_blownpos), 3370 }, +{ HP_POP(path->search), HP_POP2(HP_path_search), 3372 }, +{ HP_POP(path->search_long), HP_POP2(HP_path_search_long), 3374 }, +{ HP_POP(path->check_distance), HP_POP2(HP_path_check_distance), 3376 }, +{ HP_POP(path->distance), HP_POP2(HP_path_distance), 3378 }, /* pc */ -{ HP_POP(pc->init), HP_POP2(HP_pc_init), 3360 }, -{ HP_POP(pc->final), HP_POP2(HP_pc_final), 3362 }, -{ HP_POP(pc->get_dummy_sd), HP_POP2(HP_pc_get_dummy_sd), 3364 }, -{ HP_POP(pc->class2idx), HP_POP2(HP_pc_class2idx), 3366 }, -{ HP_POP(pc->get_group_level), HP_POP2(HP_pc_get_group_level), 3368 }, -{ HP_POP(pc->can_give_items), HP_POP2(HP_pc_can_give_items), 3370 }, -{ HP_POP(pc->can_use_command), HP_POP2(HP_pc_can_use_command), 3372 }, -{ HP_POP(pc->has_permission), HP_POP2(HP_pc_has_permission), 3374 }, -{ HP_POP(pc->set_group), HP_POP2(HP_pc_set_group), 3376 }, -{ HP_POP(pc->should_log_commands), HP_POP2(HP_pc_should_log_commands), 3378 }, -{ HP_POP(pc->setrestartvalue), HP_POP2(HP_pc_setrestartvalue), 3380 }, -{ HP_POP(pc->makesavestatus), HP_POP2(HP_pc_makesavestatus), 3382 }, -{ HP_POP(pc->respawn), HP_POP2(HP_pc_respawn), 3384 }, -{ HP_POP(pc->setnewpc), HP_POP2(HP_pc_setnewpc), 3386 }, -{ HP_POP(pc->authok), HP_POP2(HP_pc_authok), 3388 }, -{ HP_POP(pc->authfail), HP_POP2(HP_pc_authfail), 3390 }, -{ HP_POP(pc->reg_received), HP_POP2(HP_pc_reg_received), 3392 }, -{ HP_POP(pc->isequip), HP_POP2(HP_pc_isequip), 3394 }, -{ HP_POP(pc->equippoint), HP_POP2(HP_pc_equippoint), 3396 }, -{ HP_POP(pc->setinventorydata), HP_POP2(HP_pc_setinventorydata), 3398 }, -{ HP_POP(pc->checkskill), HP_POP2(HP_pc_checkskill), 3400 }, -{ HP_POP(pc->checkskill2), HP_POP2(HP_pc_checkskill2), 3402 }, -{ HP_POP(pc->checkallowskill), HP_POP2(HP_pc_checkallowskill), 3404 }, -{ HP_POP(pc->checkequip), HP_POP2(HP_pc_checkequip), 3406 }, -{ HP_POP(pc->calc_skilltree), HP_POP2(HP_pc_calc_skilltree), 3408 }, -{ HP_POP(pc->calc_skilltree_normalize_job), HP_POP2(HP_pc_calc_skilltree_normalize_job), 3410 }, -{ HP_POP(pc->clean_skilltree), HP_POP2(HP_pc_clean_skilltree), 3412 }, -{ HP_POP(pc->setpos), HP_POP2(HP_pc_setpos), 3414 }, -{ HP_POP(pc->setsavepoint), HP_POP2(HP_pc_setsavepoint), 3416 }, -{ HP_POP(pc->randomwarp), HP_POP2(HP_pc_randomwarp), 3418 }, -{ HP_POP(pc->memo), HP_POP2(HP_pc_memo), 3420 }, -{ HP_POP(pc->checkadditem), HP_POP2(HP_pc_checkadditem), 3422 }, -{ HP_POP(pc->inventoryblank), HP_POP2(HP_pc_inventoryblank), 3424 }, -{ HP_POP(pc->search_inventory), HP_POP2(HP_pc_search_inventory), 3426 }, -{ HP_POP(pc->payzeny), HP_POP2(HP_pc_payzeny), 3428 }, -{ HP_POP(pc->additem), HP_POP2(HP_pc_additem), 3430 }, -{ HP_POP(pc->getzeny), HP_POP2(HP_pc_getzeny), 3432 }, -{ HP_POP(pc->delitem), HP_POP2(HP_pc_delitem), 3434 }, -{ HP_POP(pc->paycash), HP_POP2(HP_pc_paycash), 3436 }, -{ HP_POP(pc->getcash), HP_POP2(HP_pc_getcash), 3438 }, -{ HP_POP(pc->cart_additem), HP_POP2(HP_pc_cart_additem), 3440 }, -{ HP_POP(pc->cart_delitem), HP_POP2(HP_pc_cart_delitem), 3442 }, -{ HP_POP(pc->putitemtocart), HP_POP2(HP_pc_putitemtocart), 3444 }, -{ HP_POP(pc->getitemfromcart), HP_POP2(HP_pc_getitemfromcart), 3446 }, -{ HP_POP(pc->cartitem_amount), HP_POP2(HP_pc_cartitem_amount), 3448 }, -{ HP_POP(pc->takeitem), HP_POP2(HP_pc_takeitem), 3450 }, -{ HP_POP(pc->dropitem), HP_POP2(HP_pc_dropitem), 3452 }, -{ HP_POP(pc->isequipped), HP_POP2(HP_pc_isequipped), 3454 }, -{ HP_POP(pc->can_Adopt), HP_POP2(HP_pc_can_Adopt), 3456 }, -{ HP_POP(pc->adoption), HP_POP2(HP_pc_adoption), 3458 }, -{ HP_POP(pc->updateweightstatus), HP_POP2(HP_pc_updateweightstatus), 3460 }, -{ HP_POP(pc->addautobonus), HP_POP2(HP_pc_addautobonus), 3462 }, -{ HP_POP(pc->exeautobonus), HP_POP2(HP_pc_exeautobonus), 3464 }, -{ HP_POP(pc->endautobonus), HP_POP2(HP_pc_endautobonus), 3466 }, -{ HP_POP(pc->delautobonus), HP_POP2(HP_pc_delautobonus), 3468 }, -{ HP_POP(pc->bonus), HP_POP2(HP_pc_bonus), 3470 }, -{ HP_POP(pc->bonus2), HP_POP2(HP_pc_bonus2), 3472 }, -{ HP_POP(pc->bonus3), HP_POP2(HP_pc_bonus3), 3474 }, -{ HP_POP(pc->bonus4), HP_POP2(HP_pc_bonus4), 3476 }, -{ HP_POP(pc->bonus5), HP_POP2(HP_pc_bonus5), 3478 }, -{ HP_POP(pc->skill), HP_POP2(HP_pc_skill), 3480 }, -{ HP_POP(pc->insert_card), HP_POP2(HP_pc_insert_card), 3482 }, -{ HP_POP(pc->steal_item), HP_POP2(HP_pc_steal_item), 3484 }, -{ HP_POP(pc->steal_coin), HP_POP2(HP_pc_steal_coin), 3486 }, -{ HP_POP(pc->modifybuyvalue), HP_POP2(HP_pc_modifybuyvalue), 3488 }, -{ HP_POP(pc->modifysellvalue), HP_POP2(HP_pc_modifysellvalue), 3490 }, -{ HP_POP(pc->follow), HP_POP2(HP_pc_follow), 3492 }, -{ HP_POP(pc->stop_following), HP_POP2(HP_pc_stop_following), 3494 }, -{ HP_POP(pc->maxbaselv), HP_POP2(HP_pc_maxbaselv), 3496 }, -{ HP_POP(pc->maxjoblv), HP_POP2(HP_pc_maxjoblv), 3498 }, -{ HP_POP(pc->checkbaselevelup), HP_POP2(HP_pc_checkbaselevelup), 3500 }, -{ HP_POP(pc->checkjoblevelup), HP_POP2(HP_pc_checkjoblevelup), 3502 }, -{ HP_POP(pc->gainexp), HP_POP2(HP_pc_gainexp), 3504 }, -{ HP_POP(pc->nextbaseexp), HP_POP2(HP_pc_nextbaseexp), 3506 }, -{ HP_POP(pc->thisbaseexp), HP_POP2(HP_pc_thisbaseexp), 3508 }, -{ HP_POP(pc->nextjobexp), HP_POP2(HP_pc_nextjobexp), 3510 }, -{ HP_POP(pc->thisjobexp), HP_POP2(HP_pc_thisjobexp), 3512 }, -{ HP_POP(pc->gets_status_point), HP_POP2(HP_pc_gets_status_point), 3514 }, -{ HP_POP(pc->need_status_point), HP_POP2(HP_pc_need_status_point), 3516 }, -{ HP_POP(pc->statusup), HP_POP2(HP_pc_statusup), 3518 }, -{ HP_POP(pc->statusup2), HP_POP2(HP_pc_statusup2), 3520 }, -{ HP_POP(pc->skillup), HP_POP2(HP_pc_skillup), 3522 }, -{ HP_POP(pc->allskillup), HP_POP2(HP_pc_allskillup), 3524 }, -{ HP_POP(pc->resetlvl), HP_POP2(HP_pc_resetlvl), 3526 }, -{ HP_POP(pc->resetstate), HP_POP2(HP_pc_resetstate), 3528 }, -{ HP_POP(pc->resetskill), HP_POP2(HP_pc_resetskill), 3530 }, -{ HP_POP(pc->resetfeel), HP_POP2(HP_pc_resetfeel), 3532 }, -{ HP_POP(pc->resethate), HP_POP2(HP_pc_resethate), 3534 }, -{ HP_POP(pc->equipitem), HP_POP2(HP_pc_equipitem), 3536 }, -{ HP_POP(pc->unequipitem), HP_POP2(HP_pc_unequipitem), 3538 }, -{ HP_POP(pc->checkitem), HP_POP2(HP_pc_checkitem), 3540 }, -{ HP_POP(pc->useitem), HP_POP2(HP_pc_useitem), 3542 }, -{ HP_POP(pc->skillatk_bonus), HP_POP2(HP_pc_skillatk_bonus), 3544 }, -{ HP_POP(pc->skillheal_bonus), HP_POP2(HP_pc_skillheal_bonus), 3546 }, -{ HP_POP(pc->skillheal2_bonus), HP_POP2(HP_pc_skillheal2_bonus), 3548 }, -{ HP_POP(pc->damage), HP_POP2(HP_pc_damage), 3550 }, -{ HP_POP(pc->dead), HP_POP2(HP_pc_dead), 3552 }, -{ HP_POP(pc->revive), HP_POP2(HP_pc_revive), 3554 }, -{ HP_POP(pc->heal), HP_POP2(HP_pc_heal), 3556 }, -{ HP_POP(pc->itemheal), HP_POP2(HP_pc_itemheal), 3558 }, -{ HP_POP(pc->percentheal), HP_POP2(HP_pc_percentheal), 3560 }, -{ HP_POP(pc->jobchange), HP_POP2(HP_pc_jobchange), 3562 }, -{ HP_POP(pc->setoption), HP_POP2(HP_pc_setoption), 3564 }, -{ HP_POP(pc->setcart), HP_POP2(HP_pc_setcart), 3566 }, -{ HP_POP(pc->setfalcon), HP_POP2(HP_pc_setfalcon), 3568 }, -{ HP_POP(pc->setriding), HP_POP2(HP_pc_setriding), 3570 }, -{ HP_POP(pc->setmadogear), HP_POP2(HP_pc_setmadogear), 3572 }, -{ HP_POP(pc->changelook), HP_POP2(HP_pc_changelook), 3574 }, -{ HP_POP(pc->equiplookall), HP_POP2(HP_pc_equiplookall), 3576 }, -{ HP_POP(pc->readparam), HP_POP2(HP_pc_readparam), 3578 }, -{ HP_POP(pc->setparam), HP_POP2(HP_pc_setparam), 3580 }, -{ HP_POP(pc->readreg), HP_POP2(HP_pc_readreg), 3582 }, -{ HP_POP(pc->setreg), HP_POP2(HP_pc_setreg), 3584 }, -{ HP_POP(pc->readregstr), HP_POP2(HP_pc_readregstr), 3586 }, -{ HP_POP(pc->setregstr), HP_POP2(HP_pc_setregstr), 3588 }, -{ HP_POP(pc->readregistry), HP_POP2(HP_pc_readregistry), 3590 }, -{ HP_POP(pc->setregistry), HP_POP2(HP_pc_setregistry), 3592 }, -{ HP_POP(pc->readregistry_str), HP_POP2(HP_pc_readregistry_str), 3594 }, -{ HP_POP(pc->setregistry_str), HP_POP2(HP_pc_setregistry_str), 3596 }, -{ HP_POP(pc->addeventtimer), HP_POP2(HP_pc_addeventtimer), 3598 }, -{ HP_POP(pc->deleventtimer), HP_POP2(HP_pc_deleventtimer), 3600 }, -{ HP_POP(pc->cleareventtimer), HP_POP2(HP_pc_cleareventtimer), 3602 }, -{ HP_POP(pc->addeventtimercount), HP_POP2(HP_pc_addeventtimercount), 3604 }, -{ HP_POP(pc->calc_pvprank), HP_POP2(HP_pc_calc_pvprank), 3606 }, -{ HP_POP(pc->calc_pvprank_timer), HP_POP2(HP_pc_calc_pvprank_timer), 3608 }, -{ HP_POP(pc->ismarried), HP_POP2(HP_pc_ismarried), 3610 }, -{ HP_POP(pc->marriage), HP_POP2(HP_pc_marriage), 3612 }, -{ HP_POP(pc->divorce), HP_POP2(HP_pc_divorce), 3614 }, -{ HP_POP(pc->get_partner), HP_POP2(HP_pc_get_partner), 3616 }, -{ HP_POP(pc->get_father), HP_POP2(HP_pc_get_father), 3618 }, -{ HP_POP(pc->get_mother), HP_POP2(HP_pc_get_mother), 3620 }, -{ HP_POP(pc->get_child), HP_POP2(HP_pc_get_child), 3622 }, -{ HP_POP(pc->bleeding), HP_POP2(HP_pc_bleeding), 3624 }, -{ HP_POP(pc->regen), HP_POP2(HP_pc_regen), 3626 }, -{ HP_POP(pc->setstand), HP_POP2(HP_pc_setstand), 3628 }, -{ HP_POP(pc->candrop), HP_POP2(HP_pc_candrop), 3630 }, -{ HP_POP(pc->jobid2mapid), HP_POP2(HP_pc_jobid2mapid), 3632 }, -{ HP_POP(pc->mapid2jobid), HP_POP2(HP_pc_mapid2jobid), 3634 }, -{ HP_POP(pc->job_name), HP_POP2(HP_pc_job_name), 3636 }, -{ HP_POP(pc->setinvincibletimer), HP_POP2(HP_pc_setinvincibletimer), 3638 }, -{ HP_POP(pc->delinvincibletimer), HP_POP2(HP_pc_delinvincibletimer), 3640 }, -{ HP_POP(pc->addspiritball), HP_POP2(HP_pc_addspiritball), 3642 }, -{ HP_POP(pc->delspiritball), HP_POP2(HP_pc_delspiritball), 3644 }, -{ HP_POP(pc->addfame), HP_POP2(HP_pc_addfame), 3646 }, -{ HP_POP(pc->famerank), HP_POP2(HP_pc_famerank), 3648 }, -{ HP_POP(pc->set_hate_mob), HP_POP2(HP_pc_set_hate_mob), 3650 }, -{ HP_POP(pc->readdb), HP_POP2(HP_pc_readdb), 3652 }, -{ HP_POP(pc->map_day_timer), HP_POP2(HP_pc_map_day_timer), 3654 }, -{ HP_POP(pc->map_night_timer), HP_POP2(HP_pc_map_night_timer), 3656 }, -{ HP_POP(pc->inventory_rentals), HP_POP2(HP_pc_inventory_rentals), 3658 }, -{ HP_POP(pc->inventory_rental_clear), HP_POP2(HP_pc_inventory_rental_clear), 3660 }, -{ HP_POP(pc->inventory_rental_add), HP_POP2(HP_pc_inventory_rental_add), 3662 }, -{ HP_POP(pc->disguise), HP_POP2(HP_pc_disguise), 3664 }, -{ HP_POP(pc->isautolooting), HP_POP2(HP_pc_isautolooting), 3666 }, -{ HP_POP(pc->overheat), HP_POP2(HP_pc_overheat), 3668 }, -{ HP_POP(pc->banding), HP_POP2(HP_pc_banding), 3670 }, -{ HP_POP(pc->itemcd_do), HP_POP2(HP_pc_itemcd_do), 3672 }, -{ HP_POP(pc->load_combo), HP_POP2(HP_pc_load_combo), 3674 }, -{ HP_POP(pc->add_charm), HP_POP2(HP_pc_add_charm), 3676 }, -{ HP_POP(pc->del_charm), HP_POP2(HP_pc_del_charm), 3678 }, -{ HP_POP(pc->baselevelchanged), HP_POP2(HP_pc_baselevelchanged), 3680 }, -{ HP_POP(pc->level_penalty_mod), HP_POP2(HP_pc_level_penalty_mod), 3682 }, -{ HP_POP(pc->calc_skillpoint), HP_POP2(HP_pc_calc_skillpoint), 3684 }, -{ HP_POP(pc->invincible_timer), HP_POP2(HP_pc_invincible_timer), 3686 }, -{ HP_POP(pc->spiritball_timer), HP_POP2(HP_pc_spiritball_timer), 3688 }, -{ HP_POP(pc->check_banding), HP_POP2(HP_pc_check_banding), 3690 }, -{ HP_POP(pc->inventory_rental_end), HP_POP2(HP_pc_inventory_rental_end), 3692 }, -{ HP_POP(pc->check_skilltree), HP_POP2(HP_pc_check_skilltree), 3694 }, -{ HP_POP(pc->bonus_autospell), HP_POP2(HP_pc_bonus_autospell), 3696 }, -{ HP_POP(pc->bonus_autospell_onskill), HP_POP2(HP_pc_bonus_autospell_onskill), 3698 }, -{ HP_POP(pc->bonus_addeff), HP_POP2(HP_pc_bonus_addeff), 3700 }, -{ HP_POP(pc->bonus_addeff_onskill), HP_POP2(HP_pc_bonus_addeff_onskill), 3702 }, -{ HP_POP(pc->bonus_item_drop), HP_POP2(HP_pc_bonus_item_drop), 3704 }, -{ HP_POP(pc->calcexp), HP_POP2(HP_pc_calcexp), 3706 }, -{ HP_POP(pc->respawn_timer), HP_POP2(HP_pc_respawn_timer), 3708 }, -{ HP_POP(pc->jobchange_killclone), HP_POP2(HP_pc_jobchange_killclone), 3710 }, -{ HP_POP(pc->getstat), HP_POP2(HP_pc_getstat), 3712 }, -{ HP_POP(pc->setstat), HP_POP2(HP_pc_setstat), 3714 }, -{ HP_POP(pc->eventtimer), HP_POP2(HP_pc_eventtimer), 3716 }, -{ HP_POP(pc->daynight_timer_sub), HP_POP2(HP_pc_daynight_timer_sub), 3718 }, -{ HP_POP(pc->charm_timer), HP_POP2(HP_pc_charm_timer), 3720 }, -{ HP_POP(pc->readdb_levelpenalty), HP_POP2(HP_pc_readdb_levelpenalty), 3722 }, -{ HP_POP(pc->autosave), HP_POP2(HP_pc_autosave), 3724 }, -{ HP_POP(pc->follow_timer), HP_POP2(HP_pc_follow_timer), 3726 }, -{ HP_POP(pc->read_skill_tree), HP_POP2(HP_pc_read_skill_tree), 3728 }, -{ HP_POP(pc->isUseitem), HP_POP2(HP_pc_isUseitem), 3730 }, -{ HP_POP(pc->show_steal), HP_POP2(HP_pc_show_steal), 3732 }, -{ HP_POP(pc->checkcombo), HP_POP2(HP_pc_checkcombo), 3734 }, -{ HP_POP(pc->calcweapontype), HP_POP2(HP_pc_calcweapontype), 3736 }, -{ HP_POP(pc->removecombo), HP_POP2(HP_pc_removecombo), 3738 }, +{ HP_POP(pc->init), HP_POP2(HP_pc_init), 3380 }, +{ HP_POP(pc->final), HP_POP2(HP_pc_final), 3382 }, +{ HP_POP(pc->get_dummy_sd), HP_POP2(HP_pc_get_dummy_sd), 3384 }, +{ HP_POP(pc->class2idx), HP_POP2(HP_pc_class2idx), 3386 }, +{ HP_POP(pc->get_group_level), HP_POP2(HP_pc_get_group_level), 3388 }, +{ HP_POP(pc->can_give_items), HP_POP2(HP_pc_can_give_items), 3390 }, +{ HP_POP(pc->can_use_command), HP_POP2(HP_pc_can_use_command), 3392 }, +{ HP_POP(pc->has_permission), HP_POP2(HP_pc_has_permission), 3394 }, +{ HP_POP(pc->set_group), HP_POP2(HP_pc_set_group), 3396 }, +{ HP_POP(pc->should_log_commands), HP_POP2(HP_pc_should_log_commands), 3398 }, +{ HP_POP(pc->setrestartvalue), HP_POP2(HP_pc_setrestartvalue), 3400 }, +{ HP_POP(pc->makesavestatus), HP_POP2(HP_pc_makesavestatus), 3402 }, +{ HP_POP(pc->respawn), HP_POP2(HP_pc_respawn), 3404 }, +{ HP_POP(pc->setnewpc), HP_POP2(HP_pc_setnewpc), 3406 }, +{ HP_POP(pc->authok), HP_POP2(HP_pc_authok), 3408 }, +{ HP_POP(pc->authfail), HP_POP2(HP_pc_authfail), 3410 }, +{ HP_POP(pc->reg_received), HP_POP2(HP_pc_reg_received), 3412 }, +{ HP_POP(pc->isequip), HP_POP2(HP_pc_isequip), 3414 }, +{ HP_POP(pc->equippoint), HP_POP2(HP_pc_equippoint), 3416 }, +{ HP_POP(pc->setinventorydata), HP_POP2(HP_pc_setinventorydata), 3418 }, +{ HP_POP(pc->checkskill), HP_POP2(HP_pc_checkskill), 3420 }, +{ HP_POP(pc->checkskill2), HP_POP2(HP_pc_checkskill2), 3422 }, +{ HP_POP(pc->checkallowskill), HP_POP2(HP_pc_checkallowskill), 3424 }, +{ HP_POP(pc->checkequip), HP_POP2(HP_pc_checkequip), 3426 }, +{ HP_POP(pc->calc_skilltree), HP_POP2(HP_pc_calc_skilltree), 3428 }, +{ HP_POP(pc->calc_skilltree_normalize_job), HP_POP2(HP_pc_calc_skilltree_normalize_job), 3430 }, +{ HP_POP(pc->clean_skilltree), HP_POP2(HP_pc_clean_skilltree), 3432 }, +{ HP_POP(pc->setpos), HP_POP2(HP_pc_setpos), 3434 }, +{ HP_POP(pc->setsavepoint), HP_POP2(HP_pc_setsavepoint), 3436 }, +{ HP_POP(pc->randomwarp), HP_POP2(HP_pc_randomwarp), 3438 }, +{ HP_POP(pc->memo), HP_POP2(HP_pc_memo), 3440 }, +{ HP_POP(pc->checkadditem), HP_POP2(HP_pc_checkadditem), 3442 }, +{ HP_POP(pc->inventoryblank), HP_POP2(HP_pc_inventoryblank), 3444 }, +{ HP_POP(pc->search_inventory), HP_POP2(HP_pc_search_inventory), 3446 }, +{ HP_POP(pc->payzeny), HP_POP2(HP_pc_payzeny), 3448 }, +{ HP_POP(pc->additem), HP_POP2(HP_pc_additem), 3450 }, +{ HP_POP(pc->getzeny), HP_POP2(HP_pc_getzeny), 3452 }, +{ HP_POP(pc->delitem), HP_POP2(HP_pc_delitem), 3454 }, +{ HP_POP(pc->paycash), HP_POP2(HP_pc_paycash), 3456 }, +{ HP_POP(pc->getcash), HP_POP2(HP_pc_getcash), 3458 }, +{ HP_POP(pc->cart_additem), HP_POP2(HP_pc_cart_additem), 3460 }, +{ HP_POP(pc->cart_delitem), HP_POP2(HP_pc_cart_delitem), 3462 }, +{ HP_POP(pc->putitemtocart), HP_POP2(HP_pc_putitemtocart), 3464 }, +{ HP_POP(pc->getitemfromcart), HP_POP2(HP_pc_getitemfromcart), 3466 }, +{ HP_POP(pc->cartitem_amount), HP_POP2(HP_pc_cartitem_amount), 3468 }, +{ HP_POP(pc->takeitem), HP_POP2(HP_pc_takeitem), 3470 }, +{ HP_POP(pc->dropitem), HP_POP2(HP_pc_dropitem), 3472 }, +{ HP_POP(pc->isequipped), HP_POP2(HP_pc_isequipped), 3474 }, +{ HP_POP(pc->can_Adopt), HP_POP2(HP_pc_can_Adopt), 3476 }, +{ HP_POP(pc->adoption), HP_POP2(HP_pc_adoption), 3478 }, +{ HP_POP(pc->updateweightstatus), HP_POP2(HP_pc_updateweightstatus), 3480 }, +{ HP_POP(pc->addautobonus), HP_POP2(HP_pc_addautobonus), 3482 }, +{ HP_POP(pc->exeautobonus), HP_POP2(HP_pc_exeautobonus), 3484 }, +{ HP_POP(pc->endautobonus), HP_POP2(HP_pc_endautobonus), 3486 }, +{ HP_POP(pc->delautobonus), HP_POP2(HP_pc_delautobonus), 3488 }, +{ HP_POP(pc->bonus), HP_POP2(HP_pc_bonus), 3490 }, +{ HP_POP(pc->bonus2), HP_POP2(HP_pc_bonus2), 3492 }, +{ HP_POP(pc->bonus3), HP_POP2(HP_pc_bonus3), 3494 }, +{ HP_POP(pc->bonus4), HP_POP2(HP_pc_bonus4), 3496 }, +{ HP_POP(pc->bonus5), HP_POP2(HP_pc_bonus5), 3498 }, +{ HP_POP(pc->skill), HP_POP2(HP_pc_skill), 3500 }, +{ HP_POP(pc->insert_card), HP_POP2(HP_pc_insert_card), 3502 }, +{ HP_POP(pc->steal_item), HP_POP2(HP_pc_steal_item), 3504 }, +{ HP_POP(pc->steal_coin), HP_POP2(HP_pc_steal_coin), 3506 }, +{ HP_POP(pc->modifybuyvalue), HP_POP2(HP_pc_modifybuyvalue), 3508 }, +{ HP_POP(pc->modifysellvalue), HP_POP2(HP_pc_modifysellvalue), 3510 }, +{ HP_POP(pc->follow), HP_POP2(HP_pc_follow), 3512 }, +{ HP_POP(pc->stop_following), HP_POP2(HP_pc_stop_following), 3514 }, +{ HP_POP(pc->maxbaselv), HP_POP2(HP_pc_maxbaselv), 3516 }, +{ HP_POP(pc->maxjoblv), HP_POP2(HP_pc_maxjoblv), 3518 }, +{ HP_POP(pc->checkbaselevelup), HP_POP2(HP_pc_checkbaselevelup), 3520 }, +{ HP_POP(pc->checkjoblevelup), HP_POP2(HP_pc_checkjoblevelup), 3522 }, +{ HP_POP(pc->gainexp), HP_POP2(HP_pc_gainexp), 3524 }, +{ HP_POP(pc->nextbaseexp), HP_POP2(HP_pc_nextbaseexp), 3526 }, +{ HP_POP(pc->thisbaseexp), HP_POP2(HP_pc_thisbaseexp), 3528 }, +{ HP_POP(pc->nextjobexp), HP_POP2(HP_pc_nextjobexp), 3530 }, +{ HP_POP(pc->thisjobexp), HP_POP2(HP_pc_thisjobexp), 3532 }, +{ HP_POP(pc->gets_status_point), HP_POP2(HP_pc_gets_status_point), 3534 }, +{ HP_POP(pc->need_status_point), HP_POP2(HP_pc_need_status_point), 3536 }, +{ HP_POP(pc->statusup), HP_POP2(HP_pc_statusup), 3538 }, +{ HP_POP(pc->statusup2), HP_POP2(HP_pc_statusup2), 3540 }, +{ HP_POP(pc->skillup), HP_POP2(HP_pc_skillup), 3542 }, +{ HP_POP(pc->allskillup), HP_POP2(HP_pc_allskillup), 3544 }, +{ HP_POP(pc->resetlvl), HP_POP2(HP_pc_resetlvl), 3546 }, +{ HP_POP(pc->resetstate), HP_POP2(HP_pc_resetstate), 3548 }, +{ HP_POP(pc->resetskill), HP_POP2(HP_pc_resetskill), 3550 }, +{ HP_POP(pc->resetfeel), HP_POP2(HP_pc_resetfeel), 3552 }, +{ HP_POP(pc->resethate), HP_POP2(HP_pc_resethate), 3554 }, +{ HP_POP(pc->equipitem), HP_POP2(HP_pc_equipitem), 3556 }, +{ HP_POP(pc->unequipitem), HP_POP2(HP_pc_unequipitem), 3558 }, +{ HP_POP(pc->checkitem), HP_POP2(HP_pc_checkitem), 3560 }, +{ HP_POP(pc->useitem), HP_POP2(HP_pc_useitem), 3562 }, +{ HP_POP(pc->skillatk_bonus), HP_POP2(HP_pc_skillatk_bonus), 3564 }, +{ HP_POP(pc->skillheal_bonus), HP_POP2(HP_pc_skillheal_bonus), 3566 }, +{ HP_POP(pc->skillheal2_bonus), HP_POP2(HP_pc_skillheal2_bonus), 3568 }, +{ HP_POP(pc->damage), HP_POP2(HP_pc_damage), 3570 }, +{ HP_POP(pc->dead), HP_POP2(HP_pc_dead), 3572 }, +{ HP_POP(pc->revive), HP_POP2(HP_pc_revive), 3574 }, +{ HP_POP(pc->heal), HP_POP2(HP_pc_heal), 3576 }, +{ HP_POP(pc->itemheal), HP_POP2(HP_pc_itemheal), 3578 }, +{ HP_POP(pc->percentheal), HP_POP2(HP_pc_percentheal), 3580 }, +{ HP_POP(pc->jobchange), HP_POP2(HP_pc_jobchange), 3582 }, +{ HP_POP(pc->setoption), HP_POP2(HP_pc_setoption), 3584 }, +{ HP_POP(pc->setcart), HP_POP2(HP_pc_setcart), 3586 }, +{ HP_POP(pc->setfalcon), HP_POP2(HP_pc_setfalcon), 3588 }, +{ HP_POP(pc->setriding), HP_POP2(HP_pc_setriding), 3590 }, +{ HP_POP(pc->setmadogear), HP_POP2(HP_pc_setmadogear), 3592 }, +{ HP_POP(pc->changelook), HP_POP2(HP_pc_changelook), 3594 }, +{ HP_POP(pc->equiplookall), HP_POP2(HP_pc_equiplookall), 3596 }, +{ HP_POP(pc->readparam), HP_POP2(HP_pc_readparam), 3598 }, +{ HP_POP(pc->setparam), HP_POP2(HP_pc_setparam), 3600 }, +{ HP_POP(pc->readreg), HP_POP2(HP_pc_readreg), 3602 }, +{ HP_POP(pc->setreg), HP_POP2(HP_pc_setreg), 3604 }, +{ HP_POP(pc->readregstr), HP_POP2(HP_pc_readregstr), 3606 }, +{ HP_POP(pc->setregstr), HP_POP2(HP_pc_setregstr), 3608 }, +{ HP_POP(pc->readregistry), HP_POP2(HP_pc_readregistry), 3610 }, +{ HP_POP(pc->setregistry), HP_POP2(HP_pc_setregistry), 3612 }, +{ HP_POP(pc->readregistry_str), HP_POP2(HP_pc_readregistry_str), 3614 }, +{ HP_POP(pc->setregistry_str), HP_POP2(HP_pc_setregistry_str), 3616 }, +{ HP_POP(pc->addeventtimer), HP_POP2(HP_pc_addeventtimer), 3618 }, +{ HP_POP(pc->deleventtimer), HP_POP2(HP_pc_deleventtimer), 3620 }, +{ HP_POP(pc->cleareventtimer), HP_POP2(HP_pc_cleareventtimer), 3622 }, +{ HP_POP(pc->addeventtimercount), HP_POP2(HP_pc_addeventtimercount), 3624 }, +{ HP_POP(pc->calc_pvprank), HP_POP2(HP_pc_calc_pvprank), 3626 }, +{ HP_POP(pc->calc_pvprank_timer), HP_POP2(HP_pc_calc_pvprank_timer), 3628 }, +{ HP_POP(pc->ismarried), HP_POP2(HP_pc_ismarried), 3630 }, +{ HP_POP(pc->marriage), HP_POP2(HP_pc_marriage), 3632 }, +{ HP_POP(pc->divorce), HP_POP2(HP_pc_divorce), 3634 }, +{ HP_POP(pc->get_partner), HP_POP2(HP_pc_get_partner), 3636 }, +{ HP_POP(pc->get_father), HP_POP2(HP_pc_get_father), 3638 }, +{ HP_POP(pc->get_mother), HP_POP2(HP_pc_get_mother), 3640 }, +{ HP_POP(pc->get_child), HP_POP2(HP_pc_get_child), 3642 }, +{ HP_POP(pc->bleeding), HP_POP2(HP_pc_bleeding), 3644 }, +{ HP_POP(pc->regen), HP_POP2(HP_pc_regen), 3646 }, +{ HP_POP(pc->setstand), HP_POP2(HP_pc_setstand), 3648 }, +{ HP_POP(pc->candrop), HP_POP2(HP_pc_candrop), 3650 }, +{ HP_POP(pc->jobid2mapid), HP_POP2(HP_pc_jobid2mapid), 3652 }, +{ HP_POP(pc->mapid2jobid), HP_POP2(HP_pc_mapid2jobid), 3654 }, +{ HP_POP(pc->job_name), HP_POP2(HP_pc_job_name), 3656 }, +{ HP_POP(pc->setinvincibletimer), HP_POP2(HP_pc_setinvincibletimer), 3658 }, +{ HP_POP(pc->delinvincibletimer), HP_POP2(HP_pc_delinvincibletimer), 3660 }, +{ HP_POP(pc->addspiritball), HP_POP2(HP_pc_addspiritball), 3662 }, +{ HP_POP(pc->delspiritball), HP_POP2(HP_pc_delspiritball), 3664 }, +{ HP_POP(pc->addfame), HP_POP2(HP_pc_addfame), 3666 }, +{ HP_POP(pc->famerank), HP_POP2(HP_pc_famerank), 3668 }, +{ HP_POP(pc->set_hate_mob), HP_POP2(HP_pc_set_hate_mob), 3670 }, +{ HP_POP(pc->readdb), HP_POP2(HP_pc_readdb), 3672 }, +{ HP_POP(pc->map_day_timer), HP_POP2(HP_pc_map_day_timer), 3674 }, +{ HP_POP(pc->map_night_timer), HP_POP2(HP_pc_map_night_timer), 3676 }, +{ HP_POP(pc->inventory_rentals), HP_POP2(HP_pc_inventory_rentals), 3678 }, +{ HP_POP(pc->inventory_rental_clear), HP_POP2(HP_pc_inventory_rental_clear), 3680 }, +{ HP_POP(pc->inventory_rental_add), HP_POP2(HP_pc_inventory_rental_add), 3682 }, +{ HP_POP(pc->disguise), HP_POP2(HP_pc_disguise), 3684 }, +{ HP_POP(pc->isautolooting), HP_POP2(HP_pc_isautolooting), 3686 }, +{ HP_POP(pc->overheat), HP_POP2(HP_pc_overheat), 3688 }, +{ HP_POP(pc->banding), HP_POP2(HP_pc_banding), 3690 }, +{ HP_POP(pc->itemcd_do), HP_POP2(HP_pc_itemcd_do), 3692 }, +{ HP_POP(pc->load_combo), HP_POP2(HP_pc_load_combo), 3694 }, +{ HP_POP(pc->add_charm), HP_POP2(HP_pc_add_charm), 3696 }, +{ HP_POP(pc->del_charm), HP_POP2(HP_pc_del_charm), 3698 }, +{ HP_POP(pc->baselevelchanged), HP_POP2(HP_pc_baselevelchanged), 3700 }, +{ HP_POP(pc->level_penalty_mod), HP_POP2(HP_pc_level_penalty_mod), 3702 }, +{ HP_POP(pc->calc_skillpoint), HP_POP2(HP_pc_calc_skillpoint), 3704 }, +{ HP_POP(pc->invincible_timer), HP_POP2(HP_pc_invincible_timer), 3706 }, +{ HP_POP(pc->spiritball_timer), HP_POP2(HP_pc_spiritball_timer), 3708 }, +{ HP_POP(pc->check_banding), HP_POP2(HP_pc_check_banding), 3710 }, +{ HP_POP(pc->inventory_rental_end), HP_POP2(HP_pc_inventory_rental_end), 3712 }, +{ HP_POP(pc->check_skilltree), HP_POP2(HP_pc_check_skilltree), 3714 }, +{ HP_POP(pc->bonus_autospell), HP_POP2(HP_pc_bonus_autospell), 3716 }, +{ HP_POP(pc->bonus_autospell_onskill), HP_POP2(HP_pc_bonus_autospell_onskill), 3718 }, +{ HP_POP(pc->bonus_addeff), HP_POP2(HP_pc_bonus_addeff), 3720 }, +{ HP_POP(pc->bonus_addeff_onskill), HP_POP2(HP_pc_bonus_addeff_onskill), 3722 }, +{ HP_POP(pc->bonus_item_drop), HP_POP2(HP_pc_bonus_item_drop), 3724 }, +{ HP_POP(pc->calcexp), HP_POP2(HP_pc_calcexp), 3726 }, +{ HP_POP(pc->respawn_timer), HP_POP2(HP_pc_respawn_timer), 3728 }, +{ HP_POP(pc->jobchange_killclone), HP_POP2(HP_pc_jobchange_killclone), 3730 }, +{ HP_POP(pc->getstat), HP_POP2(HP_pc_getstat), 3732 }, +{ HP_POP(pc->setstat), HP_POP2(HP_pc_setstat), 3734 }, +{ HP_POP(pc->eventtimer), HP_POP2(HP_pc_eventtimer), 3736 }, +{ HP_POP(pc->daynight_timer_sub), HP_POP2(HP_pc_daynight_timer_sub), 3738 }, +{ HP_POP(pc->charm_timer), HP_POP2(HP_pc_charm_timer), 3740 }, +{ HP_POP(pc->readdb_levelpenalty), HP_POP2(HP_pc_readdb_levelpenalty), 3742 }, +{ HP_POP(pc->autosave), HP_POP2(HP_pc_autosave), 3744 }, +{ HP_POP(pc->follow_timer), HP_POP2(HP_pc_follow_timer), 3746 }, +{ HP_POP(pc->read_skill_tree), HP_POP2(HP_pc_read_skill_tree), 3748 }, +{ HP_POP(pc->isUseitem), HP_POP2(HP_pc_isUseitem), 3750 }, +{ HP_POP(pc->show_steal), HP_POP2(HP_pc_show_steal), 3752 }, +{ HP_POP(pc->checkcombo), HP_POP2(HP_pc_checkcombo), 3754 }, +{ HP_POP(pc->calcweapontype), HP_POP2(HP_pc_calcweapontype), 3756 }, +{ HP_POP(pc->removecombo), HP_POP2(HP_pc_removecombo), 3758 }, /* pet */ -{ HP_POP(pet->init), HP_POP2(HP_pet_init), 3740 }, -{ HP_POP(pet->final), HP_POP2(HP_pet_final), 3742 }, -{ HP_POP(pet->hungry_val), HP_POP2(HP_pet_hungry_val), 3744 }, -{ HP_POP(pet->set_intimate), HP_POP2(HP_pet_set_intimate), 3746 }, -{ HP_POP(pet->create_egg), HP_POP2(HP_pet_create_egg), 3748 }, -{ HP_POP(pet->unlocktarget), HP_POP2(HP_pet_unlocktarget), 3750 }, -{ HP_POP(pet->attackskill), HP_POP2(HP_pet_attackskill), 3752 }, -{ HP_POP(pet->target_check), HP_POP2(HP_pet_target_check), 3754 }, -{ HP_POP(pet->sc_check), HP_POP2(HP_pet_sc_check), 3756 }, -{ HP_POP(pet->hungry), HP_POP2(HP_pet_hungry), 3758 }, -{ HP_POP(pet->search_petDB_index), HP_POP2(HP_pet_search_petDB_index), 3760 }, -{ HP_POP(pet->hungry_timer_delete), HP_POP2(HP_pet_hungry_timer_delete), 3762 }, -{ HP_POP(pet->performance), HP_POP2(HP_pet_performance), 3764 }, -{ HP_POP(pet->return_egg), HP_POP2(HP_pet_return_egg), 3766 }, -{ HP_POP(pet->data_init), HP_POP2(HP_pet_data_init), 3768 }, -{ HP_POP(pet->birth_process), HP_POP2(HP_pet_birth_process), 3770 }, -{ HP_POP(pet->recv_petdata), HP_POP2(HP_pet_recv_petdata), 3772 }, -{ HP_POP(pet->select_egg), HP_POP2(HP_pet_select_egg), 3774 }, -{ HP_POP(pet->catch_process1), HP_POP2(HP_pet_catch_process1), 3776 }, -{ HP_POP(pet->catch_process2), HP_POP2(HP_pet_catch_process2), 3778 }, -{ HP_POP(pet->get_egg), HP_POP2(HP_pet_get_egg), 3780 }, -{ HP_POP(pet->unequipitem), HP_POP2(HP_pet_unequipitem), 3782 }, -{ HP_POP(pet->food), HP_POP2(HP_pet_food), 3784 }, -{ HP_POP(pet->ai_sub_hard_lootsearch), HP_POP2(HP_pet_ai_sub_hard_lootsearch), 3786 }, -{ HP_POP(pet->menu), HP_POP2(HP_pet_menu), 3788 }, -{ HP_POP(pet->change_name), HP_POP2(HP_pet_change_name), 3790 }, -{ HP_POP(pet->change_name_ack), HP_POP2(HP_pet_change_name_ack), 3792 }, -{ HP_POP(pet->equipitem), HP_POP2(HP_pet_equipitem), 3794 }, -{ HP_POP(pet->randomwalk), HP_POP2(HP_pet_randomwalk), 3796 }, -{ HP_POP(pet->ai_sub_hard), HP_POP2(HP_pet_ai_sub_hard), 3798 }, -{ HP_POP(pet->ai_sub_foreachclient), HP_POP2(HP_pet_ai_sub_foreachclient), 3800 }, -{ HP_POP(pet->ai_hard), HP_POP2(HP_pet_ai_hard), 3802 }, -{ HP_POP(pet->delay_item_drop), HP_POP2(HP_pet_delay_item_drop), 3804 }, -{ HP_POP(pet->lootitem_drop), HP_POP2(HP_pet_lootitem_drop), 3806 }, -{ HP_POP(pet->skill_bonus_timer), HP_POP2(HP_pet_skill_bonus_timer), 3808 }, -{ HP_POP(pet->recovery_timer), HP_POP2(HP_pet_recovery_timer), 3810 }, -{ HP_POP(pet->heal_timer), HP_POP2(HP_pet_heal_timer), 3812 }, -{ HP_POP(pet->skill_support_timer), HP_POP2(HP_pet_skill_support_timer), 3814 }, -{ HP_POP(pet->read_db), HP_POP2(HP_pet_read_db), 3816 }, +{ HP_POP(pet->init), HP_POP2(HP_pet_init), 3760 }, +{ HP_POP(pet->final), HP_POP2(HP_pet_final), 3762 }, +{ HP_POP(pet->hungry_val), HP_POP2(HP_pet_hungry_val), 3764 }, +{ HP_POP(pet->set_intimate), HP_POP2(HP_pet_set_intimate), 3766 }, +{ HP_POP(pet->create_egg), HP_POP2(HP_pet_create_egg), 3768 }, +{ HP_POP(pet->unlocktarget), HP_POP2(HP_pet_unlocktarget), 3770 }, +{ HP_POP(pet->attackskill), HP_POP2(HP_pet_attackskill), 3772 }, +{ HP_POP(pet->target_check), HP_POP2(HP_pet_target_check), 3774 }, +{ HP_POP(pet->sc_check), HP_POP2(HP_pet_sc_check), 3776 }, +{ HP_POP(pet->hungry), HP_POP2(HP_pet_hungry), 3778 }, +{ HP_POP(pet->search_petDB_index), HP_POP2(HP_pet_search_petDB_index), 3780 }, +{ HP_POP(pet->hungry_timer_delete), HP_POP2(HP_pet_hungry_timer_delete), 3782 }, +{ HP_POP(pet->performance), HP_POP2(HP_pet_performance), 3784 }, +{ HP_POP(pet->return_egg), HP_POP2(HP_pet_return_egg), 3786 }, +{ HP_POP(pet->data_init), HP_POP2(HP_pet_data_init), 3788 }, +{ HP_POP(pet->birth_process), HP_POP2(HP_pet_birth_process), 3790 }, +{ HP_POP(pet->recv_petdata), HP_POP2(HP_pet_recv_petdata), 3792 }, +{ HP_POP(pet->select_egg), HP_POP2(HP_pet_select_egg), 3794 }, +{ HP_POP(pet->catch_process1), HP_POP2(HP_pet_catch_process1), 3796 }, +{ HP_POP(pet->catch_process2), HP_POP2(HP_pet_catch_process2), 3798 }, +{ HP_POP(pet->get_egg), HP_POP2(HP_pet_get_egg), 3800 }, +{ HP_POP(pet->unequipitem), HP_POP2(HP_pet_unequipitem), 3802 }, +{ HP_POP(pet->food), HP_POP2(HP_pet_food), 3804 }, +{ HP_POP(pet->ai_sub_hard_lootsearch), HP_POP2(HP_pet_ai_sub_hard_lootsearch), 3806 }, +{ HP_POP(pet->menu), HP_POP2(HP_pet_menu), 3808 }, +{ HP_POP(pet->change_name), HP_POP2(HP_pet_change_name), 3810 }, +{ HP_POP(pet->change_name_ack), HP_POP2(HP_pet_change_name_ack), 3812 }, +{ HP_POP(pet->equipitem), HP_POP2(HP_pet_equipitem), 3814 }, +{ HP_POP(pet->randomwalk), HP_POP2(HP_pet_randomwalk), 3816 }, +{ HP_POP(pet->ai_sub_hard), HP_POP2(HP_pet_ai_sub_hard), 3818 }, +{ HP_POP(pet->ai_sub_foreachclient), HP_POP2(HP_pet_ai_sub_foreachclient), 3820 }, +{ HP_POP(pet->ai_hard), HP_POP2(HP_pet_ai_hard), 3822 }, +{ HP_POP(pet->delay_item_drop), HP_POP2(HP_pet_delay_item_drop), 3824 }, +{ HP_POP(pet->lootitem_drop), HP_POP2(HP_pet_lootitem_drop), 3826 }, +{ HP_POP(pet->skill_bonus_timer), HP_POP2(HP_pet_skill_bonus_timer), 3828 }, +{ HP_POP(pet->recovery_timer), HP_POP2(HP_pet_recovery_timer), 3830 }, +{ HP_POP(pet->heal_timer), HP_POP2(HP_pet_heal_timer), 3832 }, +{ HP_POP(pet->skill_support_timer), HP_POP2(HP_pet_skill_support_timer), 3834 }, +{ HP_POP(pet->read_db), HP_POP2(HP_pet_read_db), 3836 }, /* quest */ -{ HP_POP(quest->init), HP_POP2(HP_quest_init), 3818 }, -{ HP_POP(quest->reload), HP_POP2(HP_quest_reload), 3820 }, -{ HP_POP(quest->search_db), HP_POP2(HP_quest_search_db), 3822 }, -{ HP_POP(quest->pc_login), HP_POP2(HP_quest_pc_login), 3824 }, -{ HP_POP(quest->add), HP_POP2(HP_quest_add), 3826 }, -{ HP_POP(quest->change), HP_POP2(HP_quest_change), 3828 }, -{ HP_POP(quest->delete), HP_POP2(HP_quest_delete), 3830 }, -{ HP_POP(quest->update_objective_sub), HP_POP2(HP_quest_update_objective_sub), 3832 }, -{ HP_POP(quest->update_objective), HP_POP2(HP_quest_update_objective), 3834 }, -{ HP_POP(quest->update_status), HP_POP2(HP_quest_update_status), 3836 }, -{ HP_POP(quest->check), HP_POP2(HP_quest_check), 3838 }, -{ HP_POP(quest->read_db), HP_POP2(HP_quest_read_db), 3840 }, +{ HP_POP(quest->init), HP_POP2(HP_quest_init), 3838 }, +{ HP_POP(quest->reload), HP_POP2(HP_quest_reload), 3840 }, +{ HP_POP(quest->search_db), HP_POP2(HP_quest_search_db), 3842 }, +{ HP_POP(quest->pc_login), HP_POP2(HP_quest_pc_login), 3844 }, +{ HP_POP(quest->add), HP_POP2(HP_quest_add), 3846 }, +{ HP_POP(quest->change), HP_POP2(HP_quest_change), 3848 }, +{ HP_POP(quest->delete), HP_POP2(HP_quest_delete), 3850 }, +{ HP_POP(quest->update_objective_sub), HP_POP2(HP_quest_update_objective_sub), 3852 }, +{ HP_POP(quest->update_objective), HP_POP2(HP_quest_update_objective), 3854 }, +{ HP_POP(quest->update_status), HP_POP2(HP_quest_update_status), 3856 }, +{ HP_POP(quest->check), HP_POP2(HP_quest_check), 3858 }, +{ HP_POP(quest->read_db), HP_POP2(HP_quest_read_db), 3860 }, /* script */ -{ HP_POP(script->init), HP_POP2(HP_script_init), 3842 }, -{ HP_POP(script->final), HP_POP2(HP_script_final), 3844 }, -{ HP_POP(script->reload), HP_POP2(HP_script_reload), 3846 }, -{ HP_POP(script->parse), HP_POP2(HP_script_parse), 3848 }, -{ HP_POP(script->parse_builtin), HP_POP2(HP_script_parse_builtin), 3850 }, -{ HP_POP(script->parse_subexpr), HP_POP2(HP_script_parse_subexpr), 3852 }, -{ HP_POP(script->skip_space), HP_POP2(HP_script_skip_space), 3854 }, -{ HP_POP(script->error), HP_POP2(HP_script_error), 3856 }, -{ HP_POP(script->warning), HP_POP2(HP_script_warning), 3858 }, -{ HP_POP(script->addScript), HP_POP2(HP_script_addScript), 3860 }, -{ HP_POP(script->conv_num), HP_POP2(HP_script_conv_num), 3862 }, -{ HP_POP(script->conv_str), HP_POP2(HP_script_conv_str), 3864 }, -{ HP_POP(script->rid2sd), HP_POP2(HP_script_rid2sd), 3866 }, -{ HP_POP(script->detach_rid), HP_POP2(HP_script_detach_rid), 3868 }, -{ HP_POP(script->push_val), HP_POP2(HP_script_push_val), 3870 }, -{ HP_POP(script->get_val), HP_POP2(HP_script_get_val), 3872 }, -{ HP_POP(script->get_val2), HP_POP2(HP_script_get_val2), 3874 }, -{ HP_POP(script->push_str), HP_POP2(HP_script_push_str), 3876 }, -{ HP_POP(script->push_copy), HP_POP2(HP_script_push_copy), 3878 }, -{ HP_POP(script->pop_stack), HP_POP2(HP_script_pop_stack), 3880 }, -{ HP_POP(script->set_constant), HP_POP2(HP_script_set_constant), 3882 }, -{ HP_POP(script->set_constant2), HP_POP2(HP_script_set_constant2), 3884 }, -{ HP_POP(script->set_constant_force), HP_POP2(HP_script_set_constant_force), 3886 }, -{ HP_POP(script->get_constant), HP_POP2(HP_script_get_constant), 3888 }, -{ HP_POP(script->label_add), HP_POP2(HP_script_label_add), 3890 }, -{ HP_POP(script->run), HP_POP2(HP_script_run), 3892 }, -{ HP_POP(script->run_main), HP_POP2(HP_script_run_main), 3894 }, -{ HP_POP(script->run_timer), HP_POP2(HP_script_run_timer), 3896 }, -{ HP_POP(script->set_var), HP_POP2(HP_script_set_var), 3898 }, -{ HP_POP(script->stop_instances), HP_POP2(HP_script_stop_instances), 3900 }, -{ HP_POP(script->free_code), HP_POP2(HP_script_free_code), 3902 }, -{ HP_POP(script->free_vars), HP_POP2(HP_script_free_vars), 3904 }, -{ HP_POP(script->alloc_state), HP_POP2(HP_script_alloc_state), 3906 }, -{ HP_POP(script->free_state), HP_POP2(HP_script_free_state), 3908 }, -{ HP_POP(script->run_autobonus), HP_POP2(HP_script_run_autobonus), 3910 }, -{ HP_POP(script->cleararray_pc), HP_POP2(HP_script_cleararray_pc), 3912 }, -{ HP_POP(script->setarray_pc), HP_POP2(HP_script_setarray_pc), 3914 }, -{ HP_POP(script->config_read), HP_POP2(HP_script_config_read), 3916 }, -{ HP_POP(script->add_str), HP_POP2(HP_script_add_str), 3918 }, -{ HP_POP(script->get_str), HP_POP2(HP_script_get_str), 3920 }, -{ HP_POP(script->search_str), HP_POP2(HP_script_search_str), 3922 }, -{ HP_POP(script->setd_sub), HP_POP2(HP_script_setd_sub), 3924 }, -{ HP_POP(script->attach_state), HP_POP2(HP_script_attach_state), 3926 }, -{ HP_POP(script->queue), HP_POP2(HP_script_queue), 3928 }, -{ HP_POP(script->queue_add), HP_POP2(HP_script_queue_add), 3930 }, -{ HP_POP(script->queue_del), HP_POP2(HP_script_queue_del), 3932 }, -{ HP_POP(script->queue_remove), HP_POP2(HP_script_queue_remove), 3934 }, -{ HP_POP(script->queue_create), HP_POP2(HP_script_queue_create), 3936 }, -{ HP_POP(script->queue_clear), HP_POP2(HP_script_queue_clear), 3938 }, -{ HP_POP(script->parse_curly_close), HP_POP2(HP_script_parse_curly_close), 3940 }, -{ HP_POP(script->parse_syntax_close), HP_POP2(HP_script_parse_syntax_close), 3942 }, -{ HP_POP(script->parse_syntax_close_sub), HP_POP2(HP_script_parse_syntax_close_sub), 3944 }, -{ HP_POP(script->parse_syntax), HP_POP2(HP_script_parse_syntax), 3946 }, -{ HP_POP(script->get_com), HP_POP2(HP_script_get_com), 3948 }, -{ HP_POP(script->get_num), HP_POP2(HP_script_get_num), 3950 }, -{ HP_POP(script->op2name), HP_POP2(HP_script_op2name), 3952 }, -{ HP_POP(script->reportsrc), HP_POP2(HP_script_reportsrc), 3954 }, -{ HP_POP(script->reportdata), HP_POP2(HP_script_reportdata), 3956 }, -{ HP_POP(script->reportfunc), HP_POP2(HP_script_reportfunc), 3958 }, -{ HP_POP(script->disp_error_message2), HP_POP2(HP_script_disp_error_message2), 3960 }, -{ HP_POP(script->disp_warning_message), HP_POP2(HP_script_disp_warning_message), 3962 }, -{ HP_POP(script->check_event), HP_POP2(HP_script_check_event), 3964 }, -{ HP_POP(script->calc_hash), HP_POP2(HP_script_calc_hash), 3966 }, -{ HP_POP(script->addb), HP_POP2(HP_script_addb), 3968 }, -{ HP_POP(script->addc), HP_POP2(HP_script_addc), 3970 }, -{ HP_POP(script->addi), HP_POP2(HP_script_addi), 3972 }, -{ HP_POP(script->addl), HP_POP2(HP_script_addl), 3974 }, -{ HP_POP(script->set_label), HP_POP2(HP_script_set_label), 3976 }, -{ HP_POP(script->skip_word), HP_POP2(HP_script_skip_word), 3978 }, -{ HP_POP(script->add_word), HP_POP2(HP_script_add_word), 3980 }, -{ HP_POP(script->parse_callfunc), HP_POP2(HP_script_parse_callfunc), 3982 }, -{ HP_POP(script->parse_nextline), HP_POP2(HP_script_parse_nextline), 3984 }, -{ HP_POP(script->parse_variable), HP_POP2(HP_script_parse_variable), 3986 }, -{ HP_POP(script->parse_simpleexpr), HP_POP2(HP_script_parse_simpleexpr), 3988 }, -{ HP_POP(script->parse_expr), HP_POP2(HP_script_parse_expr), 3990 }, -{ HP_POP(script->parse_line), HP_POP2(HP_script_parse_line), 3992 }, -{ HP_POP(script->read_constdb), HP_POP2(HP_script_read_constdb), 3994 }, -{ HP_POP(script->print_line), HP_POP2(HP_script_print_line), 3996 }, -{ HP_POP(script->errorwarning_sub), HP_POP2(HP_script_errorwarning_sub), 3998 }, -{ HP_POP(script->set_reg), HP_POP2(HP_script_set_reg), 4000 }, -{ HP_POP(script->stack_expand), HP_POP2(HP_script_stack_expand), 4002 }, -{ HP_POP(script->push_retinfo), HP_POP2(HP_script_push_retinfo), 4004 }, -{ HP_POP(script->pop_val), HP_POP2(HP_script_pop_val), 4006 }, -{ HP_POP(script->op_3), HP_POP2(HP_script_op_3), 4008 }, -{ HP_POP(script->op_2str), HP_POP2(HP_script_op_2str), 4010 }, -{ HP_POP(script->op_2num), HP_POP2(HP_script_op_2num), 4012 }, -{ HP_POP(script->op_2), HP_POP2(HP_script_op_2), 4014 }, -{ HP_POP(script->op_1), HP_POP2(HP_script_op_1), 4016 }, -{ HP_POP(script->check_buildin_argtype), HP_POP2(HP_script_check_buildin_argtype), 4018 }, -{ HP_POP(script->detach_state), HP_POP2(HP_script_detach_state), 4020 }, -{ HP_POP(script->db_free_code_sub), HP_POP2(HP_script_db_free_code_sub), 4022 }, -{ HP_POP(script->add_autobonus), HP_POP2(HP_script_add_autobonus), 4024 }, -{ HP_POP(script->menu_countoptions), HP_POP2(HP_script_menu_countoptions), 4026 }, -{ HP_POP(script->buildin_areawarp_sub), HP_POP2(HP_script_buildin_areawarp_sub), 4028 }, -{ HP_POP(script->buildin_areapercentheal_sub), HP_POP2(HP_script_buildin_areapercentheal_sub), 4030 }, -{ HP_POP(script->getarraysize), HP_POP2(HP_script_getarraysize), 4032 }, -{ HP_POP(script->buildin_delitem_delete), HP_POP2(HP_script_buildin_delitem_delete), 4034 }, -{ HP_POP(script->buildin_delitem_search), HP_POP2(HP_script_buildin_delitem_search), 4036 }, -{ HP_POP(script->buildin_killmonster_sub_strip), HP_POP2(HP_script_buildin_killmonster_sub_strip), 4038 }, -{ HP_POP(script->buildin_killmonster_sub), HP_POP2(HP_script_buildin_killmonster_sub), 4040 }, -{ HP_POP(script->buildin_killmonsterall_sub_strip), HP_POP2(HP_script_buildin_killmonsterall_sub_strip), 4042 }, -{ HP_POP(script->buildin_killmonsterall_sub), HP_POP2(HP_script_buildin_killmonsterall_sub), 4044 }, -{ HP_POP(script->buildin_announce_sub), HP_POP2(HP_script_buildin_announce_sub), 4046 }, -{ HP_POP(script->buildin_getareausers_sub), HP_POP2(HP_script_buildin_getareausers_sub), 4048 }, -{ HP_POP(script->buildin_getareadropitem_sub), HP_POP2(HP_script_buildin_getareadropitem_sub), 4050 }, -{ HP_POP(script->mapflag_pvp_sub), HP_POP2(HP_script_mapflag_pvp_sub), 4052 }, -{ HP_POP(script->buildin_pvpoff_sub), HP_POP2(HP_script_buildin_pvpoff_sub), 4054 }, -{ HP_POP(script->buildin_maprespawnguildid_sub_pc), HP_POP2(HP_script_buildin_maprespawnguildid_sub_pc), 4056 }, -{ HP_POP(script->buildin_maprespawnguildid_sub_mob), HP_POP2(HP_script_buildin_maprespawnguildid_sub_mob), 4058 }, -{ HP_POP(script->buildin_mobcount_sub), HP_POP2(HP_script_buildin_mobcount_sub), 4060 }, -{ HP_POP(script->playBGM_sub), HP_POP2(HP_script_playBGM_sub), 4062 }, -{ HP_POP(script->playBGM_foreachpc_sub), HP_POP2(HP_script_playBGM_foreachpc_sub), 4064 }, -{ HP_POP(script->soundeffect_sub), HP_POP2(HP_script_soundeffect_sub), 4066 }, -{ HP_POP(script->buildin_query_sql_sub), HP_POP2(HP_script_buildin_query_sql_sub), 4068 }, -{ HP_POP(script->axtoi), HP_POP2(HP_script_axtoi), 4070 }, -{ HP_POP(script->buildin_instance_warpall_sub), HP_POP2(HP_script_buildin_instance_warpall_sub), 4072 }, -{ HP_POP(script->buildin_mobuseskill_sub), HP_POP2(HP_script_buildin_mobuseskill_sub), 4074 }, -{ HP_POP(script->cleanfloor_sub), HP_POP2(HP_script_cleanfloor_sub), 4076 }, -{ HP_POP(script->run_func), HP_POP2(HP_script_run_func), 4078 }, +{ HP_POP(script->init), HP_POP2(HP_script_init), 3862 }, +{ HP_POP(script->final), HP_POP2(HP_script_final), 3864 }, +{ HP_POP(script->reload), HP_POP2(HP_script_reload), 3866 }, +{ HP_POP(script->parse), HP_POP2(HP_script_parse), 3868 }, +{ HP_POP(script->parse_builtin), HP_POP2(HP_script_parse_builtin), 3870 }, +{ HP_POP(script->parse_subexpr), HP_POP2(HP_script_parse_subexpr), 3872 }, +{ HP_POP(script->skip_space), HP_POP2(HP_script_skip_space), 3874 }, +{ HP_POP(script->error), HP_POP2(HP_script_error), 3876 }, +{ HP_POP(script->warning), HP_POP2(HP_script_warning), 3878 }, +{ HP_POP(script->addScript), HP_POP2(HP_script_addScript), 3880 }, +{ HP_POP(script->conv_num), HP_POP2(HP_script_conv_num), 3882 }, +{ HP_POP(script->conv_str), HP_POP2(HP_script_conv_str), 3884 }, +{ HP_POP(script->rid2sd), HP_POP2(HP_script_rid2sd), 3886 }, +{ HP_POP(script->detach_rid), HP_POP2(HP_script_detach_rid), 3888 }, +{ HP_POP(script->push_val), HP_POP2(HP_script_push_val), 3890 }, +{ HP_POP(script->get_val), HP_POP2(HP_script_get_val), 3892 }, +{ HP_POP(script->get_val2), HP_POP2(HP_script_get_val2), 3894 }, +{ HP_POP(script->push_str), HP_POP2(HP_script_push_str), 3896 }, +{ HP_POP(script->push_copy), HP_POP2(HP_script_push_copy), 3898 }, +{ HP_POP(script->pop_stack), HP_POP2(HP_script_pop_stack), 3900 }, +{ HP_POP(script->set_constant), HP_POP2(HP_script_set_constant), 3902 }, +{ HP_POP(script->set_constant2), HP_POP2(HP_script_set_constant2), 3904 }, +{ HP_POP(script->set_constant_force), HP_POP2(HP_script_set_constant_force), 3906 }, +{ HP_POP(script->get_constant), HP_POP2(HP_script_get_constant), 3908 }, +{ HP_POP(script->label_add), HP_POP2(HP_script_label_add), 3910 }, +{ HP_POP(script->run), HP_POP2(HP_script_run), 3912 }, +{ HP_POP(script->run_main), HP_POP2(HP_script_run_main), 3914 }, +{ HP_POP(script->run_timer), HP_POP2(HP_script_run_timer), 3916 }, +{ HP_POP(script->set_var), HP_POP2(HP_script_set_var), 3918 }, +{ HP_POP(script->stop_instances), HP_POP2(HP_script_stop_instances), 3920 }, +{ HP_POP(script->free_code), HP_POP2(HP_script_free_code), 3922 }, +{ HP_POP(script->free_vars), HP_POP2(HP_script_free_vars), 3924 }, +{ HP_POP(script->alloc_state), HP_POP2(HP_script_alloc_state), 3926 }, +{ HP_POP(script->free_state), HP_POP2(HP_script_free_state), 3928 }, +{ HP_POP(script->run_autobonus), HP_POP2(HP_script_run_autobonus), 3930 }, +{ HP_POP(script->cleararray_pc), HP_POP2(HP_script_cleararray_pc), 3932 }, +{ HP_POP(script->setarray_pc), HP_POP2(HP_script_setarray_pc), 3934 }, +{ HP_POP(script->config_read), HP_POP2(HP_script_config_read), 3936 }, +{ HP_POP(script->add_str), HP_POP2(HP_script_add_str), 3938 }, +{ HP_POP(script->get_str), HP_POP2(HP_script_get_str), 3940 }, +{ HP_POP(script->search_str), HP_POP2(HP_script_search_str), 3942 }, +{ HP_POP(script->setd_sub), HP_POP2(HP_script_setd_sub), 3944 }, +{ HP_POP(script->attach_state), HP_POP2(HP_script_attach_state), 3946 }, +{ HP_POP(script->queue), HP_POP2(HP_script_queue), 3948 }, +{ HP_POP(script->queue_add), HP_POP2(HP_script_queue_add), 3950 }, +{ HP_POP(script->queue_del), HP_POP2(HP_script_queue_del), 3952 }, +{ HP_POP(script->queue_remove), HP_POP2(HP_script_queue_remove), 3954 }, +{ HP_POP(script->queue_create), HP_POP2(HP_script_queue_create), 3956 }, +{ HP_POP(script->queue_clear), HP_POP2(HP_script_queue_clear), 3958 }, +{ HP_POP(script->parse_curly_close), HP_POP2(HP_script_parse_curly_close), 3960 }, +{ HP_POP(script->parse_syntax_close), HP_POP2(HP_script_parse_syntax_close), 3962 }, +{ HP_POP(script->parse_syntax_close_sub), HP_POP2(HP_script_parse_syntax_close_sub), 3964 }, +{ HP_POP(script->parse_syntax), HP_POP2(HP_script_parse_syntax), 3966 }, +{ HP_POP(script->get_com), HP_POP2(HP_script_get_com), 3968 }, +{ HP_POP(script->get_num), HP_POP2(HP_script_get_num), 3970 }, +{ HP_POP(script->op2name), HP_POP2(HP_script_op2name), 3972 }, +{ HP_POP(script->reportsrc), HP_POP2(HP_script_reportsrc), 3974 }, +{ HP_POP(script->reportdata), HP_POP2(HP_script_reportdata), 3976 }, +{ HP_POP(script->reportfunc), HP_POP2(HP_script_reportfunc), 3978 }, +{ HP_POP(script->disp_error_message2), HP_POP2(HP_script_disp_error_message2), 3980 }, +{ HP_POP(script->disp_warning_message), HP_POP2(HP_script_disp_warning_message), 3982 }, +{ HP_POP(script->check_event), HP_POP2(HP_script_check_event), 3984 }, +{ HP_POP(script->calc_hash), HP_POP2(HP_script_calc_hash), 3986 }, +{ HP_POP(script->addb), HP_POP2(HP_script_addb), 3988 }, +{ HP_POP(script->addc), HP_POP2(HP_script_addc), 3990 }, +{ HP_POP(script->addi), HP_POP2(HP_script_addi), 3992 }, +{ HP_POP(script->addl), HP_POP2(HP_script_addl), 3994 }, +{ HP_POP(script->set_label), HP_POP2(HP_script_set_label), 3996 }, +{ HP_POP(script->skip_word), HP_POP2(HP_script_skip_word), 3998 }, +{ HP_POP(script->add_word), HP_POP2(HP_script_add_word), 4000 }, +{ HP_POP(script->parse_callfunc), HP_POP2(HP_script_parse_callfunc), 4002 }, +{ HP_POP(script->parse_nextline), HP_POP2(HP_script_parse_nextline), 4004 }, +{ HP_POP(script->parse_variable), HP_POP2(HP_script_parse_variable), 4006 }, +{ HP_POP(script->parse_simpleexpr), HP_POP2(HP_script_parse_simpleexpr), 4008 }, +{ HP_POP(script->parse_expr), HP_POP2(HP_script_parse_expr), 4010 }, +{ HP_POP(script->parse_line), HP_POP2(HP_script_parse_line), 4012 }, +{ HP_POP(script->read_constdb), HP_POP2(HP_script_read_constdb), 4014 }, +{ HP_POP(script->print_line), HP_POP2(HP_script_print_line), 4016 }, +{ HP_POP(script->errorwarning_sub), HP_POP2(HP_script_errorwarning_sub), 4018 }, +{ HP_POP(script->set_reg), HP_POP2(HP_script_set_reg), 4020 }, +{ HP_POP(script->stack_expand), HP_POP2(HP_script_stack_expand), 4022 }, +{ HP_POP(script->push_retinfo), HP_POP2(HP_script_push_retinfo), 4024 }, +{ HP_POP(script->pop_val), HP_POP2(HP_script_pop_val), 4026 }, +{ HP_POP(script->op_3), HP_POP2(HP_script_op_3), 4028 }, +{ HP_POP(script->op_2str), HP_POP2(HP_script_op_2str), 4030 }, +{ HP_POP(script->op_2num), HP_POP2(HP_script_op_2num), 4032 }, +{ HP_POP(script->op_2), HP_POP2(HP_script_op_2), 4034 }, +{ HP_POP(script->op_1), HP_POP2(HP_script_op_1), 4036 }, +{ HP_POP(script->check_buildin_argtype), HP_POP2(HP_script_check_buildin_argtype), 4038 }, +{ HP_POP(script->detach_state), HP_POP2(HP_script_detach_state), 4040 }, +{ HP_POP(script->db_free_code_sub), HP_POP2(HP_script_db_free_code_sub), 4042 }, +{ HP_POP(script->add_autobonus), HP_POP2(HP_script_add_autobonus), 4044 }, +{ HP_POP(script->menu_countoptions), HP_POP2(HP_script_menu_countoptions), 4046 }, +{ HP_POP(script->buildin_areawarp_sub), HP_POP2(HP_script_buildin_areawarp_sub), 4048 }, +{ HP_POP(script->buildin_areapercentheal_sub), HP_POP2(HP_script_buildin_areapercentheal_sub), 4050 }, +{ HP_POP(script->getarraysize), HP_POP2(HP_script_getarraysize), 4052 }, +{ HP_POP(script->buildin_delitem_delete), HP_POP2(HP_script_buildin_delitem_delete), 4054 }, +{ HP_POP(script->buildin_delitem_search), HP_POP2(HP_script_buildin_delitem_search), 4056 }, +{ HP_POP(script->buildin_killmonster_sub_strip), HP_POP2(HP_script_buildin_killmonster_sub_strip), 4058 }, +{ HP_POP(script->buildin_killmonster_sub), HP_POP2(HP_script_buildin_killmonster_sub), 4060 }, +{ HP_POP(script->buildin_killmonsterall_sub_strip), HP_POP2(HP_script_buildin_killmonsterall_sub_strip), 4062 }, +{ HP_POP(script->buildin_killmonsterall_sub), HP_POP2(HP_script_buildin_killmonsterall_sub), 4064 }, +{ HP_POP(script->buildin_announce_sub), HP_POP2(HP_script_buildin_announce_sub), 4066 }, +{ HP_POP(script->buildin_getareausers_sub), HP_POP2(HP_script_buildin_getareausers_sub), 4068 }, +{ HP_POP(script->buildin_getareadropitem_sub), HP_POP2(HP_script_buildin_getareadropitem_sub), 4070 }, +{ HP_POP(script->mapflag_pvp_sub), HP_POP2(HP_script_mapflag_pvp_sub), 4072 }, +{ HP_POP(script->buildin_pvpoff_sub), HP_POP2(HP_script_buildin_pvpoff_sub), 4074 }, +{ HP_POP(script->buildin_maprespawnguildid_sub_pc), HP_POP2(HP_script_buildin_maprespawnguildid_sub_pc), 4076 }, +{ HP_POP(script->buildin_maprespawnguildid_sub_mob), HP_POP2(HP_script_buildin_maprespawnguildid_sub_mob), 4078 }, +{ HP_POP(script->buildin_mobcount_sub), HP_POP2(HP_script_buildin_mobcount_sub), 4080 }, +{ HP_POP(script->playBGM_sub), HP_POP2(HP_script_playBGM_sub), 4082 }, +{ HP_POP(script->playBGM_foreachpc_sub), HP_POP2(HP_script_playBGM_foreachpc_sub), 4084 }, +{ HP_POP(script->soundeffect_sub), HP_POP2(HP_script_soundeffect_sub), 4086 }, +{ HP_POP(script->buildin_query_sql_sub), HP_POP2(HP_script_buildin_query_sql_sub), 4088 }, +{ HP_POP(script->axtoi), HP_POP2(HP_script_axtoi), 4090 }, +{ HP_POP(script->buildin_instance_warpall_sub), HP_POP2(HP_script_buildin_instance_warpall_sub), 4092 }, +{ HP_POP(script->buildin_mobuseskill_sub), HP_POP2(HP_script_buildin_mobuseskill_sub), 4094 }, +{ HP_POP(script->cleanfloor_sub), HP_POP2(HP_script_cleanfloor_sub), 4096 }, +{ HP_POP(script->run_func), HP_POP2(HP_script_run_func), 4098 }, /* searchstore */ -{ HP_POP(searchstore->open), HP_POP2(HP_searchstore_open), 4080 }, -{ HP_POP(searchstore->query), HP_POP2(HP_searchstore_query), 4082 }, -{ HP_POP(searchstore->querynext), HP_POP2(HP_searchstore_querynext), 4084 }, -{ HP_POP(searchstore->next), HP_POP2(HP_searchstore_next), 4086 }, -{ HP_POP(searchstore->clear), HP_POP2(HP_searchstore_clear), 4088 }, -{ HP_POP(searchstore->close), HP_POP2(HP_searchstore_close), 4090 }, -{ HP_POP(searchstore->click), HP_POP2(HP_searchstore_click), 4092 }, -{ HP_POP(searchstore->queryremote), HP_POP2(HP_searchstore_queryremote), 4094 }, -{ HP_POP(searchstore->clearremote), HP_POP2(HP_searchstore_clearremote), 4096 }, -{ HP_POP(searchstore->result), HP_POP2(HP_searchstore_result), 4098 }, +{ HP_POP(searchstore->open), HP_POP2(HP_searchstore_open), 4100 }, +{ HP_POP(searchstore->query), HP_POP2(HP_searchstore_query), 4102 }, +{ HP_POP(searchstore->querynext), HP_POP2(HP_searchstore_querynext), 4104 }, +{ HP_POP(searchstore->next), HP_POP2(HP_searchstore_next), 4106 }, +{ HP_POP(searchstore->clear), HP_POP2(HP_searchstore_clear), 4108 }, +{ HP_POP(searchstore->close), HP_POP2(HP_searchstore_close), 4110 }, +{ HP_POP(searchstore->click), HP_POP2(HP_searchstore_click), 4112 }, +{ HP_POP(searchstore->queryremote), HP_POP2(HP_searchstore_queryremote), 4114 }, +{ HP_POP(searchstore->clearremote), HP_POP2(HP_searchstore_clearremote), 4116 }, +{ HP_POP(searchstore->result), HP_POP2(HP_searchstore_result), 4118 }, /* skill */ -{ HP_POP(skill->init), HP_POP2(HP_skill_init), 4100 }, -{ HP_POP(skill->final), HP_POP2(HP_skill_final), 4102 }, -{ HP_POP(skill->reload), HP_POP2(HP_skill_reload), 4104 }, -{ HP_POP(skill->read_db), HP_POP2(HP_skill_read_db), 4106 }, -{ HP_POP(skill->get_index), HP_POP2(HP_skill_get_index), 4108 }, -{ HP_POP(skill->get_type), HP_POP2(HP_skill_get_type), 4110 }, -{ HP_POP(skill->get_hit), HP_POP2(HP_skill_get_hit), 4112 }, -{ HP_POP(skill->get_inf), HP_POP2(HP_skill_get_inf), 4114 }, -{ HP_POP(skill->get_ele), HP_POP2(HP_skill_get_ele), 4116 }, -{ HP_POP(skill->get_nk), HP_POP2(HP_skill_get_nk), 4118 }, -{ HP_POP(skill->get_max), HP_POP2(HP_skill_get_max), 4120 }, -{ HP_POP(skill->get_range), HP_POP2(HP_skill_get_range), 4122 }, -{ HP_POP(skill->get_range2), HP_POP2(HP_skill_get_range2), 4124 }, -{ HP_POP(skill->get_splash), HP_POP2(HP_skill_get_splash), 4126 }, -{ HP_POP(skill->get_hp), HP_POP2(HP_skill_get_hp), 4128 }, -{ HP_POP(skill->get_mhp), HP_POP2(HP_skill_get_mhp), 4130 }, -{ HP_POP(skill->get_sp), HP_POP2(HP_skill_get_sp), 4132 }, -{ HP_POP(skill->get_state), HP_POP2(HP_skill_get_state), 4134 }, -{ HP_POP(skill->get_spiritball), HP_POP2(HP_skill_get_spiritball), 4136 }, -{ HP_POP(skill->get_zeny), HP_POP2(HP_skill_get_zeny), 4138 }, -{ HP_POP(skill->get_num), HP_POP2(HP_skill_get_num), 4140 }, -{ HP_POP(skill->get_cast), HP_POP2(HP_skill_get_cast), 4142 }, -{ HP_POP(skill->get_delay), HP_POP2(HP_skill_get_delay), 4144 }, -{ HP_POP(skill->get_walkdelay), HP_POP2(HP_skill_get_walkdelay), 4146 }, -{ HP_POP(skill->get_time), HP_POP2(HP_skill_get_time), 4148 }, -{ HP_POP(skill->get_time2), HP_POP2(HP_skill_get_time2), 4150 }, -{ HP_POP(skill->get_castnodex), HP_POP2(HP_skill_get_castnodex), 4152 }, -{ HP_POP(skill->get_delaynodex), HP_POP2(HP_skill_get_delaynodex), 4154 }, -{ HP_POP(skill->get_castdef), HP_POP2(HP_skill_get_castdef), 4156 }, -{ HP_POP(skill->get_weapontype), HP_POP2(HP_skill_get_weapontype), 4158 }, -{ HP_POP(skill->get_ammotype), HP_POP2(HP_skill_get_ammotype), 4160 }, -{ HP_POP(skill->get_ammo_qty), HP_POP2(HP_skill_get_ammo_qty), 4162 }, -{ HP_POP(skill->get_unit_id), HP_POP2(HP_skill_get_unit_id), 4164 }, -{ HP_POP(skill->get_inf2), HP_POP2(HP_skill_get_inf2), 4166 }, -{ HP_POP(skill->get_castcancel), HP_POP2(HP_skill_get_castcancel), 4168 }, -{ HP_POP(skill->get_maxcount), HP_POP2(HP_skill_get_maxcount), 4170 }, -{ HP_POP(skill->get_blewcount), HP_POP2(HP_skill_get_blewcount), 4172 }, -{ HP_POP(skill->get_unit_flag), HP_POP2(HP_skill_get_unit_flag), 4174 }, -{ HP_POP(skill->get_unit_target), HP_POP2(HP_skill_get_unit_target), 4176 }, -{ HP_POP(skill->get_unit_interval), HP_POP2(HP_skill_get_unit_interval), 4178 }, -{ HP_POP(skill->get_unit_bl_target), HP_POP2(HP_skill_get_unit_bl_target), 4180 }, -{ HP_POP(skill->get_unit_layout_type), HP_POP2(HP_skill_get_unit_layout_type), 4182 }, -{ HP_POP(skill->get_unit_range), HP_POP2(HP_skill_get_unit_range), 4184 }, -{ HP_POP(skill->get_cooldown), HP_POP2(HP_skill_get_cooldown), 4186 }, -{ HP_POP(skill->tree_get_max), HP_POP2(HP_skill_tree_get_max), 4188 }, -{ HP_POP(skill->get_name), HP_POP2(HP_skill_get_name), 4190 }, -{ HP_POP(skill->get_desc), HP_POP2(HP_skill_get_desc), 4192 }, -{ HP_POP(skill->chk), HP_POP2(HP_skill_chk), 4194 }, -{ HP_POP(skill->get_casttype), HP_POP2(HP_skill_get_casttype), 4196 }, -{ HP_POP(skill->get_casttype2), HP_POP2(HP_skill_get_casttype2), 4198 }, -{ HP_POP(skill->name2id), HP_POP2(HP_skill_name2id), 4200 }, -{ HP_POP(skill->isammotype), HP_POP2(HP_skill_isammotype), 4202 }, -{ HP_POP(skill->castend_id), HP_POP2(HP_skill_castend_id), 4204 }, -{ HP_POP(skill->castend_pos), HP_POP2(HP_skill_castend_pos), 4206 }, -{ HP_POP(skill->castend_map), HP_POP2(HP_skill_castend_map), 4208 }, -{ HP_POP(skill->cleartimerskill), HP_POP2(HP_skill_cleartimerskill), 4210 }, -{ HP_POP(skill->addtimerskill), HP_POP2(HP_skill_addtimerskill), 4212 }, -{ HP_POP(skill->additional_effect), HP_POP2(HP_skill_additional_effect), 4214 }, -{ HP_POP(skill->counter_additional_effect), HP_POP2(HP_skill_counter_additional_effect), 4216 }, -{ HP_POP(skill->blown), HP_POP2(HP_skill_blown), 4218 }, -{ HP_POP(skill->break_equip), HP_POP2(HP_skill_break_equip), 4220 }, -{ HP_POP(skill->strip_equip), HP_POP2(HP_skill_strip_equip), 4222 }, -{ HP_POP(skill->id2group), HP_POP2(HP_skill_id2group), 4224 }, -{ HP_POP(skill->unitsetting), HP_POP2(HP_skill_unitsetting), 4226 }, -{ HP_POP(skill->initunit), HP_POP2(HP_skill_initunit), 4228 }, -{ HP_POP(skill->delunit), HP_POP2(HP_skill_delunit), 4230 }, -{ HP_POP(skill->init_unitgroup), HP_POP2(HP_skill_init_unitgroup), 4232 }, -{ HP_POP(skill->del_unitgroup), HP_POP2(HP_skill_del_unitgroup), 4234 }, -{ HP_POP(skill->clear_unitgroup), HP_POP2(HP_skill_clear_unitgroup), 4236 }, -{ HP_POP(skill->clear_group), HP_POP2(HP_skill_clear_group), 4238 }, -{ HP_POP(skill->unit_onplace), HP_POP2(HP_skill_unit_onplace), 4240 }, -{ HP_POP(skill->unit_ondamaged), HP_POP2(HP_skill_unit_ondamaged), 4242 }, -{ HP_POP(skill->cast_fix), HP_POP2(HP_skill_cast_fix), 4244 }, -{ HP_POP(skill->cast_fix_sc), HP_POP2(HP_skill_cast_fix_sc), 4246 }, -{ HP_POP(skill->vf_cast_fix), HP_POP2(HP_skill_vf_cast_fix), 4248 }, -{ HP_POP(skill->delay_fix), HP_POP2(HP_skill_delay_fix), 4250 }, -{ HP_POP(skill->check_condition_castbegin), HP_POP2(HP_skill_check_condition_castbegin), 4252 }, -{ HP_POP(skill->check_condition_castend), HP_POP2(HP_skill_check_condition_castend), 4254 }, -{ HP_POP(skill->consume_requirement), HP_POP2(HP_skill_consume_requirement), 4256 }, -{ HP_POP(skill->get_requirement), HP_POP2(HP_skill_get_requirement), 4258 }, -{ HP_POP(skill->check_pc_partner), HP_POP2(HP_skill_check_pc_partner), 4260 }, -{ HP_POP(skill->unit_move), HP_POP2(HP_skill_unit_move), 4262 }, -{ HP_POP(skill->unit_onleft), HP_POP2(HP_skill_unit_onleft), 4264 }, -{ HP_POP(skill->unit_onout), HP_POP2(HP_skill_unit_onout), 4266 }, -{ HP_POP(skill->unit_move_unit_group), HP_POP2(HP_skill_unit_move_unit_group), 4268 }, -{ HP_POP(skill->sit), HP_POP2(HP_skill_sit), 4270 }, -{ HP_POP(skill->brandishspear), HP_POP2(HP_skill_brandishspear), 4272 }, -{ HP_POP(skill->repairweapon), HP_POP2(HP_skill_repairweapon), 4274 }, -{ HP_POP(skill->identify), HP_POP2(HP_skill_identify), 4276 }, -{ HP_POP(skill->weaponrefine), HP_POP2(HP_skill_weaponrefine), 4278 }, -{ HP_POP(skill->autospell), HP_POP2(HP_skill_autospell), 4280 }, -{ HP_POP(skill->calc_heal), HP_POP2(HP_skill_calc_heal), 4282 }, -{ HP_POP(skill->check_cloaking), HP_POP2(HP_skill_check_cloaking), 4284 }, -{ HP_POP(skill->enchant_elemental_end), HP_POP2(HP_skill_enchant_elemental_end), 4286 }, -{ HP_POP(skill->not_ok), HP_POP2(HP_skill_not_ok), 4288 }, -{ HP_POP(skill->not_ok_hom), HP_POP2(HP_skill_not_ok_hom), 4290 }, -{ HP_POP(skill->not_ok_mercenary), HP_POP2(HP_skill_not_ok_mercenary), 4292 }, -{ HP_POP(skill->chastle_mob_changetarget), HP_POP2(HP_skill_chastle_mob_changetarget), 4294 }, -{ HP_POP(skill->can_produce_mix), HP_POP2(HP_skill_can_produce_mix), 4296 }, -{ HP_POP(skill->produce_mix), HP_POP2(HP_skill_produce_mix), 4298 }, -{ HP_POP(skill->arrow_create), HP_POP2(HP_skill_arrow_create), 4300 }, -{ HP_POP(skill->castend_nodamage_id), HP_POP2(HP_skill_castend_nodamage_id), 4302 }, -{ HP_POP(skill->castend_damage_id), HP_POP2(HP_skill_castend_damage_id), 4304 }, -{ HP_POP(skill->castend_pos2), HP_POP2(HP_skill_castend_pos2), 4306 }, -{ HP_POP(skill->blockpc_start), HP_POP2(HP_skill_blockpc_start), 4308 }, -{ HP_POP(skill->blockhomun_start), HP_POP2(HP_skill_blockhomun_start), 4310 }, -{ HP_POP(skill->blockmerc_start), HP_POP2(HP_skill_blockmerc_start), 4312 }, -{ HP_POP(skill->attack), HP_POP2(HP_skill_attack), 4314 }, -{ HP_POP(skill->attack_area), HP_POP2(HP_skill_attack_area), 4316 }, -{ HP_POP(skill->area_sub), HP_POP2(HP_skill_area_sub), 4318 }, -{ HP_POP(skill->area_sub_count), HP_POP2(HP_skill_area_sub_count), 4320 }, -{ HP_POP(skill->check_unit_range), HP_POP2(HP_skill_check_unit_range), 4322 }, -{ HP_POP(skill->check_unit_range_sub), HP_POP2(HP_skill_check_unit_range_sub), 4324 }, -{ HP_POP(skill->check_unit_range2), HP_POP2(HP_skill_check_unit_range2), 4326 }, -{ HP_POP(skill->check_unit_range2_sub), HP_POP2(HP_skill_check_unit_range2_sub), 4328 }, -{ HP_POP(skill->toggle_magicpower), HP_POP2(HP_skill_toggle_magicpower), 4330 }, -{ HP_POP(skill->magic_reflect), HP_POP2(HP_skill_magic_reflect), 4332 }, -{ HP_POP(skill->onskillusage), HP_POP2(HP_skill_onskillusage), 4334 }, -{ HP_POP(skill->cell_overlap), HP_POP2(HP_skill_cell_overlap), 4336 }, -{ HP_POP(skill->timerskill), HP_POP2(HP_skill_timerskill), 4338 }, -{ HP_POP(skill->trap_splash), HP_POP2(HP_skill_trap_splash), 4340 }, -{ HP_POP(skill->check_condition_mercenary), HP_POP2(HP_skill_check_condition_mercenary), 4342 }, -{ HP_POP(skill->locate_element_field), HP_POP2(HP_skill_locate_element_field), 4344 }, -{ HP_POP(skill->graffitiremover), HP_POP2(HP_skill_graffitiremover), 4346 }, -{ HP_POP(skill->activate_reverberation), HP_POP2(HP_skill_activate_reverberation), 4348 }, -{ HP_POP(skill->dance_overlap_sub), HP_POP2(HP_skill_dance_overlap_sub), 4350 }, -{ HP_POP(skill->dance_overlap), HP_POP2(HP_skill_dance_overlap), 4352 }, -{ HP_POP(skill->get_unit_layout), HP_POP2(HP_skill_get_unit_layout), 4354 }, -{ HP_POP(skill->frostjoke_scream), HP_POP2(HP_skill_frostjoke_scream), 4356 }, -{ HP_POP(skill->greed), HP_POP2(HP_skill_greed), 4358 }, -{ HP_POP(skill->destroy_trap), HP_POP2(HP_skill_destroy_trap), 4360 }, -{ HP_POP(skill->icewall_block), HP_POP2(HP_skill_icewall_block), 4362 }, -{ HP_POP(skill->unitgrouptickset_search), HP_POP2(HP_skill_unitgrouptickset_search), 4364 }, -{ HP_POP(skill->dance_switch), HP_POP2(HP_skill_dance_switch), 4366 }, -{ HP_POP(skill->check_condition_char_sub), HP_POP2(HP_skill_check_condition_char_sub), 4368 }, -{ HP_POP(skill->check_condition_mob_master_sub), HP_POP2(HP_skill_check_condition_mob_master_sub), 4370 }, -{ HP_POP(skill->brandishspear_first), HP_POP2(HP_skill_brandishspear_first), 4372 }, -{ HP_POP(skill->brandishspear_dir), HP_POP2(HP_skill_brandishspear_dir), 4374 }, -{ HP_POP(skill->get_fixed_cast), HP_POP2(HP_skill_get_fixed_cast), 4376 }, -{ HP_POP(skill->sit_count), HP_POP2(HP_skill_sit_count), 4378 }, -{ HP_POP(skill->sit_in), HP_POP2(HP_skill_sit_in), 4380 }, -{ HP_POP(skill->sit_out), HP_POP2(HP_skill_sit_out), 4382 }, -{ HP_POP(skill->unitsetmapcell), HP_POP2(HP_skill_unitsetmapcell), 4384 }, -{ HP_POP(skill->unit_onplace_timer), HP_POP2(HP_skill_unit_onplace_timer), 4386 }, -{ HP_POP(skill->unit_effect), HP_POP2(HP_skill_unit_effect), 4388 }, -{ HP_POP(skill->unit_timer_sub_onplace), HP_POP2(HP_skill_unit_timer_sub_onplace), 4390 }, -{ HP_POP(skill->unit_move_sub), HP_POP2(HP_skill_unit_move_sub), 4392 }, -{ HP_POP(skill->blockpc_end), HP_POP2(HP_skill_blockpc_end), 4394 }, -{ HP_POP(skill->blockhomun_end), HP_POP2(HP_skill_blockhomun_end), 4396 }, -{ HP_POP(skill->blockmerc_end), HP_POP2(HP_skill_blockmerc_end), 4398 }, -{ HP_POP(skill->split_atoi), HP_POP2(HP_skill_split_atoi), 4400 }, -{ HP_POP(skill->unit_timer), HP_POP2(HP_skill_unit_timer), 4402 }, -{ HP_POP(skill->unit_timer_sub), HP_POP2(HP_skill_unit_timer_sub), 4404 }, -{ HP_POP(skill->init_unit_layout), HP_POP2(HP_skill_init_unit_layout), 4406 }, -{ HP_POP(skill->parse_row_skilldb), HP_POP2(HP_skill_parse_row_skilldb), 4408 }, -{ HP_POP(skill->parse_row_requiredb), HP_POP2(HP_skill_parse_row_requiredb), 4410 }, -{ HP_POP(skill->parse_row_castdb), HP_POP2(HP_skill_parse_row_castdb), 4412 }, -{ HP_POP(skill->parse_row_castnodexdb), HP_POP2(HP_skill_parse_row_castnodexdb), 4414 }, -{ HP_POP(skill->parse_row_unitdb), HP_POP2(HP_skill_parse_row_unitdb), 4416 }, -{ HP_POP(skill->parse_row_producedb), HP_POP2(HP_skill_parse_row_producedb), 4418 }, -{ HP_POP(skill->parse_row_createarrowdb), HP_POP2(HP_skill_parse_row_createarrowdb), 4420 }, -{ HP_POP(skill->parse_row_abradb), HP_POP2(HP_skill_parse_row_abradb), 4422 }, -{ HP_POP(skill->parse_row_spellbookdb), HP_POP2(HP_skill_parse_row_spellbookdb), 4424 }, -{ HP_POP(skill->parse_row_magicmushroomdb), HP_POP2(HP_skill_parse_row_magicmushroomdb), 4426 }, -{ HP_POP(skill->parse_row_reproducedb), HP_POP2(HP_skill_parse_row_reproducedb), 4428 }, -{ HP_POP(skill->parse_row_improvisedb), HP_POP2(HP_skill_parse_row_improvisedb), 4430 }, -{ HP_POP(skill->parse_row_changematerialdb), HP_POP2(HP_skill_parse_row_changematerialdb), 4432 }, -{ HP_POP(skill->usave_add), HP_POP2(HP_skill_usave_add), 4434 }, -{ HP_POP(skill->usave_trigger), HP_POP2(HP_skill_usave_trigger), 4436 }, -{ HP_POP(skill->cooldown_load), HP_POP2(HP_skill_cooldown_load), 4438 }, -{ HP_POP(skill->spellbook), HP_POP2(HP_skill_spellbook), 4440 }, -{ HP_POP(skill->block_check), HP_POP2(HP_skill_block_check), 4442 }, -{ HP_POP(skill->detonator), HP_POP2(HP_skill_detonator), 4444 }, -{ HP_POP(skill->check_camouflage), HP_POP2(HP_skill_check_camouflage), 4446 }, -{ HP_POP(skill->magicdecoy), HP_POP2(HP_skill_magicdecoy), 4448 }, -{ HP_POP(skill->poisoningweapon), HP_POP2(HP_skill_poisoningweapon), 4450 }, -{ HP_POP(skill->select_menu), HP_POP2(HP_skill_select_menu), 4452 }, -{ HP_POP(skill->elementalanalysis), HP_POP2(HP_skill_elementalanalysis), 4454 }, -{ HP_POP(skill->changematerial), HP_POP2(HP_skill_changematerial), 4456 }, -{ HP_POP(skill->get_elemental_type), HP_POP2(HP_skill_get_elemental_type), 4458 }, -{ HP_POP(skill->cooldown_save), HP_POP2(HP_skill_cooldown_save), 4460 }, -{ HP_POP(skill->maelstrom_suction), HP_POP2(HP_skill_maelstrom_suction), 4462 }, -{ HP_POP(skill->get_new_group_id), HP_POP2(HP_skill_get_new_group_id), 4464 }, +{ HP_POP(skill->init), HP_POP2(HP_skill_init), 4120 }, +{ HP_POP(skill->final), HP_POP2(HP_skill_final), 4122 }, +{ HP_POP(skill->reload), HP_POP2(HP_skill_reload), 4124 }, +{ HP_POP(skill->read_db), HP_POP2(HP_skill_read_db), 4126 }, +{ HP_POP(skill->get_index), HP_POP2(HP_skill_get_index), 4128 }, +{ HP_POP(skill->get_type), HP_POP2(HP_skill_get_type), 4130 }, +{ HP_POP(skill->get_hit), HP_POP2(HP_skill_get_hit), 4132 }, +{ HP_POP(skill->get_inf), HP_POP2(HP_skill_get_inf), 4134 }, +{ HP_POP(skill->get_ele), HP_POP2(HP_skill_get_ele), 4136 }, +{ HP_POP(skill->get_nk), HP_POP2(HP_skill_get_nk), 4138 }, +{ HP_POP(skill->get_max), HP_POP2(HP_skill_get_max), 4140 }, +{ HP_POP(skill->get_range), HP_POP2(HP_skill_get_range), 4142 }, +{ HP_POP(skill->get_range2), HP_POP2(HP_skill_get_range2), 4144 }, +{ HP_POP(skill->get_splash), HP_POP2(HP_skill_get_splash), 4146 }, +{ HP_POP(skill->get_hp), HP_POP2(HP_skill_get_hp), 4148 }, +{ HP_POP(skill->get_mhp), HP_POP2(HP_skill_get_mhp), 4150 }, +{ HP_POP(skill->get_sp), HP_POP2(HP_skill_get_sp), 4152 }, +{ HP_POP(skill->get_state), HP_POP2(HP_skill_get_state), 4154 }, +{ HP_POP(skill->get_spiritball), HP_POP2(HP_skill_get_spiritball), 4156 }, +{ HP_POP(skill->get_zeny), HP_POP2(HP_skill_get_zeny), 4158 }, +{ HP_POP(skill->get_num), HP_POP2(HP_skill_get_num), 4160 }, +{ HP_POP(skill->get_cast), HP_POP2(HP_skill_get_cast), 4162 }, +{ HP_POP(skill->get_delay), HP_POP2(HP_skill_get_delay), 4164 }, +{ HP_POP(skill->get_walkdelay), HP_POP2(HP_skill_get_walkdelay), 4166 }, +{ HP_POP(skill->get_time), HP_POP2(HP_skill_get_time), 4168 }, +{ HP_POP(skill->get_time2), HP_POP2(HP_skill_get_time2), 4170 }, +{ HP_POP(skill->get_castnodex), HP_POP2(HP_skill_get_castnodex), 4172 }, +{ HP_POP(skill->get_delaynodex), HP_POP2(HP_skill_get_delaynodex), 4174 }, +{ HP_POP(skill->get_castdef), HP_POP2(HP_skill_get_castdef), 4176 }, +{ HP_POP(skill->get_weapontype), HP_POP2(HP_skill_get_weapontype), 4178 }, +{ HP_POP(skill->get_ammotype), HP_POP2(HP_skill_get_ammotype), 4180 }, +{ HP_POP(skill->get_ammo_qty), HP_POP2(HP_skill_get_ammo_qty), 4182 }, +{ HP_POP(skill->get_unit_id), HP_POP2(HP_skill_get_unit_id), 4184 }, +{ HP_POP(skill->get_inf2), HP_POP2(HP_skill_get_inf2), 4186 }, +{ HP_POP(skill->get_castcancel), HP_POP2(HP_skill_get_castcancel), 4188 }, +{ HP_POP(skill->get_maxcount), HP_POP2(HP_skill_get_maxcount), 4190 }, +{ HP_POP(skill->get_blewcount), HP_POP2(HP_skill_get_blewcount), 4192 }, +{ HP_POP(skill->get_unit_flag), HP_POP2(HP_skill_get_unit_flag), 4194 }, +{ HP_POP(skill->get_unit_target), HP_POP2(HP_skill_get_unit_target), 4196 }, +{ HP_POP(skill->get_unit_interval), HP_POP2(HP_skill_get_unit_interval), 4198 }, +{ HP_POP(skill->get_unit_bl_target), HP_POP2(HP_skill_get_unit_bl_target), 4200 }, +{ HP_POP(skill->get_unit_layout_type), HP_POP2(HP_skill_get_unit_layout_type), 4202 }, +{ HP_POP(skill->get_unit_range), HP_POP2(HP_skill_get_unit_range), 4204 }, +{ HP_POP(skill->get_cooldown), HP_POP2(HP_skill_get_cooldown), 4206 }, +{ HP_POP(skill->tree_get_max), HP_POP2(HP_skill_tree_get_max), 4208 }, +{ HP_POP(skill->get_name), HP_POP2(HP_skill_get_name), 4210 }, +{ HP_POP(skill->get_desc), HP_POP2(HP_skill_get_desc), 4212 }, +{ HP_POP(skill->chk), HP_POP2(HP_skill_chk), 4214 }, +{ HP_POP(skill->get_casttype), HP_POP2(HP_skill_get_casttype), 4216 }, +{ HP_POP(skill->get_casttype2), HP_POP2(HP_skill_get_casttype2), 4218 }, +{ HP_POP(skill->name2id), HP_POP2(HP_skill_name2id), 4220 }, +{ HP_POP(skill->isammotype), HP_POP2(HP_skill_isammotype), 4222 }, +{ HP_POP(skill->castend_id), HP_POP2(HP_skill_castend_id), 4224 }, +{ HP_POP(skill->castend_pos), HP_POP2(HP_skill_castend_pos), 4226 }, +{ HP_POP(skill->castend_map), HP_POP2(HP_skill_castend_map), 4228 }, +{ HP_POP(skill->cleartimerskill), HP_POP2(HP_skill_cleartimerskill), 4230 }, +{ HP_POP(skill->addtimerskill), HP_POP2(HP_skill_addtimerskill), 4232 }, +{ HP_POP(skill->additional_effect), HP_POP2(HP_skill_additional_effect), 4234 }, +{ HP_POP(skill->counter_additional_effect), HP_POP2(HP_skill_counter_additional_effect), 4236 }, +{ HP_POP(skill->blown), HP_POP2(HP_skill_blown), 4238 }, +{ HP_POP(skill->break_equip), HP_POP2(HP_skill_break_equip), 4240 }, +{ HP_POP(skill->strip_equip), HP_POP2(HP_skill_strip_equip), 4242 }, +{ HP_POP(skill->id2group), HP_POP2(HP_skill_id2group), 4244 }, +{ HP_POP(skill->unitsetting), HP_POP2(HP_skill_unitsetting), 4246 }, +{ HP_POP(skill->initunit), HP_POP2(HP_skill_initunit), 4248 }, +{ HP_POP(skill->delunit), HP_POP2(HP_skill_delunit), 4250 }, +{ HP_POP(skill->init_unitgroup), HP_POP2(HP_skill_init_unitgroup), 4252 }, +{ HP_POP(skill->del_unitgroup), HP_POP2(HP_skill_del_unitgroup), 4254 }, +{ HP_POP(skill->clear_unitgroup), HP_POP2(HP_skill_clear_unitgroup), 4256 }, +{ HP_POP(skill->clear_group), HP_POP2(HP_skill_clear_group), 4258 }, +{ HP_POP(skill->unit_onplace), HP_POP2(HP_skill_unit_onplace), 4260 }, +{ HP_POP(skill->unit_ondamaged), HP_POP2(HP_skill_unit_ondamaged), 4262 }, +{ HP_POP(skill->cast_fix), HP_POP2(HP_skill_cast_fix), 4264 }, +{ HP_POP(skill->cast_fix_sc), HP_POP2(HP_skill_cast_fix_sc), 4266 }, +{ HP_POP(skill->vf_cast_fix), HP_POP2(HP_skill_vf_cast_fix), 4268 }, +{ HP_POP(skill->delay_fix), HP_POP2(HP_skill_delay_fix), 4270 }, +{ HP_POP(skill->check_condition_castbegin), HP_POP2(HP_skill_check_condition_castbegin), 4272 }, +{ HP_POP(skill->check_condition_castend), HP_POP2(HP_skill_check_condition_castend), 4274 }, +{ HP_POP(skill->consume_requirement), HP_POP2(HP_skill_consume_requirement), 4276 }, +{ HP_POP(skill->get_requirement), HP_POP2(HP_skill_get_requirement), 4278 }, +{ HP_POP(skill->check_pc_partner), HP_POP2(HP_skill_check_pc_partner), 4280 }, +{ HP_POP(skill->unit_move), HP_POP2(HP_skill_unit_move), 4282 }, +{ HP_POP(skill->unit_onleft), HP_POP2(HP_skill_unit_onleft), 4284 }, +{ HP_POP(skill->unit_onout), HP_POP2(HP_skill_unit_onout), 4286 }, +{ HP_POP(skill->unit_move_unit_group), HP_POP2(HP_skill_unit_move_unit_group), 4288 }, +{ HP_POP(skill->sit), HP_POP2(HP_skill_sit), 4290 }, +{ HP_POP(skill->brandishspear), HP_POP2(HP_skill_brandishspear), 4292 }, +{ HP_POP(skill->repairweapon), HP_POP2(HP_skill_repairweapon), 4294 }, +{ HP_POP(skill->identify), HP_POP2(HP_skill_identify), 4296 }, +{ HP_POP(skill->weaponrefine), HP_POP2(HP_skill_weaponrefine), 4298 }, +{ HP_POP(skill->autospell), HP_POP2(HP_skill_autospell), 4300 }, +{ HP_POP(skill->calc_heal), HP_POP2(HP_skill_calc_heal), 4302 }, +{ HP_POP(skill->check_cloaking), HP_POP2(HP_skill_check_cloaking), 4304 }, +{ HP_POP(skill->enchant_elemental_end), HP_POP2(HP_skill_enchant_elemental_end), 4306 }, +{ HP_POP(skill->not_ok), HP_POP2(HP_skill_not_ok), 4308 }, +{ HP_POP(skill->not_ok_hom), HP_POP2(HP_skill_not_ok_hom), 4310 }, +{ HP_POP(skill->not_ok_mercenary), HP_POP2(HP_skill_not_ok_mercenary), 4312 }, +{ HP_POP(skill->chastle_mob_changetarget), HP_POP2(HP_skill_chastle_mob_changetarget), 4314 }, +{ HP_POP(skill->can_produce_mix), HP_POP2(HP_skill_can_produce_mix), 4316 }, +{ HP_POP(skill->produce_mix), HP_POP2(HP_skill_produce_mix), 4318 }, +{ HP_POP(skill->arrow_create), HP_POP2(HP_skill_arrow_create), 4320 }, +{ HP_POP(skill->castend_nodamage_id), HP_POP2(HP_skill_castend_nodamage_id), 4322 }, +{ HP_POP(skill->castend_damage_id), HP_POP2(HP_skill_castend_damage_id), 4324 }, +{ HP_POP(skill->castend_pos2), HP_POP2(HP_skill_castend_pos2), 4326 }, +{ HP_POP(skill->blockpc_start), HP_POP2(HP_skill_blockpc_start), 4328 }, +{ HP_POP(skill->blockhomun_start), HP_POP2(HP_skill_blockhomun_start), 4330 }, +{ HP_POP(skill->blockmerc_start), HP_POP2(HP_skill_blockmerc_start), 4332 }, +{ HP_POP(skill->attack), HP_POP2(HP_skill_attack), 4334 }, +{ HP_POP(skill->attack_area), HP_POP2(HP_skill_attack_area), 4336 }, +{ HP_POP(skill->area_sub), HP_POP2(HP_skill_area_sub), 4338 }, +{ HP_POP(skill->area_sub_count), HP_POP2(HP_skill_area_sub_count), 4340 }, +{ HP_POP(skill->check_unit_range), HP_POP2(HP_skill_check_unit_range), 4342 }, +{ HP_POP(skill->check_unit_range_sub), HP_POP2(HP_skill_check_unit_range_sub), 4344 }, +{ HP_POP(skill->check_unit_range2), HP_POP2(HP_skill_check_unit_range2), 4346 }, +{ HP_POP(skill->check_unit_range2_sub), HP_POP2(HP_skill_check_unit_range2_sub), 4348 }, +{ HP_POP(skill->toggle_magicpower), HP_POP2(HP_skill_toggle_magicpower), 4350 }, +{ HP_POP(skill->magic_reflect), HP_POP2(HP_skill_magic_reflect), 4352 }, +{ HP_POP(skill->onskillusage), HP_POP2(HP_skill_onskillusage), 4354 }, +{ HP_POP(skill->cell_overlap), HP_POP2(HP_skill_cell_overlap), 4356 }, +{ HP_POP(skill->timerskill), HP_POP2(HP_skill_timerskill), 4358 }, +{ HP_POP(skill->trap_splash), HP_POP2(HP_skill_trap_splash), 4360 }, +{ HP_POP(skill->check_condition_mercenary), HP_POP2(HP_skill_check_condition_mercenary), 4362 }, +{ HP_POP(skill->locate_element_field), HP_POP2(HP_skill_locate_element_field), 4364 }, +{ HP_POP(skill->graffitiremover), HP_POP2(HP_skill_graffitiremover), 4366 }, +{ HP_POP(skill->activate_reverberation), HP_POP2(HP_skill_activate_reverberation), 4368 }, +{ HP_POP(skill->dance_overlap_sub), HP_POP2(HP_skill_dance_overlap_sub), 4370 }, +{ HP_POP(skill->dance_overlap), HP_POP2(HP_skill_dance_overlap), 4372 }, +{ HP_POP(skill->get_unit_layout), HP_POP2(HP_skill_get_unit_layout), 4374 }, +{ HP_POP(skill->frostjoke_scream), HP_POP2(HP_skill_frostjoke_scream), 4376 }, +{ HP_POP(skill->greed), HP_POP2(HP_skill_greed), 4378 }, +{ HP_POP(skill->destroy_trap), HP_POP2(HP_skill_destroy_trap), 4380 }, +{ HP_POP(skill->icewall_block), HP_POP2(HP_skill_icewall_block), 4382 }, +{ HP_POP(skill->unitgrouptickset_search), HP_POP2(HP_skill_unitgrouptickset_search), 4384 }, +{ HP_POP(skill->dance_switch), HP_POP2(HP_skill_dance_switch), 4386 }, +{ HP_POP(skill->check_condition_char_sub), HP_POP2(HP_skill_check_condition_char_sub), 4388 }, +{ HP_POP(skill->check_condition_mob_master_sub), HP_POP2(HP_skill_check_condition_mob_master_sub), 4390 }, +{ HP_POP(skill->brandishspear_first), HP_POP2(HP_skill_brandishspear_first), 4392 }, +{ HP_POP(skill->brandishspear_dir), HP_POP2(HP_skill_brandishspear_dir), 4394 }, +{ HP_POP(skill->get_fixed_cast), HP_POP2(HP_skill_get_fixed_cast), 4396 }, +{ HP_POP(skill->sit_count), HP_POP2(HP_skill_sit_count), 4398 }, +{ HP_POP(skill->sit_in), HP_POP2(HP_skill_sit_in), 4400 }, +{ HP_POP(skill->sit_out), HP_POP2(HP_skill_sit_out), 4402 }, +{ HP_POP(skill->unitsetmapcell), HP_POP2(HP_skill_unitsetmapcell), 4404 }, +{ HP_POP(skill->unit_onplace_timer), HP_POP2(HP_skill_unit_onplace_timer), 4406 }, +{ HP_POP(skill->unit_effect), HP_POP2(HP_skill_unit_effect), 4408 }, +{ HP_POP(skill->unit_timer_sub_onplace), HP_POP2(HP_skill_unit_timer_sub_onplace), 4410 }, +{ HP_POP(skill->unit_move_sub), HP_POP2(HP_skill_unit_move_sub), 4412 }, +{ HP_POP(skill->blockpc_end), HP_POP2(HP_skill_blockpc_end), 4414 }, +{ HP_POP(skill->blockhomun_end), HP_POP2(HP_skill_blockhomun_end), 4416 }, +{ HP_POP(skill->blockmerc_end), HP_POP2(HP_skill_blockmerc_end), 4418 }, +{ HP_POP(skill->split_atoi), HP_POP2(HP_skill_split_atoi), 4420 }, +{ HP_POP(skill->unit_timer), HP_POP2(HP_skill_unit_timer), 4422 }, +{ HP_POP(skill->unit_timer_sub), HP_POP2(HP_skill_unit_timer_sub), 4424 }, +{ HP_POP(skill->init_unit_layout), HP_POP2(HP_skill_init_unit_layout), 4426 }, +{ HP_POP(skill->parse_row_skilldb), HP_POP2(HP_skill_parse_row_skilldb), 4428 }, +{ HP_POP(skill->parse_row_requiredb), HP_POP2(HP_skill_parse_row_requiredb), 4430 }, +{ HP_POP(skill->parse_row_castdb), HP_POP2(HP_skill_parse_row_castdb), 4432 }, +{ HP_POP(skill->parse_row_castnodexdb), HP_POP2(HP_skill_parse_row_castnodexdb), 4434 }, +{ HP_POP(skill->parse_row_unitdb), HP_POP2(HP_skill_parse_row_unitdb), 4436 }, +{ HP_POP(skill->parse_row_producedb), HP_POP2(HP_skill_parse_row_producedb), 4438 }, +{ HP_POP(skill->parse_row_createarrowdb), HP_POP2(HP_skill_parse_row_createarrowdb), 4440 }, +{ HP_POP(skill->parse_row_abradb), HP_POP2(HP_skill_parse_row_abradb), 4442 }, +{ HP_POP(skill->parse_row_spellbookdb), HP_POP2(HP_skill_parse_row_spellbookdb), 4444 }, +{ HP_POP(skill->parse_row_magicmushroomdb), HP_POP2(HP_skill_parse_row_magicmushroomdb), 4446 }, +{ HP_POP(skill->parse_row_reproducedb), HP_POP2(HP_skill_parse_row_reproducedb), 4448 }, +{ HP_POP(skill->parse_row_improvisedb), HP_POP2(HP_skill_parse_row_improvisedb), 4450 }, +{ HP_POP(skill->parse_row_changematerialdb), HP_POP2(HP_skill_parse_row_changematerialdb), 4452 }, +{ HP_POP(skill->usave_add), HP_POP2(HP_skill_usave_add), 4454 }, +{ HP_POP(skill->usave_trigger), HP_POP2(HP_skill_usave_trigger), 4456 }, +{ HP_POP(skill->cooldown_load), HP_POP2(HP_skill_cooldown_load), 4458 }, +{ HP_POP(skill->spellbook), HP_POP2(HP_skill_spellbook), 4460 }, +{ HP_POP(skill->block_check), HP_POP2(HP_skill_block_check), 4462 }, +{ HP_POP(skill->detonator), HP_POP2(HP_skill_detonator), 4464 }, +{ HP_POP(skill->check_camouflage), HP_POP2(HP_skill_check_camouflage), 4466 }, +{ HP_POP(skill->magicdecoy), HP_POP2(HP_skill_magicdecoy), 4468 }, +{ HP_POP(skill->poisoningweapon), HP_POP2(HP_skill_poisoningweapon), 4470 }, +{ HP_POP(skill->select_menu), HP_POP2(HP_skill_select_menu), 4472 }, +{ HP_POP(skill->elementalanalysis), HP_POP2(HP_skill_elementalanalysis), 4474 }, +{ HP_POP(skill->changematerial), HP_POP2(HP_skill_changematerial), 4476 }, +{ HP_POP(skill->get_elemental_type), HP_POP2(HP_skill_get_elemental_type), 4478 }, +{ HP_POP(skill->cooldown_save), HP_POP2(HP_skill_cooldown_save), 4480 }, +{ HP_POP(skill->maelstrom_suction), HP_POP2(HP_skill_maelstrom_suction), 4482 }, +{ HP_POP(skill->get_new_group_id), HP_POP2(HP_skill_get_new_group_id), 4484 }, /* status */ -{ HP_POP(status->init), HP_POP2(HP_status_init), 4466 }, -{ HP_POP(status->final), HP_POP2(HP_status_final), 4468 }, -{ HP_POP(status->get_refine_chance), HP_POP2(HP_status_get_refine_chance), 4470 }, -{ HP_POP(status->skill2sc), HP_POP2(HP_status_skill2sc), 4472 }, -{ HP_POP(status->sc2skill), HP_POP2(HP_status_sc2skill), 4474 }, -{ HP_POP(status->sc2scb_flag), HP_POP2(HP_status_sc2scb_flag), 4476 }, -{ HP_POP(status->type2relevant_bl_types), HP_POP2(HP_status_type2relevant_bl_types), 4478 }, -{ HP_POP(status->get_sc_type), HP_POP2(HP_status_get_sc_type), 4480 }, -{ HP_POP(status->damage), HP_POP2(HP_status_damage), 4482 }, -{ HP_POP(status->charge), HP_POP2(HP_status_charge), 4484 }, -{ HP_POP(status->percent_change), HP_POP2(HP_status_percent_change), 4486 }, -{ HP_POP(status->set_hp), HP_POP2(HP_status_set_hp), 4488 }, -{ HP_POP(status->set_sp), HP_POP2(HP_status_set_sp), 4490 }, -{ HP_POP(status->heal), HP_POP2(HP_status_heal), 4492 }, -{ HP_POP(status->revive), HP_POP2(HP_status_revive), 4494 }, -{ HP_POP(status->get_regen_data), HP_POP2(HP_status_get_regen_data), 4496 }, -{ HP_POP(status->get_status_data), HP_POP2(HP_status_get_status_data), 4498 }, -{ HP_POP(status->get_base_status), HP_POP2(HP_status_get_base_status), 4500 }, -{ HP_POP(status->get_name), HP_POP2(HP_status_get_name), 4502 }, -{ HP_POP(status->get_class), HP_POP2(HP_status_get_class), 4504 }, -{ HP_POP(status->get_lv), HP_POP2(HP_status_get_lv), 4506 }, -{ HP_POP(status->get_def), HP_POP2(HP_status_get_def), 4508 }, -{ HP_POP(status->get_speed), HP_POP2(HP_status_get_speed), 4510 }, -{ HP_POP(status->calc_attack_element), HP_POP2(HP_status_calc_attack_element), 4512 }, -{ HP_POP(status->get_party_id), HP_POP2(HP_status_get_party_id), 4514 }, -{ HP_POP(status->get_guild_id), HP_POP2(HP_status_get_guild_id), 4516 }, -{ HP_POP(status->get_emblem_id), HP_POP2(HP_status_get_emblem_id), 4518 }, -{ HP_POP(status->get_mexp), HP_POP2(HP_status_get_mexp), 4520 }, -{ HP_POP(status->get_race2), HP_POP2(HP_status_get_race2), 4522 }, -{ HP_POP(status->get_viewdata), HP_POP2(HP_status_get_viewdata), 4524 }, -{ HP_POP(status->set_viewdata), HP_POP2(HP_status_set_viewdata), 4526 }, -{ HP_POP(status->change_init), HP_POP2(HP_status_change_init), 4528 }, -{ HP_POP(status->get_sc), HP_POP2(HP_status_get_sc), 4530 }, -{ HP_POP(status->isdead), HP_POP2(HP_status_isdead), 4532 }, -{ HP_POP(status->isimmune), HP_POP2(HP_status_isimmune), 4534 }, -{ HP_POP(status->get_sc_def), HP_POP2(HP_status_get_sc_def), 4536 }, -{ HP_POP(status->change_start), HP_POP2(HP_status_change_start), 4538 }, -{ HP_POP(status->change_end_), HP_POP2(HP_status_change_end_), 4540 }, -{ HP_POP(status->kaahi_heal_timer), HP_POP2(HP_status_kaahi_heal_timer), 4542 }, -{ HP_POP(status->change_timer), HP_POP2(HP_status_change_timer), 4544 }, -{ HP_POP(status->change_timer_sub), HP_POP2(HP_status_change_timer_sub), 4546 }, -{ HP_POP(status->change_clear), HP_POP2(HP_status_change_clear), 4548 }, -{ HP_POP(status->change_clear_buffs), HP_POP2(HP_status_change_clear_buffs), 4550 }, -{ HP_POP(status->calc_bl_), HP_POP2(HP_status_calc_bl_), 4552 }, -{ HP_POP(status->calc_mob_), HP_POP2(HP_status_calc_mob_), 4554 }, -{ HP_POP(status->calc_pet_), HP_POP2(HP_status_calc_pet_), 4556 }, -{ HP_POP(status->calc_pc_), HP_POP2(HP_status_calc_pc_), 4558 }, -{ HP_POP(status->calc_homunculus_), HP_POP2(HP_status_calc_homunculus_), 4560 }, -{ HP_POP(status->calc_mercenary_), HP_POP2(HP_status_calc_mercenary_), 4562 }, -{ HP_POP(status->calc_elemental_), HP_POP2(HP_status_calc_elemental_), 4564 }, -{ HP_POP(status->calc_misc), HP_POP2(HP_status_calc_misc), 4566 }, -{ HP_POP(status->calc_regen), HP_POP2(HP_status_calc_regen), 4568 }, -{ HP_POP(status->calc_regen_rate), HP_POP2(HP_status_calc_regen_rate), 4570 }, -{ HP_POP(status->check_skilluse), HP_POP2(HP_status_check_skilluse), 4572 }, -{ HP_POP(status->check_visibility), HP_POP2(HP_status_check_visibility), 4574 }, -{ HP_POP(status->change_spread), HP_POP2(HP_status_change_spread), 4576 }, -{ HP_POP(status->calc_def), HP_POP2(HP_status_calc_def), 4578 }, -{ HP_POP(status->calc_def2), HP_POP2(HP_status_calc_def2), 4580 }, -{ HP_POP(status->calc_mdef), HP_POP2(HP_status_calc_mdef), 4582 }, -{ HP_POP(status->calc_mdef2), HP_POP2(HP_status_calc_mdef2), 4584 }, -{ HP_POP(status->calc_batk), HP_POP2(HP_status_calc_batk), 4586 }, -{ HP_POP(status->base_matk), HP_POP2(HP_status_base_matk), 4588 }, -{ HP_POP(status->get_weapon_atk), HP_POP2(HP_status_get_weapon_atk), 4590 }, -{ HP_POP(status->get_total_mdef), HP_POP2(HP_status_get_total_mdef), 4592 }, -{ HP_POP(status->get_total_def), HP_POP2(HP_status_get_total_def), 4594 }, -{ HP_POP(status->get_matk), HP_POP2(HP_status_get_matk), 4596 }, -{ HP_POP(status->readdb), HP_POP2(HP_status_readdb), 4598 }, -{ HP_POP(status->initChangeTables), HP_POP2(HP_status_initChangeTables), 4600 }, -{ HP_POP(status->initDummyData), HP_POP2(HP_status_initDummyData), 4602 }, -{ HP_POP(status->base_amotion_pc), HP_POP2(HP_status_base_amotion_pc), 4604 }, -{ HP_POP(status->base_atk), HP_POP2(HP_status_base_atk), 4606 }, -{ HP_POP(status->calc_sigma), HP_POP2(HP_status_calc_sigma), 4608 }, -{ HP_POP(status->base_pc_maxhp), HP_POP2(HP_status_base_pc_maxhp), 4610 }, -{ HP_POP(status->base_pc_maxsp), HP_POP2(HP_status_base_pc_maxsp), 4612 }, -{ HP_POP(status->calc_npc_), HP_POP2(HP_status_calc_npc_), 4614 }, -{ HP_POP(status->calc_str), HP_POP2(HP_status_calc_str), 4616 }, -{ HP_POP(status->calc_agi), HP_POP2(HP_status_calc_agi), 4618 }, -{ HP_POP(status->calc_vit), HP_POP2(HP_status_calc_vit), 4620 }, -{ HP_POP(status->calc_int), HP_POP2(HP_status_calc_int), 4622 }, -{ HP_POP(status->calc_dex), HP_POP2(HP_status_calc_dex), 4624 }, -{ HP_POP(status->calc_luk), HP_POP2(HP_status_calc_luk), 4626 }, -{ HP_POP(status->calc_watk), HP_POP2(HP_status_calc_watk), 4628 }, -{ HP_POP(status->calc_matk), HP_POP2(HP_status_calc_matk), 4630 }, -{ HP_POP(status->calc_hit), HP_POP2(HP_status_calc_hit), 4632 }, -{ HP_POP(status->calc_critical), HP_POP2(HP_status_calc_critical), 4634 }, -{ HP_POP(status->calc_flee), HP_POP2(HP_status_calc_flee), 4636 }, -{ HP_POP(status->calc_flee2), HP_POP2(HP_status_calc_flee2), 4638 }, -{ HP_POP(status->calc_speed), HP_POP2(HP_status_calc_speed), 4640 }, -{ HP_POP(status->calc_aspd_rate), HP_POP2(HP_status_calc_aspd_rate), 4642 }, -{ HP_POP(status->calc_dmotion), HP_POP2(HP_status_calc_dmotion), 4644 }, -{ HP_POP(status->calc_aspd), HP_POP2(HP_status_calc_aspd), 4646 }, -{ HP_POP(status->calc_fix_aspd), HP_POP2(HP_status_calc_fix_aspd), 4648 }, -{ HP_POP(status->calc_maxhp), HP_POP2(HP_status_calc_maxhp), 4650 }, -{ HP_POP(status->calc_maxsp), HP_POP2(HP_status_calc_maxsp), 4652 }, -{ HP_POP(status->calc_element), HP_POP2(HP_status_calc_element), 4654 }, -{ HP_POP(status->calc_element_lv), HP_POP2(HP_status_calc_element_lv), 4656 }, -{ HP_POP(status->calc_mode), HP_POP2(HP_status_calc_mode), 4658 }, -{ HP_POP(status->calc_ematk), HP_POP2(HP_status_calc_ematk), 4660 }, -{ HP_POP(status->calc_bl_main), HP_POP2(HP_status_calc_bl_main), 4662 }, -{ HP_POP(status->display_add), HP_POP2(HP_status_display_add), 4664 }, -{ HP_POP(status->display_remove), HP_POP2(HP_status_display_remove), 4666 }, -{ HP_POP(status->natural_heal), HP_POP2(HP_status_natural_heal), 4668 }, -{ HP_POP(status->natural_heal_timer), HP_POP2(HP_status_natural_heal_timer), 4670 }, -{ HP_POP(status->readdb_job1), HP_POP2(HP_status_readdb_job1), 4672 }, -{ HP_POP(status->readdb_job2), HP_POP2(HP_status_readdb_job2), 4674 }, -{ HP_POP(status->readdb_sizefix), HP_POP2(HP_status_readdb_sizefix), 4676 }, -{ HP_POP(status->readdb_refine), HP_POP2(HP_status_readdb_refine), 4678 }, -{ HP_POP(status->readdb_scconfig), HP_POP2(HP_status_readdb_scconfig), 4680 }, +{ HP_POP(status->init), HP_POP2(HP_status_init), 4486 }, +{ HP_POP(status->final), HP_POP2(HP_status_final), 4488 }, +{ HP_POP(status->get_refine_chance), HP_POP2(HP_status_get_refine_chance), 4490 }, +{ HP_POP(status->skill2sc), HP_POP2(HP_status_skill2sc), 4492 }, +{ HP_POP(status->sc2skill), HP_POP2(HP_status_sc2skill), 4494 }, +{ HP_POP(status->sc2scb_flag), HP_POP2(HP_status_sc2scb_flag), 4496 }, +{ HP_POP(status->type2relevant_bl_types), HP_POP2(HP_status_type2relevant_bl_types), 4498 }, +{ HP_POP(status->get_sc_type), HP_POP2(HP_status_get_sc_type), 4500 }, +{ HP_POP(status->damage), HP_POP2(HP_status_damage), 4502 }, +{ HP_POP(status->charge), HP_POP2(HP_status_charge), 4504 }, +{ HP_POP(status->percent_change), HP_POP2(HP_status_percent_change), 4506 }, +{ HP_POP(status->set_hp), HP_POP2(HP_status_set_hp), 4508 }, +{ HP_POP(status->set_sp), HP_POP2(HP_status_set_sp), 4510 }, +{ HP_POP(status->heal), HP_POP2(HP_status_heal), 4512 }, +{ HP_POP(status->revive), HP_POP2(HP_status_revive), 4514 }, +{ HP_POP(status->get_regen_data), HP_POP2(HP_status_get_regen_data), 4516 }, +{ HP_POP(status->get_status_data), HP_POP2(HP_status_get_status_data), 4518 }, +{ HP_POP(status->get_base_status), HP_POP2(HP_status_get_base_status), 4520 }, +{ HP_POP(status->get_name), HP_POP2(HP_status_get_name), 4522 }, +{ HP_POP(status->get_class), HP_POP2(HP_status_get_class), 4524 }, +{ HP_POP(status->get_lv), HP_POP2(HP_status_get_lv), 4526 }, +{ HP_POP(status->get_def), HP_POP2(HP_status_get_def), 4528 }, +{ HP_POP(status->get_speed), HP_POP2(HP_status_get_speed), 4530 }, +{ HP_POP(status->calc_attack_element), HP_POP2(HP_status_calc_attack_element), 4532 }, +{ HP_POP(status->get_party_id), HP_POP2(HP_status_get_party_id), 4534 }, +{ HP_POP(status->get_guild_id), HP_POP2(HP_status_get_guild_id), 4536 }, +{ HP_POP(status->get_emblem_id), HP_POP2(HP_status_get_emblem_id), 4538 }, +{ HP_POP(status->get_mexp), HP_POP2(HP_status_get_mexp), 4540 }, +{ HP_POP(status->get_race2), HP_POP2(HP_status_get_race2), 4542 }, +{ HP_POP(status->get_viewdata), HP_POP2(HP_status_get_viewdata), 4544 }, +{ HP_POP(status->set_viewdata), HP_POP2(HP_status_set_viewdata), 4546 }, +{ HP_POP(status->change_init), HP_POP2(HP_status_change_init), 4548 }, +{ HP_POP(status->get_sc), HP_POP2(HP_status_get_sc), 4550 }, +{ HP_POP(status->isdead), HP_POP2(HP_status_isdead), 4552 }, +{ HP_POP(status->isimmune), HP_POP2(HP_status_isimmune), 4554 }, +{ HP_POP(status->get_sc_def), HP_POP2(HP_status_get_sc_def), 4556 }, +{ HP_POP(status->change_start), HP_POP2(HP_status_change_start), 4558 }, +{ HP_POP(status->change_end_), HP_POP2(HP_status_change_end_), 4560 }, +{ HP_POP(status->kaahi_heal_timer), HP_POP2(HP_status_kaahi_heal_timer), 4562 }, +{ HP_POP(status->change_timer), HP_POP2(HP_status_change_timer), 4564 }, +{ HP_POP(status->change_timer_sub), HP_POP2(HP_status_change_timer_sub), 4566 }, +{ HP_POP(status->change_clear), HP_POP2(HP_status_change_clear), 4568 }, +{ HP_POP(status->change_clear_buffs), HP_POP2(HP_status_change_clear_buffs), 4570 }, +{ HP_POP(status->calc_bl_), HP_POP2(HP_status_calc_bl_), 4572 }, +{ HP_POP(status->calc_mob_), HP_POP2(HP_status_calc_mob_), 4574 }, +{ HP_POP(status->calc_pet_), HP_POP2(HP_status_calc_pet_), 4576 }, +{ HP_POP(status->calc_pc_), HP_POP2(HP_status_calc_pc_), 4578 }, +{ HP_POP(status->calc_homunculus_), HP_POP2(HP_status_calc_homunculus_), 4580 }, +{ HP_POP(status->calc_mercenary_), HP_POP2(HP_status_calc_mercenary_), 4582 }, +{ HP_POP(status->calc_elemental_), HP_POP2(HP_status_calc_elemental_), 4584 }, +{ HP_POP(status->calc_misc), HP_POP2(HP_status_calc_misc), 4586 }, +{ HP_POP(status->calc_regen), HP_POP2(HP_status_calc_regen), 4588 }, +{ HP_POP(status->calc_regen_rate), HP_POP2(HP_status_calc_regen_rate), 4590 }, +{ HP_POP(status->check_skilluse), HP_POP2(HP_status_check_skilluse), 4592 }, +{ HP_POP(status->check_visibility), HP_POP2(HP_status_check_visibility), 4594 }, +{ HP_POP(status->change_spread), HP_POP2(HP_status_change_spread), 4596 }, +{ HP_POP(status->calc_def), HP_POP2(HP_status_calc_def), 4598 }, +{ HP_POP(status->calc_def2), HP_POP2(HP_status_calc_def2), 4600 }, +{ HP_POP(status->calc_mdef), HP_POP2(HP_status_calc_mdef), 4602 }, +{ HP_POP(status->calc_mdef2), HP_POP2(HP_status_calc_mdef2), 4604 }, +{ HP_POP(status->calc_batk), HP_POP2(HP_status_calc_batk), 4606 }, +{ HP_POP(status->base_matk), HP_POP2(HP_status_base_matk), 4608 }, +{ HP_POP(status->get_weapon_atk), HP_POP2(HP_status_get_weapon_atk), 4610 }, +{ HP_POP(status->get_total_mdef), HP_POP2(HP_status_get_total_mdef), 4612 }, +{ HP_POP(status->get_total_def), HP_POP2(HP_status_get_total_def), 4614 }, +{ HP_POP(status->get_matk), HP_POP2(HP_status_get_matk), 4616 }, +{ HP_POP(status->readdb), HP_POP2(HP_status_readdb), 4618 }, +{ HP_POP(status->initChangeTables), HP_POP2(HP_status_initChangeTables), 4620 }, +{ HP_POP(status->initDummyData), HP_POP2(HP_status_initDummyData), 4622 }, +{ HP_POP(status->base_amotion_pc), HP_POP2(HP_status_base_amotion_pc), 4624 }, +{ HP_POP(status->base_atk), HP_POP2(HP_status_base_atk), 4626 }, +{ HP_POP(status->calc_sigma), HP_POP2(HP_status_calc_sigma), 4628 }, +{ HP_POP(status->base_pc_maxhp), HP_POP2(HP_status_base_pc_maxhp), 4630 }, +{ HP_POP(status->base_pc_maxsp), HP_POP2(HP_status_base_pc_maxsp), 4632 }, +{ HP_POP(status->calc_npc_), HP_POP2(HP_status_calc_npc_), 4634 }, +{ HP_POP(status->calc_str), HP_POP2(HP_status_calc_str), 4636 }, +{ HP_POP(status->calc_agi), HP_POP2(HP_status_calc_agi), 4638 }, +{ HP_POP(status->calc_vit), HP_POP2(HP_status_calc_vit), 4640 }, +{ HP_POP(status->calc_int), HP_POP2(HP_status_calc_int), 4642 }, +{ HP_POP(status->calc_dex), HP_POP2(HP_status_calc_dex), 4644 }, +{ HP_POP(status->calc_luk), HP_POP2(HP_status_calc_luk), 4646 }, +{ HP_POP(status->calc_watk), HP_POP2(HP_status_calc_watk), 4648 }, +{ HP_POP(status->calc_matk), HP_POP2(HP_status_calc_matk), 4650 }, +{ HP_POP(status->calc_hit), HP_POP2(HP_status_calc_hit), 4652 }, +{ HP_POP(status->calc_critical), HP_POP2(HP_status_calc_critical), 4654 }, +{ HP_POP(status->calc_flee), HP_POP2(HP_status_calc_flee), 4656 }, +{ HP_POP(status->calc_flee2), HP_POP2(HP_status_calc_flee2), 4658 }, +{ HP_POP(status->calc_speed), HP_POP2(HP_status_calc_speed), 4660 }, +{ HP_POP(status->calc_aspd_rate), HP_POP2(HP_status_calc_aspd_rate), 4662 }, +{ HP_POP(status->calc_dmotion), HP_POP2(HP_status_calc_dmotion), 4664 }, +{ HP_POP(status->calc_aspd), HP_POP2(HP_status_calc_aspd), 4666 }, +{ HP_POP(status->calc_fix_aspd), HP_POP2(HP_status_calc_fix_aspd), 4668 }, +{ HP_POP(status->calc_maxhp), HP_POP2(HP_status_calc_maxhp), 4670 }, +{ HP_POP(status->calc_maxsp), HP_POP2(HP_status_calc_maxsp), 4672 }, +{ HP_POP(status->calc_element), HP_POP2(HP_status_calc_element), 4674 }, +{ HP_POP(status->calc_element_lv), HP_POP2(HP_status_calc_element_lv), 4676 }, +{ HP_POP(status->calc_mode), HP_POP2(HP_status_calc_mode), 4678 }, +{ HP_POP(status->calc_ematk), HP_POP2(HP_status_calc_ematk), 4680 }, +{ HP_POP(status->calc_bl_main), HP_POP2(HP_status_calc_bl_main), 4682 }, +{ HP_POP(status->display_add), HP_POP2(HP_status_display_add), 4684 }, +{ HP_POP(status->display_remove), HP_POP2(HP_status_display_remove), 4686 }, +{ HP_POP(status->natural_heal), HP_POP2(HP_status_natural_heal), 4688 }, +{ HP_POP(status->natural_heal_timer), HP_POP2(HP_status_natural_heal_timer), 4690 }, +{ HP_POP(status->readdb_job1), HP_POP2(HP_status_readdb_job1), 4692 }, +{ HP_POP(status->readdb_job2), HP_POP2(HP_status_readdb_job2), 4694 }, +{ HP_POP(status->readdb_sizefix), HP_POP2(HP_status_readdb_sizefix), 4696 }, +{ HP_POP(status->readdb_refine), HP_POP2(HP_status_readdb_refine), 4698 }, +{ HP_POP(status->readdb_scconfig), HP_POP2(HP_status_readdb_scconfig), 4700 }, /* storage */ -{ HP_POP(storage->reconnect), HP_POP2(HP_storage_reconnect), 4682 }, -{ HP_POP(storage->delitem), HP_POP2(HP_storage_delitem), 4684 }, -{ HP_POP(storage->open), HP_POP2(HP_storage_open), 4686 }, -{ HP_POP(storage->add), HP_POP2(HP_storage_add), 4688 }, -{ HP_POP(storage->get), HP_POP2(HP_storage_get), 4690 }, -{ HP_POP(storage->additem), HP_POP2(HP_storage_additem), 4692 }, -{ HP_POP(storage->addfromcart), HP_POP2(HP_storage_addfromcart), 4694 }, -{ HP_POP(storage->gettocart), HP_POP2(HP_storage_gettocart), 4696 }, -{ HP_POP(storage->close), HP_POP2(HP_storage_close), 4698 }, -{ HP_POP(storage->pc_quit), HP_POP2(HP_storage_pc_quit), 4700 }, -{ HP_POP(storage->comp_item), HP_POP2(HP_storage_comp_item), 4702 }, -{ HP_POP(storage->sortitem), HP_POP2(HP_storage_sortitem), 4704 }, -{ HP_POP(storage->reconnect_sub), HP_POP2(HP_storage_reconnect_sub), 4706 }, +{ HP_POP(storage->reconnect), HP_POP2(HP_storage_reconnect), 4702 }, +{ HP_POP(storage->delitem), HP_POP2(HP_storage_delitem), 4704 }, +{ HP_POP(storage->open), HP_POP2(HP_storage_open), 4706 }, +{ HP_POP(storage->add), HP_POP2(HP_storage_add), 4708 }, +{ HP_POP(storage->get), HP_POP2(HP_storage_get), 4710 }, +{ HP_POP(storage->additem), HP_POP2(HP_storage_additem), 4712 }, +{ HP_POP(storage->addfromcart), HP_POP2(HP_storage_addfromcart), 4714 }, +{ HP_POP(storage->gettocart), HP_POP2(HP_storage_gettocart), 4716 }, +{ HP_POP(storage->close), HP_POP2(HP_storage_close), 4718 }, +{ HP_POP(storage->pc_quit), HP_POP2(HP_storage_pc_quit), 4720 }, +{ HP_POP(storage->comp_item), HP_POP2(HP_storage_comp_item), 4722 }, +{ HP_POP(storage->sortitem), HP_POP2(HP_storage_sortitem), 4724 }, +{ HP_POP(storage->reconnect_sub), HP_POP2(HP_storage_reconnect_sub), 4726 }, /* trade */ -{ HP_POP(trade->request), HP_POP2(HP_trade_request), 4708 }, -{ HP_POP(trade->ack), HP_POP2(HP_trade_ack), 4710 }, -{ HP_POP(trade->check_impossible), HP_POP2(HP_trade_check_impossible), 4712 }, -{ HP_POP(trade->check), HP_POP2(HP_trade_check), 4714 }, -{ HP_POP(trade->additem), HP_POP2(HP_trade_additem), 4716 }, -{ HP_POP(trade->addzeny), HP_POP2(HP_trade_addzeny), 4718 }, -{ HP_POP(trade->ok), HP_POP2(HP_trade_ok), 4720 }, -{ HP_POP(trade->cancel), HP_POP2(HP_trade_cancel), 4722 }, -{ HP_POP(trade->commit), HP_POP2(HP_trade_commit), 4724 }, +{ HP_POP(trade->request), HP_POP2(HP_trade_request), 4728 }, +{ HP_POP(trade->ack), HP_POP2(HP_trade_ack), 4730 }, +{ HP_POP(trade->check_impossible), HP_POP2(HP_trade_check_impossible), 4732 }, +{ HP_POP(trade->check), HP_POP2(HP_trade_check), 4734 }, +{ HP_POP(trade->additem), HP_POP2(HP_trade_additem), 4736 }, +{ HP_POP(trade->addzeny), HP_POP2(HP_trade_addzeny), 4738 }, +{ HP_POP(trade->ok), HP_POP2(HP_trade_ok), 4740 }, +{ HP_POP(trade->cancel), HP_POP2(HP_trade_cancel), 4742 }, +{ HP_POP(trade->commit), HP_POP2(HP_trade_commit), 4744 }, /* unit */ -{ HP_POP(unit->init), HP_POP2(HP_unit_init), 4726 }, -{ HP_POP(unit->final), HP_POP2(HP_unit_final), 4728 }, -{ HP_POP(unit->bl2ud), HP_POP2(HP_unit_bl2ud), 4730 }, -{ HP_POP(unit->bl2ud2), HP_POP2(HP_unit_bl2ud2), 4732 }, -{ HP_POP(unit->attack_timer), HP_POP2(HP_unit_attack_timer), 4734 }, -{ HP_POP(unit->walktoxy_timer), HP_POP2(HP_unit_walktoxy_timer), 4736 }, -{ HP_POP(unit->walktoxy_sub), HP_POP2(HP_unit_walktoxy_sub), 4738 }, -{ HP_POP(unit->delay_walktoxy_timer), HP_POP2(HP_unit_delay_walktoxy_timer), 4740 }, -{ HP_POP(unit->walktoxy), HP_POP2(HP_unit_walktoxy), 4742 }, -{ HP_POP(unit->walktobl_sub), HP_POP2(HP_unit_walktobl_sub), 4744 }, -{ HP_POP(unit->walktobl), HP_POP2(HP_unit_walktobl), 4746 }, -{ HP_POP(unit->run), HP_POP2(HP_unit_run), 4748 }, -{ HP_POP(unit->wugdash), HP_POP2(HP_unit_wugdash), 4750 }, -{ HP_POP(unit->escape), HP_POP2(HP_unit_escape), 4752 }, -{ HP_POP(unit->movepos), HP_POP2(HP_unit_movepos), 4754 }, -{ HP_POP(unit->setdir), HP_POP2(HP_unit_setdir), 4756 }, -{ HP_POP(unit->getdir), HP_POP2(HP_unit_getdir), 4758 }, -{ HP_POP(unit->blown), HP_POP2(HP_unit_blown), 4760 }, -{ HP_POP(unit->warp), HP_POP2(HP_unit_warp), 4762 }, -{ HP_POP(unit->stop_walking), HP_POP2(HP_unit_stop_walking), 4764 }, -{ HP_POP(unit->skilluse_id), HP_POP2(HP_unit_skilluse_id), 4766 }, -{ HP_POP(unit->is_walking), HP_POP2(HP_unit_is_walking), 4768 }, -{ HP_POP(unit->can_move), HP_POP2(HP_unit_can_move), 4770 }, -{ HP_POP(unit->resume_running), HP_POP2(HP_unit_resume_running), 4772 }, -{ HP_POP(unit->set_walkdelay), HP_POP2(HP_unit_set_walkdelay), 4774 }, -{ HP_POP(unit->skilluse_id2), HP_POP2(HP_unit_skilluse_id2), 4776 }, -{ HP_POP(unit->skilluse_pos), HP_POP2(HP_unit_skilluse_pos), 4778 }, -{ HP_POP(unit->skilluse_pos2), HP_POP2(HP_unit_skilluse_pos2), 4780 }, -{ HP_POP(unit->set_target), HP_POP2(HP_unit_set_target), 4782 }, -{ HP_POP(unit->stop_attack), HP_POP2(HP_unit_stop_attack), 4784 }, -{ HP_POP(unit->unattackable), HP_POP2(HP_unit_unattackable), 4786 }, -{ HP_POP(unit->attack), HP_POP2(HP_unit_attack), 4788 }, -{ HP_POP(unit->cancel_combo), HP_POP2(HP_unit_cancel_combo), 4790 }, -{ HP_POP(unit->can_reach_pos), HP_POP2(HP_unit_can_reach_pos), 4792 }, -{ HP_POP(unit->can_reach_bl), HP_POP2(HP_unit_can_reach_bl), 4794 }, -{ HP_POP(unit->calc_pos), HP_POP2(HP_unit_calc_pos), 4796 }, -{ HP_POP(unit->attack_timer_sub), HP_POP2(HP_unit_attack_timer_sub), 4798 }, -{ HP_POP(unit->skillcastcancel), HP_POP2(HP_unit_skillcastcancel), 4800 }, -{ HP_POP(unit->dataset), HP_POP2(HP_unit_dataset), 4802 }, -{ HP_POP(unit->counttargeted), HP_POP2(HP_unit_counttargeted), 4804 }, -{ HP_POP(unit->fixdamage), HP_POP2(HP_unit_fixdamage), 4806 }, -{ HP_POP(unit->changeviewsize), HP_POP2(HP_unit_changeviewsize), 4808 }, -{ HP_POP(unit->remove_map), HP_POP2(HP_unit_remove_map), 4810 }, -{ HP_POP(unit->remove_map_pc), HP_POP2(HP_unit_remove_map_pc), 4812 }, -{ HP_POP(unit->free_pc), HP_POP2(HP_unit_free_pc), 4814 }, -{ HP_POP(unit->free), HP_POP2(HP_unit_free), 4816 }, +{ HP_POP(unit->init), HP_POP2(HP_unit_init), 4746 }, +{ HP_POP(unit->final), HP_POP2(HP_unit_final), 4748 }, +{ HP_POP(unit->bl2ud), HP_POP2(HP_unit_bl2ud), 4750 }, +{ HP_POP(unit->bl2ud2), HP_POP2(HP_unit_bl2ud2), 4752 }, +{ HP_POP(unit->attack_timer), HP_POP2(HP_unit_attack_timer), 4754 }, +{ HP_POP(unit->walktoxy_timer), HP_POP2(HP_unit_walktoxy_timer), 4756 }, +{ HP_POP(unit->walktoxy_sub), HP_POP2(HP_unit_walktoxy_sub), 4758 }, +{ HP_POP(unit->delay_walktoxy_timer), HP_POP2(HP_unit_delay_walktoxy_timer), 4760 }, +{ HP_POP(unit->walktoxy), HP_POP2(HP_unit_walktoxy), 4762 }, +{ HP_POP(unit->walktobl_sub), HP_POP2(HP_unit_walktobl_sub), 4764 }, +{ HP_POP(unit->walktobl), HP_POP2(HP_unit_walktobl), 4766 }, +{ HP_POP(unit->run), HP_POP2(HP_unit_run), 4768 }, +{ HP_POP(unit->wugdash), HP_POP2(HP_unit_wugdash), 4770 }, +{ HP_POP(unit->escape), HP_POP2(HP_unit_escape), 4772 }, +{ HP_POP(unit->movepos), HP_POP2(HP_unit_movepos), 4774 }, +{ HP_POP(unit->setdir), HP_POP2(HP_unit_setdir), 4776 }, +{ HP_POP(unit->getdir), HP_POP2(HP_unit_getdir), 4778 }, +{ HP_POP(unit->blown), HP_POP2(HP_unit_blown), 4780 }, +{ HP_POP(unit->warp), HP_POP2(HP_unit_warp), 4782 }, +{ HP_POP(unit->stop_walking), HP_POP2(HP_unit_stop_walking), 4784 }, +{ HP_POP(unit->skilluse_id), HP_POP2(HP_unit_skilluse_id), 4786 }, +{ HP_POP(unit->is_walking), HP_POP2(HP_unit_is_walking), 4788 }, +{ HP_POP(unit->can_move), HP_POP2(HP_unit_can_move), 4790 }, +{ HP_POP(unit->resume_running), HP_POP2(HP_unit_resume_running), 4792 }, +{ HP_POP(unit->set_walkdelay), HP_POP2(HP_unit_set_walkdelay), 4794 }, +{ HP_POP(unit->skilluse_id2), HP_POP2(HP_unit_skilluse_id2), 4796 }, +{ HP_POP(unit->skilluse_pos), HP_POP2(HP_unit_skilluse_pos), 4798 }, +{ HP_POP(unit->skilluse_pos2), HP_POP2(HP_unit_skilluse_pos2), 4800 }, +{ HP_POP(unit->set_target), HP_POP2(HP_unit_set_target), 4802 }, +{ HP_POP(unit->stop_attack), HP_POP2(HP_unit_stop_attack), 4804 }, +{ HP_POP(unit->unattackable), HP_POP2(HP_unit_unattackable), 4806 }, +{ HP_POP(unit->attack), HP_POP2(HP_unit_attack), 4808 }, +{ HP_POP(unit->cancel_combo), HP_POP2(HP_unit_cancel_combo), 4810 }, +{ HP_POP(unit->can_reach_pos), HP_POP2(HP_unit_can_reach_pos), 4812 }, +{ HP_POP(unit->can_reach_bl), HP_POP2(HP_unit_can_reach_bl), 4814 }, +{ HP_POP(unit->calc_pos), HP_POP2(HP_unit_calc_pos), 4816 }, +{ HP_POP(unit->attack_timer_sub), HP_POP2(HP_unit_attack_timer_sub), 4818 }, +{ HP_POP(unit->skillcastcancel), HP_POP2(HP_unit_skillcastcancel), 4820 }, +{ HP_POP(unit->dataset), HP_POP2(HP_unit_dataset), 4822 }, +{ HP_POP(unit->counttargeted), HP_POP2(HP_unit_counttargeted), 4824 }, +{ HP_POP(unit->fixdamage), HP_POP2(HP_unit_fixdamage), 4826 }, +{ HP_POP(unit->changeviewsize), HP_POP2(HP_unit_changeviewsize), 4828 }, +{ HP_POP(unit->remove_map), HP_POP2(HP_unit_remove_map), 4830 }, +{ HP_POP(unit->remove_map_pc), HP_POP2(HP_unit_remove_map_pc), 4832 }, +{ HP_POP(unit->free_pc), HP_POP2(HP_unit_free_pc), 4834 }, +{ HP_POP(unit->free), HP_POP2(HP_unit_free), 4836 }, /* vending */ -{ HP_POP(vending->init), HP_POP2(HP_vending_init), 4818 }, -{ HP_POP(vending->final), HP_POP2(HP_vending_final), 4820 }, -{ HP_POP(vending->close), HP_POP2(HP_vending_close), 4822 }, -{ HP_POP(vending->open), HP_POP2(HP_vending_open), 4824 }, -{ HP_POP(vending->list), HP_POP2(HP_vending_list), 4826 }, -{ HP_POP(vending->purchase), HP_POP2(HP_vending_purchase), 4828 }, -{ HP_POP(vending->search), HP_POP2(HP_vending_search), 4830 }, -{ HP_POP(vending->searchall), HP_POP2(HP_vending_searchall), 4832 }, +{ HP_POP(vending->init), HP_POP2(HP_vending_init), 4838 }, +{ HP_POP(vending->final), HP_POP2(HP_vending_final), 4840 }, +{ HP_POP(vending->close), HP_POP2(HP_vending_close), 4842 }, +{ HP_POP(vending->open), HP_POP2(HP_vending_open), 4844 }, +{ HP_POP(vending->list), HP_POP2(HP_vending_list), 4846 }, +{ HP_POP(vending->purchase), HP_POP2(HP_vending_purchase), 4848 }, +{ HP_POP(vending->search), HP_POP2(HP_vending_search), 4850 }, +{ HP_POP(vending->searchall), HP_POP2(HP_vending_searchall), 4852 }, }; int HookingPointsLenMax = 41; diff --git a/src/plugins/HPMHooking/HPMHooking.Hooks.inc b/src/plugins/HPMHooking/HPMHooking.Hooks.inc index 115d81071..5915412d1 100644 --- a/src/plugins/HPMHooking/HPMHooking.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking.Hooks.inc @@ -14927,6 +14927,156 @@ void HP_clif_PartyBookingInsertNotify(struct map_session_data *sd, struct party_ } return; } +void HP_clif_PartyRecruitRegisterAck(struct map_session_data *sd, int flag) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_PartyRecruitRegisterAck_pre ) { + void (*preHookFunc) (struct map_session_data *sd, int *flag); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitRegisterAck_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_PartyRecruitRegisterAck_pre[hIndex].func; + preHookFunc(sd, &flag); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.PartyRecruitRegisterAck(sd, flag); + } + if( HPMHooks.count.HP_clif_PartyRecruitRegisterAck_post ) { + void (*postHookFunc) (struct map_session_data *sd, int *flag); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitRegisterAck_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_PartyRecruitRegisterAck_post[hIndex].func; + postHookFunc(sd, &flag); + } + } + return; +} +void HP_clif_PartyRecruitDeleteAck(struct map_session_data *sd, int flag) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_PartyRecruitDeleteAck_pre ) { + void (*preHookFunc) (struct map_session_data *sd, int *flag); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitDeleteAck_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_PartyRecruitDeleteAck_pre[hIndex].func; + preHookFunc(sd, &flag); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.PartyRecruitDeleteAck(sd, flag); + } + if( HPMHooks.count.HP_clif_PartyRecruitDeleteAck_post ) { + void (*postHookFunc) (struct map_session_data *sd, int *flag); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitDeleteAck_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_PartyRecruitDeleteAck_post[hIndex].func; + postHookFunc(sd, &flag); + } + } + return; +} +void HP_clif_PartyRecruitSearchAck(int fd, struct party_booking_ad_info **results, int count, bool more_result) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_PartyRecruitSearchAck_pre ) { + void (*preHookFunc) (int *fd, struct party_booking_ad_info **results, int *count, bool *more_result); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitSearchAck_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_PartyRecruitSearchAck_pre[hIndex].func; + preHookFunc(&fd, results, &count, &more_result); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.PartyRecruitSearchAck(fd, results, count, more_result); + } + if( HPMHooks.count.HP_clif_PartyRecruitSearchAck_post ) { + void (*postHookFunc) (int *fd, struct party_booking_ad_info **results, int *count, bool *more_result); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitSearchAck_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_PartyRecruitSearchAck_post[hIndex].func; + postHookFunc(&fd, results, &count, &more_result); + } + } + return; +} +void HP_clif_PartyRecruitUpdateNotify(struct map_session_data *sd, struct party_booking_ad_info *pb_ad) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_PartyRecruitUpdateNotify_pre ) { + void (*preHookFunc) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitUpdateNotify_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_PartyRecruitUpdateNotify_pre[hIndex].func; + preHookFunc(sd, pb_ad); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.PartyRecruitUpdateNotify(sd, pb_ad); + } + if( HPMHooks.count.HP_clif_PartyRecruitUpdateNotify_post ) { + void (*postHookFunc) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitUpdateNotify_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_PartyRecruitUpdateNotify_post[hIndex].func; + postHookFunc(sd, pb_ad); + } + } + return; +} +void HP_clif_PartyRecruitDeleteNotify(struct map_session_data *sd, int index) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_PartyRecruitDeleteNotify_pre ) { + void (*preHookFunc) (struct map_session_data *sd, int *index); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitDeleteNotify_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_PartyRecruitDeleteNotify_pre[hIndex].func; + preHookFunc(sd, &index); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.PartyRecruitDeleteNotify(sd, index); + } + if( HPMHooks.count.HP_clif_PartyRecruitDeleteNotify_post ) { + void (*postHookFunc) (struct map_session_data *sd, int *index); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitDeleteNotify_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_PartyRecruitDeleteNotify_post[hIndex].func; + postHookFunc(sd, &index); + } + } + return; +} +void HP_clif_PartyRecruitInsertNotify(struct map_session_data *sd, struct party_booking_ad_info *pb_ad) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_PartyRecruitInsertNotify_pre ) { + void (*preHookFunc) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitInsertNotify_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_PartyRecruitInsertNotify_pre[hIndex].func; + preHookFunc(sd, pb_ad); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.PartyRecruitInsertNotify(sd, pb_ad); + } + if( HPMHooks.count.HP_clif_PartyRecruitInsertNotify_post ) { + void (*postHookFunc) (struct map_session_data *sd, struct party_booking_ad_info *pb_ad); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyRecruitInsertNotify_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_PartyRecruitInsertNotify_post[hIndex].func; + postHookFunc(sd, pb_ad); + } + } + return; +} void HP_clif_PartyBookingVolunteerInfo(int index, struct map_session_data *sd) { int hIndex = 0; if( HPMHooks.count.HP_clif_PartyBookingVolunteerInfo_pre ) { @@ -18529,6 +18679,106 @@ void HP_clif_pPartyBookingUpdateReq(int fd, struct map_session_data *sd) { } return; } +void HP_clif_pPartyRecruitRegisterReq(int fd, struct map_session_data *sd) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_pPartyRecruitRegisterReq_pre ) { + void (*preHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitRegisterReq_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_pPartyRecruitRegisterReq_pre[hIndex].func; + preHookFunc(&fd, sd); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.pPartyRecruitRegisterReq(fd, sd); + } + if( HPMHooks.count.HP_clif_pPartyRecruitRegisterReq_post ) { + void (*postHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitRegisterReq_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_pPartyRecruitRegisterReq_post[hIndex].func; + postHookFunc(&fd, sd); + } + } + return; +} +void HP_clif_pPartyRecruitSearchReq(int fd, struct map_session_data *sd) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_pPartyRecruitSearchReq_pre ) { + void (*preHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitSearchReq_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_pPartyRecruitSearchReq_pre[hIndex].func; + preHookFunc(&fd, sd); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.pPartyRecruitSearchReq(fd, sd); + } + if( HPMHooks.count.HP_clif_pPartyRecruitSearchReq_post ) { + void (*postHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitSearchReq_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_pPartyRecruitSearchReq_post[hIndex].func; + postHookFunc(&fd, sd); + } + } + return; +} +void HP_clif_pPartyRecruitDeleteReq(int fd, struct map_session_data *sd) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_pPartyRecruitDeleteReq_pre ) { + void (*preHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitDeleteReq_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_pPartyRecruitDeleteReq_pre[hIndex].func; + preHookFunc(&fd, sd); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.pPartyRecruitDeleteReq(fd, sd); + } + if( HPMHooks.count.HP_clif_pPartyRecruitDeleteReq_post ) { + void (*postHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitDeleteReq_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_pPartyRecruitDeleteReq_post[hIndex].func; + postHookFunc(&fd, sd); + } + } + return; +} +void HP_clif_pPartyRecruitUpdateReq(int fd, struct map_session_data *sd) { + int hIndex = 0; + if( HPMHooks.count.HP_clif_pPartyRecruitUpdateReq_pre ) { + void (*preHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitUpdateReq_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_clif_pPartyRecruitUpdateReq_pre[hIndex].func; + preHookFunc(&fd, sd); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.pPartyRecruitUpdateReq(fd, sd); + } + if( HPMHooks.count.HP_clif_pPartyRecruitUpdateReq_post ) { + void (*postHookFunc) (int *fd, struct map_session_data *sd); + for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_pPartyRecruitUpdateReq_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_clif_pPartyRecruitUpdateReq_post[hIndex].func; + postHookFunc(&fd, sd); + } + } + return; +} void HP_clif_pCloseVending(int fd, struct map_session_data *sd) { int hIndex = 0; if( HPMHooks.count.HP_clif_pCloseVending_pre ) { -- cgit v1.2.3-70-g09d2 From c5c3381b0b8b0b59c669d474acf749db82d7edb1 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Thu, 10 Oct 2013 12:25:22 -0300 Subject: Introducing Bank Support http://hercules.ws/board/topic/2455-introducing-bank-support/ Thanks to Yommy, Haru! Signed-off-by: shennetsind --- conf/battle/feature.conf | 4 ++ conf/inter-server.conf | 1 + conf/logs.conf | 1 + conf/map-server.conf | 3 +- conf/messages.conf | 4 ++ sql-files/main.sql | 16 ++++++ sql-files/upgrades/2013-10-09--21-38.sql | 3 ++ sql-files/upgrades/index.txt | 1 + src/char/char.c | 25 ++++++++++ src/common/mmo.h | 5 ++ src/map/battle.c | 10 ++++ src/map/battle.h | 1 + src/map/clif.c | 84 +++++++++++++++++++++++++++++++- src/map/clif.h | 22 +++++++++ src/map/log.c | 1 + src/map/log.h | 1 + src/map/packets.h | 15 ++++++ src/map/packets_struct.h | 35 +++++++++++++ src/map/pc.c | 48 ++++++++++++++++++ src/map/pc.h | 3 ++ 20 files changed, 281 insertions(+), 2 deletions(-) create mode 100644 sql-files/upgrades/2013-10-09--21-38.sql (limited to 'src/map/packets.h') diff --git a/conf/battle/feature.conf b/conf/battle/feature.conf index 440dbb31a..2f60f1fff 100644 --- a/conf/battle/feature.conf +++ b/conf/battle/feature.conf @@ -18,3 +18,7 @@ feature.search_stores: on // Atcommand suggestions (Note 1) // If one type incomplete atcommand, it will suggest the complete ones. feature.atcommand_suggestions: off + +// Banking (Note 1) +// Requires: 2013-07-24aRagexe or later +feature.banking: on \ No newline at end of file diff --git a/conf/inter-server.conf b/conf/inter-server.conf index 09ac15f82..db94494f1 100644 --- a/conf/inter-server.conf +++ b/conf/inter-server.conf @@ -109,6 +109,7 @@ mercenary_db: mercenary mercenary_owner_db: mercenary_owner ragsrvinfo_db: ragsrvinfo elemental_db: elemental +account_data_db: account_data // Map Database Tables item_db_db: item_db diff --git a/conf/logs.conf b/conf/logs.conf index f036cbccf..6933e84fe 100644 --- a/conf/logs.conf +++ b/conf/logs.conf @@ -25,6 +25,7 @@ // 0x02000 - (E) Log mail system transactions. // 0x04000 - (I) Log auction system transactions. // 0x08000 - (B) Log buying store transactions +// 0x20000 - (K) Log account bank transactions // 0x10000 - (X) Log all other transactions (rentals expiring/inserting cards/items removed by item_check/ // rings deleted by divorce/pet egg (un)hatching/pet armor (un)equipping/Weapon Refine skill/Remove Trap skill) // Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059 diff --git a/conf/map-server.conf b/conf/map-server.conf index fb4614ca3..a3afde66c 100644 --- a/conf/map-server.conf +++ b/conf/map-server.conf @@ -97,11 +97,12 @@ minsave_time: 100 // 32: After successfully submitting an item for auction // 64: After successfully get/delete/complete a quest // 128: After every buying store transaction +// 256: After every bank transaction (deposit/withdraw) // NOTE: These settings decrease the chance of dupes/lost items when there's a // server crash at the expense of increasing the map/char server lag. If your // server rarely crashes, but experiences interserver lag, you may want to set // these off. -save_settings: 255 +save_settings: 511 // When @help or @h is typed when you are a gm, this is displayed for helping new gms understand gm commands. help_txt: conf/help.txt diff --git a/conf/messages.conf b/conf/messages.conf index fc8599f5b..4b0549bf6 100644 --- a/conf/messages.conf +++ b/conf/messages.conf @@ -1519,5 +1519,9 @@ 1480: I am %s Super Novice~ 1481: Help me out~ Please~ T_T +//Banking +1482: You can't withdraw that much money +1483: Banking is disabled + //Custom translations import: conf/import/msg_conf.txt diff --git a/sql-files/main.sql b/sql-files/main.sql index 0e9dc5b67..dcb735129 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -657,6 +657,7 @@ INSERT INTO `sql_updates` (`timestamp`) VALUES (1362794218); INSERT INTO `sql_updates` (`timestamp`) VALUES (1364409316); INSERT INTO `sql_updates` (`timestamp`) VALUES (1366075474); INSERT INTO `sql_updates` (`timestamp`) VALUES (1366078541); +INSERT INTO `sql_updates` (`timestamp`) VALUES (1381354728); -- -- Table structure for table `sstatus` @@ -691,6 +692,10 @@ CREATE TABLE IF NOT EXISTS `storage` ( KEY `account_id` (`account_id`) ) ENGINE=MyISAM; +-- +-- Table structure for table `interreg` +-- + CREATE TABLE IF NOT EXISTS `interreg` ( `varname` varchar(11) NOT NULL, `value` varchar(20) NOT NULL, @@ -698,3 +703,14 @@ CREATE TABLE IF NOT EXISTS `interreg` ( ) ENGINE=InnoDB; INSERT INTO `interreg` (`varname`, `value`) VALUES ('unique_id', '0'); + +-- +-- Table structure for table `account_data` +-- + +CREATE TABLE IF NOT EXISTS `account_data` ( + `account_id` int(11) unsigned NOT NULL default '0', + `bank_vault` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`account_id`) +) ENGINE=MyISAM; + diff --git a/sql-files/upgrades/2013-10-09--21-38.sql b/sql-files/upgrades/2013-10-09--21-38.sql new file mode 100644 index 000000000..fee85c40b --- /dev/null +++ b/sql-files/upgrades/2013-10-09--21-38.sql @@ -0,0 +1,3 @@ +#1381354728 +ALTER TABLE `zenylog` MODIFY `type` enum('T','V','P','M','S','N','D','C','A','E','I','B','K') NOT NULL DEFAULT 'S'; +INSERT INTO `sql_updates` (`timestamp`) VALUES (1381354728); \ No newline at end of file diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt index 984898b22..bffc42f99 100644 --- a/sql-files/upgrades/index.txt +++ b/sql-files/upgrades/index.txt @@ -4,3 +4,4 @@ 2013-03-06--00-00.sql 2013-03-09--01-56.sql 2013-04-16--01-24.sql +2013-10-09--21-38.sql \ No newline at end of file diff --git a/src/char/char.c b/src/char/char.c index 7a948398c..5a51130de 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -70,6 +70,7 @@ char mercenary_owner_db[256] = "mercenary_owner"; char ragsrvinfo_db[256] = "ragsrvinfo"; char elemental_db[256] = "elemental"; char interreg_db[32] = "interreg"; +char account_data_db[256] = "account_data"; // show loading/saving messages int save_log = 1; @@ -497,6 +498,14 @@ int mmo_char_tosql(int char_id, struct mmo_charstatus* p) } else strcat(save_status, " status"); } + + if( p->bank_vault != cp->bank_vault ) { + if( SQL_ERROR == SQL->Query(sql_handle, "REPLACE INTO `%s` (`account_id`,`bank_vault`) VALUES ('%d','%d')",account_data_db,p->account_id,p->bank_vault) ) { + Sql_ShowDebug(sql_handle); + errors++; + } else + strcat(save_status, " bank"); + } //Values that will seldom change (to speed up saving) if ( @@ -675,6 +684,7 @@ int mmo_char_tosql(int char_id, struct mmo_charstatus* p) strcat(save_status, " hotkeys"); } #endif + StrBuf->Destroy(&buf); if (save_status[0]!='\0' && save_log) ShowInfo("Saved char %d - %s:%s.\n", char_id, p->name, save_status); @@ -1085,6 +1095,7 @@ int mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_everything int hotkey_num; #endif unsigned int opt; + int account_id; memset(p, 0, sizeof(struct mmo_charstatus)); @@ -1174,6 +1185,9 @@ int mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_everything SQL->StmtFree(stmt); return 0; } + + account_id = p->account_id; + p->last_point.map = mapindex_name2id(last_map); p->save_point.map = mapindex_name2id(save_map); @@ -1338,6 +1352,15 @@ int mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_everything mercenary_owner_fromsql(char_id, p); strcat(t_msg, " mercenary"); + //`account_data` (`account_id`,`bank_vault`) + if( SQL_ERROR == SQL->StmtPrepare(stmt, "SELECT `bank_vault` FROM `%s` WHERE `account_id`=? LIMIT 1", account_data_db) + || SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_INT, &account_id, 0) + || SQL_ERROR == SQL->StmtExecute(stmt) + || SQL_ERROR == SQL->StmtBindColumn(stmt, 0, SQLDT_INT, &p->bank_vault, 0, NULL, NULL) ) + SqlStmt_ShowDebug(stmt); + + if( SQL_SUCCESS == SQL->StmtNextRow(stmt) ) + strcat(t_msg, " bank"); if (save_log) ShowInfo("Loaded char (%d - %s): %s\n", char_id, p->name, t_msg); //ok. all data load successfuly! SQL->StmtFree(stmt); @@ -4721,6 +4744,8 @@ void sql_config_read(const char* cfgName) safestrncpy(elemental_db,w2,sizeof(elemental_db)); else if(!strcmpi(w1,"interreg_db")) safestrncpy(interreg_db,w2,sizeof(interreg_db)); + else if(!strcmpi(w1,"account_data_db")) + safestrncpy(account_data_db,w2,sizeof(account_data_db)); //support the import command, just like any other config else if(!strcmpi(w1,"import")) sql_config_read(w2); diff --git a/src/common/mmo.h b/src/common/mmo.h index 205cf8425..ccba0fa7f 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -90,6 +90,10 @@ //Max amount of a single stacked item #define MAX_AMOUNT 30000 #define MAX_ZENY 1000000000 + +//Official Limit: 2.1b ( the var that stores the money doesn't go much higher than this by default ) +#define MAX_BANK_ZENY 2100000000 + #define MAX_FAME 1000000000 #define MAX_CART 100 #define MAX_SKILL 1478 @@ -366,6 +370,7 @@ struct mmo_charstatus { unsigned int base_exp,job_exp; int zeny; + int bank_vault; short class_; unsigned int status_point,skill_point; diff --git a/src/map/battle.c b/src/map/battle.c index 928d14c22..a0e4e7ebc 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6474,6 +6474,8 @@ static const struct _battle_data { { "client_accept_chatdori", &battle_config.client_accept_chatdori, 0, 0, INT_MAX, }, { "snovice_call_type", &battle_config.snovice_call_type, 0, 0, 1, }, { "guild_notice_changemap", &battle_config.guild_notice_changemap, 2, 0, 2, }, + { "feature.banking", &battle_config.feature_banking, 1, 0, 1, }, + }; #ifndef STATS_OPT_OUT /** @@ -6695,6 +6697,14 @@ void battle_adjust_conf(void) { battle_config.feature_search_stores = 0; } #endif + +#if PACKETVER < 20130724 + if( battle_config.feature_banking ) { + ShowWarning("conf/battle/feature.conf banking is enabled but it requires PACKETVER 2013-07-24 or newer, disabling...\n"); + battle_config.feature_banking = 0; + } +#endif + #ifndef CELL_NOSTACK if (battle_config.cell_stack_limit != 1) diff --git a/src/map/battle.h b/src/map/battle.h index 6d5d5f186..f1fa6ddc1 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -461,6 +461,7 @@ struct Battle_Config { int snovice_call_type; int guild_notice_changemap; + int feature_banking; } battle_config; // Dammage delayed info diff --git a/src/map/clif.c b/src/map/clif.c index 8fd2a60c2..57830478d 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -61,7 +61,7 @@ struct clif_interface clif_s; //Converts item type in case of pet eggs. static inline int itemtype(int type) { - switch( type ){ + switch( type ) { #if PACKETVER >= 20080827 case IT_WEAPON: return IT_ARMOR; case IT_ARMOR: @@ -17726,6 +17726,79 @@ void clif_cart_additem_ack(struct map_session_data *sd, int flag) { clif->send(&p,sizeof(p), &sd->bl, SELF); } +/* Bank System [Yommy/Hercules] */ +void clif_parse_BankDeposit(int fd, struct map_session_data* sd) { + struct packet_banking_deposit_req *p = P2PTR(fd); + int money; + + if( !battle_config.feature_banking ) { + clif->colormes(fd,COLOR_RED,msg_txt(1483)); + return; + } + + money = (int)cap_value(p->Money,0,INT_MAX); + + pc->bank_deposit(sd,money); +} + +void clif_parse_BankWithdraw(int fd, struct map_session_data* sd) { + struct packet_banking_withdraw_req *p = P2PTR(fd); + int money; + + if( !battle_config.feature_banking ) { + clif->colormes(fd,COLOR_RED,msg_txt(1483)); + return; + } + + money = (int)cap_value(p->Money,0,INT_MAX); + + pc->bank_withdraw(sd,money); +} + +void clif_parse_BankCheck(int fd, struct map_session_data* sd) { + struct packet_banking_check p; + + if( !battle_config.feature_banking ) { + clif->colormes(fd,COLOR_RED,msg_txt(1483)); + return; + } + + p.PacketType = banking_checkType; + p.Money = (int)sd->status.bank_vault; + p.Reason = (short)0; + + clif->send(&p,sizeof(p), &sd->bl, SELF); +} + +void clif_parse_BankOpen(int fd, struct map_session_data* sd) { + return; +} + +void clif_parse_BankClose(int fd, struct map_session_data* sd) { + return; +} + +void clif_bank_deposit(struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK reason) { + struct packet_banking_deposit_ack p; + + p.PacketType = banking_deposit_ackType; + p.Balance = sd->status.zeny;/* how much zeny char has after operation */ + p.Money = (int64)sd->status.bank_vault;/* money in the bank */ + p.Reason = (short)reason; + + clif->send(&p,sizeof(p), &sd->bl, SELF); +} +void clif_bank_withdraw(struct map_session_data *sd,enum e_BANKING_WITHDRAW_ACK reason) { + struct packet_banking_withdraw_ack p; + + p.PacketType = banking_withdraw_ackType; + p.Balance = sd->status.zeny;/* how much zeny char has after operation */ + p.Money = (int64)sd->status.bank_vault;/* money in the bank */ + p.Reason = (short)reason; + + clif->send(&p,sizeof(p), &sd->bl, SELF); +} + /* */ unsigned short clif_decrypt_cmd( int cmd, struct map_session_data *sd ) { if( sd ) { @@ -18524,6 +18597,9 @@ void clif_defaults(void) { clif->chsys_quitg = clif_hercules_chsys_quitg; clif->chsys_gjoin = clif_hercules_chsys_gjoin; clif->chsys_gleave = clif_hercules_chsys_gleave; + /* Bank System [Yommy/Hercules] */ + clif->bank_deposit = clif_bank_deposit; + clif->bank_withdraw = clif_bank_withdraw; /*------------------------ *- Parse Incoming Packet *------------------------*/ @@ -18746,4 +18822,10 @@ void clif_defaults(void) { clif->pPartyBookingReqVolunteer = clif_parse_PartyBookingReqVolunteer; clif->pPartyBookingRefuseVolunteer = clif_parse_PartyBookingRefuseVolunteer; clif->pPartyBookingCancelVolunteer = clif_parse_PartyBookingCancelVolunteer; + /* Bank System [Yommy/Hercules] */ + clif->pBankDeposit = clif_parse_BankDeposit; + clif->pBankWithdraw = clif_parse_BankWithdraw; + clif->pBankCheck = clif_parse_BankCheck; + clif->pBankOpen = clif_parse_BankOpen; + clif->pBankClose = clif_parse_BankClose; } diff --git a/src/map/clif.h b/src/map/clif.h index 1a2748353..2baca2aaf 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -414,6 +414,19 @@ enum BATTLEGROUNDS_QUEUE_NOTICE_DELETED { BGQND_FAIL_NOT_QUEUING = 11, }; +enum e_BANKING_DEPOSIT_ACK { + BDA_SUCCESS = 0x0, + BDA_ERROR = 0x1, + BDA_NO_MONEY = 0x2, + BDA_OVERFLOW = 0x3, +}; +enum e_BANKING_WITHDRAW_ACK { + BWA_SUCCESS = 0x0, + BWA_NO_MONEY = 0x1, + BWA_UNKNOWN_ERROR = 0x2, +}; + + /** * Structures **/ @@ -964,6 +977,9 @@ struct clif_interface { void (*chsys_quitg) (struct map_session_data *sd); void (*chsys_gjoin) (struct guild *g1,struct guild *g2); void (*chsys_gleave) (struct guild *g1,struct guild *g2); + /* Bank System [Yommy/Hercules] */ + void (*bank_deposit) (struct map_session_data *sd, enum e_BANKING_DEPOSIT_ACK reason); + void (*bank_withdraw) (struct map_session_data *sd,enum e_BANKING_WITHDRAW_ACK reason); /*------------------------ *- Parse Incoming Packet *------------------------*/ @@ -1184,6 +1200,12 @@ struct clif_interface { void (*pPartyBookingReqVolunteer) (int fd, struct map_session_data *sd); void (*pPartyBookingRefuseVolunteer) (int fd, struct map_session_data *sd); void (*pPartyBookingCancelVolunteer) (int fd, struct map_session_data *sd); + /* Bank System [Yommy/Hercules] */ + void (*pBankDeposit) (int fd, struct map_session_data *sd); + void (*pBankWithdraw) (int fd, struct map_session_data *sd); + void (*pBankCheck) (int fd, struct map_session_data *sd); + void (*pBankOpen) (int fd, struct map_session_data *sd); + void (*pBankClose) (int fd, struct map_session_data *sd); }; struct clif_interface *clif; diff --git a/src/map/log.c b/src/map/log.c index e33240505..19a98f34b 100644 --- a/src/map/log.c +++ b/src/map/log.c @@ -40,6 +40,7 @@ char log_picktype2char(e_log_pick_type type) { case LOG_TYPE_AUCTION: return 'I'; // Auct(I)on case LOG_TYPE_BUYING_STORE: return 'B'; // (B)uying Store case LOG_TYPE_LOOT: return 'L'; // (L)oot (consumed monster pick/drop) + case LOG_TYPE_BANK: return 'K'; // Ban(K) Transactions case LOG_TYPE_OTHER: return 'X'; // Other } diff --git a/src/map/log.h b/src/map/log.h index 07606c8ef..9864a54d7 100644 --- a/src/map/log.h +++ b/src/map/log.h @@ -60,6 +60,7 @@ typedef enum e_log_pick_type { LOG_TYPE_AUCTION = 0x04000, LOG_TYPE_BUYING_STORE = 0x08000, LOG_TYPE_OTHER = 0x10000, + LOG_TYPE_BANK = 0x20000, // combinations LOG_TYPE_LOOT = LOG_TYPE_PICKDROP_MONSTER|LOG_TYPE_CONSUME, // all diff --git a/src/map/packets.h b/src/map/packets.h index c91b5d50c..918f0a10f 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2375,6 +2375,21 @@ packet(0x020d,-1); packet(0x0930,36,clif->pStoragePassword,0); #endif +/* Bank System [Yommy/Hercules] */ +#if PACKETVER >= 20130724 + packet(0x09A6,12); // ZC_BANKING_CHECK + packet(0x09A7,10,clif->pBankDeposit,2,4,6); + packet(0x09A8,16); // ZC_ACK_BANKING_DEPOSIT + packet(0x09A9,10,clif->pBankWithdraw,2,4,6); + packet(0x09AA,16); // ZC_ACK_BANKING_WITHDRAW + packet(0x09AB,6,clif->pBankCheck,2,4); + //// + packet(0x09B6,6,clif->pBankOpen,2,4); + packet(0x09B7,4); // ZC_ACK_OPEN_BANKING + packet(0x09B8,6,clif->pBankClose,2,4); + packet(0x09B9,4); // ZC_ACK_CLOSE_BANKING +#endif + //2013-07-03Ragexe (Shakto) #if PACKETVER >= 20130703 packet(0x0930,5,clif->pChangeDir,2,4); diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h index f39b4a55b..9d7282c92 100644 --- a/src/map/packets_struct.h +++ b/src/map/packets_struct.h @@ -18,6 +18,9 @@ struct EQUIPSLOTINFO { * **/ enum packet_headers { + banking_withdraw_ackType = 0x9aa, + banking_deposit_ackType = 0x9a8, + banking_checkType = 0x9a6, cart_additem_ackType = 0x12c, sc_notickType = 0x196, #if PACKETVER < 20061218 @@ -543,6 +546,38 @@ struct packet_cart_additem_ack { char result; } __attribute__((packed)); +struct packet_banking_check { + short PacketType; + int64 Money; + short Reason; +} __attribute__((packed)); + +struct packet_banking_deposit_req { + short PacketType; + unsigned int AID; + int Money; +} __attribute__((packed)); + +struct packet_banking_withdraw_req { + short PacketType; + unsigned int AID; + int Money; +} __attribute__((packed)); + +struct packet_banking_deposit_ack { + short PacketType; + short Reason; + int64 Money; + int Balance; +} __attribute__((packed)); + +struct packet_banking_withdraw_ack { + short PacketType; + short Reason; + int64 Money; + int Balance; +} __attribute__((packed)); + #pragma pack(pop) #endif /* _PACKETS_STRUCT_H_ */ diff --git a/src/map/pc.c b/src/map/pc.c index 6b7d6c735..ffc3427c7 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -10079,6 +10079,51 @@ void pc_itemcd_do(struct map_session_data *sd, bool load) { return; } +void pc_bank_deposit(struct map_session_data *sd, int money) { + unsigned int limit_check = money+sd->status.bank_vault; + + if( money <= 0 || limit_check > MAX_BANK_ZENY ) { + clif->bank_deposit(sd,BDA_OVERFLOW); + return; + } else if ( money > sd->status.zeny ) { + clif->bank_deposit(sd,BDA_NO_MONEY); + return; + } + + if( pc->payzeny(sd,money, LOG_TYPE_BANK, NULL) ) + clif->bank_deposit(sd,BDA_NO_MONEY); + else { + sd->status.bank_vault += money; + if( map->save_settings&256 ) + chrif->save(sd,0); + clif->bank_deposit(sd,BDA_SUCCESS); + } +} +void pc_bank_withdraw(struct map_session_data *sd, int money) { + unsigned int limit_check = money+sd->status.zeny; + + if( money <= 0 ) { + clif->bank_withdraw(sd,BWA_UNKNOWN_ERROR); + return; + } else if ( money > sd->status.bank_vault ) { + clif->bank_withdraw(sd,BWA_NO_MONEY); + return; + } else if ( limit_check > MAX_ZENY ) { + /* no official response for this scenario exists. */ + clif->colormes(sd->fd,COLOR_RED,msg_txt(1482)); + return; + } + + if( pc->getzeny(sd,money, LOG_TYPE_BANK, NULL) ) + clif->bank_withdraw(sd,BWA_NO_MONEY); + else { + sd->status.bank_vault -= money; + if( map->save_settings&256 ) + chrif->save(sd,0); + clif->bank_withdraw(sd,BWA_SUCCESS); + } +} + /*========================================== * pc Init/Terminate *------------------------------------------*/ @@ -10402,4 +10447,7 @@ void pc_defaults(void) { pc->checkcombo = pc_checkcombo; pc->calcweapontype = pc_calcweapontype; pc->removecombo = pc_removecombo; + + pc->bank_withdraw = pc_bank_withdraw; + pc->bank_deposit = pc_bank_deposit; } diff --git a/src/map/pc.h b/src/map/pc.h index fadb922b5..f770818c2 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -961,6 +961,9 @@ struct pc_interface { int (*checkcombo) (struct map_session_data *sd, struct item_data *data ); int (*calcweapontype) (struct map_session_data *sd); int (*removecombo) (struct map_session_data *sd, struct item_data *data ); + + void (*bank_deposit) (struct map_session_data *sd, int money); + void (*bank_withdraw) (struct map_session_data *sd, int money); }; struct pc_interface *pc; -- cgit v1.2.3-70-g09d2 From 2ea51e2b2ac4e39d748e1ec24e34364746e43a8f Mon Sep 17 00:00:00 2001 From: Haru Date: Sat, 2 Nov 2013 20:44:46 +0100 Subject: Added some packetver-related flags to the UNIX build script - The --disable-packetver-re (or --enable-packetver-re=no) flag prevents the definition of PACKETVER_RE (without editing mmo.h) - The --with-key1=, --with-key2=, --with-key3= flags override the encryption key defined by the current packetver. All three flags are required if at least one is used, or they'll be ignored. - These options are mostly useful for buildbots, developers who often use git bisect, or users who want to minimize their diffs and still want to override those settings. - (unrelated minor tweak) Silenced an unnecessarily verbose STDERR message caused by the $CC shipped with clang-5 during the MinGW check. --- configure | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- configure.in | 96 ++++++++++++++++++++++++++++++++++++++++++++++- src/common/mmo.h | 14 +++---- src/map/packets.h | 4 ++ 4 files changed, 211 insertions(+), 13 deletions(-) (limited to 'src/map/packets.h') diff --git a/configure b/configure index 919d6f883..bf0a4d8ea 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in c4af60e. +# From configure.in 0219c4d. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69. # @@ -691,6 +691,10 @@ ac_user_opts=' enable_option_checking enable_manager enable_packetver +enable_packetver_re +with_key1 +with_key2 +with_key3 enable_debug enable_buildbot enable_rdtsc @@ -1323,8 +1327,9 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-manager=ARG memory managers: no, builtin, memwatch, dmalloc, gcollect, bcheck (defaults to builtin) - --enable-packetver=ARG Sets the PACKETVER define of the map-server. (see - src/map/clif.h) + --enable-packetver=ARG Sets the PACKETVER define. (see src/common/mmo.h) + --disable-packetver-re Sets or unsets the PACKETVER_RE define - see + src/common/mmo.h (currently enabled by default) --enable-debug[=ARG] Compiles extra debug code. (disabled by default) (available options: yes, no, gdb) --enable-buildbot[=ARG] (available options: yes, no) @@ -1352,6 +1357,12 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-key1[=ARG] Set the first obfuscation key (ignored unless the + other two are also specified) + --with-key2[=ARG] Set the second obfuscation key (ignored unless the + other two are also specified) + --with-key3[=ARG] Set the third obfuscation key (ignored unless the + other two are also specified) --with-maxconn[=ARG] optionally set the maximum connections the core can handle (default: 16384) NOT USED YET - EXPERIMENTAL --with-mysql[=ARG] optionally specify the path to the mysql_config @@ -3460,6 +3471,79 @@ fi +# +# packetver-RE +# +# Check whether --enable-packetver-re was given. +if test "${enable_packetver_re+set}" = set; then : + enableval=$enable_packetver_re; + enable_packetver_re="$enableval" + case $enableval in + "no");; + "yes");; + *) as_fn_error $? "invalid argument --enable-packetver-re=$enableval... stopping" "$LINENO" 5;; + esac + +else + enable_packetver_re="yes" + +fi + + + +# +# Obfuscation keys +# + +# Check whether --with-key1 was given. +if test "${with_key1+set}" = set; then : + withval=$with_key1; + obfuscationkey1="$( expr "0x$withval" : '0*x*\(0x[A-Fa-f0-9]\{8\}\)' )" + if ! expr "x$obfuscationkey1" : 'x0x[A-Fa-f0-9]\{8\}' >/dev/null 2>&1; then + obfuscationkey1="" + fi + +else + + obfuscationkey1="" + + +fi + + +# Check whether --with-key2 was given. +if test "${with_key2+set}" = set; then : + withval=$with_key2; + obfuscationkey2="$( expr "0x$withval" : '0*x*\(0x[A-Fa-f0-9]\{8\}\)' )" + if ! expr "x$obfuscationkey2" : 'x0x[A-Fa-f0-9]\{8\}' >/dev/null 2>&1; then + obfuscationkey2="" + fi + +else + + obfuscationkey2="" + + +fi + + +# Check whether --with-key3 was given. +if test "${with_key3+set}" = set; then : + withval=$with_key3; + obfuscationkey3="$( expr "0x$withval" : '0*x*\(0x[A-Fa-f0-9]\{8\}\)' )" + if ! expr "x$obfuscationkey3" : 'x0x[A-Fa-f0-9]\{8\}' >/dev/null 2>&1; then + obfuscationkey3="" + fi + +else + + obfuscationkey3="" + + +fi + + + # # debug # @@ -5361,6 +5445,24 @@ if test -n "$enable_packetver" ; then CFLAGS="$CFLAGS -DPACKETVER=$enable_packetver" fi +# +# Packetver-RE +# +case $enable_packetver_re in + "yes") + # default value + CFLAGS="$CFLAGS -DDISABLE_PACKETVER_RE" + ;; + "no") + ;; +esac + +# +# Obfuscation keys +# +if test -n "$obfuscationkey1" -a -n "$obfuscationkey2" -a -n "$obfuscationkey3"; then + CFLAGS="$CFLAGS -DOBFUSCATIONKEY1=$obfuscationkey1 -DOBFUSCATIONKEY2=$obfuscationkey2 -DOBFUSCATIONKEY3=$obfuscationkey3" +fi # # Debug @@ -6376,7 +6478,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MinGW" >&5 $as_echo_n "checking for MinGW... " >&6; } -if test -n "`$CC --version | grep -i mingw`" ; then +if test -n "`$CC --version 2>/dev/null | grep -i mingw`" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } CPPFLAGS="$CPPFLAGS -DMINGW" diff --git a/configure.in b/configure.in index b79e51f6d..98c493a03 100644 --- a/configure.in +++ b/configure.in @@ -46,13 +46,87 @@ AC_ARG_ENABLE( [packetver], AC_HELP_STRING( [--enable-packetver=ARG], - [Sets the PACKETVER define of the map-server. (see src/map/clif.h)] + [Sets the PACKETVER define. (see src/common/mmo.h)] ), [enable_packetver="$enableval"], [enable_packetver=""] ) +# +# packetver-RE +# +AC_ARG_ENABLE( + [packetver-re], + AC_HELP_STRING( + [--disable-packetver-re], + [Sets or unsets the PACKETVER_RE define - see src/common/mmo.h (currently enabled by default)] + ), + [ + enable_packetver_re="$enableval" + case $enableval in + "no");; + "yes");; + *) AC_MSG_ERROR([[invalid argument --enable-packetver-re=$enableval... stopping]]);; + esac + ], + [enable_packetver_re="yes"] +) + + +# +# Obfuscation keys +# +AC_ARG_WITH( + [key1], + AC_HELP_STRING( + [--with-key1@<:@=ARG@:>@], + [Set the first obfuscation key (ignored unless the other two are also specified)] + ), + [ + obfuscationkey1="$( expr "0x$withval" : '0*x*\(0x@<:@A-Fa-f0-9@:>@\{8\}\)' )" + if ! expr "x$obfuscationkey1" : 'x0x@<:@A-Fa-f0-9@:>@\{8\}' >/dev/null 2>&1; then + obfuscationkey1="" + fi + ], + [ + obfuscationkey1="" + ] +) +AC_ARG_WITH( + [key2], + AC_HELP_STRING( + [--with-key2@<:@=ARG@:>@], + [Set the second obfuscation key (ignored unless the other two are also specified)] + ), + [ + obfuscationkey2="$( expr "0x$withval" : '0*x*\(0x@<:@A-Fa-f0-9@:>@\{8\}\)' )" + if ! expr "x$obfuscationkey2" : 'x0x@<:@A-Fa-f0-9@:>@\{8\}' >/dev/null 2>&1; then + obfuscationkey2="" + fi + ], + [ + obfuscationkey2="" + ] +) +AC_ARG_WITH( + [key3], + AC_HELP_STRING( + [--with-key3@<:@=ARG@:>@], + [Set the third obfuscation key (ignored unless the other two are also specified)] + ), + [ + obfuscationkey3="$( expr "0x$withval" : '0*x*\(0x@<:@A-Fa-f0-9@:>@\{8\}\)' )" + if ! expr "x$obfuscationkey3" : 'x0x@<:@A-Fa-f0-9@:>@\{8\}' >/dev/null 2>&1; then + obfuscationkey3="" + fi + ], + [ + obfuscationkey3="" + ] +) + + # # debug # @@ -771,6 +845,24 @@ if test -n "$enable_packetver" ; then CFLAGS="$CFLAGS -DPACKETVER=$enable_packetver" fi +# +# Packetver-RE +# +case $enable_packetver_re in + "yes") + # default value + CFLAGS="$CFLAGS -DDISABLE_PACKETVER_RE" + ;; + "no") + ;; +esac + +# +# Obfuscation keys +# +if test -n "$obfuscationkey1" -a -n "$obfuscationkey2" -a -n "$obfuscationkey3"; then + CFLAGS="$CFLAGS -DOBFUSCATIONKEY1=$obfuscationkey1 -DOBFUSCATIONKEY2=$obfuscationkey2 -DOBFUSCATIONKEY3=$obfuscationkey3" +fi # # Debug @@ -1035,7 +1127,7 @@ esac AC_SUBST([DLLEXT]) AC_MSG_CHECKING([for MinGW]) -if test -n "`$CC --version | grep -i mingw`" ; then +if test -n "`$CC --version 2>/dev/null | grep -i mingw`" ; then AC_MSG_RESULT([yes]) CPPFLAGS="$CPPFLAGS -DMINGW" if test -z "$fd_setsize" ; then diff --git a/src/common/mmo.h b/src/common/mmo.h index 349912a39..5f4da6eb0 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -48,18 +48,18 @@ // 20120307 - 2012-03-07aRagexeRE+ - 0x970 #ifndef PACKETVER - #define PACKETVER 20120418 -#endif +#define PACKETVER 20120418 +#endif // PACKETVER +#ifndef DISABLE_PACKETVER_RE // Comment the following line if your client is NOT ragexeRE (required because of conflicting packets in ragexe vs ragexeRE). #define PACKETVER_RE +#endif // DISABLE_PACKETVER_RE // Client support for experimental RagexeRE UI present in 2012-04-10 and 2012-04-18 -#ifdef PACKETVER_RE -#if (PACKETVER == 20120410) || (PACKETVER == 20120418) - #define PARTY_RECRUIT -#endif -#endif +#if defined(PACKETVER_RE) && ( PACKETVER == 20120410 || PACKETVER == 20120418 ) +#define PARTY_RECRUIT +#endif // PACKETVER_RE && (PACKETVER == 20120410 || PACKETVER == 10120418) // Comment the following line to disable sc_data saving. [Skotlex] #define ENABLE_SC_SAVING diff --git a/src/map/packets.h b/src/map/packets.h index 918f0a10f..55a85e182 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2646,4 +2646,8 @@ packet(0x020d,-1); packetKeys(0x7E241DE0,0x5E805580,0x3D807D80); /* Thanks to Shakto */ #endif +#if defined(OBFUSCATIONKEY1) && defined(OBFUSCATIONKEY2) && defined(OBFUSCATIONKEY3) + packetKeys(OBFUSCATIONKEY1,OBFUSCATIONKEY2,OBFUSCATIONKEY3); +#endif + #endif /* _PACKETS_H_ */ -- cgit v1.2.3-70-g09d2 From dd2cd7c0f1c1f675ece09e95d0e5f910e494f092 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Mon, 18 Nov 2013 23:24:17 -0200 Subject: Fixed the erroneously redirected GM Full Strip Packet Implemented in 2009-10-27, the packet was being redirected to a account name req packet, while it was a entirely different feature. this fixes the (GM-Suit) 'right click' option 'remove all equipment'. Special Thanks to Yommy. Signed-off-by: shennetsind --- src/map/clif.c | 17 +++++++++++++++++ src/map/clif.h | 1 + src/map/packets.h | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) (limited to 'src/map/packets.h') diff --git a/src/map/clif.c b/src/map/clif.c index c509da7dd..32f29b73c 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -17966,6 +17966,22 @@ void clif_notify_bounditem(struct map_session_data *sd, unsigned short index) { clif->send(&p,sizeof(p), &sd->bl, SELF); } + +/* (GM) right click -> 'remove all equipment' */ +void clif_parse_GMFullStrip(int fd, struct map_session_data *sd) { + struct map_session_data *tsd = map->id2sd(RFIFOL(fd,2)); + int i; + + /* TODO maybe this could be a new permission? using gm level in the meantime */ + if( !tsd || pc->get_group_level(tsd) >= pc->get_group_level(sd) ) + return; + + for( i = 0; i < EQI_MAX; i++ ) { + if( tsd->equip_index[ i ] >= 0 ) + pc->unequipitem( tsd , tsd->equip_index[ i ] , 2 ); + } +} + /* */ unsigned short clif_decrypt_cmd( int cmd, struct map_session_data *sd ) { if( sd ) { @@ -18914,6 +18930,7 @@ void clif_defaults(void) { clif->pGMRc = clif_parse_GMRc; clif->pGMReqAccountName = clif_parse_GMReqAccountName; clif->pGMChangeMapType = clif_parse_GMChangeMapType; + clif->pGMFullStrip = clif_parse_GMFullStrip; clif->pPMIgnore = clif_parse_PMIgnore; clif->pPMIgnoreAll = clif_parse_PMIgnoreAll; clif->pPMIgnoreList = clif_parse_PMIgnoreList; diff --git a/src/map/clif.h b/src/map/clif.h index 043f7dd3a..88f3383d1 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -1162,6 +1162,7 @@ struct clif_interface { void (*pGMRc) (int fd, struct map_session_data* sd); void (*pGMReqAccountName) (int fd, struct map_session_data *sd); void (*pGMChangeMapType) (int fd, struct map_session_data *sd); + void (*pGMFullStrip) (int fd, struct map_session_data *sd); void (*pPMIgnore) (int fd, struct map_session_data* sd); void (*pPMIgnoreAll) (int fd, struct map_session_data *sd); void (*pPMIgnoreList) (int fd,struct map_session_data *sd); diff --git a/src/map/packets.h b/src/map/packets.h index 55a85e182..08c73fdb0 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -1613,7 +1613,7 @@ packet(0x020d,-1); //2009-10-27aRagexeRE #if PACKETVER >= 20091027 - packet(0x07f5,6,clif->pGMReqAccountName,2); + packet(0x07f5,6,clif->pGMFullStrip,2); packet(0x07f6,14); #endif -- cgit v1.2.3-70-g09d2 From cf19b26d50ac96111e44c33a80afd1f1ea935cec Mon Sep 17 00:00:00 2001 From: shennetsind Date: Tue, 24 Dec 2013 02:03:04 -0200 Subject: Christmas Patch - 2013-12-23 Support Info: http://hercules.ws/board/topic/3614-christmas-patch-gifto/ Signed-off-by: shennetsind --- db/const.txt | 6 + doc/sample/npc_trader_sample.txt | 58 + doc/script_commands.txt | 64 + npc/merchants/shops.txt | 2240 +++++++++++++++++++++++++++--- sql-files/main.sql | 12 + sql-files/upgrades/2013-12-24--00-15.sql | 8 + sql-files/upgrades/index.txt | 1 + src/common/mmo.h | 2 +- src/map/atcommand.c | 27 +- src/map/clif.c | 224 ++- src/map/clif.h | 8 + src/map/map.c | 3 +- src/map/npc.c | 566 ++++++-- src/map/npc.h | 46 +- src/map/packets.h | 43 + src/map/packets_struct.h | 44 + src/map/script.c | 277 +++- src/map/status.c | 324 ++--- src/map/status.h | 51 +- 19 files changed, 3500 insertions(+), 504 deletions(-) create mode 100644 doc/sample/npc_trader_sample.txt create mode 100644 sql-files/upgrades/2013-12-24--00-15.sql (limited to 'src/map/packets.h') diff --git a/db/const.txt b/db/const.txt index 8e7807695..ab14afca2 100644 --- a/db/const.txt +++ b/db/const.txt @@ -1257,6 +1257,7 @@ SC_MTF_MLEATKED 569 SC_MTF_CRIDAMAGE 570 SC_MOONSTAR 571 SC_SUPER_STAR 572 +SC_OKTOBERFEST 573 e_gasp 0 e_what 1 @@ -3348,3 +3349,8 @@ IOT_GUILD 3 false 0 true 1 + +NST_ZENY 0 +NST_CASH 1 +NST_MARKET 2 +NST_CUSTOM 3 diff --git a/doc/sample/npc_trader_sample.txt b/doc/sample/npc_trader_sample.txt new file mode 100644 index 000000000..abc87f6b4 --- /dev/null +++ b/doc/sample/npc_trader_sample.txt @@ -0,0 +1,58 @@ +//===== Hercules Script ======================================= +//= Sample: NPC Trader +//===== By: ================================================== +//= Hercules Dev Team +//===== Current Version: ===================================== +//= 20131223 +//===== Description: ========================================= +//= Demonstrates NPC Trader. +//============================================================ + +/* ordinary zeny trader */ +prontera,152,151,1 trader TestTrader 952,{ + OnInit: + sellitem 2115; + end; +} +/* ordinary cash trader */ +prontera,152,152,1 trader TestTraderCash 952,{ + OnInit: + tradertype(NST_CASH); + sellitem 2115; + end; +} +/* custom npc trader */ +prontera,153,152,1 trader TestCustom2 952,{ + OnInit: + tradertype(NST_CUSTOM); + sellitem 501,2; + end; + +/* allows currency to be item 501 and 502 */ +OnCountFunds: + setcurrency(countitem(501),countitem(502)); + end; + +/* receives @price (total cost) and @points (the secondary input field for cash windows) */ +OnPayFunds: + dispbottom "Hi: price="+@price+" and points="+@points; + if( countitem(502) < @points || countitem(501) < @price-@points ) + end; + delitem 502,@points; + delitem 501,@price-@points; + purchaseok(); + end; +} +/* demonstrates Market Trader */ +prontera,150,160,6 trader HaiMarket 952,{ +OnInit: + tradertype(NST_MARKET); + sellitem 501,-1,49; + end; + +OnClock0000://resupplies red potions on midnight +OnMyResupply: + if( shopcount(501) < 20 ) + sellitem 501,-1,49; + end; +} \ No newline at end of file diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 9186ba714..f5f2d7d9c 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -1120,6 +1120,7 @@ From here on, we will have the commands sorted as follow: 9.- Battleground commands. 10.- Mercenary commands. 11.- Queue commands. +12.- NPC Trader commands ===================== @@ -8471,3 +8472,66 @@ Deletes a queue iterator from memory and returns 1 when it fails, otherwise 0 is returned. --------------------------------------- + +====================== +|12.- NPC Trader Commands.| +====================== +--------------------------------------- +Commands that control NPC Trader Shops +See /doc/sample/npc_trader_sample.txt + +--------------------------------------- + +*openshop({NPC_Name}); + +opens the trader shop from the currently-attached npc unless, +when the optional NPC_Name param is used. + +--------------------------------------- + +*sellitem {,{,}}; + +adds (or modifies) data to the shop, +when is not provided (or when it is -1) itemdb default is used. +qty is only necessary for NST_MARKET trader types. + +when is already in the shop, +the previous data (price/qty), is overwritten with the new. + +--------------------------------------- + +*stopselling ; + +attempts to remove from the current shop list. + +--------------------------------------- + +*setcurrency {,}; + +updates the currently attached player shop funds. + +--------------------------------------- + +*tradertype(); + +Modifies the npc trader type, item list is cleared upon modifiying the value. +By default, all npcs staart with tradertype(NST_ZENY); + +- NST_ZENY (0) Normal Zeny Shop +- NST_CASH (1) Normal Cash Shop +- NST_MARKET (2) Normal NPC Market Shop (where items have limited availability and need to be refurbished) +- NST_CUSTOM (3) Custom Shop (any currency, item/var/etca, check sample) + +--------------------------------------- + +*purchaseok(); + +Signs that the transaction (on a NST_CUSTOM trader) has been successful. + +--------------------------------------- + +*shopcount(); + +Returns the amount of still-available in the shop (on a NST_MARKET trader). + +--------------------------------------- diff --git a/npc/merchants/shops.txt b/npc/merchants/shops.txt index b20874ffb..a1ab894d0 100644 --- a/npc/merchants/shops.txt +++ b/npc/merchants/shops.txt @@ -1,9 +1,7 @@ //===== Hercules Script ====================================== //= Shops -//===== By: ================================================== -//= rAthena Dev Team //===== Current Version: ===================================== -//= 3.4 +//= 3.5 //===== Description: ========================================= //= Town shop NPCs. //===== Additional Comments: ================================= @@ -36,291 +34,2169 @@ //= 3.2 Added Missing Items to the pet Groomers in prontera, payon, and yuno. BugReport:6680[Spre] //= 3.3 Moved more shops to Renewal file. [Euphy] //= 3.4 Moved Izlude shops to pre-re/re paths. [Streusel] +//= 3.5 Converted to trader format [Yommy] //============================================================ //======================================================= // Alberta //======================================================= -alb2trea,87,65,5 shop Tool Dealer#alb 4_M_01,1750:-1,1751:-1,1752:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1 -alberta_in,165,96,0 shop Item Collector#alb 1_F_MERCHANT_02,911:-1,528:-1 -alberta_in,182,97,0 shop Tool Dealer#alb2 1_F_MERCHANT_01,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,2243:-1 -alberta_in,180,15,0 shop Armor Dealer#alb 4W_F_01,2101:-1,2103:-1,2401:-1,2403:-1,2405:-1,2501:-1,2503:-1,2505:-1,2203:-1,2201:-1,2205:-1,2226:-1,2301:-1,2303:-1,2305:-1,2321:-1,2328:-1,2332:-1,2307:-1,2309:-1,2312:-1,2314:-1,2628:-1 -alberta_in,188,21,0 shop Weapon Dealer#alb 1_M_03,1750:-1,1751:-1,1101:-1,1104:-1,1107:-1,1201:-1,1204:-1,1207:-1,1601:-1,1701:-1,1301:-1,1351:-1,1354:-1,1357:-1,1360:-1 -alberta_in,175,97,4 shop Weapon Dealer#alb2 4_KID01,1146:-1,1245:-1 -alberta_in,176,81,3 shop Trading Merchant#alb 4_M_HUMERCHANT,13200:-1,13201:-1,13202:-1,13150:-1,13102:-1,13151:-1,13154:-1,13155:-1,13163:-1,13165:-1,13168:-1 +alb2trea,87,65,5 trader Tool Dealer#alb 4_M_01,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Fire_Arrow; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; +} + +alberta_in,165,96,0 trader Item Collector#alb 1_F_MERCHANT_02,{ +OnInit: + sellitem Scell; + sellitem Monster's_Feed; +} + +alberta_in,182,97,0 trader Tool Dealer#alb2 1_F_MERCHANT_01,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spinning_Eyes; +} + +alberta_in,180,15,0 trader Armor Dealer#alb 4W_F_01,{ +OnInit: + sellitem Guard; + sellitem Buckler; + sellitem Sandals; + sellitem Shoes; + sellitem Boots; + sellitem Hood; + sellitem Muffler; + sellitem Manteau; + sellitem Glasses; + sellitem Sunglasses; + sellitem Diver's_Goggles; + sellitem Cap; + sellitem Cotton_Shirt; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Wooden_Mail; + sellitem Silver_Robe; + sellitem Mantle; + sellitem Coat; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Novice_Armlet; +} + +alberta_in,188,21,0 trader Weapon Dealer#alb 1_M_03,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Sword; + sellitem Falchion; + sellitem Blade; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Rod; + sellitem Bow; + sellitem Axe; + sellitem Battle_Axe; + sellitem Hammer; + sellitem Buster; + sellitem Two_Handed_Axe; +} + +alberta_in,175,97,4 trader Weapon Dealer#alb2 4_KID01,{ +OnInit: + sellitem Town_Sword; + sellitem Cinquedea; +} + +alberta_in,176,81,3 trader Trading Merchant#alb 4_M_HUMERCHANT,{ +OnInit: + sellitem Bullet; + sellitem Silver_Bullet; + sellitem Shell_Of_Blood; + sellitem Branch; + sellitem Crimson_Bolt; + sellitem The_Cyclone; + sellitem Rolling_Stone; + sellitem Black_Rose; + sellitem Long_Barrel; + sellitem Jungle_Carbine; + sellitem Thunder_P; +} + //======================================================= // Al De Baran //======================================================= -aldeba_in,20,60,0 shop Armor Dealer#alde 4W_F_01,2228:-1,2103:-1,2105:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2505:-1,2405:-1,2628:-1,2627:-1 -aldeba_in,28,54,0 shop Weapon Dealer#alde 1_M_03,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1 -aldeba_in,22,47,4 shop Weapon Dealer#alde2 4_M_06,1146:-1,1245:-1 -aldeba_in,94,56,5 shop Tool Dealer#alde 4_M_01,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,611:-1,610:-1 -alde_alche,38,184,3 shop Material Seller#alche 4_M_SAGE_C,7143:-1,7141:-1,7140:-1,6248:-1,6250:-1,6251:-1,6255:-1,6261:-1,6262:-1,6297:-1 +aldeba_in,20,60,0 trader Armor Dealer#alde 4W_F_01,{ +OnInit: + sellitem Helm; + sellitem Buckler; + sellitem Shield; + sellitem Mantle; + sellitem Coat; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Plate_Armor; + sellitem Manteau; + sellitem Boots; + sellitem Novice_Armlet; + sellitem Belt; +} + +aldeba_in,28,54,0 trader Weapon Dealer#alde 1_M_03,{ +OnInit: + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Dirk; + sellitem Dagger; + sellitem Stiletto; + sellitem Gladius; + sellitem Damascus; +} + +aldeba_in,22,47,4 trader Weapon Dealer#alde2 4_M_06,{ +OnInit: + sellitem Town_Sword; + sellitem Cinquedea; +} + +aldeba_in,94,56,5 trader Tool Dealer#alde 4_M_01,{ +OnInit: + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Leaf_Of_Yggdrasil; +} + +alde_alche,38,184,3 trader Material Seller#alche 4_M_SAGE_C,{ +OnInit: + sellitem Life_Force_Pot; + sellitem Yggdrasilberry_Dew; + sellitem Seed_Of_Life; + sellitem Melange_Pot; + sellitem Cooking_Skewer; + sellitem Black_Charcoal; + sellitem Large_Cookpot; + sellitem Fine_Noodle; + sellitem Cool_Gravy; + sellitem Bottle_To_Throw; +} + //======================================================= // Amatsu //======================================================= -ama_in01,89,28,5 shop Armor Dealer#ama 4_F_JPN2,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1 -ama_in01,102,28,3 shop Weapon Dealer#ama 4_M_JPNOJI,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1 -ama_in01,24,30,5 shop Tool Dealer#ama 4_M_JPN,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 +ama_in01,89,28,5 trader Armor Dealer#ama 4_F_JPN2,{ +OnInit: + sellitem Bandana; + sellitem Sandals; + sellitem Shoes; + sellitem Hood; + sellitem Muffler; + sellitem Guard; + sellitem Buckler; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; + sellitem Wooden_Mail; + sellitem Belt; +} + +ama_in01,102,28,3 trader Weapon Dealer#ama 4_M_JPNOJI,{ +OnInit: + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; +} + +ama_in01,24,30,5 trader Tool Dealer#ama 4_M_JPN,{ +OnInit: + sellitem Arrow; + sellitem Iron_Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + // Ninja Shops -que_ng,72,31,2 shop Boonji#nin 4_M_01,13250:-1,13251:-1,13252:-1,13253:-1,13254:-1 -que_ng,73,26,5 shop Boonray#nin 4_M_01,2117:-1,7521:-1,7522:-1,7523:-1,7524:-1 +que_ng,72,31,2 trader Boonji#nin 4_M_01,{ +OnInit: + sellitem Shuriken; + sellitem Nimbus_Shuriken; + sellitem Flash_Shuriken; + sellitem Sharp_Leaf_Shuriken; + sellitem Thorn_Needle_Shuriken; +} + +que_ng,73,26,5 trader Boonray#nin 4_M_01,{ +OnInit: + sellitem Arm_Guard; + sellitem Flame_Stone; + sellitem Ice_Stone; + sellitem Wind_Stone; + sellitem Shadow_Orb; +} + //======================================================= // Ayothaya //======================================================= -ayo_in01,18,182,1 shop Tool Dealer#ayo 4_F_THAISHAMAN,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -ayo_in01,90,192,3 shop Weapon Dealer#ayo 4_M_THAIONGBAK,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1 -ayo_in01,90,160,1 shop Armor Dealer#ayo 4_M_THAIOLD,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1 +ayo_in01,18,182,1 trader Tool Dealer#ayo 4_F_THAISHAMAN,{ +OnInit: + sellitem Arrow; + sellitem Iron_Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +ayo_in01,90,192,3 trader Weapon Dealer#ayo 4_M_THAIONGBAK,{ +OnInit: + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; +} + +ayo_in01,90,160,1 trader Armor Dealer#ayo 4_M_THAIOLD,{ +OnInit: + sellitem Bandana; + sellitem Sandals; + sellitem Shoes; + sellitem Hood; + sellitem Muffler; + sellitem Guard; + sellitem Buckler; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; + sellitem Wooden_Mail; + sellitem Belt; +} + //======================================================= // Brasilis //======================================================= -brasilis,252,257,3 shop Tool Dealer#bra 4_F_BRZ_WOMAN,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1,610:-1 -brasilis,244,243,3 shop Weapon Dealer#bra 4_M_BRZ_MAN2,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1 -brasilis,201,309,3 shop Pet Groomer#bra 4_M_BRZ_MAN1,537:-1,643:-1 -brasilis,221,128,3 shop Fruit Gardener#bra 4_M_BRZ_MAN2,11515:-1,513:-1,11516:-1 +brasilis,252,257,3 trader Tool Dealer#bra 4_F_BRZ_WOMAN,{ +OnInit: + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Booby_Trap; + sellitem Leaf_Of_Yggdrasil; +} + +brasilis,244,243,3 trader Weapon Dealer#bra 4_M_BRZ_MAN2,{ +OnInit: + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; + sellitem Coward; +} + +brasilis,201,309,3 trader Pet Groomer#bra 4_M_BRZ_MAN1,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; +} + +brasilis,221,128,3 trader Fruit Gardener#bra 4_M_BRZ_MAN2,{ +OnInit: + sellitem Coconut; + sellitem Banana; + sellitem Asai_Fruit; +} + //======================================================= // Comodo //======================================================= -cmd_in01,117,165,4 shop Armor Dealer#cmd 4W_F_01,2226:-1,2228:-1,2103:-1,2105:-1,2405:-1,2503:-1,2505:-1,2305:-1,2321:-1,2307:-1,2309:-1,2335:-1,2312:-1,2314:-1,2316:-1 -cmd_in01,128,165,2 shop Weapon Dealer#cmd 1_M_03,1901:-1,1903:-1,1905:-1,1909:-1,1911:-1,1907:-1,1950:-1,1952:-1,1954:-1,1958:-1,1960:-1,1956:-1 -cmd_in01,79,182,5 shop Tool Dealer#cmd 4_M_01,1770:-1,501:-1,502:-1,503:-1,504:-1,645:-1,656:-1,657:-1,601:-1,602:-1,611:-1,1065:-1 -comodo,296,125,4 shop Souvenir Vendor#cmd 4W_F_01,965:-1,964:-1 -cmd_fild07,257,126,5 shop Tool Dealer#cmd2 4_M_01,1770:-1,501:-1,502:-1,503:-1,504:-1,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1 -cmd_fild07,250,98,2 shop Weapon Dealer#cmd2 1_M_03,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1 -cmd_fild07,277,85,4 shop Armor Dealer#cmd2 4W_F_01,2226:-1,2228:-1,2103:-1,2105:-1,2405:-1,2503:-1,2505:-1,2305:-1,2321:-1,2307:-1,2309:-1,2335:-1,2312:-1,2314:-1,2316:-1 +cmd_in01,117,165,4 trader Armor Dealer#cmd 4W_F_01,{ +OnInit: + sellitem Cap; + sellitem Helm; + sellitem Buckler; + sellitem Shield; + sellitem Boots; + sellitem Muffler; + sellitem Manteau; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Mantle; + sellitem Coat; + sellitem Thief_Clothes; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Plate_Armor; +} + +cmd_in01,128,165,2 trader Weapon Dealer#cmd 1_M_03,{ +OnInit: + sellitem Violin; + sellitem Mandolin; + sellitem Lute; + sellitem Harp; + sellitem Guh_Moon_Goh; + sellitem Guitar; + sellitem Rope; + sellitem Line; + sellitem Wire; + sellitem Tail; + sellitem Whip; + sellitem Rante; +} + +cmd_in01,79,182,5 trader Tool Dealer#cmd 4_M_01,{ +OnInit: + sellitem Iron_Arrow; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Berserk_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Booby_Trap; +} + +comodo,296,125,4 trader Souvenir Vendor#cmd 4W_F_01,{ +OnInit: + sellitem Clam_Shell; + sellitem Crap_Shell; +} + +cmd_fild07,257,126,5 trader Tool Dealer#cmd2 4_M_01,{ +OnInit: + sellitem Iron_Arrow; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Booby_Trap; +} + +cmd_fild07,250,98,2 trader Weapon Dealer#cmd2 1_M_03,{ +OnInit: + sellitem Javelin; + sellitem Spear; + sellitem Pike; + sellitem Guisarme; + sellitem Glaive; + sellitem Partizan; + sellitem Trident; + sellitem Halberd; + sellitem Lance; +} + +cmd_fild07,277,85,4 trader Armor Dealer#cmd2 4W_F_01,{ +OnInit: + sellitem Cap; + sellitem Helm; + sellitem Buckler; + sellitem Shield; + sellitem Boots; + sellitem Muffler; + sellitem Manteau; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Mantle; + sellitem Coat; + sellitem Thief_Clothes; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Plate_Armor; +} + //======================================================= // Einbroch //======================================================= -ein_in01,106,27,4 shop One Hand Weapon Dealer 4_F_EINWOMAN,1101:-1,1104:-1,1107:-1,1110:-1,1113:-1,1119:-1,1122:-1,1123:-1,1126:-1,1129:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1,1301:-1,1401:-1,1404:-1,1407:-1,1501:-1,1504:-1,1507:-1,1510:-1,1513:-1,1516:-1,1519:-1,1522:-1,1801:-1,1803:-1,1805:-1,1807:-1,1809:-1,1811:-1 -ein_in01,109,27,4 shop Two Hand Weapon Dealer 4_F_EINWOMAN,1116:-1,1151:-1,1154:-1,1157:-1,1160:-1,1351:-1,1354:-1,1357:-1,1360:-1,1410:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1250:-1,1252:-1,1254:-1 -ein_in01,119,26,4 shop Weapon Dealer#ein 4_M_EINMAN,1247:-1,1248:-1,1249:-1,13000:-1 -ein_in01,189,15,1 shop Tool Dealer#ein 4_F_EINWOMAN,1750:-1,1752:-1,1751:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -einbroch,138,66,4 shop Flu Mask Dealer#ein 4_F_EINWOMAN,5114:-1,2218:-1 -einbroch,82,199,4 shop Paddler#ein 4_M_EINMAN,512:-1,645:-1,1750:-1,501:-1 +ein_in01,106,27,4 trader One Hand Weapon Dealer 4_F_EINWOMAN,{ +OnInit: + sellitem Sword; + sellitem Falchion; + sellitem Blade; + sellitem Lapier; + sellitem Scimiter; + sellitem Tsurugi; + sellitem Ring_Pommel_Saber; + sellitem Haedonggum; + sellitem Saber; + sellitem Flamberge; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Dirk; + sellitem Dagger; + sellitem Stiletto; + sellitem Gladius; + sellitem Damascus; + sellitem Axe; + sellitem Javelin; + sellitem Spear; + sellitem Pike; + sellitem Club; + sellitem Mace; + sellitem Smasher; + sellitem Flail; + sellitem Morning_Star; + sellitem Sword_Mace; + sellitem Chain; + sellitem Stunner; + sellitem Waghnakh; + sellitem Knuckle_Duster; + sellitem Hora; + sellitem Fist; + sellitem Claw; + sellitem Finger; +} + +ein_in01,109,27,4 trader Two Hand Weapon Dealer 4_F_EINWOMAN,{ +OnInit: + sellitem Katana; + sellitem Slayer; + sellitem Bastard_Sword; + sellitem Two_Hand_Sword; + sellitem Broad_Sword; + sellitem Battle_Axe; + sellitem Hammer; + sellitem Buster; + sellitem Two_Handed_Axe; + sellitem Lance; + sellitem Guisarme; + sellitem Glaive; + sellitem Partizan; + sellitem Trident; + sellitem Halberd; + sellitem Jur; + sellitem Katar; + sellitem Jamadhar; +} + +ein_in01,119,26,4 trader Weapon Dealer#ein 4_M_EINMAN,{ +OnInit: + sellitem Kindling_Dagger; + sellitem Obsidian_Dagger; + sellitem Fisherman's_Dagger; + sellitem Jujube_Dagger; +} + +ein_in01,189,15,1 trader Tool Dealer#ein 4_F_EINWOMAN,{ +OnInit: + sellitem Arrow; + sellitem Fire_Arrow; + sellitem Silver_Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +einbroch,138,66,4 trader Flu Mask Dealer#ein 4_F_EINWOMAN,{ +OnInit: + sellitem Fedora; + sellitem Flu_Mask; +} + +einbroch,82,199,4 trader Paddler#ein 4_M_EINMAN,{ +OnInit: + sellitem Apple; + sellitem Center_Potion; + sellitem Arrow; + sellitem Red_Potion; +} + //Official Gunslingers shops. -que_ng,179,91,3 shop Chivas Lugal 4_M_HUMERCHANT,13150:-1,13102:-1,13151:-1,13154:-1,13155:-1,13163:-1,13165:-1,13168:-1 -que_ng,180,79,3 shop Johnny Waiker 4_M_HUMERCHANT,13200:-1,13201:-1,13202:-1 +que_ng,179,91,3 trader Chivas Lugal 4_M_HUMERCHANT,{ +OnInit: + sellitem Branch; + sellitem Crimson_Bolt; + sellitem The_Cyclone; + sellitem Rolling_Stone; + sellitem Black_Rose; + sellitem Long_Barrel; + sellitem Jungle_Carbine; + sellitem Thunder_P; +} + +que_ng,180,79,3 trader Johnny Waiker 4_M_HUMERCHANT,{ +OnInit: + sellitem Bullet; + sellitem Silver_Bullet; + sellitem Shell_Of_Blood; +} + //======================================================= // Geffen //======================================================= -geffen_in,26,178,4 shop Armor Dealer#gef 1_F_01,2628:-1,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1 -geffen_in,30,178,4 shop Weapon Dealer#gef2 1_M_01,1750:-1,1751:-1,1101:-1,1701:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1601:-1,1604:-1,1607:-1,1610:-1 -geffen_in,22,171,7 shop Weapon Dealer#gef 4_M_02,1146:-1,1245:-1 -geffen_in,74,144,0 shop Trader#gef 1_F_01,911:-1,910:-1,912:-1 -geffen_in,77,167,0 shop Tool Dealer#gef 1_F_03,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,2241:-1 -geffen_in,77,173,0 shop Magical Item Seller#gef 1_M_WIZARD,717:-1,1601:-1,1604:-1,1607:-1,1610:-1,2232:-1,2321:-1,2332:-1 -geffen_in,171,123,4 shop Tool Dealer#gef2 1_M_WIZARD,1092:-1,1093:-1 -geffen,193,152,4 shop Pet Groomer#gef 4_F_TELEPORTER,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 +geffen_in,26,178,4 trader Armor Dealer#gef 1_F_01,{ +OnInit: + sellitem Novice_Armlet; + sellitem Guard; + sellitem Mirror_Shield; + sellitem Sandals; + sellitem Hood; + sellitem Gemmed_Sallet; + sellitem Cotton_Shirt; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; +} + +geffen_in,30,178,4 trader Weapon Dealer#gef2 1_M_01,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Sword; + sellitem Bow; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Dirk; + sellitem Dagger; + sellitem Stiletto; + sellitem Rod; + sellitem Wand; + sellitem Staff; + sellitem Arc_Wand; +} + +geffen_in,22,171,7 trader Weapon Dealer#gef 4_M_02,{ +OnInit: + sellitem Town_Sword; + sellitem Cinquedea; +} + +geffen_in,74,144,0 trader Trader#gef 1_F_01,{ +OnInit: + sellitem Scell; + sellitem Garlet; + sellitem Zargon; +} + +geffen_in,77,167,0 trader Tool Dealer#gef 1_F_03,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Granpa_Beard; +} + +geffen_in,77,173,0 trader Magical Item Seller#gef 1_M_WIZARD,{ +OnInit: + sellitem Blue_Gemstone; + sellitem Rod; + sellitem Wand; + sellitem Staff; + sellitem Arc_Wand; + sellitem Circlet; + sellitem Silk_Robe; + sellitem Silver_Robe; +} + +geffen_in,171,123,4 trader Tool Dealer#gef2 1_M_WIZARD,{ +OnInit: + sellitem Empty_Cylinder; + sellitem Empty_Potion; +} + +geffen,193,152,4 trader Pet Groomer#gef 4_F_TELEPORTER,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; + sellitem Backpack; + sellitem Rocker_Glasses; + sellitem Mojji; + sellitem Vital_Flower_; + sellitem Flame_Gemstone; + sellitem Bun_; +} + //======================================================= // Gonryun //======================================================= -gonryun,147,84,5 shop Tool Dealer#gon 4_M_TWOLDMAN,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -gonryun,174,101,3 shop Weapon Dealer#gon 4_M_TWBOY,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1 -gonryun,173,84,3 shop Armor Dealer#gon 4_F_TWGIRL,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1 +gonryun,147,84,5 trader Tool Dealer#gon 4_M_TWOLDMAN,{ +OnInit: + sellitem Arrow; + sellitem Iron_Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +gonryun,174,101,3 trader Weapon Dealer#gon 4_M_TWBOY,{ +OnInit: + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; +} + +gonryun,173,84,3 trader Armor Dealer#gon 4_F_TWGIRL,{ +OnInit: + sellitem Bandana; + sellitem Sandals; + sellitem Shoes; + sellitem Hood; + sellitem Muffler; + sellitem Guard; + sellitem Buckler; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; + sellitem Wooden_Mail; + sellitem Belt; +} + //======================================================= // Hugel //======================================================= -hugel,105,169,5 shop Vendor from Milk Ranch#h 4_F_01,519:-1 -hugel,77,167,3 shop Vegetable Gardener#hu 4_F_HUGRANMA,522:-1,512:-1,513:-1,515:-1,516:-1,535:-1 -hu_in01,241,368,2 shop Tool Dealer#hu 1_M_INNKEEPER,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -hu_in01,252,368,3 shop Tool Dealer#hu2 4_F_01,717:-1,2201:-1,910:-1,528:-1 -hu_in01,100,390,3 shop Bow Dealer#hu 4_M_04,1701:-1,1707:-1,1718:-1,1714:-1 -hu_in01,94,390,3 shop Weapon Dealer#hu 4_M_HUMAN_01,1116:-1,1154:-1,1354:-1,1201:-1 -hu_in01,94,313,3 shop Armor Dealer#hu 4_M_04,2224:-1,2232:-1,2226:-1,2101:-1,2103:-1,2401:-1,2501:-1,2307:-1,2105:-1 +hugel,105,169,5 trader Vendor from Milk Ranch#h 4_F_01,{ +OnInit: + sellitem Milk; +} + +hugel,77,167,3 trader Vegetable Gardener#hu 4_F_HUGRANMA,{ +OnInit: + sellitem Fruit_Of_Mastela; + sellitem Apple; + sellitem Banana; + sellitem Carrot; + sellitem Sweet_Potato; + sellitem Pumpkin; +} + +hu_in01,241,368,2 trader Tool Dealer#hu 1_M_INNKEEPER,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +hu_in01,252,368,3 trader Tool Dealer#hu2 4_F_01,{ +OnInit: + sellitem Blue_Gemstone; + sellitem Sunglasses; + sellitem Garlet; + sellitem Monster's_Feed; +} + +hu_in01,100,390,3 trader Bow Dealer#hu 4_M_04,{ +OnInit: + sellitem Bow; + sellitem Great_Bow; + sellitem Hunter_Bow; + sellitem Kakkung; +} + +hu_in01,94,390,3 trader Weapon Dealer#hu 4_M_HUMAN_01,{ +OnInit: + sellitem Katana; + sellitem Bastard_Sword; + sellitem Hammer; + sellitem Knife; +} + +hu_in01,94,313,3 trader Armor Dealer#hu 4_M_04,{ +OnInit: + sellitem Goggle; + sellitem Circlet; + sellitem Cap; + sellitem Guard; + sellitem Buckler; + sellitem Sandals; + sellitem Hood; + sellitem Mantle; + sellitem Shield; +} + //======================================================= // Izlude //======================================================= -izlude_in,60,127,4 shop Weapon Dealer#iz 1_F_MARIA,1750:-1,1751:-1,1701:-1,1601:-1,1201:-1,1204:-1,1207:-1,1101:-1,1104:-1,1107:-1,1116:-1,1151:-1,1154:-1,1157:-1,1160:-1,1301:-1 -izlude_in,70,127,4 shop Armor Dealer#iz 1_M_SIZ,2103:-1,2105:-1,2403:-1,2405:-1,2503:-1,2505:-1,2226:-1,2228:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2628:-1 +izlude_in,60,127,4 trader Weapon Dealer#iz 1_F_MARIA,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Bow; + sellitem Rod; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Sword; + sellitem Falchion; + sellitem Blade; + sellitem Katana; + sellitem Slayer; + sellitem Bastard_Sword; + sellitem Two_Hand_Sword; + sellitem Broad_Sword; + sellitem Axe; +} + +izlude_in,70,127,4 trader Armor Dealer#iz 1_M_SIZ,{ +OnInit: + sellitem Buckler; + sellitem Shield; + sellitem Shoes; + sellitem Boots; + sellitem Muffler; + sellitem Manteau; + sellitem Cap; + sellitem Helm; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Wooden_Mail; + sellitem Mantle; + sellitem Coat; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Plate_Armor; + sellitem Novice_Armlet; +} + //======================================================= // Jawaii //======================================================= -jawaii,186,174,3 shop Ice Cream Guy#ja 4_M_03,536:-1,536:-1,536:-1,536:-1,536:-1,536:-1,536:-1 +jawaii,186,174,3 trader Ice Cream Guy#ja 4_M_03,{ +OnInit: + sellitem Ice_Cream; + sellitem Ice_Cream; + sellitem Ice_Cream; + sellitem Ice_Cream; + sellitem Ice_Cream; + sellitem Ice_Cream; + sellitem Ice_Cream; +} + //======================================================= // Juno //======================================================= -yuno,218,97,5 shop Tool Dealer#yuno 4_M_02,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1 -yuno,226,107,5 shop Tool Dealer#yuno1 4_M_01,911:-1,910:-1,912:-1 -yuno,197,114,4 shop Pet Groomer#yuno 4_F_TELEPORTER,537:-1,643:-1,10013:-1,10014:-1,6115:-1,554:-1,6114:-1,6113:-1,6110:-1,6115:-1,6100:-1,6098:-1,6112:-1,6104:-1,6108:-1,6111:-1,6095:-1,6099:-1,6096:-1,6097:-1 -yuno,205,103,4 shop Mr. King's Shop#yuno 4_M_TELEPORTER,2340:-1,2341:-1,2411:-1,2222:-1,2230:-1,1721:-1 -yuno,163,187,5 shop Magical Item Seller#yuno 4_F_01,717:-1,1601:-1,1604:-1,1607:-1,1610:-1,2232:-1,2321:-1,2332:-1 -yuno_in01,25,34,5 shop Tool Dealer#yuno2 4_M_01,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1 -yuno_in01,103,35,2 shop Weapon Dealer#yuno 1_M_03,1750:-1,1751:-1,1101:-1,1701:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1601:-1,1604:-1,1607:-1,1610:-1 -yuno_in01,112,26,4 shop Armor Dealer#yuno 4W_F_01,2628:-1,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1 -yuno_in03,176,22,3 shop Scroll Merchant#yuno03 4_M_ORIENT02,7433:-1 //Temp shop in Yuno that sells Blank Scrolls +yuno,218,97,5 trader Tool Dealer#yuno 4_M_02,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; +} + +yuno,226,107,5 trader Tool Dealer#yuno1 4_M_01,{ +OnInit: + sellitem Scell; + sellitem Garlet; + sellitem Zargon; +} + +yuno,197,114,4 trader Pet Groomer#yuno 4_F_TELEPORTER,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; + sellitem Backpack; + sellitem Rocker_Glasses; + sellitem Bun_; + sellitem Mojji; + sellitem Flame_Gemstone; + sellitem Vital_Flower_; + sellitem Vital_Flower; + sellitem Bun_; + sellitem Damp_Darkness; + sellitem Small_Snow_Flower; + sellitem Fresh_Plant; + sellitem Big_Cell; + sellitem Apple_Pudding; + sellitem Mystic_Stone; + sellitem Flavored_Alcohol; + sellitem Grilled_Rice_Cake; + sellitem Fish_With_Blue_Back; + sellitem Pumpkin_Pie_; +} + +yuno,205,103,4 trader Mr. King's Shop#yuno 4_M_TELEPORTER,{ +OnInit: + sellitem Novice_Breast; + sellitem Full_Plate_Armor; + sellitem Grave; + sellitem Turban; + sellitem Gemmed_Sallet; + sellitem Repeting_CrossBow; +} + +yuno,163,187,5 trader Magical Item Seller#yuno 4_F_01,{ +OnInit: + sellitem Blue_Gemstone; + sellitem Rod; + sellitem Wand; + sellitem Staff; + sellitem Arc_Wand; + sellitem Circlet; + sellitem Silk_Robe; + sellitem Silver_Robe; +} + +yuno_in01,25,34,5 trader Tool Dealer#yuno2 4_M_01,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; +} + +yuno_in01,103,35,2 trader Weapon Dealer#yuno 1_M_03,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Sword; + sellitem Bow; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Dirk; + sellitem Dagger; + sellitem Stiletto; + sellitem Rod; + sellitem Wand; + sellitem Staff; + sellitem Arc_Wand; +} + +yuno_in01,112,26,4 trader Armor Dealer#yuno 4W_F_01,{ +OnInit: + sellitem Novice_Armlet; + sellitem Guard; + sellitem Mirror_Shield; + sellitem Sandals; + sellitem Hood; + sellitem Gemmed_Sallet; + sellitem Cotton_Shirt; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; +} + +yuno_in03,176,22,3 trader Scroll Merchant#yuno03 4_M_ORIENT02,{ +OnInit: + sellitem Scroll; //Temp shop in Yuno that sells Blank Scrolls +} + //======================================================= // Lighthalzen //======================================================= -lighthalzen,69,75,5 shop Fruit Gardener#lhz 8_F,512:-1,513:-1 -lighthalzen,112,44,0 shop Flower Girl#lhz 4_F_01,712:-1,744:-1,748:-1 -lighthalzen,124,129,0 shop Vegetable Gardener#lhz 4_F_02,515:-1,516:-1,535:-1 -lighthalzen,220,122,3 shop Vendor from Milk Ranch#l 4_F_01,519:-1 -lighthalzen,222,191,4 shop Pet Groomer#lhz 4_M_TELEPORTER,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 -lhz_in02,286,95,4 shop Beginner's Merchant#lhz 1_M_SIZ,5112:-1,2416:-1,2113:-1,2512:-1 -lhz_in02,271,99,5 shop Armor Dealer#lhz 4_M_REPAIR,2101:-1,2103:-1,2403:-1,2405:-1,2503:-1,2321:-1,2314:-1,2309:-1,2335:-1,2628:-1 -lhz_in02,276,99,4 shop Weapon Dealer#lhz 4_M_REPAIR,1201:-1,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1 -lhz_in02,273,35,4 shop Wand Dealer#lhz 4_M_EINMAN2,1601:-1,1604:-1,1607:-1,1617:-1,1619:-1 -lhz_in02,105,21,3 shop Jeweler#lhz 4_F_02,721:-1,723:-1,726:-1,728:-1,729:-1,730:-1,2613:-1 -lhz_in02,17,220,5 shop Vegetable Gardener#lhz2 4_F_02,515:-1,516:-1,535:-1 -lhz_in02,21,220,5 shop Fruit Gardener#lhz2 8_F,512:-1,513:-1 -lhz_in02,32,219,5 shop Butcher#lhz 1_M_JOBGUIDER,517:-1 -lhz_in02,38,145,5 shop Gift Merchant#lhz 4_F_02,734:-1,735:-1,736:-1,737:-1,746:-1 -lhz_in02,47,148,3 shop Wedding Shop Dealer#lhz 1_F_LIBRARYGIRL,744:-1,745:-1,2338:-1,2206:-1,7170:-1 -lhz_in02,31,145,4 shop Tool Dealer#lhz 4_F_01,611:-1,503:-1,504:-1,506:-1,657:-1,656:-1,601:-1,602:-1,1065:-1,610:-1,1770:-1 -lhz_in02,85,216,5 shop Doll Supplier#lhz 4_F_LGTGIRL,740:-1,741:-1,742:-1 -lhz_in02,87,208,3 shop Toy Supplier#lhz 4_M_PIERROT,2243:-1,2212:-1,2242:-1,2241:-1 -lhz_in03,239,106,5 shop Tool Dealer#lhz2 4_F_EINWOMAN,501:-1,502:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,611:-1 -lhz_in03,258,101,3 shop Arrow Merchant#lhz 4_M_EINMAN,1750:-1,1770:-1,1752:-1,1751:-1 -lhz_in03,249,24,4 shop Merchant#lhz 4_M_EINMAN,911:-1,910:-1,912:-1,528:-1 +lighthalzen,69,75,5 trader Fruit Gardener#lhz 8_F,{ +OnInit: + sellitem Apple; + sellitem Banana; +} + +lighthalzen,112,44,0 trader Flower Girl#lhz 4_F_01,{ +OnInit: + sellitem Flower; + sellitem Bunch_Of_Flowers; + sellitem Witherless_Rose; +} + +lighthalzen,124,129,0 trader Vegetable Gardener#lhz 4_F_02,{ +OnInit: + sellitem Carrot; + sellitem Sweet_Potato; + sellitem Pumpkin; +} + +lighthalzen,220,122,3 trader Vendor from Milk Ranch#l 4_F_01,{ +OnInit: + sellitem Milk; +} + +lighthalzen,222,191,4 trader Pet Groomer#lhz 4_M_TELEPORTER,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; + sellitem Backpack; + sellitem Rocker_Glasses; + sellitem Mojji; + sellitem Vital_Flower_; + sellitem Flame_Gemstone; + sellitem Bun_; +} + +lhz_in02,286,95,4 trader Beginner's Merchant#lhz 1_M_SIZ,{ +OnInit: + sellitem Super_Novice_Hat; + sellitem Novice_Shoes; + sellitem Novice_Shield; + sellitem Novice_Manteau; +} + +lhz_in02,271,99,5 trader Armor Dealer#lhz 4_M_REPAIR,{ +OnInit: + sellitem Guard; + sellitem Buckler; + sellitem Shoes; + sellitem Boots; + sellitem Muffler; + sellitem Silk_Robe; + sellitem Chain_Mail; + sellitem Coat; + sellitem Thief_Clothes; + sellitem Novice_Armlet; +} + +lhz_in02,276,99,4 trader Weapon Dealer#lhz 4_M_REPAIR,{ +OnInit: + sellitem Knife; + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; + sellitem Coward; +} + +lhz_in02,273,35,4 trader Wand Dealer#lhz 4_M_EINMAN2,{ +OnInit: + sellitem Rod; + sellitem Wand; + sellitem Staff; + sellitem Survival_Rod; + sellitem Survival_Rod2; +} + +lhz_in02,105,21,3 trader Jeweler#lhz 4_F_02,{ +OnInit: + sellitem Azure_Jewel; + sellitem Cardinal_Jewel; + sellitem Blue_Jewel; + sellitem Golden_Jewel; + sellitem Bluish_Green_Jewel; + sellitem Crystal_Jewel; + sellitem Diamond_Ring; +} + +lhz_in02,17,220,5 trader Vegetable Gardener#lhz2 4_F_02,{ +OnInit: + sellitem Carrot; + sellitem Sweet_Potato; + sellitem Pumpkin; +} + +lhz_in02,21,220,5 trader Fruit Gardener#lhz2 8_F,{ +OnInit: + sellitem Apple; + sellitem Banana; +} + +lhz_in02,32,219,5 trader Butcher#lhz 1_M_JOBGUIDER,{ +OnInit: + sellitem Meat; +} + +lhz_in02,38,145,5 trader Gift Merchant#lhz 4_F_02,{ +OnInit: + sellitem Red_Frame; + sellitem Blue_Porcelain; + sellitem White_Platter; + sellitem Black_Ladle; + sellitem Glass_Bead; +} + +lhz_in02,47,148,3 trader Wedding Shop Dealer#lhz 1_F_LIBRARYGIRL,{ +OnInit: + sellitem Bunch_Of_Flowers; + sellitem Wedding_Bouquet; + sellitem Wedding_Dress; + sellitem Wedding_Veil; + sellitem Tuxedo; +} + +lhz_in02,31,145,4 trader Tool Dealer#lhz 4_F_01,{ +OnInit: + sellitem Spectacles; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Berserk_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; + sellitem Leaf_Of_Yggdrasil; + sellitem Iron_Arrow; +} + +lhz_in02,85,216,5 trader Doll Supplier#lhz 4_F_LGTGIRL,{ +OnInit: + sellitem Stuffed_Doll; + sellitem Poring_Doll; + sellitem Chonchon_Doll; +} + +lhz_in02,87,208,3 trader Toy Supplier#lhz 4_M_PIERROT,{ +OnInit: + sellitem Spinning_Eyes; + sellitem Eye_Bandage; + sellitem Luxury_Sunglasses; + sellitem Granpa_Beard; +} + +lhz_in03,239,106,5 trader Tool Dealer#lhz2 4_F_EINWOMAN,{ +OnInit: + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; + sellitem Spectacles; +} + +lhz_in03,258,101,3 trader Arrow Merchant#lhz 4_M_EINMAN,{ +OnInit: + sellitem Arrow; + sellitem Iron_Arrow; + sellitem Fire_Arrow; + sellitem Silver_Arrow; +} + +lhz_in03,249,24,4 trader Merchant#lhz 4_M_EINMAN,{ +OnInit: + sellitem Scell; + sellitem Garlet; + sellitem Zargon; + sellitem Monster's_Feed; +} + //======================================================= // Louyang //======================================================= -lou_in02,121,182,5 shop Armor Dealer#lou 4_F_CHNWOMAN,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1 -lou_in02,130,182,5 shop Weapon Dealer#lou 4_M_CHNMAN,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1 -lou_in02,239,176,5 shop Tool Dealer#lou 4_F_CHNWOMAN,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 +lou_in02,121,182,5 trader Armor Dealer#lou 4_F_CHNWOMAN,{ +OnInit: + sellitem Bandana; + sellitem Sandals; + sellitem Shoes; + sellitem Hood; + sellitem Muffler; + sellitem Guard; + sellitem Buckler; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; + sellitem Wooden_Mail; + sellitem Belt; +} + +lou_in02,130,182,5 trader Weapon Dealer#lou 4_M_CHNMAN,{ +OnInit: + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; +} + +lou_in02,239,176,5 trader Tool Dealer#lou 4_F_CHNWOMAN,{ +OnInit: + sellitem Arrow; + sellitem Iron_Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + //======================================================= // Lutie //======================================================= -xmas_in,40,38,5 shop Tool Dealer#xmas 4_M_01,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,611:-1,610:-1 -xmas_in,168,104,4 shop Armor Dealer#xmas 4W_F_01,2228:-1,2103:-1,2105:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2505:-1,2405:-1 -xmas_in,169,34,2 shop Gift Seller#xmas 4_F_GON,2612:-1,744:-1,748:-1,736:-1,746:-1,740:-1,2613:-1 -xmas_in,174,98,2 shop Weapon Dealer#xmas 1_M_03,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1 +xmas_in,40,38,5 trader Tool Dealer#xmas 4_M_01,{ +OnInit: + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Leaf_Of_Yggdrasil; +} + +xmas_in,168,104,4 trader Armor Dealer#xmas 4W_F_01,{ +OnInit: + sellitem Helm; + sellitem Buckler; + sellitem Shield; + sellitem Mantle; + sellitem Coat; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Plate_Armor; + sellitem Manteau; + sellitem Boots; +} + +xmas_in,169,34,2 trader Gift Seller#xmas 4_F_GON,{ +OnInit: + sellitem Flower_Ring; + sellitem Bunch_Of_Flowers; + sellitem Witherless_Rose; + sellitem White_Platter; + sellitem Glass_Bead; + sellitem Stuffed_Doll; + sellitem Diamond_Ring; +} + +xmas_in,174,98,2 trader Weapon Dealer#xmas 1_M_03,{ +OnInit: + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Dirk; + sellitem Dagger; + sellitem Stiletto; + sellitem Gladius; + sellitem Damascus; +} + //======================================================= // Morroc - Post Ep. 12.1 //======================================================= -in_moc_16,22,20,7 shop Sepulchral Merchant#moc 4_M_MASKMAN,1771:-1 -moc_ruins,91,128,4 shop Tool Dealer#moc1 4_F_04,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -moc_ruins,114,63,6 shop Tool Dealer#moc2 4W_M_03,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,2242:-1 -moc_ruins,93,53,2 shop Item Collector#moc1 4_M_03,911:-1,528:-1,919:-1,925:-1 -moc_ruins,81,113,0 shop Item Collector#moc2 4_M_03,911:-1,528:-1,919:-1,925:-1 -moc_ruins,110,105,2 shop Jeweler#moc1 8_F,721:-1,723:-1,726:-1,728:-1,729:-1 -moc_ruins,52,85,6 shop Jeweler#moc2 4W_M_03,730:-1,2613:-1 -moc_ruins,113,126,4 shop Trader#moc1 4W_M_03,747:-1 -moc_ruins,131,138,0 shop Trader#moc2 4_F_04,748:-1 -moc_ruins,71,139,5 shop Trader#moc3 4_F_04,2612:-1 -moc_ruins,125,135,6 shop Trader#moc4 4_M_ORIENT02,2609:-1,1516:-1,1522:-1 -moc_ruins,87,109,0 shop Butcher#moc 1_M_MERCHANT,517:-1 -moc_ruins,90,149,6 shop Trader#moc5 4W_M_03,513:-1,513:-1,513:-1,513:-1,513:-1,513:-1 -moc_ruins,118,170,4 shop Pet Groomer#moc 4_M_TELEPORTER,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 -morocc_in,141,67,0 shop Weapon Dealer#moc1 1_M_MERCHANT,1750:-1,1751:-1,1701:-1,1601:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1,1250:-1,1252:-1,1254:-1 -morocc_in,141,60,0 shop Armor Dealer#moc 1_M_MERCHANT,2101:-1,2103:-1,2401:-1,2403:-1,2405:-1,2501:-1,2503:-1,2218:-1,2301:-1,2303:-1,2305:-1,2321:-1,2328:-1,2332:-1,2307:-1,2309:-1,2335:-1,2628:-1 -morocc_in,132,57,0 shop Weapon Dealer#moc2 4W_M_03,1146:-1,1245:-1 +in_moc_16,22,20,7 trader Sepulchral Merchant#moc 4_M_MASKMAN,{ +OnInit: + sellitem Venom_Knife; +} + +moc_ruins,91,128,4 trader Tool Dealer#moc1 4_F_04,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +moc_ruins,114,63,6 trader Tool Dealer#moc2 4W_M_03,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; + sellitem Luxury_Sunglasses; +} + +moc_ruins,93,53,2 trader Item Collector#moc1 4_M_03,{ +OnInit: + sellitem Scell; + sellitem Monster's_Feed; + sellitem Animal's_Skin; + sellitem Bill_Of_Birds; +} + +moc_ruins,81,113,0 trader Item Collector#moc2 4_M_03,{ +OnInit: + sellitem Scell; + sellitem Monster's_Feed; + sellitem Animal's_Skin; + sellitem Bill_Of_Birds; +} + +moc_ruins,110,105,2 trader Jeweler#moc1 8_F,{ +OnInit: + sellitem Azure_Jewel; + sellitem Cardinal_Jewel; + sellitem Blue_Jewel; + sellitem Golden_Jewel; + sellitem Bluish_Green_Jewel; +} + +moc_ruins,52,85,6 trader Jeweler#moc2 4W_M_03,{ +OnInit: + sellitem Crystal_Jewel; + sellitem Diamond_Ring; +} + +moc_ruins,113,126,4 trader Trader#moc1 4W_M_03,{ +OnInit: + sellitem Crystal_Mirror; +} + +moc_ruins,131,138,0 trader Trader#moc2 4_F_04,{ +OnInit: + sellitem Witherless_Rose; +} + +moc_ruins,71,139,5 trader Trader#moc3 4_F_04,{ +OnInit: + sellitem Flower_Ring; +} + +moc_ruins,125,135,6 trader Trader#moc4 4_M_ORIENT02,{ +OnInit: + sellitem Skul_Ring; + sellitem Sword_Mace; + sellitem Stunner; +} + +moc_ruins,87,109,0 trader Butcher#moc 1_M_MERCHANT,{ +OnInit: + sellitem Meat; +} + +moc_ruins,90,149,6 trader Trader#moc5 4W_M_03,{ +OnInit: + sellitem Banana; + sellitem Banana; + sellitem Banana; + sellitem Banana; + sellitem Banana; + sellitem Banana; +} + +moc_ruins,118,170,4 trader Pet Groomer#moc 4_M_TELEPORTER,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; + sellitem Backpack; + sellitem Rocker_Glasses; + sellitem Mojji; + sellitem Vital_Flower_; + sellitem Flame_Gemstone; + sellitem Bun_; +} + +morocc_in,141,67,0 trader Weapon Dealer#moc1 1_M_MERCHANT,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Bow; + sellitem Rod; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Dirk; + sellitem Dagger; + sellitem Stiletto; + sellitem Gladius; + sellitem Damascus; + sellitem Jur; + sellitem Katar; + sellitem Jamadhar; +} + +morocc_in,141,60,0 trader Armor Dealer#moc 1_M_MERCHANT,{ +OnInit: + sellitem Guard; + sellitem Buckler; + sellitem Sandals; + sellitem Shoes; + sellitem Boots; + sellitem Hood; + sellitem Muffler; + sellitem Flu_Mask; + sellitem Cotton_Shirt; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Wooden_Mail; + sellitem Silver_Robe; + sellitem Mantle; + sellitem Coat; + sellitem Thief_Clothes; + sellitem Novice_Armlet; +} + +morocc_in,132,57,0 trader Weapon Dealer#moc2 4W_M_03,{ +OnInit: + sellitem Town_Sword; + sellitem Cinquedea; +} + //======================================================= // Moscovia //======================================================= -mosk_in,21,254,5 shop Tool Dealer#mosk 4_M_RUSMAN2,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,1750:-1 -mosk_in,31,180,3 shop Weapon Dealer#mosk 4_M_RUSMAN2,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1 -mosk_in,79,178,1 shop Armor Dealer#mosk 4_F_RUSWOMAN3,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1 -moscovia,152,71,4 shop Fruit Gardener#mosk 4_M_RUSMAN2,512:-1,513:-1,515:-1,516:-1 -moscovia,199,110,3 shop Vendor from Milk Ranch#m 4_F_RUSWOMAN1,519:-1 +mosk_in,21,254,5 trader Tool Dealer#mosk 4_M_RUSMAN2,{ +OnInit: + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; + sellitem Arrow; +} + +mosk_in,31,180,3 trader Weapon Dealer#mosk 4_M_RUSMAN2,{ +OnInit: + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; +} + +mosk_in,79,178,1 trader Armor Dealer#mosk 4_F_RUSWOMAN3,{ +OnInit: + sellitem Bandana; + sellitem Sandals; + sellitem Shoes; + sellitem Hood; + sellitem Muffler; + sellitem Guard; + sellitem Buckler; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Silver_Robe; + sellitem Wooden_Mail; + sellitem Belt; +} + +moscovia,152,71,4 trader Fruit Gardener#mosk 4_M_RUSMAN2,{ +OnInit: + sellitem Apple; + sellitem Banana; + sellitem Carrot; + sellitem Sweet_Potato; +} + +moscovia,199,110,3 trader Vendor from Milk Ranch#m 4_F_RUSWOMAN1,{ +OnInit: + sellitem Milk; +} + //======================================================= // Niflheim //======================================================= -nif_in,37,93,1 shop Axe Dealer#nif 4_NFCOFFIN,1301:-1,1351:-1,1354:-1,1357:-1,1360:-1 -nif_in,37,84,1 shop Armor Dealer#nif 4_NFCOFFIN,2501:-1,2501:-1,2503:-1,2503:-1,2505:-1,2505:-1 -nif_in,145,23,1 shop Tool Dealer#nif 4_NFCOFFIN,535:-1,1062:-1,902:-1,7106:-1,537:-1,7154:-1,1052:-1,934:-1 +nif_in,37,93,1 trader Axe Dealer#nif 4_NFCOFFIN,{ +OnInit: + sellitem Axe; + sellitem Battle_Axe; + sellitem Hammer; + sellitem Buster; + sellitem Two_Handed_Axe; +} + +nif_in,37,84,1 trader Armor Dealer#nif 4_NFCOFFIN,{ +OnInit: + sellitem Hood; + sellitem Hood; + sellitem Muffler; + sellitem Muffler; + sellitem Manteau; + sellitem Manteau; +} + +nif_in,145,23,1 trader Tool Dealer#nif 4_NFCOFFIN,{ +OnInit: + sellitem Pumpkin; + sellitem Pumpkin_Head; + sellitem Tree_Root; + sellitem Goat's_Horn; + sellitem Pet_Food; + sellitem Poison_Powder; + sellitem Single_Cell; + sellitem Mementos; +} + //======================================================= // Payon //======================================================= -payon_in01,15,119,0 shop Weapon Dealer#pay 1_F_ORIENT_03,1750:-1,1751:-1,1101:-1,1104:-1,1107:-1,1201:-1,1204:-1,1207:-1,1601:-1,1701:-1,1704:-1,1707:-1,1710:-1,1713:-1,1714:-1,1718:-1 -payon_in01,5,129,7 shop Weapon Dealer#pay2 4_F_KID2,1146:-1,1245:-1 -payon_in01,7,119,2 shop Armor Dealer#pay 1_F_ORIENT_02,2401:-1,2403:-1,2405:-1,2501:-1,2503:-1,2505:-1,2208:-1,2211:-1,2212:-1,2301:-1,2303:-1,2305:-1,2321:-1,2328:-1,2332:-1,2307:-1,2309:-1,2330:-1,2628:-1 -payon_in01,5,49,7 shop Tool Dealer#pay 4_M_ORIENT01,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -payon_in02,87,34,0 shop Tool Dealer#pay2 1_F_ORIENT_01,1750:-1,1751:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -payon,159,96,4 shop Tool Dealer#pay3 4_M_ORIENT01,1750:-1,501:-1,645:-1,601:-1,602:-1 -payon,177,131,4 shop Pet Groomer#pay 4_F_TELEPORTER,537:-1,643:-1,10013:-1,10014:-1,554:-1,6114:-1,6113:-1,6110:-1,6115:-1,6100:-1,6098:-1,6112:-1,6104:-1,6108:-1,6111:-1,6095:-1,6099:-1,6096:-1,6097:-1,6094:-1 +payon_in01,15,119,0 trader Weapon Dealer#pay 1_F_ORIENT_03,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Sword; + sellitem Falchion; + sellitem Blade; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Rod; + sellitem Bow; + sellitem Composite_Bow; + sellitem Great_Bow; + sellitem CrossBow; + sellitem Arbalest; + sellitem Kakkung; + sellitem Hunter_Bow; +} + +payon_in01,5,129,7 trader Weapon Dealer#pay2 4_F_KID2,{ +OnInit: + sellitem Town_Sword; + sellitem Cinquedea; +} + +payon_in01,7,119,2 trader Armor Dealer#pay 1_F_ORIENT_02,{ +OnInit: + sellitem Sandals; + sellitem Shoes; + sellitem Boots; + sellitem Hood; + sellitem Muffler; + sellitem Manteau; + sellitem Ribbon; + sellitem Bandana; + sellitem Eye_Bandage; + sellitem Cotton_Shirt; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Silk_Robe; + sellitem Wooden_Mail; + sellitem Silver_Robe; + sellitem Mantle; + sellitem Coat; + sellitem Tights; + sellitem Novice_Armlet; +} + +payon_in01,5,49,7 trader Tool Dealer#pay 4_M_ORIENT01,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +payon_in02,87,34,0 trader Tool Dealer#pay2 1_F_ORIENT_01,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; +} + +payon,159,96,4 trader Tool Dealer#pay3 4_M_ORIENT01,{ +OnInit: + sellitem Arrow; + sellitem Red_Potion; + sellitem Center_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; +} + +payon,177,131,4 trader Pet Groomer#pay 4_F_TELEPORTER,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; + sellitem Backpack; + sellitem Rocker_Glasses; + sellitem Mojji; + sellitem Flame_Gemstone; + sellitem Vital_Flower_; + sellitem Vital_Flower; + sellitem Bun_; + sellitem Damp_Darkness; + sellitem Small_Snow_Flower; + sellitem Fresh_Plant; + sellitem Big_Cell; + sellitem Apple_Pudding; + sellitem Mystic_Stone; + sellitem Flavored_Alcohol; + sellitem Grilled_Rice_Cake; + sellitem Fish_With_Blue_Back; + sellitem Pumpkin_Pie_; + sellitem Traditional_Cookie; +} + //======================================================= // Prontera //======================================================= -prontera,73,134,0 shop Vendor from Milk Ranch#p 4_F_01,519:-1 -prontera,104,49,0 shop Fruit Gardener#prt 8_F,512:-1,513:-1 -prontera,64,125,0 shop Butcher#prt 4_M_BARBER,517:-1,528:-1 -prontera,58,182,0 shop Flower Girl#prt 4W_KID,712:-1,744:-1 -prontera,113,42,0 shop Flower Lady#prt 4_F_01,712:-1,744:-1 -prontera,105,87,0 shop Gift Merchant#prt 4_F_02,734:-1,735:-1,736:-1,737:-1,746:-1 -prontera,218,211,4 shop Pet Groomer#prt 4_M_TELEPORTER,537:-1,643:-1,10013:-1,10014:-1,554:-1,6114:-1,6113:-1,6110:-1,6115:-1,6100:-1,6098:-1,6112:-1,6104:-1,6108:-1,6111:-1,6095:-1,6099:-1,6096:-1,6097:-1,6094:-1 -prontera,248,153,0 shop Doll Supplier#prt 4_M_03,740:-1,741:-1,742:-1 -prontera,48,58,0 shop Vegetable Gardener#prt 4_F_02,515:-1,516:-1,535:-1 -prt_church,108,124,4 shop Nun#prt 1_F_PRIEST,2608:-1,2216:-1,5092:-1,2323:-1,2325:-1,1501:-1,1504:-1,1507:-1,1510:-1,1513:-1,1519:-1 -prt_fild05,290,221,2 shop Tool Dealer#prt 4_M_01,1750:-1,611:-1,501:-1,502:-1,506:-1,645:-1,601:-1,602:-1 -prt_in,211,169,0 shop Wedding Shop Dealer#prt 1_F_LIBRARYGIRL,744:-1,745:-1,2338:-1,2206:-1,7170:-1 -prt_in,126,76,0 shop Tool Dealer#prt1 1_M_INNKEEPER,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,2239:-1 -prt_in,172,130,0 shop Weapon Dealer#prt 1_M_JOBGUIDER,1750:-1,1751:-1,1701:-1,1201:-1,1204:-1,1207:-1,1601:-1,1101:-1,1104:-1,1107:-1,1110:-1,1113:-1,1122:-1,1119:-1,1123:-1,1126:-1,1129:-1,1116:-1,1301:-1 -prt_in,172,132,0 shop Armor Dealer#prt 1_M_02,2101:-1,2103:-1,2401:-1,2403:-1,2501:-1,2503:-1,2220:-1,2226:-1,2301:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2628:-1,2627:-1 -prt_in,171,140,0 shop Weapon Dealer#prt2 1_M_01,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1 -prt_in,165,140,4 shop Weapon Dealer#prt3 1_F_01,1146:-1,1245:-1 -prt_monk,135,263,5 shop Weapon Dealer#prt4 4_F_JOB_BLACKSMITH,1801:-1,1803:-1,1805:-1 +prontera,73,134,0 trader Vendor from Milk Ranch#p 4_F_01,{ +OnInit: + sellitem Milk; +} + +prontera,104,49,0 trader Fruit Gardener#prt 8_F,{ +OnInit: + sellitem Apple; + sellitem Banana; +} + +prontera,64,125,0 trader Butcher#prt 4_M_BARBER,{ +OnInit: + sellitem Meat; + sellitem Monster's_Feed; +} + +prontera,58,182,0 trader Flower Girl#prt 4W_KID,{ +OnInit: + sellitem Flower; + sellitem Bunch_Of_Flowers; +} + +prontera,113,42,0 trader Flower Lady#prt 4_F_01,{ +OnInit: + sellitem Flower; + sellitem Bunch_Of_Flowers; +} + +prontera,105,87,0 trader Gift Merchant#prt 4_F_02,{ +OnInit: + sellitem Red_Frame; + sellitem Blue_Porcelain; + sellitem White_Platter; + sellitem Black_Ladle; + sellitem Glass_Bead; +} + +prontera,218,211,4 trader Pet Groomer#prt 4_M_TELEPORTER,{ +OnInit: + sellitem Pet_Food; + sellitem Pet_Incubator; + sellitem Backpack; + sellitem Rocker_Glasses; + sellitem Mojji; + sellitem Flame_Gemstone; + sellitem Vital_Flower_; + sellitem Vital_Flower; + sellitem Bun_; + sellitem Damp_Darkness; + sellitem Small_Snow_Flower; + sellitem Fresh_Plant; + sellitem Big_Cell; + sellitem Apple_Pudding; + sellitem Mystic_Stone; + sellitem Flavored_Alcohol; + sellitem Grilled_Rice_Cake; + sellitem Fish_With_Blue_Back; + sellitem Pumpkin_Pie_; + sellitem Traditional_Cookie; +} + +prontera,248,153,0 trader Doll Supplier#prt 4_M_03,{ +OnInit: + sellitem Stuffed_Doll; + sellitem Poring_Doll; + sellitem Chonchon_Doll; +} + +prontera,48,58,0 trader Vegetable Gardener#prt 4_F_02,{ +OnInit: + sellitem Carrot; + sellitem Sweet_Potato; + sellitem Pumpkin; +} + +prt_church,108,124,4 trader Nun#prt 1_F_PRIEST,{ +OnInit: + sellitem Rosary; + sellitem Biretta; + sellitem Blue_Coif; + sellitem Scapulare; + sellitem Saint_Robe; + sellitem Club; + sellitem Mace; + sellitem Smasher; + sellitem Flail; + sellitem Morning_Star; + sellitem Chain; +} + +prt_fild05,290,221,2 trader Tool Dealer#prt 4_M_01,{ +OnInit: + sellitem Arrow; + sellitem Spectacles; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; +} + +prt_in,211,169,0 trader Wedding Shop Dealer#prt 1_F_LIBRARYGIRL,{ +OnInit: + sellitem Bunch_Of_Flowers; + sellitem Wedding_Bouquet; + sellitem Wedding_Dress; + sellitem Wedding_Veil; + sellitem Tuxedo; +} + +prt_in,126,76,0 trader Tool Dealer#prt1 1_M_INNKEEPER,{ +OnInit: + sellitem Spectacles; + sellitem Arrow; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Booby_Trap; + sellitem One_Eyed_Glass; +} + +prt_in,172,130,0 trader Weapon Dealer#prt 1_M_JOBGUIDER,{ +OnInit: + sellitem Arrow; + sellitem Silver_Arrow; + sellitem Bow; + sellitem Knife; + sellitem Cutter; + sellitem Main_Gauche; + sellitem Rod; + sellitem Sword; + sellitem Falchion; + sellitem Blade; + sellitem Lapier; + sellitem Scimiter; + sellitem Ring_Pommel_Saber; + sellitem Tsurugi; + sellitem Haedonggum; + sellitem Saber; + sellitem Flamberge; + sellitem Katana; + sellitem Axe; +} + +prt_in,172,132,0 trader Armor Dealer#prt 1_M_02,{ +OnInit: + sellitem Guard; + sellitem Buckler; + sellitem Sandals; + sellitem Shoes; + sellitem Hood; + sellitem Muffler; + sellitem Hat; + sellitem Cap; + sellitem Cotton_Shirt; + sellitem Leather_Jacket; + sellitem Adventure_Suit; + sellitem Wooden_Mail; + sellitem Mantle; + sellitem Coat; + sellitem Padded_Armor; + sellitem Chain_Mail; + sellitem Novice_Armlet; + sellitem Belt; +} + +prt_in,171,140,0 trader Weapon Dealer#prt2 1_M_01,{ +OnInit: + sellitem Javelin; + sellitem Spear; + sellitem Pike; + sellitem Guisarme; + sellitem Glaive; + sellitem Partizan; + sellitem Trident; + sellitem Halberd; + sellitem Lance; +} + +prt_in,165,140,4 trader Weapon Dealer#prt3 1_F_01,{ +OnInit: + sellitem Town_Sword; + sellitem Cinquedea; +} + +prt_monk,135,263,5 trader Weapon Dealer#prt4 4_F_JOB_BLACKSMITH,{ +OnInit: + sellitem Waghnakh; + sellitem Knuckle_Duster; + sellitem Hora; +} + //======================================================= // Rachel //======================================================= -ra_in01,175,364,3 shop Armor Dealer#ra 4_F_SHABBY,2101:-1,2103:-1,2403:-1,2405:-1,2503:-1,2321:-1,2314:-1,2309:-1,2335:-1,2628:-1 -ra_in01,257,269,3 shop Tool Dealer#ra 4_F_SHABBY,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1,610:-1 -ra_in01,176,389,3 shop Weapon Dealer#ra 4_M_RACHMAN1,1201:-1,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1,1601:-1,1604:-1,1607:-1 -ra_in01,254,300,3 shop Fruit Gardener#ra 4_M_RACHMAN1,512:-1,513:-1 -rachel,65,80,1 shop Vegetable Gardener#ra 4_F_SHABBY,515:-1,535:-1,516:-1 +ra_in01,175,364,3 trader Armor Dealer#ra 4_F_SHABBY,{ +OnInit: + sellitem Guard; + sellitem Buckler; + sellitem Shoes; + sellitem Boots; + sellitem Muffler; + sellitem Silk_Robe; + sellitem Chain_Mail; + sellitem Coat; + sellitem Thief_Clothes; + sellitem Novice_Armlet; +} + +ra_in01,257,269,3 trader Tool Dealer#ra 4_F_SHABBY,{ +OnInit: + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Booby_Trap; + sellitem Leaf_Of_Yggdrasil; +} + +ra_in01,176,389,3 trader Weapon Dealer#ra 4_M_RACHMAN1,{ +OnInit: + sellitem Knife; + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; + sellitem Coward; + sellitem Rod; + sellitem Wand; + sellitem Staff; +} + +ra_in01,254,300,3 trader Fruit Gardener#ra 4_M_RACHMAN1,{ +OnInit: + sellitem Apple; + sellitem Banana; +} + +rachel,65,80,1 trader Vegetable Gardener#ra 4_F_SHABBY,{ +OnInit: + sellitem Carrot; + sellitem Pumpkin; + sellitem Sweet_Potato; +} + //======================================================= // Turtle Island //======================================================= -tur_dun01,158,54,6 shop Tool Dealer#tu 4W_M_03,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,601:-1,602:-1,645:-1,656:-1,2242:-1 +tur_dun01,158,54,6 trader Tool Dealer#tu 4W_M_03,{ +OnInit: + sellitem Arrow; + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Luxury_Sunglasses; +} + //======================================================= // Umbala //======================================================= -um_in,104,124,3 shop Tool Dealer#um 4_M_UMOLDMAN,512:-1,515:-1,535:-1,516:-1,513:-1,517:-1,528:-1,537:-1,601:-1,602:-1,645:-1,656:-1,610:-1 -um_in,160,125,3 shop Weapon Dealer#um 4_M_UMSOLDIER,1501:-1,1504:-1,1507:-1,1510:-1,1513:-1,1519:-1,1807:-1,1811:-1,1809:-1 +um_in,104,124,3 trader Tool Dealer#um 4_M_UMOLDMAN,{ +OnInit: + sellitem Apple; + sellitem Carrot; + sellitem Pumpkin; + sellitem Sweet_Potato; + sellitem Banana; + sellitem Meat; + sellitem Monster's_Feed; + sellitem Pet_Food; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Leaf_Of_Yggdrasil; +} + +um_in,160,125,3 trader Weapon Dealer#um 4_M_UMSOLDIER,{ +OnInit: + sellitem Club; + sellitem Mace; + sellitem Smasher; + sellitem Flail; + sellitem Morning_Star; + sellitem Chain; + sellitem Fist; + sellitem Finger; + sellitem Claw; +} + //======================================================= // Veins //======================================================= -ve_in,386,245,3 shop Weapon Dealer#ve 4_M_RACHMAN1,1201:-1,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1 -ve_in,336,243,3 shop Weapon Dealer#ve2 4_M_RACHMAN1,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1 -ve_in,374,230,3 shop Armor Dealer#ve 4_F_SHABBY,2101:-1,2103:-1,2403:-1,2405:-1,2503:-1,2321:-1,2314:-1,2309:-1,2335:-1,2628:-1 -ve_in,243,303,5 shop Tool Dealer#ve 4_M_DESERT,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1,610:-1 -ve_in,253,304,5 shop Fruit Gardener#ve 4_F_DST_CHILD,512:-1,513:-1 -ve_in,252,313,0 shop Magical Item Seller#ve 4_F_DST_GRAND,717:-1,1601:-1,1604:-1,1607:-1,1610:-1,2232:-1,2321:-1,2332:-1 +ve_in,386,245,3 trader Weapon Dealer#ve 4_M_RACHMAN1,{ +OnInit: + sellitem Knife; + sellitem Main_Gauche; + sellitem Stiletto; + sellitem Blade; + sellitem Ring_Pommel_Saber; + sellitem Katana; + sellitem Bastard_Sword; +} + +ve_in,336,243,3 trader Weapon Dealer#ve2 4_M_RACHMAN1,{ +OnInit: + sellitem Pike; + sellitem Partizan; + sellitem Hammer; + sellitem Chain; + sellitem Coward; +} + +ve_in,374,230,3 trader Armor Dealer#ve 4_F_SHABBY,{ +OnInit: + sellitem Guard; + sellitem Buckler; + sellitem Shoes; + sellitem Boots; + sellitem Muffler; + sellitem Silk_Robe; + sellitem Chain_Mail; + sellitem Coat; + sellitem Thief_Clothes; + sellitem Novice_Armlet; +} + +ve_in,243,303,5 trader Tool Dealer#ve 4_M_DESERT,{ +OnInit: + sellitem Red_Potion; + sellitem Orange_Potion; + sellitem Yellow_Potion; + sellitem White_Potion; + sellitem Green_Potion; + sellitem Center_Potion; + sellitem Awakening_Potion; + sellitem Wing_Of_Fly; + sellitem Wing_Of_Butterfly; + sellitem Spectacles; + sellitem Booby_Trap; + sellitem Leaf_Of_Yggdrasil; +} + +ve_in,253,304,5 trader Fruit Gardener#ve 4_F_DST_CHILD,{ +OnInit: + sellitem Apple; + sellitem Banana; +} + +ve_in,252,313,0 trader Magical Item Seller#ve 4_F_DST_GRAND,{ +OnInit: + sellitem Blue_Gemstone; + sellitem Rod; + sellitem Wand; + sellitem Staff; + sellitem Arc_Wand; + sellitem Circlet; + sellitem Silk_Robe; + sellitem Silver_Robe; +} + //======================================================= // Cooking Addition //======================================================= -prontera,156,212,1 shop Chef Assistant#prt 8_F_GIRL,7454:-1,7456:-1,7482:-1,580:-1 -payon,206,119,5 shop Chef Assistant#pay 4_M_ORIENT02,7455:-1 -moc_ruins,115,123,5 shop Chef Assistant#moc 4_M_04,7455:-1,7453:-1,7454:-1,7456:-1,7452:-1 -geffen,196,111,3 shop Chef Assistant#gef 4_M_03,7482:-1 -alberta,167,135,5 shop Chef Assistant#alb 4_M_05,579:-1 -aldebaran,165,107,2 shop Chef Assistant#alde 4W_M_01,7456:-1,7452:-1,580:-1 -comodo,225,164,3 shop Chef Assistant#cmd 4_M_01,7455:-1,7453:-1,7454:-1,579:-1 -umbala,102,154,3 shop Chef Assistant#um 4_M_01,7456:-1,577:-1 -yuno,130,173,3 shop Chef Assistant#yuno 4_M_01,7457:-1,7482:-1 -einbroch,224,207,5 shop Chef Assistant#ein 4_M_01,7457:-1 -lighthalzen,126,126,3 shop Chef Assistant#lhz 4_M_01,7456:-1,7452:-1 -amatsu,206,150,3 shop Chef Assistant#ama 4_M_01,7453:-1,579:-1 -louyang,256,123,5 shop Chef Assistant#lou 4_M_CHNCOOK,7454:-1,577:-1 -gonryun,147,101,5 shop Chef Assistant#gon 4_M_01,7452:-1,580:-1 -ayothaya,203,178,3 shop Chef Assistant#ayo 4_M_01,7455:-1,577:-1 -xmas,152,137,5 shop Chef Assistant#xmas 4_M_01,7457:-1,577:-1 -niflheim,209,180,5 shop Chef Assistant#nif 4_M_01,581:-1 +prontera,156,212,1 trader Chef Assistant#prt 8_F_GIRL,{ +OnInit: + sellitem Plain_Sauce; + sellitem Red_Spice; + sellitem Pot; + sellitem Bread; +} + +payon,206,119,5 trader Chef Assistant#pay 4_M_ORIENT02,{ +OnInit: + sellitem Hot_Sauce; +} + +moc_ruins,115,123,5 trader Chef Assistant#moc 4_M_04,{ +OnInit: + sellitem Hot_Sauce; + sellitem Sweet_Sauce; + sellitem Plain_Sauce; + sellitem Red_Spice; + sellitem Yellow_Spice; +} + +geffen,196,111,3 trader Chef Assistant#gef 4_M_03,{ +OnInit: + sellitem Pot; +} + +alberta,167,135,5 trader Chef Assistant#alb 4_M_05,{ +OnInit: + sellitem Delicious_Fish; +} + +aldebaran,165,107,2 trader Chef Assistant#alde 4W_M_01,{ +OnInit: + sellitem Red_Spice; + sellitem Yellow_Spice; + sellitem Bread; +} + +comodo,225,164,3 trader Chef Assistant#cmd 4_M_01,{ +OnInit: + sellitem Hot_Sauce; + sellitem Sweet_Sauce; + sellitem Plain_Sauce; + sellitem Delicious_Fish; +} + +umbala,102,154,3 trader Chef Assistant#um 4_M_01,{ +OnInit: + sellitem Red_Spice; + sellitem Grain; +} + +yuno,130,173,3 trader Chef Assistant#yuno 4_M_01,{ +OnInit: + sellitem Cooking_Oil; + sellitem Pot; +} + +einbroch,224,207,5 trader Chef Assistant#ein 4_M_01,{ +OnInit: + sellitem Cooking_Oil; +} + +lighthalzen,126,126,3 trader Chef Assistant#lhz 4_M_01,{ +OnInit: + sellitem Red_Spice; + sellitem Yellow_Spice; +} + +amatsu,206,150,3 trader Chef Assistant#ama 4_M_01,{ +OnInit: + sellitem Sweet_Sauce; + sellitem Delicious_Fish; +} + +louyang,256,123,5 trader Chef Assistant#lou 4_M_CHNCOOK,{ +OnInit: + sellitem Plain_Sauce; + sellitem Grain; +} + +gonryun,147,101,5 trader Chef Assistant#gon 4_M_01,{ +OnInit: + sellitem Yellow_Spice; + sellitem Bread; +} + +ayothaya,203,178,3 trader Chef Assistant#ayo 4_M_01,{ +OnInit: + sellitem Hot_Sauce; + sellitem Grain; +} + +xmas,152,137,5 trader Chef Assistant#xmas 4_M_01,{ +OnInit: + sellitem Cooking_Oil; + sellitem Grain; +} + +niflheim,209,180,5 trader Chef Assistant#nif 4_M_01,{ +OnInit: + sellitem Mushroom; +} + //===== Additional Comments(old): ================================= //= swapped shop titles in GONRYUN, thanks to Kashy @@ -364,4 +2240,4 @@ niflheim,209,180,5 shop Chef Assistant#nif 4_M_01,581:-1 //= 1.9a Pet Merchant -> Lighthalzen [erKURITA] //= 1.9b Added items to Chivas Regal //= 1.9c Slight update for Rachel shop: Tool Dealer -> Fruit Gardener [L0ne_W0lf] -//============================================================ +//============================================================ \ No newline at end of file diff --git a/sql-files/main.sql b/sql-files/main.sql index 60b21285d..906c329fa 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -671,6 +671,7 @@ INSERT INTO `sql_updates` (`timestamp`) VALUES (1383205740); INSERT INTO `sql_updates` (`timestamp`) VALUES (1383955424); INSERT INTO `sql_updates` (`timestamp`) VALUES (1384545461); INSERT INTO `sql_updates` (`timestamp`) VALUES (1384588175); +INSERT INTO `sql_updates` (`timestamp`) VALUES (1387844126); -- -- Table structure for table `sstatus` @@ -731,3 +732,14 @@ CREATE TABLE IF NOT EXISTS `account_data` ( PRIMARY KEY (`account_id`) ) ENGINE=MyISAM; +-- +-- Table structure for table `npc_market_data` +-- + +CREATE TABLE IF NOT EXISTS `npc_market_data` ( + `name` varchar(24) NOT NULL default '', + `itemid` int(11) unsigned NOT NULL default '0', + `amount` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`name`,`itemid`) +) ENGINE=MyISAM; + diff --git a/sql-files/upgrades/2013-12-24--00-15.sql b/sql-files/upgrades/2013-12-24--00-15.sql new file mode 100644 index 000000000..b1f8d019d --- /dev/null +++ b/sql-files/upgrades/2013-12-24--00-15.sql @@ -0,0 +1,8 @@ +#1387844126 +CREATE TABLE IF NOT EXISTS `npc_market_data` ( + `name` varchar(24) NOT NULL default '', + `itemid` int(11) unsigned NOT NULL default '0', + `amount` int(11) unsigned NOT NULL default '0', + PRIMARY KEY (`name`,`itemid`) +) ENGINE=MyISAM; +INSERT INTO `sql_updates` (`timestamp`) VALUES (1387844126); diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt index 9b7ad20d8..0c4ac87e5 100644 --- a/sql-files/upgrades/index.txt +++ b/sql-files/upgrades/index.txt @@ -15,3 +15,4 @@ 2013-11-15--19-57.sql 2013-11-16--07-49.sql 2013-11-18--08-23.sql +2013-12-24--00-15.sql \ No newline at end of file diff --git a/src/common/mmo.h b/src/common/mmo.h index b33b01fa7..bd5da6a9f 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -48,7 +48,7 @@ // 20120307 - 2012-03-07aRagexeRE+ - 0x970 #ifndef PACKETVER -#define PACKETVER 20120418 + #define PACKETVER 20131223 #endif // PACKETVER #ifndef DISABLE_PACKETVER_RE diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 953f1a0dc..ce73319e2 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -9273,17 +9273,28 @@ ACMD(searchstore){ return true; } ACMD(costume){ - const char* names[4] = { + const char* names[] = { "Wedding", "Xmas", "Summer", "Hanbok", +#if PACKETVER >= 20131218 + "Oktoberfest", +#endif + }; + const int name2id[] = { + SC_WEDDING, + SC_XMAS, + SC_SUMMER, + SC_HANBOK, +#if PACKETVER >= 20131218 + SC_OKTOBERFEST, +#endif }; - const int name2id[4] = { SC_WEDDING, SC_XMAS, SC_SUMMER, SC_HANBOK }; - unsigned short k = 0; + unsigned short k = 0, len = ARRAYLENGTH(names); if( !message || !*message ) { - for( k = 0; k < 4; k++ ) { + for( k = 0; k < len; k++ ) { if( sd->sc.data[name2id[k]] ) { sprintf(atcmd_output,msg_txt(1473),names[k]);//Costume '%s' removed. clif->message(sd->fd,atcmd_output); @@ -9293,14 +9304,14 @@ ACMD(costume){ } clif->message(sd->fd,msg_txt(1472)); - for( k = 0; k < 4; k++ ) { + for( k = 0; k < len; k++ ) { sprintf(atcmd_output,msg_txt(1471),names[k]);//-- %s clif->message(sd->fd,atcmd_output); } return false; } - for( k = 0; k < 4; k++ ) { + for( k = 0; k < len; k++ ) { if( sd->sc.data[name2id[k]] ) { sprintf(atcmd_output,msg_txt(1470),names[k]);// You're already with a '%s' costume, type '@costume' to remove it. clif->message(sd->fd,atcmd_output); @@ -9308,11 +9319,11 @@ ACMD(costume){ } } - for( k = 0; k < 4; k++ ) { + for( k = 0; k < len; k++ ) { if( strcmpi(message,names[k]) == 0 ) break; } - if( k == 4 ) { + if( k == len ) { sprintf(atcmd_output,msg_txt(1469),message);// '%s' is not a known costume clif->message(sd->fd,atcmd_output); return false; diff --git a/src/map/clif.c b/src/map/clif.c index 6a55ad344..b442d6279 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -61,7 +61,8 @@ static struct packet_itemlist_equip itemlist_equip; static struct packet_storelist_normal storelist_normal; static struct packet_storelist_equip storelist_equip; static struct packet_viewequip_ack viewequip_list; - +static struct packet_npc_market_result_ack npcmarket_result; +static struct packet_npc_market_open npcmarket_open; //#define DUMP_UNKNOWN_PACKET //#define DUMP_INVALID_PACKET @@ -811,7 +812,7 @@ void clif_clearunit_delayed(struct block_list* bl, clr_type type, int64 tick) { void clif_get_weapon_view(struct map_session_data* sd, unsigned short *rhand, unsigned short *lhand) { - if(sd->sc.option&(OPTION_WEDDING|OPTION_XMAS|OPTION_SUMMER|OPTION_HANBOK)) { + if(sd->sc.option&(OPTION_WEDDING|OPTION_XMAS|OPTION_SUMMER|OPTION_HANBOK|OPTION_OKTOBERFEST)) { *rhand = *lhand = 0; return; } @@ -1743,29 +1744,40 @@ void clif_npcbuysell(struct map_session_data* sd, int id) /// Presents list of items, that can be bought in an NPC shop (ZC_PC_PURCHASE_ITEMLIST). /// 00c6 .W { .L .L .B .W }* -void clif_buylist(struct map_session_data *sd, struct npc_data *nd) -{ +void clif_buylist(struct map_session_data *sd, struct npc_data *nd) { + struct npc_item_list *shop = NULL; + unsigned short shop_size = 0; int fd,i,c; - + nullpo_retv(sd); nullpo_retv(nd); + if( nd->subtype == SCRIPT ) { + shop = nd->u.scr.shop->item; + shop_size = nd->u.scr.shop->items; + } else { + shop = nd->u.shop.shop_item; + shop_size = nd->u.shop.count; + } + fd = sd->fd; - WFIFOHEAD(fd, 4 + nd->u.shop.count * 11); + + WFIFOHEAD(fd, 4 + shop_size * 11); WFIFOW(fd,0) = 0xc6; c = 0; - for( i = 0; i < nd->u.shop.count; i++ ) - { - struct item_data* id = itemdb->exists(nd->u.shop.shop_item[i].nameid); - int val = nd->u.shop.shop_item[i].value; - if( id == NULL ) - continue; - WFIFOL(fd, 4+c*11) = val; - WFIFOL(fd, 8+c*11) = pc->modifybuyvalue(sd,val); - WFIFOB(fd,12+c*11) = itemtype(id->type); - WFIFOW(fd,13+c*11) = ( id->view_id > 0 ) ? id->view_id : id->nameid; - c++; + for( i = 0; i < shop_size; i++ ) { + if( shop[i].nameid ) { + struct item_data* id = itemdb->exists(shop[i].nameid); + int val = shop[i].value; + if( id == NULL ) + continue; + WFIFOL(fd, 4+c*11) = val; + WFIFOL(fd, 8+c*11) = pc->modifybuyvalue(sd,val); + WFIFOB(fd,12+c*11) = itemtype(id->type); + WFIFOW(fd,13+c*11) = ( id->view_id > 0 ) ? id->view_id : id->nameid; + c++; + } } WFIFOW(fd,2) = 4 + c*11; @@ -3170,7 +3182,7 @@ void clif_changelook(struct block_list *bl,int type,int val) case LOOK_BASE: if( !sd ) break; - if( sd->sc.option&(OPTION_WEDDING|OPTION_XMAS|OPTION_SUMMER|OPTION_HANBOK) ) + if( sd->sc.option&(OPTION_WEDDING|OPTION_XMAS|OPTION_SUMMER|OPTION_HANBOK|OPTION_OKTOBERFEST) ) vd->weapon = vd->shield = 0; if( !vd->cloth_color ) @@ -3185,6 +3197,8 @@ void clif_changelook(struct block_list *bl,int type,int val) vd->cloth_color = 0; if( sd->sc.option&OPTION_HANBOK && battle_config.hanbok_ignorepalette ) vd->cloth_color = 0; + if( sd->sc.option&OPTION_OKTOBERFEST /* TODO: config? */ ) + vd->cloth_color = 0; } break; case LOOK_HAIR: @@ -3212,6 +3226,8 @@ void clif_changelook(struct block_list *bl,int type,int val) val = 0; if( sd->sc.option&OPTION_HANBOK && battle_config.hanbok_ignorepalette ) val = 0; + if( sd->sc.option&OPTION_OKTOBERFEST /* TODO: config? */ ) + val = 0; } vd->cloth_color = val; break; @@ -9616,6 +9632,7 @@ void clif_parse_Hotkey(int fd, struct map_session_data *sd) { /// Displays cast-like progress bar (ZC_PROGRESS). /// 02f0 .L