diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/common/packets/packets2019_len_main.h | 19 | ||||
-rw-r--r-- | src/common/packets/packets2019_len_re.h | 19 | ||||
-rw-r--r-- | src/common/packets/packets2019_len_zero.h | 19 | ||||
-rw-r--r-- | src/common/packetsstatic_len.h | 4 | ||||
-rw-r--r-- | src/common/sql.c | 3 | ||||
-rw-r--r-- | src/map/clif.c | 50 | ||||
-rw-r--r-- | src/map/clif.h | 3 | ||||
-rw-r--r-- | src/map/messages_main.h | 341 | ||||
-rw-r--r-- | src/map/messages_re.h | 345 | ||||
-rw-r--r-- | src/map/messages_zero.h | 341 | ||||
-rw-r--r-- | src/map/packets.h | 10 | ||||
-rw-r--r-- | src/map/packets_keys_main.h | 8 | ||||
-rw-r--r-- | src/map/packets_keys_zero.h | 7 | ||||
-rw-r--r-- | src/map/packets_shuffle_main.h | 8 | ||||
-rw-r--r-- | src/map/packets_shuffle_re.h | 8 | ||||
-rw-r--r-- | src/map/packets_shuffle_zero.h | 7 | ||||
-rw-r--r-- | src/map/packets_struct.h | 32 | ||||
-rw-r--r-- | src/map/script.c | 51 | ||||
-rw-r--r-- | src/map/skill.c | 20 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking.Defs.inc | 6 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc | 4 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc | 1 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.Hooks.inc | 32 |
23 files changed, 1194 insertions, 144 deletions
diff --git a/src/common/packets/packets2019_len_main.h b/src/common/packets/packets2019_len_main.h index 8c46258f8..9e333ff87 100644 --- a/src/common/packets/packets2019_len_main.h +++ b/src/common/packets/packets2019_len_main.h @@ -4294,7 +4294,11 @@ packetLen(0x0af8, 11) packetLen(0x0af9, 6) // Packet: 0x0afa +#if PACKETVER >= 20191204 +packetLen(0x0afa, 58) +#elif PACKETVER >= 20190109 packetLen(0x0afa, 54) +#endif // Packet: 0x0afb packetLen(0x0afb, -1) @@ -4846,5 +4850,20 @@ packetLen(0x0b66, 25) packetLen(0x0b67, 32) #endif +// Packet: 0x0b68 +#if PACKETVER >= 20191120 +packetLen(0x0b68, 12) +#endif + +// Packet: 0x0b69 +#if PACKETVER >= 20191127 +packetLen(0x0b69, 18) +#endif + +// Packet: 0x0b6a +#if PACKETVER >= 20191204 +packetLen(0x0b6a, -1) +#endif + #endif /* COMMON_PACKETS2019_LEN_MAIN_H */ diff --git a/src/common/packets/packets2019_len_re.h b/src/common/packets/packets2019_len_re.h index 489fec550..0f487af37 100644 --- a/src/common/packets/packets2019_len_re.h +++ b/src/common/packets/packets2019_len_re.h @@ -4300,7 +4300,11 @@ packetLen(0x0af8, 11) packetLen(0x0af9, 6) // Packet: 0x0afa +#if PACKETVER >= 20191204 +packetLen(0x0afa, 58) +#elif PACKETVER >= 20190109 packetLen(0x0afa, 54) +#endif // Packet: 0x0afb packetLen(0x0afb, -1) @@ -4858,5 +4862,20 @@ packetLen(0x0b66, 25) packetLen(0x0b67, 32) #endif +// Packet: 0x0b68 +#if PACKETVER >= 20191120 +packetLen(0x0b68, 12) +#endif + +// Packet: 0x0b69 +#if PACKETVER >= 20191127 +packetLen(0x0b69, 18) +#endif + +// Packet: 0x0b6a +#if PACKETVER >= 20191204 +packetLen(0x0b6a, -1) +#endif + #endif /* COMMON_PACKETS2019_LEN_RE_H */ diff --git a/src/common/packets/packets2019_len_zero.h b/src/common/packets/packets2019_len_zero.h index ab3403eb6..da0bf6976 100644 --- a/src/common/packets/packets2019_len_zero.h +++ b/src/common/packets/packets2019_len_zero.h @@ -4294,7 +4294,11 @@ packetLen(0x0af8, 11) packetLen(0x0af9, 6) // Packet: 0x0afa +#if PACKETVER >= 20191204 +packetLen(0x0afa, 58) +#elif PACKETVER >= 20190116 packetLen(0x0afa, 54) +#endif // Packet: 0x0afb packetLen(0x0afb, -1) @@ -4830,5 +4834,20 @@ packetLen(0x0b66, 25) packetLen(0x0b67, 32) #endif +// Packet: 0x0b68 +#if PACKETVER >= 20191127 +packetLen(0x0b68, 12) +#endif + +// Packet: 0x0b69 +#if PACKETVER >= 20191127 +packetLen(0x0b69, 18) +#endif + +// Packet: 0x0b6a +#if PACKETVER >= 20191204 +packetLen(0x0b6a, -1) +#endif + #endif /* COMMON_PACKETS2019_LEN_ZERO_H */ diff --git a/src/common/packetsstatic_len.h b/src/common/packetsstatic_len.h index 730516c27..f721ab882 100644 --- a/src/common/packetsstatic_len.h +++ b/src/common/packetsstatic_len.h @@ -32,6 +32,10 @@ #define DEFINE_PACKET_ID(name, id) \ enum { HEADER_##name = id }; +#define CHECK_PACKET_HEADER(name, id) \ + STATIC_ASSERT((int32)(PACKET_LEN_##id) == -1 || sizeof(struct PACKET_##name) == \ + (size_t)PACKET_LEN_##id, "Wrong size PACKET_"#name); \ + #define packetLen(id, len) PACKET_LEN_##id = (len), enum packet_lengths { #include "common/packets_len.h" diff --git a/src/common/sql.c b/src/common/sql.c index 0b5b7fa07..0efc54564 100644 --- a/src/common/sql.c +++ b/src/common/sql.c @@ -94,6 +94,9 @@ static struct Sql *Sql_Malloc(void) { my_bool reconnect = 1; mysql_options(&self->handle, MYSQL_OPT_RECONNECT, &reconnect); +#ifdef WIN32 + mysql_optionsv(&self->handle, MYSQL_PLUGIN_DIR, MARIADB_PLUGINDIR); +#endif } return self; } diff --git a/src/map/clif.c b/src/map/clif.c index b9ca44dec..31fb00c37 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -9087,21 +9087,44 @@ static void clif_specialeffect_single(struct block_list *bl, int type, int fd) /// @see doc/effect_list.txt /// num data: /// effect-dependent value -static void clif_specialeffect_value(struct block_list *bl, int effect_id, int num, send_target target) -{ - uint8 buf[14]; - - WBUFW(buf,0) = 0x284; - WBUFL(buf,2) = bl->id; - WBUFL(buf,6) = effect_id; - WBUFL(buf,10) = num; +static void clif_specialeffect_value(struct block_list *bl, int effect_id, uint64 num, send_target target) +{ +#if PACKETVER_MAIN_NUM >= 20060911 || PACKETVER_AD_NUM >= 20060911 || PACKETVER_SAK_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) + struct PACKET_ZC_NOTIFY_EFFECT3 packet; + packet.packetType = HEADER_ZC_NOTIFY_EFFECT3; + packet.aid = bl->id; + packet.effectId = effect_id; +#if PACKETVER >= 20191127 + packet.num = num; +#else + packet.num = (uint32)num; +#endif - clif->send(buf, packet_len(0x284), bl, target); + clif->send(&packet, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3), bl, target); if (clif->isdisguised(bl)) { - WBUFL(buf,2) = -bl->id; - clif->send(buf, packet_len(0x284), bl, SELF); + packet.aid = -bl->id; + clif->send(&packet, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3), bl, SELF); } +#endif +} + +static void clif_specialeffect_value_single(struct block_list *bl, int effect_id, uint64 num, int fd) +{ +#if PACKETVER_MAIN_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) + WFIFOHEAD(fd, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3)); + + struct PACKET_ZC_NOTIFY_EFFECT3 *packet = WFIFOP(fd, 0); + packet->packetType = HEADER_ZC_NOTIFY_EFFECT3; + packet->aid = bl->id; + packet->effectId = effect_id; +#if PACKETVER >= 20191127 + packet->num = num; +#else + packet->num = (uint32)num; +#endif + WFIFOSET(fd, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3)); +#endif } /// Remove special effects (ZC_REMOVE_EFFECT). @@ -9315,6 +9338,8 @@ static void clif_refresh(struct map_session_data *sd) mail->clear(sd); + clif->loadConfirm(sd); + if (clif->isdisguised(&sd->bl)) {/* refresh-da */ short disguise = sd->disguise; pc->disguise(sd, -1); @@ -19960,6 +19985,7 @@ static void clif_parse_dull(int fd, struct map_session_data *sd) static void clif_parse_CashShopOpen(int fd, struct map_session_data *sd) __attribute__((nonnull (2))); static void clif_parse_CashShopOpen(int fd, struct map_session_data *sd) { +#if PACKETVER >= 20100824 if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd)) return; @@ -19973,6 +19999,7 @@ static void clif_parse_CashShopOpen(int fd, struct map_session_data *sd) WFIFOL(fd, 2) = sd->cashPoints; //[Ryuuzaki] - switched positions to reflect proper values WFIFOL(fd, 6) = sd->kafraPoints; WFIFOSET(fd, 10); +#endif } static void clif_parse_CashShopClose(int fd, struct map_session_data *sd) __attribute__((nonnull (2))); @@ -24064,6 +24091,7 @@ void clif_defaults(void) clif->specialeffect = clif_specialeffect; clif->specialeffect_single = clif_specialeffect_single; clif->specialeffect_value = clif_specialeffect_value; + clif->specialeffect_value_single = clif_specialeffect_value_single; clif->removeSpecialEffect = clif_removeSpecialEffect; clif->removeSpecialEffect_single = clif_removeSpecialEffect_single; clif->millenniumshield = clif_millenniumshield; diff --git a/src/map/clif.h b/src/map/clif.h index 27f1060ff..14a7997a1 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -1030,7 +1030,8 @@ struct clif_interface { void (*weather) (int16 m); void (*specialeffect) (struct block_list* bl, int type, enum send_target target); void (*specialeffect_single) (struct block_list* bl, int type, int fd); - void (*specialeffect_value) (struct block_list* bl, int effect_id, int num, send_target target); + void (*specialeffect_value) (struct block_list* bl, int effect_id, uint64 num, send_target target); + void (*specialeffect_value_single) (struct block_list *bl, int effect_id, uint64 num, int fd); void (*removeSpecialEffect) (struct block_list *bl, int effectId, enum send_target target); void (*removeSpecialEffect_single) (struct block_list *bl, int effectId, struct block_list *targetBl); void (*millenniumshield) (struct block_list *bl, short shields ); diff --git a/src/map/messages_main.h b/src/map/messages_main.h index eb33b41ad..e369d6c56 100644 --- a/src/map/messages_main.h +++ b/src/map/messages_main.h @@ -24,7 +24,7 @@ /* This file is autogenerated, please do not commit manual changes -Latest version: 20191113 +Latest version: 20191211 */ enum clif_messages { @@ -1240,9 +1240,11 @@ Cart Items [Alt+W] Basic Information */ MSG_BASICINFOWND = 0xee, -/*20031028 to latest +/*20031028 to 20191204 이무기로는 이스킬을 사용할수 없습니다. The skill cannot be used with this weapon. +20191211 to latest +현재 무기로는 스킬을 사용할 수 없습니다. */ MSG_USESKILL_FAIL_NOT_SUITABLE_WEAPON = 0xef, /*20031028 to latest @@ -20440,92 +20442,143 @@ MOTP 입력 시간이 초과되었습니다. 처음부터 다시 로그인해주 모험가 중개소 등록 */ MSG_ID_D1C = 0xd1c, -/*20171108 to latest +/*20171108 to 20191120 모집 중단 +20191127 to latest +모험가 중개소 등록하기 */ MSG_ID_D1D = 0xd1d, -/*20171108 to latest +/*20171108 to 20191120 모험가 중개소 설정 +20191127 to latest +모집 중단 */ MSG_ID_D1E = 0xd1e, -/*20171108 to latest +/*20171108 to 20191120 전 지역 +20191127 to latest +메모 +Note */ MSG_ID_D1F = 0xd1f, -/*20171108 to latest +/*20171108 to 20191120 직접기재 +20191127 to latest +퀘스트 +Quest */ MSG_ID_D20 = 0xd20, -/*20171108 to latest +/*20171108 to 20191120 검사계열 +20191127 to latest +필드 */ MSG_ID_D21 = 0xd21, -/*20171108 to latest +/*20171108 to 20191120 법사계열 +20191127 to latest +던전 +Dungeon */ MSG_ID_D22 = 0xd22, -/*20171108 to latest +/*20171108 to 20191120 궁수계열 +20191127 to latest +MD */ MSG_ID_D23 = 0xd23, -/*20171108 to latest +/*20171108 to 20191120 복사계열 +20191127 to latest +낙원단 */ MSG_ID_D24 = 0xd24, -/*20171108 to latest +/*20171108 to 20191120 상인계열 +20191127 to latest +기타 +Other */ MSG_ID_D25 = 0xd25, -/*20171108 to latest +/*20171108 to 20191120 도둑계열 +20191127 to latest +검색 +Search */ MSG_ID_D26 = 0xd26, -/*20171108 to latest +/*20171108 to 20191120 태권계열 +20191127 to latest +초기화 */ MSG_ID_D27 = 0xd27, -/*20171108 to latest +/*20171108 to 20191120 닌자계열 +20191127 to latest +파티가입신청 */ MSG_ID_D28 = 0xd28, -/*20171108 to latest +/*20171108 to 20191120 건슬링거계열 +20191127 to latest +목적 */ MSG_ID_D29 = 0xd29, -/*20171108 to latest +/*20171108 to 20191120 도람족계열 +20191127 to latest +※욕설, 현거래등 운영 규칙에 위배되는 목적으로 사용 시 처벌 받을 수 있습니다. */ MSG_ID_D2A = 0xd2a, -/*20171108 to latest +/*20171108 to 20191120 지역명 +20191127 to latest +등록하기 +Register */ MSG_ID_D2B = 0xd2b, -/*20171108 to latest +/*20171108 to 20191120 지역명 검색 +20191127 to latest +사용할 수 없는 단어가 포함되어 있습니다. */ MSG_ID_D2C = 0xd2c, -/*20171108 to latest +/*20171108 to 20191120 가입 요청하기 +20191127 to latest +파티가입 */ MSG_ID_D2D = 0xd2d, -/*20171108 to latest +/*20171108 to 20191120 신고하기 +20191127 to latest +1:1대화 */ MSG_ID_D2E = 0xd2e, -/*20171108 to latest +/*20171108 to 20191120 파티 모집 중단 +20191127 to latest +모집 중지 */ MSG_ID_D2F = 0xd2f, -/*20171108 to latest +/*20171108 to 20191120 지역명을 입력해주세요. +20191127 to latest +수정하기 */ MSG_ID_D30 = 0xd30, -/*20171108 to latest +/*20171108 to 20191120 지역 +20191127 to latest +전체 +All */ MSG_ID_D31 = 0xd31, -/*20171108 to latest +/*20171108 to 20191120 전 직업 +20191127 to latest +[%s] 님이 파티가입을 신청했습니다. */ MSG_ID_D32 = 0xd32, /*20171108 to latest @@ -20698,12 +20751,17 @@ Password 회원가입 */ MSG_ID_D56 = 0xd56, -/*20171122 to latest +/*20171122 to 20191120 노비스계열 +20191127 to latest +파티장 +Leader */ MSG_ID_D57 = 0xd57, -/*20171122 to latest +/*20171122 to 20191120 슈퍼노비스계열 +20191127 to latest +파티에 가입할 수 있는 레벨이 아닙니다. */ MSG_ID_D58 = 0xd58, /*20171122 to latest @@ -20716,12 +20774,16 @@ Password MSG_ID_D5A = 0xd5a, /*20171122 to 20180328 직업을 한 개 이상 선택해주세요. -20180404 to latest +20180404 to 20191120 모집을 희망하는 파티원의 직업을 한 개 이상 선택해 주세요. +20191127 to latest +검색내용입력 */ MSG_ID_D5B = 0xd5b, -/*20171122 to latest +/*20171122 to 20191127 지역명을 두 글자 이상 입력해주세요. +20191204 to latest +탱커 */ MSG_ID_D5C = 0xd5c, /*20171122 to latest @@ -20812,8 +20874,10 @@ Password 불량 단어가 포함된 이름은 검색할 수 없습니다. */ MSG_ID_D71 = 0xd71, -/*20171213 to latest +/*20171213 to 20191127 파티 마스터가 요청을 받을 수 없는 맵에 있습니다. +20191204 to latest +파티 마스터가 요청을 받을 수 없는 상태입니다. */ MSG_ID_D72 = 0xd72, /*20171213 to latest @@ -20822,8 +20886,10 @@ Password MSG_ID_D73 = 0xd73, /*20171213 to 20180328 님의 파티요청입니다. -20180404 to latest +20180404 to 20191127 님의 파티 가입 요청입니다. +20191204 to latest +딜러 */ MSG_ID_D74 = 0xd74, #endif @@ -21038,8 +21104,10 @@ Enter 4 english words and 2 chinese words The guild tax rate can't be set to more than 50%. */ MSG_ID_D9E = 0xd9e, -/*20180404 to latest +/*20180404 to 20191204 파티 가입 요청을 보냈습니다. +20191211 to latest +파티가 모험가 중개소에 등록되어, 파티장을 변경 할 수 없습니다. */ MSG_ID_D9F = 0xd9f, /*20180404 to latest @@ -21054,8 +21122,10 @@ The guild tax rate can't be set to more than 50%. 거절 */ MSG_ID_DA2 = 0xda2, -/*20180404 to latest +/*20180404 to 20191127 설정 권한은 파티장에게 있습니다. +20191204 to latest +힐러 */ MSG_ID_DA3 = 0xda3, /*20180404 to latest @@ -21114,8 +21184,10 @@ The guild tax rate can't be set to more than 50%. 파티 가입 요청 */ MSG_ID_DB1 = 0xdb1, -/*20180404 to latest +/*20180404 to 20191120 파티장이 아닌 경우, 모험가 중개소에 파티를 등록할 수 없습니다. +20191127 to latest +파티장이 아닌 경우 모험가 중개소에 파티를 등록할 수 없습니다. */ MSG_ID_DB2 = 0xdb2, /*20180404 to 20180404 @@ -21126,8 +21198,11 @@ The guild tax rate can't be set to more than 50%. MSG_ID_DB3 = 0xdb3, #endif #if PACKETVER >= 20180418 -/*20180418 to latest +/*20180418 to 20191127 존재하지 않는 파티 글입니다. +20191204 to latest +보조 +Support */ MSG_ID_DB4 = 0xdb4, /*20180418 to 20180418 @@ -21176,8 +21251,10 @@ Zoom Out 기능을 해제합니다 (Off) 더 이상 직업을 선택할 수 없습니다. */ MSG_ID_DBD = 0xdbd, -/*20180418 to latest +/*20180418 to 20191120 게임 중 해당 유저의 가입 요청을 받지 않습니다. +20191127 to latest +게임 중 해당 유저의 가입 요청을 받지 않습니다.(클라이언트 종료 전까지 유효) */ MSG_ID_DBE = 0xdbe, #endif @@ -22162,6 +22239,200 @@ VTC 인증에 실패하였습니다. */ MSG_ID_E8D = 0xe8d, #endif +#if PACKETVER >= 20191127 +/*20191127 to latest +공격력 및 특성 공격력이 증가되었습니다. +*/ + MSG_ID_E8E = 0xe8e, +/*20191127 to latest +강인한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E8F = 0xe8f, +/*20191127 to latest +HP 및 물리 저항력이 증가되었습니다. +*/ + MSG_ID_E90 = 0xe90, +/*20191127 to latest +굳건한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E91 = 0xe91, +/*20191127 to latest +공격 속도 및 유도 공격 확률이 증가되었습니다. +*/ + MSG_ID_E92 = 0xe92, +/*20191127 to latest +신실한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E93 = 0xe93, +/*20191127 to latest +POW, CRT 및 CON 이 증가되었습니다. +*/ + MSG_ID_E94 = 0xe94, +/*20191127 to latest +베네딕툼 효과가 해제되었습니다. +*/ + MSG_ID_E95 = 0xe95, +/*20191127 to latest +SPL, WIS 및 CRT 가 증가되었습니다. +*/ + MSG_ID_E96 = 0xe96, +/*20191127 to latest +렐리지오 효과가 해제되었습니다. +*/ + MSG_ID_E97 = 0xe97, +/*20191127 to latest +특성 공격력 및 특성 마법 공격력이 증가되었습니다. +*/ + MSG_ID_E98 = 0xe98, +/*20191127 to latest +콤페텐티아 효과가 해제되었습니다. +*/ + MSG_ID_E99 = 0xe99, +/*20191127 to latest +크리티컬 데미지 비율이 증가되었습니다. +*/ + MSG_ID_E9A = 0xe9a, +/*20191127 to latest +프레센스 아치에스 효과가 해제되었습니다. +*/ + MSG_ID_E9B = 0xe9b, +/*20191127 to latest +물리 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_E9C = 0xe9c, +/*20191127 to latest +아르구투스 텔룸 효과가 해제되었습니다. +*/ + MSG_ID_E9D = 0xe9d, +/*20191127 to latest +마법 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_E9E = 0xe9e, +/*20191127 to latest +아르구투스 비타 효과가 해제되었습니다. +*/ + MSG_ID_E9F = 0xe9f, +/*20191127 to latest +Num: %d/%d Weight: %d/%d +*/ + MSG_ID_EA0 = 0xea0, +#endif +#if PACKETVER >= 20191204 +/*20191204 to latest +서번트 웨폰 효과가 해제되었습니다. +*/ + MSG_ID_EA1 = 0xea1, +/*20191204 to latest +챠징 피어스 효과가 해제되었습니다. +*/ + MSG_ID_EA2 = 0xea2, +/*20191204 to latest +비고르 효과가 해제되었습니다. +*/ + MSG_ID_EA3 = 0xea3, +/*20191204 to latest +공격력이 증가하고, 방어력이 감소되었습니다. +*/ + MSG_ID_EA4 = 0xea4, +/*20191204 to latest +어택 스탠스 효과가 해제되었습니다. +*/ + MSG_ID_EA5 = 0xea5, +/*20191204 to latest +방어력이 증가하고, 공격력이 감소되었습니다. +*/ + MSG_ID_EA6 = 0xea6, +/*20191204 to latest +가드 스탠스 효과가 해제되었습니다. +*/ + MSG_ID_EA7 = 0xea7, +/*20191204 to latest +배리어가 부여되었습니다. +*/ + MSG_ID_EA8 = 0xea8, +/*20191204 to latest +가디언 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EA9 = 0xea9, +/*20191204 to latest +헌신 효과로 받는 데미지가 감소되었습니다. +*/ + MSG_ID_EAA = 0xeaa, +/*20191204 to latest +리바운드 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EAB = 0xeab, +/*20191204 to latest +성속성 마법 데미지와 암/불사속성 내성이 증가되었습니다. +*/ + MSG_ID_EAC = 0xeac, +/*20191204 to latest +홀리 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EAD = 0xead, +/*20191204 to latest +즉시 부활 효과가 부여되었습니다. +*/ + MSG_ID_EAE = 0xeae, +/*20191204 to latest +얼티메이트 세크리파이스 효과가 해제되었습니다. +*/ + MSG_ID_EAF = 0xeaf, +/*20191204 to latest +특정 스킬의 효능이 변경되었습니다. +*/ + MSG_ID_EB0 = 0xeb0, +/*20191204 to latest +클라이막스 효과가 해제되었습니다. +*/ + MSG_ID_EB1 = 0xeb1, +/*20191204 to latest +특정 스킬의 효능이 변경되었습니다. +*/ + MSG_ID_EB2 = 0xeb2, +/*20191204 to latest +쉐도우 익시드 효과가 해제되었습니다. +*/ + MSG_ID_EB3 = 0xeb3, +/*20191204 to latest +물리 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_EB4 = 0xeb4, +/*20191204 to latest +포텐트 베넘 효과가 해제되었습니다. +*/ + MSG_ID_EB5 = 0xeb5, +/*20191204 to latest +매 공격 시, 일정 확률로 대상이 받는 데미지를 증가시킵니다. +*/ + MSG_ID_EB6 = 0xeb6, +/*20191204 to latest +인챈팅 쉐도우 효과가 해제되었습니다. +*/ + MSG_ID_EB7 = 0xeb7, +#endif +#if PACKETVER >= 20191211 +/*20191211 to latest +토벌 카운트 On +*/ + MSG_ID_EB8 = 0xeb8, +/*20191211 to latest +토벌 카운트 Off +*/ + MSG_ID_EB9 = 0xeb9, +/*20191211 to latest +대상의 AP가 최대치입니다 +*/ + MSG_ID_EBA = 0xeba, +/*20191211 to latest + ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %d캐시가 차감됩니다. +*/ + MSG_ID_EBB = 0xebb, +/*20191211 to latest + ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %d캐시, 무료 %d캐시가 차감됩니다. +*/ + MSG_ID_EBC = 0xebc, +#endif }; #endif /* MAP_MESSAGES_MAIN_H */ diff --git a/src/map/messages_re.h b/src/map/messages_re.h index dd01e1576..d9f279bfd 100644 --- a/src/map/messages_re.h +++ b/src/map/messages_re.h @@ -24,7 +24,7 @@ /* This file is autogenerated, please do not commit manual changes -Latest version: 20191113 +Latest version: 20191211 */ enum clif_messages { @@ -1231,9 +1231,11 @@ Cart Items [Alt+W] Basic Information */ MSG_BASICINFOWND = 0xee, -/*20080827 to latest +/*20080827 to 20191204 이무기로는 이스킬을 사용할수 없습니다. The skill cannot be used with this weapon. +20191211 to latest +현재 무기로는 스킬을 사용할 수 없습니다. */ MSG_USESKILL_FAIL_NOT_SUITABLE_WEAPON = 0xef, /*20080827 to latest @@ -19919,92 +19921,143 @@ MOTP 입력 시간이 초과되었습니다. 처음부터 다시 로그인해주 모험가 중개소 등록 */ MSG_ID_D1C = 0xd1c, -/*20171108 to latest +/*20171108 to 20191120 모집 중단 +20191127 to latest +모험가 중개소 등록하기 */ MSG_ID_D1D = 0xd1d, -/*20171108 to latest +/*20171108 to 20191120 모험가 중개소 설정 +20191127 to latest +모집 중단 */ MSG_ID_D1E = 0xd1e, -/*20171108 to latest +/*20171108 to 20191120 전 지역 +20191127 to latest +메모 +Note */ MSG_ID_D1F = 0xd1f, -/*20171108 to latest +/*20171108 to 20191120 직접기재 +20191127 to latest +퀘스트 +Quest */ MSG_ID_D20 = 0xd20, -/*20171108 to latest +/*20171108 to 20191120 검사계열 +20191127 to latest +필드 */ MSG_ID_D21 = 0xd21, -/*20171108 to latest +/*20171108 to 20191120 법사계열 +20191127 to latest +던전 +Dungeon */ MSG_ID_D22 = 0xd22, -/*20171108 to latest +/*20171108 to 20191120 궁수계열 +20191127 to latest +MD */ MSG_ID_D23 = 0xd23, -/*20171108 to latest +/*20171108 to 20191120 복사계열 +20191127 to latest +낙원단 */ MSG_ID_D24 = 0xd24, -/*20171108 to latest +/*20171108 to 20191120 상인계열 +20191127 to latest +기타 +Other */ MSG_ID_D25 = 0xd25, -/*20171108 to latest +/*20171108 to 20191120 도둑계열 +20191127 to latest +검색 +Search */ MSG_ID_D26 = 0xd26, -/*20171108 to latest +/*20171108 to 20191120 태권계열 +20191127 to latest +초기화 */ MSG_ID_D27 = 0xd27, -/*20171108 to latest +/*20171108 to 20191120 닌자계열 +20191127 to latest +파티가입신청 */ MSG_ID_D28 = 0xd28, -/*20171108 to latest +/*20171108 to 20191120 건슬링거계열 +20191127 to latest +목적 */ MSG_ID_D29 = 0xd29, -/*20171108 to latest +/*20171108 to 20191120 도람족계열 +20191127 to latest +※욕설, 현거래등 운영 규칙에 위배되는 목적으로 사용 시 처벌 받을 수 있습니다. */ MSG_ID_D2A = 0xd2a, -/*20171108 to latest +/*20171108 to 20191120 지역명 +20191127 to latest +등록하기 +Register */ MSG_ID_D2B = 0xd2b, -/*20171108 to latest +/*20171108 to 20191120 지역명 검색 +20191127 to latest +사용할 수 없는 단어가 포함되어 있습니다. */ MSG_ID_D2C = 0xd2c, -/*20171108 to latest +/*20171108 to 20191120 가입 요청하기 +20191127 to latest +파티가입 */ MSG_ID_D2D = 0xd2d, -/*20171108 to latest +/*20171108 to 20191120 신고하기 +20191127 to latest +1:1대화 */ MSG_ID_D2E = 0xd2e, -/*20171108 to latest +/*20171108 to 20191120 파티 모집 중단 +20191127 to latest +모집 중지 */ MSG_ID_D2F = 0xd2f, -/*20171108 to latest +/*20171108 to 20191120 지역명을 입력해주세요. +20191127 to latest +수정하기 */ MSG_ID_D30 = 0xd30, -/*20171108 to latest +/*20171108 to 20191120 지역 +20191127 to latest +전체 +All */ MSG_ID_D31 = 0xd31, -/*20171108 to latest +/*20171108 to 20191120 전 직업 +20191127 to latest +[%s] 님이 파티가입을 신청했습니다. */ MSG_ID_D32 = 0xd32, /*20171108 to latest @@ -20177,12 +20230,17 @@ Password 회원가입 */ MSG_ID_D56 = 0xd56, -/*20171122 to latest +/*20171122 to 20191120 노비스계열 +20191127 to latest +파티장 +Leader */ MSG_ID_D57 = 0xd57, -/*20171122 to latest +/*20171122 to 20191120 슈퍼노비스계열 +20191127 to latest +파티에 가입할 수 있는 레벨이 아닙니다. */ MSG_ID_D58 = 0xd58, /*20171122 to latest @@ -20195,12 +20253,16 @@ Password MSG_ID_D5A = 0xd5a, /*20171122 to 20180328 직업을 한 개 이상 선택해주세요. -20180404 to latest +20180404 to 20191120 모집을 희망하는 파티원의 직업을 한 개 이상 선택해 주세요. +20191127 to latest +검색내용입력 */ MSG_ID_D5B = 0xd5b, -/*20171122 to latest +/*20171122 to 20191127 지역명을 두 글자 이상 입력해주세요. +20191204 to latest +탱커 */ MSG_ID_D5C = 0xd5c, /*20171122 to latest @@ -20291,8 +20353,10 @@ Password 불량 단어가 포함된 이름은 검색할 수 없습니다. */ MSG_ID_D71 = 0xd71, -/*20171213 to latest +/*20171213 to 20191127 파티 마스터가 요청을 받을 수 없는 맵에 있습니다. +20191204 to latest +파티 마스터가 요청을 받을 수 없는 상태입니다. */ MSG_ID_D72 = 0xd72, /*20171213 to latest @@ -20301,8 +20365,10 @@ Password MSG_ID_D73 = 0xd73, /*20171213 to 20180328 님의 파티요청입니다. -20180404 to latest +20180404 to 20191127 님의 파티 가입 요청입니다. +20191204 to latest +딜러 */ MSG_ID_D74 = 0xd74, #endif @@ -20517,8 +20583,10 @@ Enter 4 english words and 2 chinese words The guild tax rate can't be set to more than 50%. */ MSG_ID_D9E = 0xd9e, -/*20180404 to latest +/*20180404 to 20191204 파티 가입 요청을 보냈습니다. +20191211 to latest +파티가 모험가 중개소에 등록되어, 파티장을 변경 할 수 없습니다. */ MSG_ID_D9F = 0xd9f, /*20180404 to latest @@ -20533,8 +20601,10 @@ The guild tax rate can't be set to more than 50%. 거절 */ MSG_ID_DA2 = 0xda2, -/*20180404 to latest +/*20180404 to 20191127 설정 권한은 파티장에게 있습니다. +20191204 to latest +힐러 */ MSG_ID_DA3 = 0xda3, /*20180404 to latest @@ -20593,8 +20663,10 @@ The guild tax rate can't be set to more than 50%. 파티 가입 요청 */ MSG_ID_DB1 = 0xdb1, -/*20180404 to latest +/*20180404 to 20191120 파티장이 아닌 경우, 모험가 중개소에 파티를 등록할 수 없습니다. +20191127 to latest +파티장이 아닌 경우 모험가 중개소에 파티를 등록할 수 없습니다. */ MSG_ID_DB2 = 0xdb2, /*20180404 to 20180404 @@ -20605,8 +20677,11 @@ The guild tax rate can't be set to more than 50%. MSG_ID_DB3 = 0xdb3, #endif #if PACKETVER >= 20180418 -/*20180418 to latest +/*20180418 to 20191127 존재하지 않는 파티 글입니다. +20191204 to latest +보조 +Support */ MSG_ID_DB4 = 0xdb4, /*20180418 to 20180418 @@ -20647,16 +20722,20 @@ Zoom Out 기능을 해제합니다 (Off) 파티장인 경우, 가입 요청을 할 수 없습니다. */ MSG_ID_DBB = 0xdbb, -/*20180418 to latest +/*20180418 to 20191204 모험가 중개소에 등록 중입니다. 잠시만 기다려 주세요. +20191211 to latest +파티 가입 최대 레벨은 최소 레벨 설정보다 높아야 합니다. */ MSG_ID_DBC = 0xdbc, /*20180418 to latest 더 이상 직업을 선택할 수 없습니다. */ MSG_ID_DBD = 0xdbd, -/*20180418 to latest +/*20180418 to 20191120 게임 중 해당 유저의 가입 요청을 받지 않습니다. +20191127 to latest +게임 중 해당 유저의 가입 요청을 받지 않습니다.(클라이언트 종료 전까지 유효) */ MSG_ID_DBE = 0xdbe, #endif @@ -21639,6 +21718,200 @@ VTC 인증에 실패하였습니다. */ MSG_ID_E8D = 0xe8d, #endif +#if PACKETVER >= 20191127 +/*20191127 to latest +공격력 및 특성 공격력이 증가되었습니다. +*/ + MSG_ID_E8E = 0xe8e, +/*20191127 to latest +강인한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E8F = 0xe8f, +/*20191127 to latest +HP 및 물리 저항력이 증가되었습니다. +*/ + MSG_ID_E90 = 0xe90, +/*20191127 to latest +굳건한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E91 = 0xe91, +/*20191127 to latest +공격 속도 및 유도 공격 확률이 증가되었습니다. +*/ + MSG_ID_E92 = 0xe92, +/*20191127 to latest +신실한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E93 = 0xe93, +/*20191127 to latest +POW, CRT 및 CON 이 증가되었습니다. +*/ + MSG_ID_E94 = 0xe94, +/*20191127 to latest +베네딕툼 효과가 해제되었습니다. +*/ + MSG_ID_E95 = 0xe95, +/*20191127 to latest +SPL, WIS 및 CRT 가 증가되었습니다. +*/ + MSG_ID_E96 = 0xe96, +/*20191127 to latest +렐리지오 효과가 해제되었습니다. +*/ + MSG_ID_E97 = 0xe97, +/*20191127 to latest +특성 공격력 및 특성 마법 공격력이 증가되었습니다. +*/ + MSG_ID_E98 = 0xe98, +/*20191127 to latest +콤페텐티아 효과가 해제되었습니다. +*/ + MSG_ID_E99 = 0xe99, +/*20191127 to latest +크리티컬 데미지 비율이 증가되었습니다. +*/ + MSG_ID_E9A = 0xe9a, +/*20191127 to latest +프레센스 아치에스 효과가 해제되었습니다. +*/ + MSG_ID_E9B = 0xe9b, +/*20191127 to latest +물리 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_E9C = 0xe9c, +/*20191127 to latest +아르구투스 텔룸 효과가 해제되었습니다. +*/ + MSG_ID_E9D = 0xe9d, +/*20191127 to latest +마법 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_E9E = 0xe9e, +/*20191127 to latest +아르구투스 비타 효과가 해제되었습니다. +*/ + MSG_ID_E9F = 0xe9f, +/*20191127 to latest +Num: %d/%d Weight: %d/%d +*/ + MSG_ID_EA0 = 0xea0, +#endif +#if PACKETVER >= 20191204 +/*20191204 to latest +서번트 웨폰 효과가 해제되었습니다. +*/ + MSG_ID_EA1 = 0xea1, +/*20191204 to latest +챠징 피어스 효과가 해제되었습니다. +*/ + MSG_ID_EA2 = 0xea2, +/*20191204 to latest +비고르 효과가 해제되었습니다. +*/ + MSG_ID_EA3 = 0xea3, +/*20191204 to latest +공격력이 증가하고, 방어력이 감소되었습니다. +*/ + MSG_ID_EA4 = 0xea4, +/*20191204 to latest +어택 스탠스 효과가 해제되었습니다. +*/ + MSG_ID_EA5 = 0xea5, +/*20191204 to latest +방어력이 증가하고, 공격력이 감소되었습니다. +*/ + MSG_ID_EA6 = 0xea6, +/*20191204 to latest +가드 스탠스 효과가 해제되었습니다. +*/ + MSG_ID_EA7 = 0xea7, +/*20191204 to latest +배리어가 부여되었습니다. +*/ + MSG_ID_EA8 = 0xea8, +/*20191204 to latest +가디언 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EA9 = 0xea9, +/*20191204 to latest +헌신 효과로 받는 데미지가 감소되었습니다. +*/ + MSG_ID_EAA = 0xeaa, +/*20191204 to latest +리바운드 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EAB = 0xeab, +/*20191204 to latest +성속성 마법 데미지와 암/불사속성 내성이 증가되었습니다. +*/ + MSG_ID_EAC = 0xeac, +/*20191204 to latest +홀리 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EAD = 0xead, +/*20191204 to latest +즉시 부활 효과가 부여되었습니다. +*/ + MSG_ID_EAE = 0xeae, +/*20191204 to latest +얼티메이트 세크리파이스 효과가 해제되었습니다. +*/ + MSG_ID_EAF = 0xeaf, +/*20191204 to latest +특정 스킬의 효능이 변경되었습니다. +*/ + MSG_ID_EB0 = 0xeb0, +/*20191204 to latest +클라이막스 효과가 해제되었습니다. +*/ + MSG_ID_EB1 = 0xeb1, +/*20191204 to latest +특정 스킬의 효능이 변경되었습니다. +*/ + MSG_ID_EB2 = 0xeb2, +/*20191204 to latest +쉐도우 익시드 효과가 해제되었습니다. +*/ + MSG_ID_EB3 = 0xeb3, +/*20191204 to latest +물리 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_EB4 = 0xeb4, +/*20191204 to latest +포텐트 베넘 효과가 해제되었습니다. +*/ + MSG_ID_EB5 = 0xeb5, +/*20191204 to latest +매 공격 시, 일정 확률로 대상이 받는 데미지를 증가시킵니다. +*/ + MSG_ID_EB6 = 0xeb6, +/*20191204 to latest +인챈팅 쉐도우 효과가 해제되었습니다. +*/ + MSG_ID_EB7 = 0xeb7, +#endif +#if PACKETVER >= 20191211 +/*20191211 to latest +토벌 카운트 On +*/ + MSG_ID_EB8 = 0xeb8, +/*20191211 to latest +토벌 카운트 Off +*/ + MSG_ID_EB9 = 0xeb9, +/*20191211 to latest +대상의 AP가 최대치입니다 +*/ + MSG_ID_EBA = 0xeba, +/*20191211 to latest + ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %d캐시가 차감됩니다. +*/ + MSG_ID_EBB = 0xebb, +/*20191211 to latest + ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %d캐시, 무료 %d캐시가 차감됩니다. +*/ + MSG_ID_EBC = 0xebc, +#endif }; #endif /* MAP_MESSAGES_RE_H */ diff --git a/src/map/messages_zero.h b/src/map/messages_zero.h index 0f0511c60..2c0c6203b 100644 --- a/src/map/messages_zero.h +++ b/src/map/messages_zero.h @@ -24,7 +24,7 @@ /* This file is autogenerated, please do not commit manual changes -Latest version: 20191113 +Latest version: 20191211 */ enum clif_messages { @@ -1227,9 +1227,11 @@ Cart Items [Alt+W] Basic Information */ MSG_BASICINFOWND = 0xee, -/*20171018 to latest +/*20171018 to 20191204 이무기로는 이스킬을 사용할수 없습니다. The skill cannot be used with this weapon. +20191211 to latest +현재 무기로는 스킬을 사용할 수 없습니다. */ MSG_USESKILL_FAIL_NOT_SUITABLE_WEAPON = 0xef, /*20171018 to latest @@ -16542,92 +16544,143 @@ MOTP 입력 시간이 초과되었습니다. 처음부터 다시 로그인해주 모험가 중개소 등록 */ MSG_ID_D1C = 0xd1c, -/*20171031 to latest +/*20171031 to 20191113 모집 중단 +20191127 to latest +모험가 중개소 등록하기 */ MSG_ID_D1D = 0xd1d, -/*20171031 to latest +/*20171031 to 20191113 모험가 중개소 설정 +20191127 to latest +모집 중단 */ MSG_ID_D1E = 0xd1e, -/*20171031 to latest +/*20171031 to 20191113 전 지역 +20191127 to latest +메모 +Note */ MSG_ID_D1F = 0xd1f, -/*20171031 to latest +/*20171031 to 20191113 직접기재 +20191127 to latest +퀘스트 +Quest */ MSG_ID_D20 = 0xd20, -/*20171031 to latest +/*20171031 to 20191113 검사계열 +20191127 to latest +필드 */ MSG_ID_D21 = 0xd21, -/*20171031 to latest +/*20171031 to 20191113 법사계열 +20191127 to latest +던전 +Dungeon */ MSG_ID_D22 = 0xd22, -/*20171031 to latest +/*20171031 to 20191113 궁수계열 +20191127 to latest +MD */ MSG_ID_D23 = 0xd23, -/*20171031 to latest +/*20171031 to 20191113 복사계열 +20191127 to latest +낙원단 */ MSG_ID_D24 = 0xd24, -/*20171031 to latest +/*20171031 to 20191113 상인계열 +20191127 to latest +기타 +Other */ MSG_ID_D25 = 0xd25, -/*20171031 to latest +/*20171031 to 20191113 도둑계열 +20191127 to latest +검색 +Search */ MSG_ID_D26 = 0xd26, -/*20171031 to latest +/*20171031 to 20191113 태권계열 +20191127 to latest +초기화 */ MSG_ID_D27 = 0xd27, -/*20171031 to latest +/*20171031 to 20191113 닌자계열 +20191127 to latest +파티가입신청 */ MSG_ID_D28 = 0xd28, -/*20171031 to latest +/*20171031 to 20191113 건슬링거계열 +20191127 to latest +목적 */ MSG_ID_D29 = 0xd29, -/*20171031 to latest +/*20171031 to 20191113 도람족계열 +20191127 to latest +※욕설, 현거래등 운영 규칙에 위배되는 목적으로 사용 시 처벌 받을 수 있습니다. */ MSG_ID_D2A = 0xd2a, -/*20171031 to latest +/*20171031 to 20191113 지역명 +20191127 to latest +등록하기 +Register */ MSG_ID_D2B = 0xd2b, -/*20171031 to latest +/*20171031 to 20191113 지역명 검색 +20191127 to latest +사용할 수 없는 단어가 포함되어 있습니다. */ MSG_ID_D2C = 0xd2c, -/*20171031 to latest +/*20171031 to 20191113 가입 요청하기 +20191127 to latest +파티가입 */ MSG_ID_D2D = 0xd2d, -/*20171031 to latest +/*20171031 to 20191113 신고하기 +20191127 to latest +1:1대화 */ MSG_ID_D2E = 0xd2e, -/*20171031 to latest +/*20171031 to 20191113 파티 모집 중단 +20191127 to latest +모집 중지 */ MSG_ID_D2F = 0xd2f, -/*20171031 to latest +/*20171031 to 20191113 지역명을 입력해주세요. +20191127 to latest +수정하기 */ MSG_ID_D30 = 0xd30, -/*20171031 to latest +/*20171031 to 20191113 지역 +20191127 to latest +전체 +All */ MSG_ID_D31 = 0xd31, -/*20171031 to latest +/*20171031 to 20191113 전 직업 +20191127 to latest +[%s] 님이 파티가입을 신청했습니다. */ MSG_ID_D32 = 0xd32, #endif @@ -16802,12 +16855,17 @@ Password 회원가입 */ MSG_ID_D56 = 0xd56, -/*20171115 to latest +/*20171115 to 20191113 노비스계열 +20191127 to latest +파티장 +Leader */ MSG_ID_D57 = 0xd57, -/*20171115 to latest +/*20171115 to 20191113 슈퍼노비스계열 +20191127 to latest +파티에 가입할 수 있는 레벨이 아닙니다. */ MSG_ID_D58 = 0xd58, /*20171115 to latest @@ -16820,12 +16878,16 @@ Password MSG_ID_D5A = 0xd5a, /*20171115 to 20180321 직업을 한 개 이상 선택해주세요. -20180328 to latest +20180328 to 20191113 모집을 희망하는 파티원의 직업을 한 개 이상 선택해 주세요. +20191127 to latest +검색내용입력 */ MSG_ID_D5B = 0xd5b, -/*20171115 to latest +/*20171115 to 20191127 지역명을 두 글자 이상 입력해주세요. +20191204 to latest +탱커 */ MSG_ID_D5C = 0xd5c, /*20171115 to latest @@ -16924,8 +16986,10 @@ Password 불량 단어가 포함된 이름은 검색할 수 없습니다. */ MSG_ID_D71 = 0xd71, -/*20171213 to latest +/*20171213 to 20191127 파티 마스터가 요청을 받을 수 없는 맵에 있습니다. +20191204 to latest +파티 마스터가 요청을 받을 수 없는 상태입니다. */ MSG_ID_D72 = 0xd72, /*20171213 to latest @@ -16934,8 +16998,10 @@ Password MSG_ID_D73 = 0xd73, /*20171213 to 20180321 님의 파티요청입니다. -20180328 to latest +20180328 to 20191127 님의 파티 가입 요청입니다. +20191204 to latest +딜러 */ MSG_ID_D74 = 0xd74, /*20171213 to latest @@ -17148,8 +17214,10 @@ Enter 4 english words and 2 chinese words The guild tax rate can't be set to more than 50%. */ MSG_ID_D9E = 0xd9e, -/*20180328 to latest +/*20180328 to 20191204 파티 가입 요청을 보냈습니다. +20191211 to latest +파티가 모험가 중개소에 등록되어, 파티장을 변경 할 수 없습니다. */ MSG_ID_D9F = 0xd9f, /*20180328 to latest @@ -17164,8 +17232,10 @@ The guild tax rate can't be set to more than 50%. 거절 */ MSG_ID_DA2 = 0xda2, -/*20180328 to latest +/*20180328 to 20191127 설정 권한은 파티장에게 있습니다. +20191204 to latest +힐러 */ MSG_ID_DA3 = 0xda3, /*20180328 to latest @@ -17226,16 +17296,21 @@ The guild tax rate can't be set to more than 50%. 파티 가입 요청 */ MSG_ID_DB1 = 0xdb1, -/*20180411 to latest +/*20180411 to 20191113 파티장이 아닌 경우, 모험가 중개소에 파티를 등록할 수 없습니다. +20191127 to latest +파티장이 아닌 경우 모험가 중개소에 파티를 등록할 수 없습니다. */ MSG_ID_DB2 = 0xdb2, /*20180411 to latest 파티 모집을 중단할 수 없습니다. */ MSG_ID_DB3 = 0xdb3, -/*20180411 to latest +/*20180411 to 20191127 존재하지 않는 파티 글입니다. +20191204 to latest +보조 +Support */ MSG_ID_DB4 = 0xdb4, #endif @@ -17276,8 +17351,10 @@ Zoom Out 기능을 해제합니다 (Off) 더 이상 직업을 선택할 수 없습니다. */ MSG_ID_DBD = 0xdbd, -/*20180425 to latest +/*20180425 to 20191113 게임 중 해당 유저의 가입 요청을 받지 않습니다. +20191127 to latest +게임 중 해당 유저의 가입 요청을 받지 않습니다.(클라이언트 종료 전까지 유효) */ MSG_ID_DBE = 0xdbe, /*20180425 to latest @@ -18253,6 +18330,200 @@ VTC 인증에 실패하였습니다. */ MSG_ID_E8D = 0xe8d, #endif +#if PACKETVER >= 20191127 +/*20191127 to latest +공격력 및 특성 공격력이 증가되었습니다. +*/ + MSG_ID_E8E = 0xe8e, +/*20191127 to latest +강인한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E8F = 0xe8f, +/*20191127 to latest +HP 및 물리 저항력이 증가되었습니다. +*/ + MSG_ID_E90 = 0xe90, +/*20191127 to latest +굳건한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E91 = 0xe91, +/*20191127 to latest +공격 속도 및 유도 공격 확률이 증가되었습니다. +*/ + MSG_ID_E92 = 0xe92, +/*20191127 to latest +신실한 신념 효과가 해제되었습니다. +*/ + MSG_ID_E93 = 0xe93, +/*20191127 to latest +POW, CRT 및 CON 이 증가되었습니다. +*/ + MSG_ID_E94 = 0xe94, +/*20191127 to latest +베네딕툼 효과가 해제되었습니다. +*/ + MSG_ID_E95 = 0xe95, +/*20191127 to latest +SPL, WIS 및 CRT 가 증가되었습니다. +*/ + MSG_ID_E96 = 0xe96, +/*20191127 to latest +렐리지오 효과가 해제되었습니다. +*/ + MSG_ID_E97 = 0xe97, +/*20191127 to latest +특성 공격력 및 특성 마법 공격력이 증가되었습니다. +*/ + MSG_ID_E98 = 0xe98, +/*20191127 to latest +콤페텐티아 효과가 해제되었습니다. +*/ + MSG_ID_E99 = 0xe99, +/*20191127 to latest +크리티컬 데미지 비율이 증가되었습니다. +*/ + MSG_ID_E9A = 0xe9a, +/*20191127 to latest +프레센스 아치에스 효과가 해제되었습니다. +*/ + MSG_ID_E9B = 0xe9b, +/*20191127 to latest +물리 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_E9C = 0xe9c, +/*20191127 to latest +아르구투스 텔룸 효과가 해제되었습니다. +*/ + MSG_ID_E9D = 0xe9d, +/*20191127 to latest +마법 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_E9E = 0xe9e, +/*20191127 to latest +아르구투스 비타 효과가 해제되었습니다. +*/ + MSG_ID_E9F = 0xe9f, +/*20191127 to latest +Num: %d/%d Weight: %d/%d +*/ + MSG_ID_EA0 = 0xea0, +#endif +#if PACKETVER >= 20191204 +/*20191204 to latest +서번트 웨폰 효과가 해제되었습니다. +*/ + MSG_ID_EA1 = 0xea1, +/*20191204 to latest +챠징 피어스 효과가 해제되었습니다. +*/ + MSG_ID_EA2 = 0xea2, +/*20191204 to latest +비고르 효과가 해제되었습니다. +*/ + MSG_ID_EA3 = 0xea3, +/*20191204 to latest +공격력이 증가하고, 방어력이 감소되었습니다. +*/ + MSG_ID_EA4 = 0xea4, +/*20191204 to latest +어택 스탠스 효과가 해제되었습니다. +*/ + MSG_ID_EA5 = 0xea5, +/*20191204 to latest +방어력이 증가하고, 공격력이 감소되었습니다. +*/ + MSG_ID_EA6 = 0xea6, +/*20191204 to latest +가드 스탠스 효과가 해제되었습니다. +*/ + MSG_ID_EA7 = 0xea7, +/*20191204 to latest +배리어가 부여되었습니다. +*/ + MSG_ID_EA8 = 0xea8, +/*20191204 to latest +가디언 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EA9 = 0xea9, +/*20191204 to latest +헌신 효과로 받는 데미지가 감소되었습니다. +*/ + MSG_ID_EAA = 0xeaa, +/*20191204 to latest +리바운드 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EAB = 0xeab, +/*20191204 to latest +성속성 마법 데미지와 암/불사속성 내성이 증가되었습니다. +*/ + MSG_ID_EAC = 0xeac, +/*20191204 to latest +홀리 쉴드 효과가 해제되었습니다. +*/ + MSG_ID_EAD = 0xead, +/*20191204 to latest +즉시 부활 효과가 부여되었습니다. +*/ + MSG_ID_EAE = 0xeae, +/*20191204 to latest +얼티메이트 세크리파이스 효과가 해제되었습니다. +*/ + MSG_ID_EAF = 0xeaf, +/*20191204 to latest +특정 스킬의 효능이 변경되었습니다. +*/ + MSG_ID_EB0 = 0xeb0, +/*20191204 to latest +클라이막스 효과가 해제되었습니다. +*/ + MSG_ID_EB1 = 0xeb1, +/*20191204 to latest +특정 스킬의 효능이 변경되었습니다. +*/ + MSG_ID_EB2 = 0xeb2, +/*20191204 to latest +쉐도우 익시드 효과가 해제되었습니다. +*/ + MSG_ID_EB3 = 0xeb3, +/*20191204 to latest +물리 저항력 무시 효과가 부여되었습니다. +*/ + MSG_ID_EB4 = 0xeb4, +/*20191204 to latest +포텐트 베넘 효과가 해제되었습니다. +*/ + MSG_ID_EB5 = 0xeb5, +/*20191204 to latest +매 공격 시, 일정 확률로 대상이 받는 데미지를 증가시킵니다. +*/ + MSG_ID_EB6 = 0xeb6, +/*20191204 to latest +인챈팅 쉐도우 효과가 해제되었습니다. +*/ + MSG_ID_EB7 = 0xeb7, +/*20191204 to latest +토벌 카운트 On +*/ + MSG_ID_EB8 = 0xeb8, +/*20191204 to latest +토벌 카운트 Off +*/ + MSG_ID_EB9 = 0xeb9, +#endif +#if PACKETVER >= 20191211 +/*20191211 to latest +대상의 AP가 최대치입니다 +*/ + MSG_ID_EBA = 0xeba, +/*20191211 to latest + ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %d캐시가 차감됩니다. +*/ + MSG_ID_EBB = 0xebb, +/*20191211 to latest + ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %d캐시, 무료 %d캐시가 차감됩니다. +*/ + MSG_ID_EBC = 0xebc, +#endif }; #endif /* MAP_MESSAGES_ZERO_H */ diff --git a/src/map/packets.h b/src/map/packets.h index 326f41791..48d937957 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -726,6 +726,11 @@ packet(0x96e,clif->ackmergeitems); packet(0x0843,clif->pGMRemove2,2); #endif +// all versions +#if PACKETVER >= 20100824 + packet(0x0844,clif->pCashShopOpen,2); +#endif + //2010-11-24aRagexeRE #if PACKETVER >= 20101124 packet(0x0288,clif->pcashshop_buy,4,8); @@ -776,7 +781,6 @@ packet(0x96e,clif->ackmergeitems); //2011-07-18aRagexe (Thanks to Yommy!) #if PACKETVER >= 20110718 // shuffle packets not added - packet(0x0844,clif->pCashShopOpen,2);/* tell server cashshop window is being open */ packet(0x084a,clif->pCashShopClose,2);/* tell server cashshop window is being closed */ packet(0x0846,clif->pCashShopReqTab,2); packet(0x0848,clif->pCashShopBuy,2); @@ -1975,4 +1979,8 @@ packet(0x96e,clif->ackmergeitems); packet(0x0b35,clif->pReqGearOff); #endif +#if PACKETVER >= 20190724 + packet(0x0b4c,clif->pCashShopOpen,2); +#endif + #endif /* MAP_PACKETS_H */ diff --git a/src/map/packets_keys_main.h b/src/map/packets_keys_main.h index 34f4255fc..39186039d 100644 --- a/src/map/packets_keys_main.h +++ b/src/map/packets_keys_main.h @@ -37,7 +37,7 @@ packetKeys(0x49357d72,0x22c370a1,0x5f836591); #endif -// 2010-11-23aRagexeRE, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-25aRagexeRE, 2010-11-26aRagexeRE, 2010-11-30aRagexeRE, 2010-12-07aRagexeRE, 2010-12-14aRagexeRE, 2010-12-21aRagexeRE, 2010-12-23aRagexeRE, 2010-12-28aRagexeRE, 2011-01-04aRagexeRE, 2011-01-05aRagexeRE, 2011-01-11aRagexeRE, 2011-01-18aRagexeRE, 2011-01-25aRagexeRE, 2011-01-26aRagexeRE, 2011-01-26bRagexeRE, 2011-01-31aRagexeRE, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE, 2011-02-08aRagexeRE, 2011-02-15aRagexeRE, 2011-02-22aRagexeRE, 2011-02-23aRagexeRE, 2011-02-23bRagexeRE, 2011-02-24aRagexeRE, 2011-02-25aRagexeRE, 2011-02-28aRagexeRE, 2011-03-08aRagexeRE, 2011-03-09aRagexeRE, 2011-03-09bRagexeRE, 2011-03-09cRagexeRE, 2011-03-09dRagexeRE, 2011-03-15aRagexeRE, 2011-03-22aRagexeRE, 2011-03-29aRagexeRE, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE, 2011-04-05aRagexeRE, 2011-04-12aRagexeRE, 2011-04-19aRagexeRE, 2011-04-20aRagexeRE, 2011-04-26aRagexeRE, 2011-04-27aRagexeRE, 2011-05-03aRagexeRE, 2011-05-11aRagexeRE, 2011-05-17bRagexeRE, 2011-05-24aRagexeRE, 2011-05-26aRagexeRE, 2011-05-31aRagexeRE, 2011-06-07aRagexeRE, 2011-06-08aRagexeRE, 2011-06-08bRagexeRE, 2011-06-08cRagexeRE, 2011-06-09aRagexeRE, 2011-06-14bRagexeRE, 2011-06-22aRagexeRE, 2011-06-28aRagexeRE, 2011-07-06aRagexeRE, 2011-07-13aRagexeRE, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE, 2011-07-19aRagexeRE, 2011-07-26aRagexeRE, 2011-08-03aRagexeRE, 2011-08-03bRagexeRE, 2011-08-10aRagexeRE, 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE, 2018-10-02aRagexe, 2018-10-02aRagexeRE, 2018-10-02bRagexe, 2018-10-02bRagexeRE, 2018-10-17_02aRagexe, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexe, 2018-10-17_03aRagexeRE, 2018-10-17bRagexe, 2018-10-17bRagexeRE, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-10-31cRagexeRE, 2018-11-07aRagexe, 2018-11-07aRagexeRE, 2018-11-14cRagexe, 2018-11-14cRagexeRE, 2018-11-14dRagexe, 2018-11-14dRagexeRE, 2018-11-21bRagexe, 2018-11-21cRagexeRE, 2018-11-28aRagexe, 2018-11-28aRagexeRE, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-05bRagexeRE, 2018-12-12aRagexe, 2018-12-12aRagexeRE, 2018-12-12bRagexe, 2018-12-12bRagexeRE, 2018-12-19bRagexe, 2018-12-19bRagexeRE, 2018-12-26aRagexe, 2018-12-26aRagexeRE, 2019-01-09aRagexe, 2019-01-09bRagexeRE, 2019-01-16bRagexe, 2019-01-16bRagexeRE, 2019-01-16cRagexe, 2019-01-16cRagexeRE, 2019-01-23dRagexe, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-20aRagexeRE, 2019-02-27aRagexe, 2019-02-27bRagexeRE, 2019-02-28aRagexe, 2019-02-28aRagexeRE, 2019-03-06bRagexe, 2019-03-06bRagexeRE, 2019-03-06cRagexe, 2019-03-06cRagexeRE, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-20aRagexeRE, 2019-03-22aRagexe, 2019-03-22aRagexeRE, 2019-03-27bRagexe, 2019-03-27bRagexeRE, 2019-04-03aRagexe, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17aRagexe, 2019-04-17cRagexeRE, 2019-04-18aRagexe, 2019-04-18aRagexeRE, 2019-05-08cRagexe, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexe, 2019-05-22bRagexeRE, 2019-05-22cRagexe, 2019-05-22cRagexeRE, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29bRagexeRE, 2019-05-29cRagexe, 2019-05-29cRagexeRE, 2019-05-30aRagexe, 2019-05-30aRagexeRE, 2019-06-05JRagexeRE, 2019-06-05KRagexe, 2019-06-05LRagexeRE, 2019-06-05fRagexe, 2019-06-05hRagexeRE, 2019-06-19bRagexe, 2019-06-19cRagexeRE, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-06-26bRagexeRE, 2019-07-03aRagexe, 2019-07-03bRagexeRE, 2019-07-17aRagexe, 2019-07-17cRagexeRE, 2019-07-17dRagexe, 2019-07-17dRagexeRE, 2019-07-24aRagexe, 2019-07-24bRagexeRE, 2019-07-31bRagexe, 2019-07-31bRagexeRE, 2019-08-02aRagexe, 2019-08-02aRagexeRE, 2019-08-07aRagexe, 2019-08-07dRagexeRE, 2019-08-21aRagexe, 2019-08-21cRagexeRE, 2019-08-21dRagexeRE, 2019-08-28aRagexe, 2019-08-28aRagexeRE, 2019-09-04aRagexe, 2019-09-04bRagexe, 2019-09-04bRagexeRE, 2019-09-18bRagexe, 2019-09-18cRagexeRE, 2019-09-25aRagexe, 2019-09-25aRagexeRE, 2019-09-25bRagexe, 2019-09-25bRagexeRE, 2019-10-02bRagexeRE, 2019-10-02cRagexe, 2019-10-02dRagexe, 2019-10-02dRagexeRE, 2019-10-02dRagexeRE_2, 2019-10-16fRagexe, 2019-10-16fRagexeRE, 2019-10-16gRagexe, 2019-10-16gRagexeRE, 2019-10-18aRagexe, 2019-10-23aRagexe, 2019-10-23aRagexeRE, 2019-10-30bRagexeRE, 2019-10-30cRagexe, 2019-11-06aRagexe, 2019-11-06bRagexeRE, 2019-11-07aRagexe, 2019-11-07aRagexeRE, 2019-11-13cRagexe, 2019-11-13eRagexe, 2019-11-13eRagexeRE +// 2010-11-23aRagexeRE, 2010-11-24aRagexeRE, 2010-11-24bRagexeRE, 2010-11-25aRagexeRE, 2010-11-26aRagexeRE, 2010-11-30aRagexeRE, 2010-12-07aRagexeRE, 2010-12-14aRagexeRE, 2010-12-21aRagexeRE, 2010-12-23aRagexeRE, 2010-12-28aRagexeRE, 2011-01-04aRagexeRE, 2011-01-05aRagexeRE, 2011-01-11aRagexeRE, 2011-01-18aRagexeRE, 2011-01-25aRagexeRE, 2011-01-26aRagexeRE, 2011-01-26bRagexeRE, 2011-01-31aRagexeRE, 2011-01-31bRagexeRE, 2011-01-31cRagexeRE, 2011-02-08aRagexeRE, 2011-02-15aRagexeRE, 2011-02-22aRagexeRE, 2011-02-23aRagexeRE, 2011-02-23bRagexeRE, 2011-02-24aRagexeRE, 2011-02-25aRagexeRE, 2011-02-28aRagexeRE, 2011-03-08aRagexeRE, 2011-03-09aRagexeRE, 2011-03-09bRagexeRE, 2011-03-09cRagexeRE, 2011-03-09dRagexeRE, 2011-03-15aRagexeRE, 2011-03-22aRagexeRE, 2011-03-29aRagexeRE, 2011-03-30aRagexeRE, 2011-03-30cRagexeRE, 2011-04-05aRagexeRE, 2011-04-12aRagexeRE, 2011-04-19aRagexeRE, 2011-04-20aRagexeRE, 2011-04-26aRagexeRE, 2011-04-27aRagexeRE, 2011-05-03aRagexeRE, 2011-05-11aRagexeRE, 2011-05-17bRagexeRE, 2011-05-24aRagexeRE, 2011-05-26aRagexeRE, 2011-05-31aRagexeRE, 2011-06-07aRagexeRE, 2011-06-08aRagexeRE, 2011-06-08bRagexeRE, 2011-06-08cRagexeRE, 2011-06-09aRagexeRE, 2011-06-14bRagexeRE, 2011-06-22aRagexeRE, 2011-06-28aRagexeRE, 2011-07-06aRagexeRE, 2011-07-13aRagexeRE, 2011-07-13bRagexeRE, 2011-07-13cRagexeRE, 2011-07-19aRagexeRE, 2011-07-26aRagexeRE, 2011-08-03aRagexeRE, 2011-08-03bRagexeRE, 2011-08-10aRagexeRE, 2013-12-23aRagexeRE, 2014-05-08aRagexe, 2014-05-08aRagexeRE, 2014-06-11eRagexe, 2015-02-25hRagexe, 2018-03-15aRagexe, 2018-03-21aRagexe, 2018-03-21aRagexeRE, 2018-03-28bRagexe, 2018-03-28bRagexeRE, 2018-04-04bRagexe, 2018-04-04cRagexeRE, 2018-04-18aRagexe, 2018-04-18bRagexeRE, 2018-04-25cRagexe, 2018-04-25cRagexeRE, 2018-05-02bRagexe, 2018-05-02bRagexeRE, 2018-05-02dRagexeRE, 2018-05-09aRagexe, 2018-05-16cRagexe, 2018-05-16cRagexeRE, 2018-05-23aRagexe, 2018-05-23aRagexeRE, 2018-05-30aRagexe, 2018-05-30bRagexeRE, 2018-05-30cRagexeRE, 2018-06-05bRagexe, 2018-06-05bRagexeRE, 2018-06-12aRagexeRE, 2018-06-12bRagexeRE, 2018-06-20cRagexe, 2018-06-20dRagexeRE, 2018-06-20eRagexe, 2018-06-20eRagexeRE, 2018-06-21aRagexe, 2018-06-21aRagexeRE, 2018-07-04aRagexe, 2018-07-04aRagexeRE, 2018-07-11aRagexeRE, 2018-07-18bRagexe, 2018-07-18bRagexeRE, 2018-07-18bRagexeRE1, 2018-07-18cRagexe, 2018-07-18cRagexeRE, 2018-08-01cRagexe, 2018-08-01cRagexeRE, 2018-08-08bRagexe, 2018-08-08bRagexeRE, 2018-08-22cRagexe, 2018-08-22cRagexeRE, 2018-08-29aRagexe, 2018-08-29aRagexeRE, 2018-08-29bRagexeRE, 2018-08-31aRagexe, 2018-09-12dRagexe, 2018-09-12dRagexeRE, 2018-09-19aRagexe, 2018-09-19aRagexeRE, 2018-10-02aRagexe, 2018-10-02aRagexeRE, 2018-10-02bRagexe, 2018-10-02bRagexeRE, 2018-10-17_02aRagexe, 2018-10-17_02aRagexeRE, 2018-10-17_03aRagexe, 2018-10-17_03aRagexeRE, 2018-10-17bRagexe, 2018-10-17bRagexeRE, 2018-10-24bRagexe, 2018-10-31aRagexe, 2018-10-31bRagexe, 2018-10-31cRagexeRE, 2018-11-07aRagexe, 2018-11-07aRagexeRE, 2018-11-14cRagexe, 2018-11-14cRagexeRE, 2018-11-14dRagexe, 2018-11-14dRagexeRE, 2018-11-21bRagexe, 2018-11-21cRagexeRE, 2018-11-28aRagexe, 2018-11-28aRagexeRE, 2018-11-28bRagexe, 2018-11-28cRagexe, 2018-12-05aRagexe, 2018-12-05bRagexeRE, 2018-12-12aRagexe, 2018-12-12aRagexeRE, 2018-12-12bRagexe, 2018-12-12bRagexeRE, 2018-12-19bRagexe, 2018-12-19bRagexeRE, 2018-12-26aRagexe, 2018-12-26aRagexeRE, 2019-01-09aRagexe, 2019-01-09bRagexeRE, 2019-01-16bRagexe, 2019-01-16bRagexeRE, 2019-01-16cRagexe, 2019-01-16cRagexeRE, 2019-01-23dRagexe, 2019-01-23dRagexeRE, 2019-02-13IRagexeRE, 2019-02-13bRagexe, 2019-02-13eRagexe, 2019-02-20aRagexeRE, 2019-02-27aRagexe, 2019-02-27bRagexeRE, 2019-02-28aRagexe, 2019-02-28aRagexeRE, 2019-03-06bRagexe, 2019-03-06bRagexeRE, 2019-03-06cRagexe, 2019-03-06cRagexeRE, 2019-03-13aRagexe, 2019-03-20aRagexe, 2019-03-20aRagexeRE, 2019-03-22aRagexe, 2019-03-22aRagexeRE, 2019-03-27bRagexe, 2019-03-27bRagexeRE, 2019-04-03aRagexe, 2019-04-03bRagexeRE, 2019-04-03cRagexeRE, 2019-04-17aRagexe, 2019-04-17cRagexeRE, 2019-04-18aRagexe, 2019-04-18aRagexeRE, 2019-05-08cRagexe, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexe, 2019-05-22bRagexeRE, 2019-05-22cRagexe, 2019-05-22cRagexeRE, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29bRagexeRE, 2019-05-29cRagexe, 2019-05-29cRagexeRE, 2019-05-30aRagexe, 2019-05-30aRagexeRE, 2019-06-05JRagexeRE, 2019-06-05KRagexe, 2019-06-05LRagexeRE, 2019-06-05fRagexe, 2019-06-05hRagexeRE, 2019-06-19bRagexe, 2019-06-19cRagexeRE, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-06-26bRagexeRE, 2019-07-03aRagexe, 2019-07-03bRagexeRE, 2019-07-17aRagexe, 2019-07-17cRagexeRE, 2019-07-17dRagexe, 2019-07-17dRagexeRE, 2019-07-24aRagexe, 2019-07-24bRagexeRE, 2019-07-31bRagexe, 2019-07-31bRagexeRE, 2019-08-02aRagexe, 2019-08-02aRagexeRE, 2019-08-07aRagexe, 2019-08-07dRagexeRE, 2019-08-21aRagexe, 2019-08-21cRagexeRE, 2019-08-21dRagexeRE, 2019-08-28aRagexe, 2019-08-28aRagexeRE, 2019-09-04aRagexe, 2019-09-04bRagexe, 2019-09-04bRagexeRE, 2019-09-18bRagexe, 2019-09-18cRagexeRE, 2019-09-25aRagexe, 2019-09-25aRagexeRE, 2019-09-25bRagexe, 2019-09-25bRagexeRE, 2019-10-02bRagexeRE, 2019-10-02cRagexe, 2019-10-02dRagexe, 2019-10-02dRagexeRE, 2019-10-02dRagexeRE_2, 2019-10-16fRagexe, 2019-10-16fRagexeRE, 2019-10-16gRagexe, 2019-10-16gRagexeRE, 2019-10-18aRagexe, 2019-10-23aRagexe, 2019-10-23aRagexeRE, 2019-10-30bRagexeRE, 2019-10-30cRagexe, 2019-11-06aRagexe, 2019-11-06bRagexeRE, 2019-11-07aRagexe, 2019-11-07aRagexeRE, 2019-11-13cRagexe, 2019-11-13eRagexe, 2019-11-13eRagexeRE, 2019-11-20aRagexe, 2019-11-20cRagexeRE, 2019-11-20dRagexe, 2019-11-27aRagexe, 2019-11-27aRagexeRE, 2019-11-27bRagexe, 2019-12-04aRagexe, 2019-12-04aRagexeRE, 2019-12-04bRagexe, 2019-12-04bRagexeRE, 2019-12-04cRagexeRE, 2019-12-11aRagexe, 2019-12-11fRagexeRE #if PACKETVER == 20101123 || \ PACKETVER == 20101124 || \ PACKETVER == 20101125 || \ @@ -174,7 +174,11 @@ PACKETVER == 20191030 || \ PACKETVER == 20191106 || \ PACKETVER == 20191107 || \ - PACKETVER >= 20191113 + PACKETVER == 20191113 || \ + PACKETVER == 20191120 || \ + PACKETVER == 20191127 || \ + PACKETVER == 20191204 || \ + PACKETVER >= 20191211 packetKeys(0x00000000,0x00000000,0x00000000); #endif diff --git a/src/map/packets_keys_zero.h b/src/map/packets_keys_zero.h index b398f1894..3faefb3cf 100644 --- a/src/map/packets_keys_zero.h +++ b/src/map/packets_keys_zero.h @@ -30,7 +30,7 @@ /* This file is autogenerated, please do not commit manual changes */ -// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero, 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero, 2019-06-26_3aRagexe_zero, 2019-07-09aRagexe_zero, 2019-07-10_3aRagexe_zero, 2019-07-17aRagexe_zero, 2019-07-24aRagexe_zero, 2019-08-14_3aRagexe_zero, 2019-08-28_2aRagexe_zero, 2019-08-28_3aRagexe_zero, 2019-09-11aRagexe_zero, 2019-09-18_2aRagexe_zero, 2019-09-18aRagexe_zero, 2019-09-25_3aRagexe_zero, 2019-09-25_5aRagexe_zero, 2019-10-08_2aRagexe_zero, 2019-10-23_2aRagexe_zero, 2019-11-06aRagexe_zero, 2019-11-13aRagexe_zero +// 2017-10-18aRagexe_zero, 2017-10-19aRagexe_zero, 2017-10-23aRagexe_zero, 2017-10-23bRagexe_zero, 2017-10-23cRagexe_zero, 2017-10-24aRagexe_2_zero, 2017-10-24aRagexe_zero, 2017-10-25bRagexe_zero, 2017-10-27aRagexe_zero, 2017-10-27bRagexe_zero, 2017-10-30aRagexe_zero, 2017-10-31aRagexe_zero, 2017-11-09aRagexe_zero, 2017-11-13aRagexe_zero, 2017-11-13bRagexe_zero, 2018-03-15aRagexe_zero, 2018-03-21aRagexe_zero, 2018-03-21bRagexe_zero, 2018-03-28_1aRagexe_zero, 2018-03-28cRagexe_zero, 2018-04-11aRagexe_zero, 2018-04-25_3aRagexe_zero, 2018-05-09_3aRagexe_zero, 2018-05-23aRagexe_zero, 2018-06-05bRagexe_zero, 2018-06-05cRagexe_zero, 2018-06-27aRagexe_zero, 2018-07-03aRagexe_zero, 2018-07-11_2aRagexe_zero, 2018-07-25_2aRagexe_zero, 2018-08-01aRagexe_zero, 2018-08-08_2aRagexe_zero, 2018-08-22aRagexe_zero, 2018-08-29aRagexe_zero, 2018-09-05aRagexe_zero, 2018-09-12aRagexe_zero, 2018-09-19aRagexe_zero, 2018-09-28aRagexe_zero, 2018-10-10_2aRagexe_zero, 2018-10-24_2aRagexe_zero, 2018-11-14aRagexe_zero, 2018-11-20aRagexe_zero, 2018-11-28aRagexe_zero, 2018-12-12aRagexe_zero, 2018-12-19aRagexe_zero, 2018-12-26_2aRagexe_zero, 2019-01-16_2aRagexe_zero, 2019-01-17_1aRagexe_zero, 2019-01-30_2aRagexe_zero, 2019-02-13aRagexe_zero, 2019-02-20aRagexe_zero, 2019-02-27aRagexe_zero, 2019-03-13aRagexe_zero, 2019-03-27_2aRagexe_zero, 2019-03-27_3aRagexe_zero, 2019-04-03aRagexe_zero, 2019-04-10bRagexe_zero, 2019-04-24aRagexe_zero, 2019-05-02aRagexe_zero, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero, 2019-06-26_3aRagexe_zero, 2019-07-09aRagexe_zero, 2019-07-10_3aRagexe_zero, 2019-07-17aRagexe_zero, 2019-07-24aRagexe_zero, 2019-08-14_3aRagexe_zero, 2019-08-28_2aRagexe_zero, 2019-08-28_3aRagexe_zero, 2019-09-11aRagexe_zero, 2019-09-18_2aRagexe_zero, 2019-09-18aRagexe_zero, 2019-09-25_3aRagexe_zero, 2019-09-25_5aRagexe_zero, 2019-10-08_2aRagexe_zero, 2019-10-23_2aRagexe_zero, 2019-11-06aRagexe_zero, 2019-11-13aRagexe_zero, 2019-11-27_2aRagexe_zero, 2019-11-27aRagexe_zero, 2019-12-04aRagexe_zero, 2019-12-11_2aRagexe_zero #if PACKETVER == 20171018 || \ PACKETVER == 20171019 || \ PACKETVER == 20171023 || \ @@ -99,7 +99,10 @@ PACKETVER == 20191008 || \ PACKETVER == 20191023 || \ PACKETVER == 20191106 || \ - PACKETVER >= 20191113 + PACKETVER == 20191113 || \ + PACKETVER == 20191127 || \ + PACKETVER == 20191204 || \ + PACKETVER >= 20191211 packetKeys(0x00000000,0x00000000,0x00000000); #endif diff --git a/src/map/packets_shuffle_main.h b/src/map/packets_shuffle_main.h index 9b82f25d8..8e0eb63d5 100644 --- a/src/map/packets_shuffle_main.h +++ b/src/map/packets_shuffle_main.h @@ -9794,7 +9794,7 @@ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14 #endif -// 2019-09-04aRagexe, 2019-09-04bRagexe, 2019-09-18bRagexe, 2019-09-25aRagexe, 2019-09-25bRagexe, 2019-10-02cRagexe, 2019-10-02dRagexe, 2019-10-16fRagexe, 2019-10-16gRagexe, 2019-10-18aRagexe, 2019-10-23aRagexe, 2019-10-30cRagexe, 2019-11-06aRagexe, 2019-11-07aRagexe, 2019-11-13cRagexe, 2019-11-13eRagexe +// 2019-09-04aRagexe, 2019-09-04bRagexe, 2019-09-18bRagexe, 2019-09-25aRagexe, 2019-09-25bRagexe, 2019-10-02cRagexe, 2019-10-02dRagexe, 2019-10-16fRagexe, 2019-10-16gRagexe, 2019-10-18aRagexe, 2019-10-23aRagexe, 2019-10-30cRagexe, 2019-11-06aRagexe, 2019-11-07aRagexe, 2019-11-13cRagexe, 2019-11-13eRagexe, 2019-11-20aRagexe, 2019-11-20dRagexe, 2019-11-27aRagexe, 2019-11-27bRagexe, 2019-12-04aRagexe, 2019-12-04bRagexe, 2019-12-11aRagexe #if PACKETVER == 20190904 || \ PACKETVER == 20190918 || \ PACKETVER == 20190925 || \ @@ -9805,7 +9805,11 @@ PACKETVER == 20191030 || \ PACKETVER == 20191106 || \ PACKETVER == 20191107 || \ - PACKETVER == 20191113 + PACKETVER == 20191113 || \ + PACKETVER == 20191120 || \ + PACKETVER == 20191127 || \ + PACKETVER == 20191204 || \ + PACKETVER == 20191211 packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26 packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5 packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36 diff --git a/src/map/packets_shuffle_re.h b/src/map/packets_shuffle_re.h index e002a5b84..891afde57 100644 --- a/src/map/packets_shuffle_re.h +++ b/src/map/packets_shuffle_re.h @@ -9744,7 +9744,7 @@ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14 #endif -// 2019-09-04bRagexeRE, 2019-09-18cRagexeRE, 2019-09-25aRagexeRE, 2019-09-25bRagexeRE, 2019-10-02bRagexeRE, 2019-10-02dRagexeRE, 2019-10-02dRagexeRE_2, 2019-10-16fRagexeRE, 2019-10-16gRagexeRE, 2019-10-23aRagexeRE, 2019-10-30bRagexeRE, 2019-11-06bRagexeRE, 2019-11-07aRagexeRE, 2019-11-13eRagexeRE +// 2019-09-04bRagexeRE, 2019-09-18cRagexeRE, 2019-09-25aRagexeRE, 2019-09-25bRagexeRE, 2019-10-02bRagexeRE, 2019-10-02dRagexeRE, 2019-10-02dRagexeRE_2, 2019-10-16fRagexeRE, 2019-10-16gRagexeRE, 2019-10-23aRagexeRE, 2019-10-30bRagexeRE, 2019-11-06bRagexeRE, 2019-11-07aRagexeRE, 2019-11-13eRagexeRE, 2019-11-20cRagexeRE, 2019-11-27aRagexeRE, 2019-12-04aRagexeRE, 2019-12-04bRagexeRE, 2019-12-04cRagexeRE, 2019-12-11fRagexeRE #if PACKETVER == 20190904 || \ PACKETVER == 20190918 || \ PACKETVER == 20190925 || \ @@ -9754,7 +9754,11 @@ PACKETVER == 20191030 || \ PACKETVER == 20191106 || \ PACKETVER == 20191107 || \ - PACKETVER == 20191113 + PACKETVER == 20191113 || \ + PACKETVER == 20191120 || \ + PACKETVER == 20191127 || \ + PACKETVER == 20191204 || \ + PACKETVER == 20191211 packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26 packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5 packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36 diff --git a/src/map/packets_shuffle_zero.h b/src/map/packets_shuffle_zero.h index bb5300024..8ea474bd5 100644 --- a/src/map/packets_shuffle_zero.h +++ b/src/map/packets_shuffle_zero.h @@ -803,7 +803,7 @@ packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14 #endif -// 2019-08-28_2aRagexe_zero, 2019-08-28_3aRagexe_zero, 2019-09-11aRagexe_zero, 2019-09-18_2aRagexe_zero, 2019-09-18aRagexe_zero, 2019-09-25_3aRagexe_zero, 2019-09-25_5aRagexe_zero, 2019-10-08_2aRagexe_zero, 2019-10-23_2aRagexe_zero, 2019-11-06aRagexe_zero, 2019-11-13aRagexe_zero +// 2019-08-28_2aRagexe_zero, 2019-08-28_3aRagexe_zero, 2019-09-11aRagexe_zero, 2019-09-18_2aRagexe_zero, 2019-09-18aRagexe_zero, 2019-09-25_3aRagexe_zero, 2019-09-25_5aRagexe_zero, 2019-10-08_2aRagexe_zero, 2019-10-23_2aRagexe_zero, 2019-11-06aRagexe_zero, 2019-11-13aRagexe_zero, 2019-11-27_2aRagexe_zero, 2019-11-27aRagexe_zero, 2019-12-04aRagexe_zero, 2019-12-11_2aRagexe_zero #if PACKETVER == 20190828 || \ PACKETVER == 20190911 || \ PACKETVER == 20190918 || \ @@ -811,7 +811,10 @@ PACKETVER == 20191008 || \ PACKETVER == 20191023 || \ PACKETVER == 20191106 || \ - PACKETVER == 20191113 + PACKETVER == 20191113 || \ + PACKETVER == 20191127 || \ + PACKETVER == 20191204 || \ + PACKETVER == 20191211 packet(0x0202,clif->pFriendsListAdd,2); // CZ_ADD_FRIENDS // 26 packet(0x022d,clif->pHomMenu,2,4); // CZ_COMMAND_MER // 5 packet(0x023b,clif->pStoragePassword,0); // CZ_ACK_STORE_PASSWORD // 36 diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h index a7a9e2e63..a98317364 100644 --- a/src/map/packets_struct.h +++ b/src/map/packets_struct.h @@ -3729,6 +3729,38 @@ struct PACKET_CZ_REQ_MOUNTOFF { DEFINE_PACKET_HEADER(CZ_REQ_MOUNTOFF, 0x0b35); #endif +// in 3 clients from same version +#if PACKETVER >= 20191127 +struct PACKET_ZC_NOTIFY_EFFECT3 { + int16 packetType; + uint32 aid; + uint32 effectId; + uint64 num; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(ZC_NOTIFY_EFFECT3, 0x0b69); +#elif PACKETVER_MAIN_NUM >= 20060911 || PACKETVER_AD_NUM >= 20060911 || PACKETVER_SAK_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) +struct PACKET_ZC_NOTIFY_EFFECT3 { + int16 packetType; + uint32 aid; + uint32 effectId; + uint32 num; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(ZC_NOTIFY_EFFECT3, 0x0284); +#endif + +#if PACKETVER >= 20190724 +struct PACKET_CZ_SE_CASHSHOP_OPEN { + int16 packetType; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(CZ_SE_CASHSHOP_OPEN, 0x0b4c); +CHECK_PACKET_HEADER(CZ_SE_CASHSHOP_OPEN, 0x0844); +#elif PACKETVER >= 20100824 +struct PACKET_CZ_SE_CASHSHOP_OPEN { + int16 packetType; +} __attribute__((packed)); +DEFINE_PACKET_HEADER(CZ_SE_CASHSHOP_OPEN, 0x0844); +#endif + #if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute #pragma pack(pop) #endif // not NetBSD < 6 / Solaris diff --git a/src/map/script.c b/src/map/script.c index 16336b46d..396d084a3 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -15815,6 +15815,56 @@ static BUILDIN(specialeffect) return true; } +/*========================================== + * Special effects with num [4144] + *------------------------------------------*/ +static BUILDIN(specialeffectnum) +{ + struct block_list *bl = NULL; + int type = script_getnum(st, 2); + int num = script_getnum(st, 3); + int num2 = script_getnum(st, 4); + enum send_target target = AREA; + + if (script_hasdata(st, 5)) { + target = script_getnum(st, 5); + } + + if (script_hasdata(st, 6)) { + if (script_isstringtype(st, 6)) { + struct npc_data *nd = npc->name2id(script_getstr(st, 6)); + if (nd != NULL) { + bl = &nd->bl; + } + } else { + bl = map->id2bl(script_getnum(st, 6)); + } + } else { + bl = map->id2bl(st->oid); + } + + if (bl == NULL) { + return true; + } + + uint64 bigNum = ((uint64)num2) * 0xffffffff + num; + if (target == SELF) { + struct map_session_data *sd; + if (script_hasdata(st, 7)) { + sd = map->id2sd(script_getnum(st, 7)); + } else { + sd = script->rid2sd(st); + } + if (sd != NULL) { + clif->specialeffect_value_single(bl, type, bigNum, sd->fd); + } + } else { + clif->specialeffect_value(bl, type, bigNum, target); + } + + return true; +} + static BUILDIN(specialeffect2) { struct map_session_data *sd; @@ -26369,6 +26419,7 @@ static void script_parse_builtin(void) BUILDIN_DEF(skilleffect,"vi"), // skill effect [Celest] BUILDIN_DEF(npcskilleffect,"viii"), // npc skill effect [Valaris] BUILDIN_DEF(specialeffect,"i???"), // npc skill effect [Valaris] + BUILDIN_DEF(specialeffectnum,"iii???"), // npc skill effect with num [4144] BUILDIN_DEF(removespecialeffect,"i???"), BUILDIN_DEF_DEPRECATED(specialeffect2,"i??"), // skill effect on players[Valaris] BUILDIN_DEF(nude,""), // nude command [Valaris] diff --git a/src/map/skill.c b/src/map/skill.c index e2d76fb8b..c19a684af 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -8463,7 +8463,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list * status_fix_damage(src, bl, 1000, 0); clif->damage(src,bl,0,0,1000,0,BDT_NORMAL,0); if( !status->isdead(bl) ) { - int where[] = { EQP_ARMOR, EQP_SHIELD, EQP_HELM, EQP_SHOES, EQP_GARMENT }; + int where[] = {EQP_ARMOR, EQP_SHIELD, EQP_HELM}; skill->break_equip(bl, where[rnd() % ARRAYLENGTH(where)], 10000, BCT_ENEMY); } } @@ -19758,23 +19758,23 @@ static int skill_get_elemental_type(uint16 skill_id, uint16 skill_lv) static void skill_cooldown_save(struct map_session_data *sd) { int i; - struct skill_cd* cd = NULL; + struct skill_cd *cd = NULL; int64 now = 0; - // always check to make sure the session properly exists nullpo_retv(sd); - if( !(cd = idb_get(skill->cd_db, sd->status.char_id)) ) {// no skill cooldown is associated with this character + if ((cd = idb_get(skill->cd_db, sd->status.char_id)) == NULL) return; - } now = timer->gettick(); - // process each individual cooldown associated with the character - for( i = 0; i < cd->cursor; i++ ) { - cd->entry[i]->duration = DIFF_TICK32(cd->entry[i]->started+cd->entry[i]->duration,now); - if( cd->entry[i]->timer != INVALID_TIMER ) { - timer->delete(cd->entry[i]->timer,skill->blockpc_end); + for (i = 0; i < cd->cursor; i++) { + if (battle_config.guild_skill_relog_delay == 1 && cd->entry[i]->skill_id > GD_SKILLBASE && cd->entry[i]->skill_id < GD_MAX) + continue; + + cd->entry[i]->duration = DIFF_TICK32(cd->entry[i]->started + cd->entry[i]->duration, now); + if (cd->entry[i]->timer != INVALID_TIMER) { + timer->delete(cd->entry[i]->timer, skill->blockpc_end); cd->entry[i]->timer = INVALID_TIMER; } } diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc index fe72a7e13..f878f36b8 100644 --- a/src/plugins/HPMHooking/HPMHooking.Defs.inc +++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc @@ -1562,8 +1562,10 @@ typedef void (*HPMHOOK_pre_clif_specialeffect) (struct block_list **bl, int *typ typedef void (*HPMHOOK_post_clif_specialeffect) (struct block_list *bl, int type, enum send_target target); typedef void (*HPMHOOK_pre_clif_specialeffect_single) (struct block_list **bl, int *type, int *fd); typedef void (*HPMHOOK_post_clif_specialeffect_single) (struct block_list *bl, int type, int fd); -typedef void (*HPMHOOK_pre_clif_specialeffect_value) (struct block_list **bl, int *effect_id, int *num, send_target *target); -typedef void (*HPMHOOK_post_clif_specialeffect_value) (struct block_list *bl, int effect_id, int num, send_target target); +typedef void (*HPMHOOK_pre_clif_specialeffect_value) (struct block_list **bl, int *effect_id, uint64 *num, send_target *target); +typedef void (*HPMHOOK_post_clif_specialeffect_value) (struct block_list *bl, int effect_id, uint64 num, send_target target); +typedef void (*HPMHOOK_pre_clif_specialeffect_value_single) (struct block_list **bl, int *effect_id, uint64 *num, int *fd); +typedef void (*HPMHOOK_post_clif_specialeffect_value_single) (struct block_list *bl, int effect_id, uint64 num, int fd); typedef void (*HPMHOOK_pre_clif_removeSpecialEffect) (struct block_list **bl, int *effectId, enum send_target *target); typedef void (*HPMHOOK_post_clif_removeSpecialEffect) (struct block_list *bl, int effectId, enum send_target target); typedef void (*HPMHOOK_pre_clif_removeSpecialEffect_single) (struct block_list **bl, int *effectId, struct block_list **targetBl); diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc index 76dfca774..ce716729a 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc @@ -1154,6 +1154,8 @@ struct { struct HPMHookPoint *HP_clif_specialeffect_single_post; struct HPMHookPoint *HP_clif_specialeffect_value_pre; struct HPMHookPoint *HP_clif_specialeffect_value_post; + struct HPMHookPoint *HP_clif_specialeffect_value_single_pre; + struct HPMHookPoint *HP_clif_specialeffect_value_single_post; struct HPMHookPoint *HP_clif_removeSpecialEffect_pre; struct HPMHookPoint *HP_clif_removeSpecialEffect_post; struct HPMHookPoint *HP_clif_removeSpecialEffect_single_pre; @@ -7987,6 +7989,8 @@ struct { int HP_clif_specialeffect_single_post; int HP_clif_specialeffect_value_pre; int HP_clif_specialeffect_value_post; + int HP_clif_specialeffect_value_single_pre; + int HP_clif_specialeffect_value_single_post; int HP_clif_removeSpecialEffect_pre; int HP_clif_removeSpecialEffect_post; int HP_clif_removeSpecialEffect_single_pre; diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc index e7b657082..f29820952 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc @@ -601,6 +601,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->specialeffect, HP_clif_specialeffect) }, { HP_POP(clif->specialeffect_single, HP_clif_specialeffect_single) }, { HP_POP(clif->specialeffect_value, HP_clif_specialeffect_value) }, + { HP_POP(clif->specialeffect_value_single, HP_clif_specialeffect_value_single) }, { HP_POP(clif->removeSpecialEffect, HP_clif_removeSpecialEffect) }, { HP_POP(clif->removeSpecialEffect_single, HP_clif_removeSpecialEffect_single) }, { HP_POP(clif->millenniumshield, HP_clif_millenniumshield) }, diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc index 53d0104e3..bcbfb7c3e 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc @@ -15028,10 +15028,10 @@ void HP_clif_specialeffect_single(struct block_list *bl, int type, int fd) { } return; } -void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num, send_target target) { +void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, uint64 num, send_target target) { int hIndex = 0; if (HPMHooks.count.HP_clif_specialeffect_value_pre > 0) { - void (*preHookFunc) (struct block_list **bl, int *effect_id, int *num, send_target *target); + void (*preHookFunc) (struct block_list **bl, int *effect_id, uint64 *num, send_target *target); *HPMforce_return = false; for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_pre; hIndex++) { preHookFunc = HPMHooks.list.HP_clif_specialeffect_value_pre[hIndex].func; @@ -15046,7 +15046,7 @@ void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num, HPMHooks.source.clif.specialeffect_value(bl, effect_id, num, target); } if (HPMHooks.count.HP_clif_specialeffect_value_post > 0) { - void (*postHookFunc) (struct block_list *bl, int effect_id, int num, send_target target); + void (*postHookFunc) (struct block_list *bl, int effect_id, uint64 num, send_target target); for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_post; hIndex++) { postHookFunc = HPMHooks.list.HP_clif_specialeffect_value_post[hIndex].func; postHookFunc(bl, effect_id, num, target); @@ -15054,6 +15054,32 @@ void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num, } return; } +void HP_clif_specialeffect_value_single(struct block_list *bl, int effect_id, uint64 num, int fd) { + int hIndex = 0; + if (HPMHooks.count.HP_clif_specialeffect_value_single_pre > 0) { + void (*preHookFunc) (struct block_list **bl, int *effect_id, uint64 *num, int *fd); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_single_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_specialeffect_value_single_pre[hIndex].func; + preHookFunc(&bl, &effect_id, &num, &fd); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.specialeffect_value_single(bl, effect_id, num, fd); + } + if (HPMHooks.count.HP_clif_specialeffect_value_single_post > 0) { + void (*postHookFunc) (struct block_list *bl, int effect_id, uint64 num, int fd); + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_single_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_specialeffect_value_single_post[hIndex].func; + postHookFunc(bl, effect_id, num, fd); + } + } + return; +} void HP_clif_removeSpecialEffect(struct block_list *bl, int effectId, enum send_target target) { int hIndex = 0; if (HPMHooks.count.HP_clif_removeSpecialEffect_pre > 0) { |