diff options
99 files changed, 5234 insertions, 2129 deletions
diff --git a/.gitignore b/.gitignore index 773005315..c43c27e31 100644 --- a/.gitignore +++ b/.gitignore @@ -36,7 +36,12 @@ Thumbs.db /plugins/ #OSX Xcode project user-sensitive-stuff +/DerivedData /Hercules +/build +/Hercules.xcodeproj/xcuserdata +/Hercules.xcodeproj/project.xcworkspace/xcuserdata/ +/Hercules.xcodeproj/project.xcworkspace/xcshareddata/Hercules.xccheckout # /3rdparty/libconfig/ /3rdparty/libconfig/Makefile diff --git a/3rdparty/libconfig/extra/gen/Makefile b/3rdparty/libconfig/extra/gen/Makefile index b4d2db841..0b2e0655e 100644 --- a/3rdparty/libconfig/extra/gen/Makefile +++ b/3rdparty/libconfig/extra/gen/Makefile @@ -31,6 +31,7 @@ AM_YFLAGS = -d -p $(PARSER_PREFIX) AM_LFLAGS = --nounistd --header-file=scanner.h --prefix=$(PARSER_PREFIX) all: $(BUILT_SOURCES) + @patch -p1 < clangwarnings.patch .SUFFIXES: .c .l .y diff --git a/3rdparty/libconfig/extra/gen/Makefile.in b/3rdparty/libconfig/extra/gen/Makefile.in index 5850c2392..0bd4efd62 100644 --- a/3rdparty/libconfig/extra/gen/Makefile.in +++ b/3rdparty/libconfig/extra/gen/Makefile.in @@ -31,6 +31,7 @@ AM_YFLAGS = -d -p $(PARSER_PREFIX) AM_LFLAGS = --nounistd --header-file=scanner.h --prefix=$(PARSER_PREFIX) all: $(BUILT_SOURCES) + @patch -p1 < clangwarnings.patch .SUFFIXES: .c .l .y diff --git a/3rdparty/libconfig/extra/gen/clangwarnings.patch b/3rdparty/libconfig/extra/gen/clangwarnings.patch new file mode 100644 index 000000000..65aef9a08 --- /dev/null +++ b/3rdparty/libconfig/extra/gen/clangwarnings.patch @@ -0,0 +1,36 @@ +diff --git a/grammar.c b/grammar.c +index 3595578..26444f8 100644 +--- a/grammar.c ++++ b/grammar.c +@@ -1187,9 +1187,7 @@ void libconfig_yyerror(void *scanner, struct parse_context *ctx, + YYUSE (ctx); + YYUSE (scan_ctx); + +- if (!yymsg) +- yymsg = "Deleting"; +- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); ++ YY_SYMBOL_PRINT (yymsg ? yymsg : "Deleting", yytype, yyvaluep, yylocationp); + + switch (yytype) + { +diff --git a/scanner.c b/scanner.c +index aebd34c..c3a717f 100644 +--- a/scanner.c ++++ b/scanner.c +@@ -1500,6 +1500,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner) + else + ret_val = EOB_ACT_CONTINUE_SCAN; + ++#ifndef __clang_analyzer__ ++ // FIXME: Clang's static analyzer complains about leaking the result of libconfig_yyrealloc + if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); +@@ -1507,6 +1509,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } ++#endif // __clang_analyzer__ + + yyg->yy_n_chars += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; diff --git a/3rdparty/libconfig/extra/gen/scanner.l b/3rdparty/libconfig/extra/gen/scanner.l index 4b3048fab..66364e019 100644 --- a/3rdparty/libconfig/extra/gen/scanner.l +++ b/3rdparty/libconfig/extra/gen/scanner.l @@ -86,6 +86,13 @@ static unsigned long long fromhex(const char *s) #endif /* __MINGW32__ */ } +static int fromihex(const char *s) { + unsigned long l = strtoul(s, NULL, 16); + if (l > INT32_MAX) + l = INT32_MAX; + return (int)l; +} + %} true [Tt][Rr][Uu][Ee] @@ -178,10 +185,7 @@ include_open ^[ \t]*@include[ \t]+\" {float} { yylval->fval = atof(yytext); return(TOK_FLOAT); } {integer} { yylval->ival = atoi(yytext); return(TOK_INTEGER); } {integer64} { yylval->llval = atoll(yytext); return(TOK_INTEGER64); } -{hex} { - yylval->ival = strtoul(yytext, NULL, 16); - return(TOK_HEX); - } +{hex} { yylval->ival = fromihex(yytext); return(TOK_HEX); } {hex64} { yylval->llval = fromhex(yytext); return(TOK_HEX64); } \[ { return(TOK_ARRAY_START); } \] { return(TOK_ARRAY_END); } diff --git a/3rdparty/libconfig/grammar.c b/3rdparty/libconfig/grammar.c index 3595578de..26444f816 100644 --- a/3rdparty/libconfig/grammar.c +++ b/3rdparty/libconfig/grammar.c @@ -1187,9 +1187,7 @@ yydestruct (yymsg, yytype, yyvaluep, scanner, ctx, scan_ctx) YYUSE (ctx); YYUSE (scan_ctx); - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg ? yymsg : "Deleting", yytype, yyvaluep, yylocationp); switch (yytype) { diff --git a/3rdparty/libconfig/scanctx.c b/3rdparty/libconfig/scanctx.c index 7d7f4994c..e057d50bc 100644 --- a/3rdparty/libconfig/scanctx.c +++ b/3rdparty/libconfig/scanctx.c @@ -39,6 +39,7 @@ static const char *err_include_too_deep = "include file nesting too deep"; static const char *__scanctx_add_filename(struct scan_context *ctx, const char *filename) { +#ifndef __clang_analyzer__ // FIXME: Clang's static analyzer doesn't like this unsigned int count = ctx->num_filenames; const char **f; @@ -60,6 +61,7 @@ static const char *__scanctx_add_filename(struct scan_context *ctx, ctx->filenames[ctx->num_filenames] = filename; ++ctx->num_filenames; +#endif // __clang_analyzer__ return(filename); } diff --git a/3rdparty/libconfig/scanner.c b/3rdparty/libconfig/scanner.c index 6de72c2fd..c3a717ff0 100644 --- a/3rdparty/libconfig/scanner.c +++ b/3rdparty/libconfig/scanner.c @@ -625,8 +625,15 @@ static unsigned long long fromhex(const char *s) #endif /* __MINGW32__ */ } +static int fromihex(const char *s) { + unsigned long l = strtoul(s, NULL, 16); + if (l > INT32_MAX) + l = INT32_MAX; + return (int)l; +} + -#line 630 "scanner.c" +#line 637 "scanner.c" #define INITIAL 0 #define COMMENT 1 @@ -858,10 +865,10 @@ YY_DECL register int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; -#line 105 "scanner.l" +#line 112 "scanner.l" -#line 865 "scanner.c" +#line 872 "scanner.c" yylval = yylval_param; @@ -957,69 +964,69 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 107 "scanner.l" +#line 114 "scanner.l" { BEGIN COMMENT; } YY_BREAK case 2: YY_RULE_SETUP -#line 108 "scanner.l" +#line 115 "scanner.l" { BEGIN INITIAL; } YY_BREAK case 3: YY_RULE_SETUP -#line 109 "scanner.l" +#line 116 "scanner.l" { /* ignore */ } YY_BREAK case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 110 "scanner.l" +#line 117 "scanner.l" { /* ignore */ } YY_BREAK case 5: YY_RULE_SETUP -#line 112 "scanner.l" +#line 119 "scanner.l" { BEGIN STRING; } YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 113 "scanner.l" +#line 120 "scanner.l" { scanctx_append_string(yyextra, yytext); } YY_BREAK case 7: YY_RULE_SETUP -#line 114 "scanner.l" +#line 121 "scanner.l" { scanctx_append_string(yyextra, "\n"); } YY_BREAK case 8: YY_RULE_SETUP -#line 115 "scanner.l" +#line 122 "scanner.l" { scanctx_append_string(yyextra, "\r"); } YY_BREAK case 9: YY_RULE_SETUP -#line 116 "scanner.l" +#line 123 "scanner.l" { scanctx_append_string(yyextra, "\t"); } YY_BREAK case 10: YY_RULE_SETUP -#line 117 "scanner.l" +#line 124 "scanner.l" { scanctx_append_string(yyextra, "\f"); } YY_BREAK case 11: YY_RULE_SETUP -#line 118 "scanner.l" +#line 125 "scanner.l" { scanctx_append_string(yyextra, "\\"); } YY_BREAK case 12: YY_RULE_SETUP -#line 119 "scanner.l" +#line 126 "scanner.l" { scanctx_append_string(yyextra, "\""); } YY_BREAK case 13: YY_RULE_SETUP -#line 120 "scanner.l" +#line 127 "scanner.l" { char c[2] = { (char)(strtol(yytext + 2, NULL, 16) & 0xFF), 0 }; @@ -1028,12 +1035,12 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 125 "scanner.l" +#line 132 "scanner.l" { scanctx_append_string(yyextra, "\\"); } YY_BREAK case 15: YY_RULE_SETUP -#line 126 "scanner.l" +#line 133 "scanner.l" { yylval->sval = scanctx_take_string(yyextra); BEGIN INITIAL; @@ -1042,18 +1049,18 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 132 "scanner.l" +#line 139 "scanner.l" { BEGIN SCRIPTBLOCK; } YY_BREAK case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 133 "scanner.l" +#line 140 "scanner.l" { scanctx_append_string(yyextra, yytext); } YY_BREAK case 18: YY_RULE_SETUP -#line 134 "scanner.l" +#line 141 "scanner.l" { yylval->sval = scanctx_take_string(yyextra); BEGIN INITIAL; @@ -1062,28 +1069,28 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 140 "scanner.l" +#line 147 "scanner.l" { BEGIN INCLUDE; } YY_BREAK case 20: /* rule 20 can match eol */ YY_RULE_SETUP -#line 141 "scanner.l" +#line 148 "scanner.l" { scanctx_append_string(yyextra, yytext); } YY_BREAK case 21: YY_RULE_SETUP -#line 142 "scanner.l" +#line 149 "scanner.l" { scanctx_append_string(yyextra, "\\"); } YY_BREAK case 22: YY_RULE_SETUP -#line 143 "scanner.l" +#line 150 "scanner.l" { scanctx_append_string(yyextra, "\""); } YY_BREAK case 23: YY_RULE_SETUP -#line 144 "scanner.l" +#line 151 "scanner.l" { const char *error; FILE *fp = scanctx_push_include(yyextra, @@ -1109,100 +1116,97 @@ YY_RULE_SETUP case 24: /* rule 24 can match eol */ YY_RULE_SETUP -#line 168 "scanner.l" +#line 175 "scanner.l" { /* ignore */ } YY_BREAK case 25: YY_RULE_SETUP -#line 169 "scanner.l" +#line 176 "scanner.l" { /* ignore */ } YY_BREAK case 26: YY_RULE_SETUP -#line 171 "scanner.l" +#line 178 "scanner.l" { return(TOK_EQUALS); } YY_BREAK case 27: YY_RULE_SETUP -#line 172 "scanner.l" +#line 179 "scanner.l" { return(TOK_COMMA); } YY_BREAK case 28: YY_RULE_SETUP -#line 173 "scanner.l" +#line 180 "scanner.l" { return(TOK_GROUP_START); } YY_BREAK case 29: YY_RULE_SETUP -#line 174 "scanner.l" +#line 181 "scanner.l" { return(TOK_GROUP_END); } YY_BREAK case 30: YY_RULE_SETUP -#line 175 "scanner.l" +#line 182 "scanner.l" { yylval->ival = 1; return(TOK_BOOLEAN); } YY_BREAK case 31: YY_RULE_SETUP -#line 176 "scanner.l" +#line 183 "scanner.l" { yylval->ival = 0; return(TOK_BOOLEAN); } YY_BREAK case 32: YY_RULE_SETUP -#line 177 "scanner.l" +#line 184 "scanner.l" { yylval->sval = yytext; return(TOK_NAME); } YY_BREAK case 33: YY_RULE_SETUP -#line 178 "scanner.l" +#line 185 "scanner.l" { yylval->fval = atof(yytext); return(TOK_FLOAT); } YY_BREAK case 34: YY_RULE_SETUP -#line 179 "scanner.l" +#line 186 "scanner.l" { yylval->ival = atoi(yytext); return(TOK_INTEGER); } YY_BREAK case 35: YY_RULE_SETUP -#line 180 "scanner.l" +#line 187 "scanner.l" { yylval->llval = atoll(yytext); return(TOK_INTEGER64); } YY_BREAK case 36: YY_RULE_SETUP -#line 181 "scanner.l" -{ - yylval->ival = strtoul(yytext, NULL, 16); - return(TOK_HEX); - } +#line 188 "scanner.l" +{ yylval->ival = fromihex(yytext); return(TOK_HEX); } YY_BREAK case 37: YY_RULE_SETUP -#line 185 "scanner.l" +#line 189 "scanner.l" { yylval->llval = fromhex(yytext); return(TOK_HEX64); } YY_BREAK case 38: YY_RULE_SETUP -#line 186 "scanner.l" +#line 190 "scanner.l" { return(TOK_ARRAY_START); } YY_BREAK case 39: YY_RULE_SETUP -#line 187 "scanner.l" +#line 191 "scanner.l" { return(TOK_ARRAY_END); } YY_BREAK case 40: YY_RULE_SETUP -#line 188 "scanner.l" +#line 192 "scanner.l" { return(TOK_LIST_START); } YY_BREAK case 41: YY_RULE_SETUP -#line 189 "scanner.l" +#line 193 "scanner.l" { return(TOK_LIST_END); } YY_BREAK case 42: YY_RULE_SETUP -#line 190 "scanner.l" +#line 194 "scanner.l" { return(TOK_SEMICOLON); } YY_BREAK case 43: @@ -1210,12 +1214,12 @@ case 43: yyg->yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 191 "scanner.l" +#line 195 "scanner.l" { /* ignore */ } YY_BREAK case 44: YY_RULE_SETUP -#line 192 "scanner.l" +#line 196 "scanner.l" { return(TOK_GARBAGE); } YY_BREAK case YY_STATE_EOF(INITIAL): @@ -1223,7 +1227,7 @@ case YY_STATE_EOF(COMMENT): case YY_STATE_EOF(STRING): case YY_STATE_EOF(INCLUDE): case YY_STATE_EOF(SCRIPTBLOCK): -#line 194 "scanner.l" +#line 198 "scanner.l" { YY_BUFFER_STATE buf = (YY_BUFFER_STATE)scanctx_pop_include( yyextra); @@ -1238,10 +1242,10 @@ case YY_STATE_EOF(SCRIPTBLOCK): YY_BREAK case 45: YY_RULE_SETUP -#line 205 "scanner.l" +#line 209 "scanner.l" ECHO; YY_BREAK -#line 1245 "scanner.c" +#line 1249 "scanner.c" case YY_END_OF_BUFFER: { @@ -1496,6 +1500,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else ret_val = EOB_ACT_CONTINUE_SCAN; +#ifndef __clang_analyzer__ + // FIXME: Clang's static analyzer complains about leaking the result of libconfig_yyrealloc if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); @@ -1503,6 +1509,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } +#endif // __clang_analyzer__ yyg->yy_n_chars += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; @@ -2375,4 +2382,4 @@ void libconfig_yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 205 "scanner.l" +#line 209 "scanner.l" diff --git a/3rdparty/libconfig/scanner.h b/3rdparty/libconfig/scanner.h index 181bc5c94..ac79ff5d1 100644 --- a/3rdparty/libconfig/scanner.h +++ b/3rdparty/libconfig/scanner.h @@ -334,7 +334,7 @@ extern int libconfig_yylex \ #undef YY_DECL #endif -#line 205 "scanner.l" +#line 209 "scanner.l" #line 340 "scanner.h" #undef libconfig_yyIN_HEADER diff --git a/Hercules.xcodeproj/project.pbxproj b/Hercules.xcodeproj/project.pbxproj new file mode 100644 index 000000000..0ecbdd52c --- /dev/null +++ b/Hercules.xcodeproj/project.pbxproj @@ -0,0 +1,1618 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + A5380CD71856CE3C0090CBC4 /* mapcache.c in Sources */ = {isa = PBXBuildFile; fileRef = A5380CD61856CE3C0090CBC4 /* mapcache.c */; }; + A5380CD81856CE8A0090CBC4 /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC692185643BB009EB79C /* console.c */; }; + A5380CD91856CF4A0090CBC4 /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC694185643BB009EB79C /* core.c */; }; + A5380CDA1856D0650090CBC4 /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BA185643BB009EB79C /* socket.c */; }; + A5380CDB1856D0690090CBC4 /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A3185643BB009EB79C /* malloc.c */; }; + A567612D185D11D700997C0D /* nullpo.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B2185643BB009EB79C /* nullpo.c */; }; + A56CC68918564387009EB79C /* account_sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68118564387009EB79C /* account_sql.c */; }; + A56CC68A18564387009EB79C /* ipban_sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68318564387009EB79C /* ipban_sql.c */; }; + A56CC68B18564387009EB79C /* login.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68518564387009EB79C /* login.c */; }; + A56CC68C18564387009EB79C /* loginlog_sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC68718564387009EB79C /* loginlog_sql.c */; }; + A56CC6C9185643BB009EB79C /* conf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC690185643BB009EB79C /* conf.c */; }; + A56CC6CA185643BB009EB79C /* conf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC690185643BB009EB79C /* conf.c */; }; + A56CC6CB185643BB009EB79C /* conf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC690185643BB009EB79C /* conf.c */; }; + A56CC6CC185643BB009EB79C /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC692185643BB009EB79C /* console.c */; }; + A56CC6CD185643BB009EB79C /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC692185643BB009EB79C /* console.c */; }; + A56CC6CE185643BB009EB79C /* console.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC692185643BB009EB79C /* console.c */; }; + A56CC6CF185643BB009EB79C /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC694185643BB009EB79C /* core.c */; }; + A56CC6D0185643BB009EB79C /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC694185643BB009EB79C /* core.c */; }; + A56CC6D1185643BB009EB79C /* core.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC694185643BB009EB79C /* core.c */; }; + A56CC6D2185643BB009EB79C /* db.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC696185643BB009EB79C /* db.c */; }; + A56CC6D3185643BB009EB79C /* db.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC696185643BB009EB79C /* db.c */; }; + A56CC6D4185643BB009EB79C /* db.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC696185643BB009EB79C /* db.c */; }; + A56CC6D5185643BB009EB79C /* des.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC698185643BB009EB79C /* des.c */; }; + A56CC6D6185643BB009EB79C /* des.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC698185643BB009EB79C /* des.c */; }; + A56CC6D7185643BB009EB79C /* des.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC698185643BB009EB79C /* des.c */; }; + A56CC6D8185643BB009EB79C /* ers.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69A185643BB009EB79C /* ers.c */; }; + A56CC6D9185643BB009EB79C /* ers.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69A185643BB009EB79C /* ers.c */; }; + A56CC6DA185643BB009EB79C /* ers.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69A185643BB009EB79C /* ers.c */; }; + A56CC6DE185643BB009EB79C /* grfio.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69E185643BB009EB79C /* grfio.c */; }; + A56CC6DF185643BB009EB79C /* grfio.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69E185643BB009EB79C /* grfio.c */; }; + A56CC6E0185643BB009EB79C /* grfio.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69E185643BB009EB79C /* grfio.c */; }; + A56CC6E1185643BB009EB79C /* HPM.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A0185643BB009EB79C /* HPM.c */; }; + A56CC6E2185643BB009EB79C /* HPM.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A0185643BB009EB79C /* HPM.c */; }; + A56CC6E3185643BB009EB79C /* HPM.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A0185643BB009EB79C /* HPM.c */; }; + A56CC6E4185643BB009EB79C /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A3185643BB009EB79C /* malloc.c */; }; + A56CC6E5185643BB009EB79C /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A3185643BB009EB79C /* malloc.c */; }; + A56CC6E6185643BB009EB79C /* malloc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A3185643BB009EB79C /* malloc.c */; }; + A56CC6E7185643BB009EB79C /* mapindex.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A5185643BB009EB79C /* mapindex.c */; }; + A56CC6E8185643BB009EB79C /* mapindex.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A5185643BB009EB79C /* mapindex.c */; }; + A56CC6E9185643BB009EB79C /* mapindex.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A5185643BB009EB79C /* mapindex.c */; }; + A56CC6EA185643BB009EB79C /* md5calc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A7185643BB009EB79C /* md5calc.c */; }; + A56CC6EB185643BB009EB79C /* md5calc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A7185643BB009EB79C /* md5calc.c */; }; + A56CC6EC185643BB009EB79C /* md5calc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6A7185643BB009EB79C /* md5calc.c */; }; + A56CC6F0185643BB009EB79C /* mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6AC185643BB009EB79C /* mutex.c */; }; + A56CC6F1185643BB009EB79C /* mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6AC185643BB009EB79C /* mutex.c */; }; + A56CC6F2185643BB009EB79C /* mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6AC185643BB009EB79C /* mutex.c */; }; + A56CC6F9185643BB009EB79C /* nullpo.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B2185643BB009EB79C /* nullpo.c */; }; + A56CC6FA185643BB009EB79C /* nullpo.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B2185643BB009EB79C /* nullpo.c */; }; + A56CC6FB185643BB009EB79C /* nullpo.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B2185643BB009EB79C /* nullpo.c */; }; + A56CC6FF185643BB009EB79C /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B6185643BB009EB79C /* random.c */; }; + A56CC700185643BB009EB79C /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B6185643BB009EB79C /* random.c */; }; + A56CC701185643BB009EB79C /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B6185643BB009EB79C /* random.c */; }; + A56CC702185643BB009EB79C /* showmsg.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B8185643BB009EB79C /* showmsg.c */; }; + A56CC703185643BB009EB79C /* showmsg.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B8185643BB009EB79C /* showmsg.c */; }; + A56CC704185643BB009EB79C /* showmsg.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B8185643BB009EB79C /* showmsg.c */; }; + A56CC705185643BB009EB79C /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BA185643BB009EB79C /* socket.c */; }; + A56CC706185643BB009EB79C /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BA185643BB009EB79C /* socket.c */; }; + A56CC707185643BB009EB79C /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BA185643BB009EB79C /* socket.c */; }; + A56CC708185643BB009EB79C /* sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BD185643BB009EB79C /* sql.c */; }; + A56CC709185643BB009EB79C /* sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BD185643BB009EB79C /* sql.c */; }; + A56CC70A185643BB009EB79C /* sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BD185643BB009EB79C /* sql.c */; }; + A56CC70B185643BB009EB79C /* strlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BF185643BB009EB79C /* strlib.c */; }; + A56CC70C185643BB009EB79C /* strlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BF185643BB009EB79C /* strlib.c */; }; + A56CC70D185643BB009EB79C /* strlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BF185643BB009EB79C /* strlib.c */; }; + A56CC711185643BB009EB79C /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C2185643BB009EB79C /* thread.c */; }; + A56CC712185643BB009EB79C /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C2185643BB009EB79C /* thread.c */; }; + A56CC713185643BB009EB79C /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C2185643BB009EB79C /* thread.c */; }; + A56CC714185643BB009EB79C /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C4185643BB009EB79C /* timer.c */; }; + A56CC715185643BB009EB79C /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C4185643BB009EB79C /* timer.c */; }; + A56CC716185643BB009EB79C /* timer.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C4185643BB009EB79C /* timer.c */; }; + A56CC717185643BB009EB79C /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C6185643BB009EB79C /* utils.c */; }; + A56CC718185643BB009EB79C /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C6185643BB009EB79C /* utils.c */; }; + A56CC719185643BB009EB79C /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C6185643BB009EB79C /* utils.c */; }; + A56CC72E18564C05009EB79C /* grammar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72218564C05009EB79C /* grammar.c */; }; + A56CC72F18564C05009EB79C /* grammar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72218564C05009EB79C /* grammar.c */; }; + A56CC73018564C05009EB79C /* grammar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72218564C05009EB79C /* grammar.c */; }; + A56CC73118564C05009EB79C /* libconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72418564C05009EB79C /* libconfig.c */; }; + A56CC73218564C05009EB79C /* libconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72418564C05009EB79C /* libconfig.c */; }; + A56CC73318564C05009EB79C /* libconfig.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72418564C05009EB79C /* libconfig.c */; }; + A56CC73418564C05009EB79C /* scanctx.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72718564C05009EB79C /* scanctx.c */; }; + A56CC73518564C05009EB79C /* scanctx.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72718564C05009EB79C /* scanctx.c */; }; + A56CC73618564C05009EB79C /* scanctx.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72718564C05009EB79C /* scanctx.c */; }; + A56CC73718564C05009EB79C /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72918564C05009EB79C /* scanner.c */; }; + A56CC73818564C05009EB79C /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72918564C05009EB79C /* scanner.c */; }; + A56CC73918564C05009EB79C /* scanner.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72918564C05009EB79C /* scanner.c */; }; + A56CC73A18564C05009EB79C /* strbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72B18564C05009EB79C /* strbuf.c */; }; + A56CC73B18564C05009EB79C /* strbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72B18564C05009EB79C /* strbuf.c */; }; + A56CC73C18564C05009EB79C /* strbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC72B18564C05009EB79C /* strbuf.c */; }; + A56CC74018564C23009EB79C /* mt19937ar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC73E18564C23009EB79C /* mt19937ar.c */; }; + A56CC74118564C23009EB79C /* mt19937ar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC73E18564C23009EB79C /* mt19937ar.c */; }; + A56CC74218564C23009EB79C /* mt19937ar.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC73E18564C23009EB79C /* mt19937ar.c */; }; + A56CC75D185657D9009EB79C /* char.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC743185657D9009EB79C /* char.c */; }; + A56CC75E185657D9009EB79C /* int_auction.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC745185657D9009EB79C /* int_auction.c */; }; + A56CC75F185657D9009EB79C /* int_elemental.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC747185657D9009EB79C /* int_elemental.c */; }; + A56CC760185657D9009EB79C /* int_guild.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC749185657D9009EB79C /* int_guild.c */; }; + A56CC761185657D9009EB79C /* int_homun.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC74B185657D9009EB79C /* int_homun.c */; }; + A56CC762185657D9009EB79C /* int_mail.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC74D185657D9009EB79C /* int_mail.c */; }; + A56CC763185657D9009EB79C /* int_mercenary.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC74F185657D9009EB79C /* int_mercenary.c */; }; + A56CC764185657D9009EB79C /* int_party.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC751185657D9009EB79C /* int_party.c */; }; + A56CC765185657D9009EB79C /* int_pet.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC753185657D9009EB79C /* int_pet.c */; }; + A56CC766185657D9009EB79C /* int_quest.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC755185657D9009EB79C /* int_quest.c */; }; + A56CC767185657D9009EB79C /* int_storage.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC757185657D9009EB79C /* int_storage.c */; }; + A56CC768185657D9009EB79C /* inter.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC759185657D9009EB79C /* inter.c */; }; + A56CC769185657D9009EB79C /* pincode.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC75B185657D9009EB79C /* pincode.c */; }; + A56CC7B918565812009EB79C /* atcommand.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC76A18565812009EB79C /* atcommand.c */; }; + A56CC7BA18565812009EB79C /* battle.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC76C18565812009EB79C /* battle.c */; }; + A56CC7BB18565812009EB79C /* battleground.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC76E18565812009EB79C /* battleground.c */; }; + A56CC7BC18565812009EB79C /* buyingstore.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77018565812009EB79C /* buyingstore.c */; }; + A56CC7BD18565812009EB79C /* chat.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77218565812009EB79C /* chat.c */; }; + A56CC7BE18565812009EB79C /* chrif.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77418565812009EB79C /* chrif.c */; }; + A56CC7BF18565812009EB79C /* clif.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77618565812009EB79C /* clif.c */; }; + A56CC7C018565812009EB79C /* date.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77818565812009EB79C /* date.c */; }; + A56CC7C118565812009EB79C /* duel.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77A18565812009EB79C /* duel.c */; }; + A56CC7C218565812009EB79C /* elemental.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77C18565812009EB79C /* elemental.c */; }; + A56CC7C318565812009EB79C /* guild.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC77E18565812009EB79C /* guild.c */; }; + A56CC7C418565812009EB79C /* homunculus.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78018565812009EB79C /* homunculus.c */; }; + A56CC7C518565812009EB79C /* HPMmap.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78218565812009EB79C /* HPMmap.c */; }; + A56CC7C618565812009EB79C /* instance.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78418565812009EB79C /* instance.c */; }; + A56CC7C718565812009EB79C /* intif.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78618565812009EB79C /* intif.c */; }; + A56CC7C818565812009EB79C /* irc-bot.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78818565812009EB79C /* irc-bot.c */; }; + A56CC7C918565812009EB79C /* itemdb.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78A18565812009EB79C /* itemdb.c */; }; + A56CC7CA18565812009EB79C /* log.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78C18565812009EB79C /* log.c */; }; + A56CC7CB18565812009EB79C /* mail.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC78E18565812009EB79C /* mail.c */; }; + A56CC7CC18565812009EB79C /* map.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79018565812009EB79C /* map.c */; }; + A56CC7CD18565812009EB79C /* mapreg_sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79218565812009EB79C /* mapreg_sql.c */; }; + A56CC7CE18565812009EB79C /* mercenary.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79418565812009EB79C /* mercenary.c */; }; + A56CC7CF18565812009EB79C /* mob.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79618565812009EB79C /* mob.c */; }; + A56CC7D018565812009EB79C /* npc_chat.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79818565812009EB79C /* npc_chat.c */; }; + A56CC7D118565812009EB79C /* npc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79918565812009EB79C /* npc.c */; }; + A56CC7D218565812009EB79C /* party.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79D18565812009EB79C /* party.c */; }; + A56CC7D318565812009EB79C /* path.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC79F18565812009EB79C /* path.c */; }; + A56CC7D418565812009EB79C /* pc_groups.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7A118565812009EB79C /* pc_groups.c */; }; + A56CC7D518565812009EB79C /* pc.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7A318565812009EB79C /* pc.c */; }; + A56CC7D618565812009EB79C /* pet.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7A518565812009EB79C /* pet.c */; }; + A56CC7D718565812009EB79C /* quest.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7A718565812009EB79C /* quest.c */; }; + A56CC7D818565812009EB79C /* script.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7A918565812009EB79C /* script.c */; }; + A56CC7D918565812009EB79C /* searchstore.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7AB18565812009EB79C /* searchstore.c */; }; + A56CC7DA18565812009EB79C /* skill.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7AD18565812009EB79C /* skill.c */; }; + A56CC7DB18565812009EB79C /* status.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7AF18565812009EB79C /* status.c */; }; + A56CC7DC18565812009EB79C /* storage.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7B118565812009EB79C /* storage.c */; }; + A56CC7DD18565812009EB79C /* trade.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7B318565812009EB79C /* trade.c */; }; + A56CC7DE18565812009EB79C /* unit.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7B518565812009EB79C /* unit.c */; }; + A56CC7DF18565812009EB79C /* vending.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC7B718565812009EB79C /* vending.c */; }; + A58A5A17185800A40099683E /* showmsg.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6B8185643BB009EB79C /* showmsg.c */; }; + A58A5A18185800B80099683E /* grfio.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC69E185643BB009EB79C /* grfio.c */; }; + A58A5A19185800C20099683E /* des.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC698185643BB009EB79C /* des.c */; }; + A58A5A1A185800CD0099683E /* strlib.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6BF185643BB009EB79C /* strlib.c */; }; + A58A5A1B185800E70099683E /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = A56CC6C6185643BB009EB79C /* utils.c */; }; + A58A5A281858025D0099683E /* HPMHooking.c in Sources */ = {isa = PBXBuildFile; fileRef = A58A5A271858025D0099683E /* HPMHooking.c */; }; + A5AA94EE185796CB00C940C8 /* sample.c in Sources */ = {isa = PBXBuildFile; fileRef = A5AA94ED185796CB00C940C8 /* sample.c */; }; + A5AA94FA185799E400C940C8 /* db2sql.c in Sources */ = {isa = PBXBuildFile; fileRef = A5AA94F8185799DF00C940C8 /* db2sql.c */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + A5380CCB1856CE180090CBC4 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + A56CC66818564315009EB79C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + A56CC6711856434D009EB79C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + A56CC67A18564356009EB79C /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + A5380CCD1856CE180090CBC4 /* mapcache */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mapcache; sourceTree = BUILT_PRODUCTS_DIR; }; + A5380CD61856CE3C0090CBC4 /* mapcache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mapcache.c; path = src/tool/mapcache.c; sourceTree = "<group>"; }; + A56CC66A18564315009EB79C /* login-server */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "login-server"; sourceTree = BUILT_PRODUCTS_DIR; }; + A56CC6731856434D009EB79C /* char-server */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "char-server"; sourceTree = BUILT_PRODUCTS_DIR; }; + A56CC67C18564356009EB79C /* map-server */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "map-server"; sourceTree = BUILT_PRODUCTS_DIR; }; + A56CC68118564387009EB79C /* account_sql.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = account_sql.c; path = src/login/account_sql.c; sourceTree = SOURCE_ROOT; }; + A56CC68218564387009EB79C /* account.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = account.h; path = src/login/account.h; sourceTree = SOURCE_ROOT; }; + A56CC68318564387009EB79C /* ipban_sql.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ipban_sql.c; path = src/login/ipban_sql.c; sourceTree = SOURCE_ROOT; }; + A56CC68418564387009EB79C /* ipban.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ipban.h; path = src/login/ipban.h; sourceTree = SOURCE_ROOT; }; + A56CC68518564387009EB79C /* login.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = login.c; path = src/login/login.c; sourceTree = SOURCE_ROOT; }; + A56CC68618564387009EB79C /* login.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = login.h; path = src/login/login.h; sourceTree = SOURCE_ROOT; }; + A56CC68718564387009EB79C /* loginlog_sql.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = loginlog_sql.c; path = src/login/loginlog_sql.c; sourceTree = SOURCE_ROOT; }; + A56CC68818564387009EB79C /* loginlog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = loginlog.h; path = src/login/loginlog.h; sourceTree = SOURCE_ROOT; }; + A56CC68E185643BB009EB79C /* atomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = atomic.h; path = src/common/atomic.h; sourceTree = "<group>"; }; + A56CC68F185643BB009EB79C /* cbasetypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cbasetypes.h; path = src/common/cbasetypes.h; sourceTree = "<group>"; }; + A56CC690185643BB009EB79C /* conf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = conf.c; path = src/common/conf.c; sourceTree = "<group>"; }; + A56CC691185643BB009EB79C /* conf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = conf.h; path = src/common/conf.h; sourceTree = "<group>"; }; + A56CC692185643BB009EB79C /* console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = console.c; path = src/common/console.c; sourceTree = "<group>"; }; + A56CC693185643BB009EB79C /* console.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = console.h; path = src/common/console.h; sourceTree = "<group>"; }; + A56CC694185643BB009EB79C /* core.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = core.c; path = src/common/core.c; sourceTree = "<group>"; }; + A56CC695185643BB009EB79C /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = core.h; path = src/common/core.h; sourceTree = "<group>"; }; + A56CC696185643BB009EB79C /* db.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = db.c; path = src/common/db.c; sourceTree = "<group>"; }; + A56CC697185643BB009EB79C /* db.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = db.h; path = src/common/db.h; sourceTree = "<group>"; }; + A56CC698185643BB009EB79C /* des.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = des.c; path = src/common/des.c; sourceTree = "<group>"; }; + A56CC699185643BB009EB79C /* des.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = des.h; path = src/common/des.h; sourceTree = "<group>"; }; + A56CC69A185643BB009EB79C /* ers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ers.c; path = src/common/ers.c; sourceTree = "<group>"; }; + A56CC69B185643BB009EB79C /* ers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ers.h; path = src/common/ers.h; sourceTree = "<group>"; }; + A56CC69E185643BB009EB79C /* grfio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = grfio.c; path = src/common/grfio.c; sourceTree = "<group>"; }; + A56CC69F185643BB009EB79C /* grfio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = grfio.h; path = src/common/grfio.h; sourceTree = "<group>"; }; + A56CC6A0185643BB009EB79C /* HPM.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = HPM.c; path = src/common/HPM.c; sourceTree = "<group>"; }; + A56CC6A1185643BB009EB79C /* HPM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HPM.h; path = src/common/HPM.h; sourceTree = "<group>"; }; + A56CC6A2185643BB009EB79C /* HPMi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HPMi.h; path = src/common/HPMi.h; sourceTree = "<group>"; }; + A56CC6A3185643BB009EB79C /* malloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = malloc.c; path = src/common/malloc.c; sourceTree = "<group>"; }; + A56CC6A4185643BB009EB79C /* malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = malloc.h; path = src/common/malloc.h; sourceTree = "<group>"; }; + A56CC6A5185643BB009EB79C /* mapindex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mapindex.c; path = src/common/mapindex.c; sourceTree = "<group>"; }; + A56CC6A6185643BB009EB79C /* mapindex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mapindex.h; path = src/common/mapindex.h; sourceTree = "<group>"; }; + A56CC6A7185643BB009EB79C /* md5calc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = md5calc.c; path = src/common/md5calc.c; sourceTree = "<group>"; }; + A56CC6A8185643BB009EB79C /* md5calc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = md5calc.h; path = src/common/md5calc.h; sourceTree = "<group>"; }; + A56CC6AB185643BB009EB79C /* mmo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mmo.h; path = src/common/mmo.h; sourceTree = "<group>"; }; + A56CC6AC185643BB009EB79C /* mutex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mutex.c; path = src/common/mutex.c; sourceTree = "<group>"; }; + A56CC6AD185643BB009EB79C /* mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mutex.h; path = src/common/mutex.h; sourceTree = "<group>"; }; + A56CC6B2185643BB009EB79C /* nullpo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = nullpo.c; path = src/common/nullpo.c; sourceTree = "<group>"; }; + A56CC6B3185643BB009EB79C /* nullpo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = nullpo.h; path = src/common/nullpo.h; sourceTree = "<group>"; }; + A56CC6B6185643BB009EB79C /* random.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = random.c; path = src/common/random.c; sourceTree = "<group>"; }; + A56CC6B7185643BB009EB79C /* random.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = random.h; path = src/common/random.h; sourceTree = "<group>"; }; + A56CC6B8185643BB009EB79C /* showmsg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = showmsg.c; path = src/common/showmsg.c; sourceTree = "<group>"; }; + A56CC6B9185643BB009EB79C /* showmsg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = showmsg.h; path = src/common/showmsg.h; sourceTree = "<group>"; }; + A56CC6BA185643BB009EB79C /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = socket.c; path = src/common/socket.c; sourceTree = "<group>"; }; + A56CC6BB185643BB009EB79C /* socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = socket.h; path = src/common/socket.h; sourceTree = "<group>"; }; + A56CC6BC185643BB009EB79C /* spinlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spinlock.h; path = src/common/spinlock.h; sourceTree = "<group>"; }; + A56CC6BD185643BB009EB79C /* sql.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sql.c; path = src/common/sql.c; sourceTree = "<group>"; }; + A56CC6BE185643BB009EB79C /* sql.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sql.h; path = src/common/sql.h; sourceTree = "<group>"; }; + A56CC6BF185643BB009EB79C /* strlib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = strlib.c; path = src/common/strlib.c; sourceTree = "<group>"; }; + A56CC6C0185643BB009EB79C /* strlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = strlib.h; path = src/common/strlib.h; sourceTree = "<group>"; }; + A56CC6C2185643BB009EB79C /* thread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = thread.c; path = src/common/thread.c; sourceTree = "<group>"; }; + A56CC6C3185643BB009EB79C /* thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = thread.h; path = src/common/thread.h; sourceTree = "<group>"; }; + A56CC6C4185643BB009EB79C /* timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = timer.c; path = src/common/timer.c; sourceTree = "<group>"; }; + A56CC6C5185643BB009EB79C /* timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = timer.h; path = src/common/timer.h; sourceTree = "<group>"; }; + A56CC6C6185643BB009EB79C /* utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = utils.c; path = src/common/utils.c; sourceTree = "<group>"; }; + A56CC6C7185643BB009EB79C /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = utils.h; path = src/common/utils.h; sourceTree = "<group>"; }; + A56CC6C8185643BB009EB79C /* winapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = winapi.h; path = src/common/winapi.h; sourceTree = "<group>"; }; + A56CC71B18564AF7009EB79C /* const.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = const.h; path = src/config/const.h; sourceTree = "<group>"; }; + A56CC71C18564AF7009EB79C /* core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = core.h; path = src/config/core.h; sourceTree = "<group>"; }; + A56CC71D18564AF7009EB79C /* renewal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = renewal.h; path = src/config/renewal.h; sourceTree = "<group>"; }; + A56CC71E18564AF7009EB79C /* secure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = secure.h; path = src/config/secure.h; sourceTree = "<group>"; }; + A56CC71F18564B00009EB79C /* general.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = general.h; path = src/config/classes/general.h; sourceTree = "<group>"; }; + A56CC72218564C05009EB79C /* grammar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = grammar.c; path = 3rdparty/libconfig/grammar.c; sourceTree = "<group>"; }; + A56CC72318564C05009EB79C /* grammar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = grammar.h; path = 3rdparty/libconfig/grammar.h; sourceTree = "<group>"; }; + A56CC72418564C05009EB79C /* libconfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = libconfig.c; path = 3rdparty/libconfig/libconfig.c; sourceTree = "<group>"; }; + A56CC72518564C05009EB79C /* libconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libconfig.h; path = 3rdparty/libconfig/libconfig.h; sourceTree = "<group>"; }; + A56CC72618564C05009EB79C /* parsectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = parsectx.h; path = 3rdparty/libconfig/parsectx.h; sourceTree = "<group>"; }; + A56CC72718564C05009EB79C /* scanctx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scanctx.c; path = 3rdparty/libconfig/scanctx.c; sourceTree = "<group>"; }; + A56CC72818564C05009EB79C /* scanctx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scanctx.h; path = 3rdparty/libconfig/scanctx.h; sourceTree = "<group>"; }; + A56CC72918564C05009EB79C /* scanner.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = scanner.c; path = 3rdparty/libconfig/scanner.c; sourceTree = "<group>"; }; + A56CC72A18564C05009EB79C /* scanner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scanner.h; path = 3rdparty/libconfig/scanner.h; sourceTree = "<group>"; }; + A56CC72B18564C05009EB79C /* strbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = strbuf.c; path = 3rdparty/libconfig/strbuf.c; sourceTree = "<group>"; }; + A56CC72C18564C05009EB79C /* strbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = strbuf.h; path = 3rdparty/libconfig/strbuf.h; sourceTree = "<group>"; }; + A56CC72D18564C05009EB79C /* wincompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wincompat.h; path = 3rdparty/libconfig/wincompat.h; sourceTree = "<group>"; }; + A56CC73E18564C23009EB79C /* mt19937ar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mt19937ar.c; path = 3rdparty/mt19937ar/mt19937ar.c; sourceTree = "<group>"; }; + A56CC73F18564C23009EB79C /* mt19937ar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mt19937ar.h; path = 3rdparty/mt19937ar/mt19937ar.h; sourceTree = "<group>"; }; + A56CC743185657D9009EB79C /* char.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = char.c; path = src/char/char.c; sourceTree = SOURCE_ROOT; }; + A56CC744185657D9009EB79C /* char.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = char.h; path = src/char/char.h; sourceTree = SOURCE_ROOT; }; + A56CC745185657D9009EB79C /* int_auction.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_auction.c; path = src/char/int_auction.c; sourceTree = SOURCE_ROOT; }; + A56CC746185657D9009EB79C /* int_auction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_auction.h; path = src/char/int_auction.h; sourceTree = SOURCE_ROOT; }; + A56CC747185657D9009EB79C /* int_elemental.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_elemental.c; path = src/char/int_elemental.c; sourceTree = SOURCE_ROOT; }; + A56CC748185657D9009EB79C /* int_elemental.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_elemental.h; path = src/char/int_elemental.h; sourceTree = SOURCE_ROOT; }; + A56CC749185657D9009EB79C /* int_guild.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_guild.c; path = src/char/int_guild.c; sourceTree = SOURCE_ROOT; }; + A56CC74A185657D9009EB79C /* int_guild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_guild.h; path = src/char/int_guild.h; sourceTree = SOURCE_ROOT; }; + A56CC74B185657D9009EB79C /* int_homun.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_homun.c; path = src/char/int_homun.c; sourceTree = SOURCE_ROOT; }; + A56CC74C185657D9009EB79C /* int_homun.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_homun.h; path = src/char/int_homun.h; sourceTree = SOURCE_ROOT; }; + A56CC74D185657D9009EB79C /* int_mail.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_mail.c; path = src/char/int_mail.c; sourceTree = SOURCE_ROOT; }; + A56CC74E185657D9009EB79C /* int_mail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_mail.h; path = src/char/int_mail.h; sourceTree = SOURCE_ROOT; }; + A56CC74F185657D9009EB79C /* int_mercenary.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_mercenary.c; path = src/char/int_mercenary.c; sourceTree = SOURCE_ROOT; }; + A56CC750185657D9009EB79C /* int_mercenary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_mercenary.h; path = src/char/int_mercenary.h; sourceTree = SOURCE_ROOT; }; + A56CC751185657D9009EB79C /* int_party.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_party.c; path = src/char/int_party.c; sourceTree = SOURCE_ROOT; }; + A56CC752185657D9009EB79C /* int_party.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_party.h; path = src/char/int_party.h; sourceTree = SOURCE_ROOT; }; + A56CC753185657D9009EB79C /* int_pet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_pet.c; path = src/char/int_pet.c; sourceTree = SOURCE_ROOT; }; + A56CC754185657D9009EB79C /* int_pet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_pet.h; path = src/char/int_pet.h; sourceTree = SOURCE_ROOT; }; + A56CC755185657D9009EB79C /* int_quest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_quest.c; path = src/char/int_quest.c; sourceTree = SOURCE_ROOT; }; + A56CC756185657D9009EB79C /* int_quest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_quest.h; path = src/char/int_quest.h; sourceTree = SOURCE_ROOT; }; + A56CC757185657D9009EB79C /* int_storage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = int_storage.c; path = src/char/int_storage.c; sourceTree = SOURCE_ROOT; }; + A56CC758185657D9009EB79C /* int_storage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = int_storage.h; path = src/char/int_storage.h; sourceTree = SOURCE_ROOT; }; + A56CC759185657D9009EB79C /* inter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = inter.c; path = src/char/inter.c; sourceTree = SOURCE_ROOT; }; + A56CC75A185657D9009EB79C /* inter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = inter.h; path = src/char/inter.h; sourceTree = SOURCE_ROOT; }; + A56CC75B185657D9009EB79C /* pincode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pincode.c; path = src/char/pincode.c; sourceTree = SOURCE_ROOT; }; + A56CC75C185657D9009EB79C /* pincode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pincode.h; path = src/char/pincode.h; sourceTree = SOURCE_ROOT; }; + A56CC76A18565812009EB79C /* atcommand.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = atcommand.c; path = src/map/atcommand.c; sourceTree = SOURCE_ROOT; }; + A56CC76B18565812009EB79C /* atcommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = atcommand.h; path = src/map/atcommand.h; sourceTree = SOURCE_ROOT; }; + A56CC76C18565812009EB79C /* battle.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = battle.c; path = src/map/battle.c; sourceTree = SOURCE_ROOT; }; + A56CC76D18565812009EB79C /* battle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = battle.h; path = src/map/battle.h; sourceTree = SOURCE_ROOT; }; + A56CC76E18565812009EB79C /* battleground.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = battleground.c; path = src/map/battleground.c; sourceTree = SOURCE_ROOT; }; + A56CC76F18565812009EB79C /* battleground.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = battleground.h; path = src/map/battleground.h; sourceTree = SOURCE_ROOT; }; + A56CC77018565812009EB79C /* buyingstore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = buyingstore.c; path = src/map/buyingstore.c; sourceTree = SOURCE_ROOT; }; + A56CC77118565812009EB79C /* buyingstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = buyingstore.h; path = src/map/buyingstore.h; sourceTree = SOURCE_ROOT; }; + A56CC77218565812009EB79C /* chat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chat.c; path = src/map/chat.c; sourceTree = SOURCE_ROOT; }; + A56CC77318565812009EB79C /* chat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = chat.h; path = src/map/chat.h; sourceTree = SOURCE_ROOT; }; + A56CC77418565812009EB79C /* chrif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chrif.c; path = src/map/chrif.c; sourceTree = SOURCE_ROOT; }; + A56CC77518565812009EB79C /* chrif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = chrif.h; path = src/map/chrif.h; sourceTree = SOURCE_ROOT; }; + A56CC77618565812009EB79C /* clif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = clif.c; path = src/map/clif.c; sourceTree = SOURCE_ROOT; }; + A56CC77718565812009EB79C /* clif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = clif.h; path = src/map/clif.h; sourceTree = SOURCE_ROOT; }; + A56CC77818565812009EB79C /* date.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = date.c; path = src/map/date.c; sourceTree = SOURCE_ROOT; }; + A56CC77918565812009EB79C /* date.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = date.h; path = src/map/date.h; sourceTree = SOURCE_ROOT; }; + A56CC77A18565812009EB79C /* duel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = duel.c; path = src/map/duel.c; sourceTree = SOURCE_ROOT; }; + A56CC77B18565812009EB79C /* duel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = duel.h; path = src/map/duel.h; sourceTree = SOURCE_ROOT; }; + A56CC77C18565812009EB79C /* elemental.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = elemental.c; path = src/map/elemental.c; sourceTree = SOURCE_ROOT; }; + A56CC77D18565812009EB79C /* elemental.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = elemental.h; path = src/map/elemental.h; sourceTree = SOURCE_ROOT; }; + A56CC77E18565812009EB79C /* guild.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = guild.c; path = src/map/guild.c; sourceTree = SOURCE_ROOT; }; + A56CC77F18565812009EB79C /* guild.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = guild.h; path = src/map/guild.h; sourceTree = SOURCE_ROOT; }; + A56CC78018565812009EB79C /* homunculus.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = homunculus.c; path = src/map/homunculus.c; sourceTree = SOURCE_ROOT; }; + A56CC78118565812009EB79C /* homunculus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = homunculus.h; path = src/map/homunculus.h; sourceTree = SOURCE_ROOT; }; + A56CC78218565812009EB79C /* HPMmap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = HPMmap.c; path = src/map/HPMmap.c; sourceTree = SOURCE_ROOT; }; + A56CC78318565812009EB79C /* HPMmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HPMmap.h; path = src/map/HPMmap.h; sourceTree = SOURCE_ROOT; }; + A56CC78418565812009EB79C /* instance.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = instance.c; path = src/map/instance.c; sourceTree = SOURCE_ROOT; }; + A56CC78518565812009EB79C /* instance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = instance.h; path = src/map/instance.h; sourceTree = SOURCE_ROOT; }; + A56CC78618565812009EB79C /* intif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = intif.c; path = src/map/intif.c; sourceTree = SOURCE_ROOT; }; + A56CC78718565812009EB79C /* intif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = intif.h; path = src/map/intif.h; sourceTree = SOURCE_ROOT; }; + A56CC78818565812009EB79C /* irc-bot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "irc-bot.c"; path = "src/map/irc-bot.c"; sourceTree = SOURCE_ROOT; }; + A56CC78918565812009EB79C /* irc-bot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "irc-bot.h"; path = "src/map/irc-bot.h"; sourceTree = SOURCE_ROOT; }; + A56CC78A18565812009EB79C /* itemdb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = itemdb.c; path = src/map/itemdb.c; sourceTree = SOURCE_ROOT; }; + A56CC78B18565812009EB79C /* itemdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = itemdb.h; path = src/map/itemdb.h; sourceTree = SOURCE_ROOT; }; + A56CC78C18565812009EB79C /* log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = log.c; path = src/map/log.c; sourceTree = SOURCE_ROOT; }; + A56CC78D18565812009EB79C /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = log.h; path = src/map/log.h; sourceTree = SOURCE_ROOT; }; + A56CC78E18565812009EB79C /* mail.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mail.c; path = src/map/mail.c; sourceTree = SOURCE_ROOT; }; + A56CC78F18565812009EB79C /* mail.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mail.h; path = src/map/mail.h; sourceTree = SOURCE_ROOT; }; + A56CC79018565812009EB79C /* map.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = map.c; path = src/map/map.c; sourceTree = SOURCE_ROOT; }; + A56CC79118565812009EB79C /* map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = map.h; path = src/map/map.h; sourceTree = SOURCE_ROOT; }; + A56CC79218565812009EB79C /* mapreg_sql.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mapreg_sql.c; path = src/map/mapreg_sql.c; sourceTree = SOURCE_ROOT; }; + A56CC79318565812009EB79C /* mapreg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mapreg.h; path = src/map/mapreg.h; sourceTree = SOURCE_ROOT; }; + A56CC79418565812009EB79C /* mercenary.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mercenary.c; path = src/map/mercenary.c; sourceTree = SOURCE_ROOT; }; + A56CC79518565812009EB79C /* mercenary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mercenary.h; path = src/map/mercenary.h; sourceTree = SOURCE_ROOT; }; + A56CC79618565812009EB79C /* mob.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mob.c; path = src/map/mob.c; sourceTree = SOURCE_ROOT; }; + A56CC79718565812009EB79C /* mob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mob.h; path = src/map/mob.h; sourceTree = SOURCE_ROOT; }; + A56CC79818565812009EB79C /* npc_chat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = npc_chat.c; path = src/map/npc_chat.c; sourceTree = SOURCE_ROOT; }; + A56CC79918565812009EB79C /* npc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = npc.c; path = src/map/npc.c; sourceTree = SOURCE_ROOT; }; + A56CC79A18565812009EB79C /* npc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = npc.h; path = src/map/npc.h; sourceTree = SOURCE_ROOT; }; + A56CC79B18565812009EB79C /* packets_struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets_struct.h; path = src/map/packets_struct.h; sourceTree = SOURCE_ROOT; }; + A56CC79C18565812009EB79C /* packets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = packets.h; path = src/map/packets.h; sourceTree = SOURCE_ROOT; }; + A56CC79D18565812009EB79C /* party.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = party.c; path = src/map/party.c; sourceTree = SOURCE_ROOT; }; + A56CC79E18565812009EB79C /* party.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = party.h; path = src/map/party.h; sourceTree = SOURCE_ROOT; }; + A56CC79F18565812009EB79C /* path.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = path.c; path = src/map/path.c; sourceTree = SOURCE_ROOT; }; + A56CC7A018565812009EB79C /* path.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = path.h; path = src/map/path.h; sourceTree = SOURCE_ROOT; }; + A56CC7A118565812009EB79C /* pc_groups.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pc_groups.c; path = src/map/pc_groups.c; sourceTree = SOURCE_ROOT; }; + A56CC7A218565812009EB79C /* pc_groups.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pc_groups.h; path = src/map/pc_groups.h; sourceTree = SOURCE_ROOT; }; + A56CC7A318565812009EB79C /* pc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pc.c; path = src/map/pc.c; sourceTree = SOURCE_ROOT; }; + A56CC7A418565812009EB79C /* pc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pc.h; path = src/map/pc.h; sourceTree = SOURCE_ROOT; }; + A56CC7A518565812009EB79C /* pet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pet.c; path = src/map/pet.c; sourceTree = SOURCE_ROOT; }; + A56CC7A618565812009EB79C /* pet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pet.h; path = src/map/pet.h; sourceTree = SOURCE_ROOT; }; + A56CC7A718565812009EB79C /* quest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = quest.c; path = src/map/quest.c; sourceTree = SOURCE_ROOT; }; + A56CC7A818565812009EB79C /* quest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = quest.h; path = src/map/quest.h; sourceTree = SOURCE_ROOT; }; + A56CC7A918565812009EB79C /* script.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = script.c; path = src/map/script.c; sourceTree = SOURCE_ROOT; }; + A56CC7AA18565812009EB79C /* script.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = script.h; path = src/map/script.h; sourceTree = SOURCE_ROOT; }; + A56CC7AB18565812009EB79C /* searchstore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = searchstore.c; path = src/map/searchstore.c; sourceTree = SOURCE_ROOT; }; + A56CC7AC18565812009EB79C /* searchstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = searchstore.h; path = src/map/searchstore.h; sourceTree = SOURCE_ROOT; }; + A56CC7AD18565812009EB79C /* skill.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = skill.c; path = src/map/skill.c; sourceTree = SOURCE_ROOT; }; + A56CC7AE18565812009EB79C /* skill.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = skill.h; path = src/map/skill.h; sourceTree = SOURCE_ROOT; }; + A56CC7AF18565812009EB79C /* status.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = status.c; path = src/map/status.c; sourceTree = SOURCE_ROOT; }; + A56CC7B018565812009EB79C /* status.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = status.h; path = src/map/status.h; sourceTree = SOURCE_ROOT; }; + A56CC7B118565812009EB79C /* storage.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = storage.c; path = src/map/storage.c; sourceTree = SOURCE_ROOT; }; + A56CC7B218565812009EB79C /* storage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = storage.h; path = src/map/storage.h; sourceTree = SOURCE_ROOT; }; + A56CC7B318565812009EB79C /* trade.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = trade.c; path = src/map/trade.c; sourceTree = SOURCE_ROOT; }; + A56CC7B418565812009EB79C /* trade.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = trade.h; path = src/map/trade.h; sourceTree = SOURCE_ROOT; }; + A56CC7B518565812009EB79C /* unit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = unit.c; path = src/map/unit.c; sourceTree = SOURCE_ROOT; }; + A56CC7B618565812009EB79C /* unit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = unit.h; path = src/map/unit.h; sourceTree = SOURCE_ROOT; }; + A56CC7B718565812009EB79C /* vending.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = vending.c; path = src/map/vending.c; sourceTree = SOURCE_ROOT; }; + A56CC7B818565812009EB79C /* vending.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = vending.h; path = src/map/vending.h; sourceTree = SOURCE_ROOT; }; + A58A5A26185801FF0099683E /* HPMHooking.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = HPMHooking.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + A58A5A271858025D0099683E /* HPMHooking.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = HPMHooking.c; path = src/plugins/HPMHooking.c; sourceTree = "<group>"; }; + A58A5A2A1858028C0099683E /* HPMHooking.GetSymbol.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = HPMHooking.GetSymbol.inc; path = src/plugins/HPMHooking/HPMHooking.GetSymbol.inc; sourceTree = "<group>"; }; + A58A5A2B1858028C0099683E /* HPMHooking.HookingPoints.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = HPMHooking.HookingPoints.inc; path = src/plugins/HPMHooking/HPMHooking.HookingPoints.inc; sourceTree = "<group>"; }; + A58A5A2C1858028C0099683E /* HPMHooking.Hooks.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = HPMHooking.Hooks.inc; path = src/plugins/HPMHooking/HPMHooking.Hooks.inc; sourceTree = "<group>"; }; + A58A5A2D1858028C0099683E /* HPMHooking.HPMHooksCore.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = HPMHooking.HPMHooksCore.inc; path = src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc; sourceTree = "<group>"; }; + A58A5A2E1858028C0099683E /* HPMHooking.sources.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = HPMHooking.sources.inc; path = src/plugins/HPMHooking/HPMHooking.sources.inc; sourceTree = "<group>"; }; + A5AA94E71857956100C940C8 /* sample.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = sample.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + A5AA94ED185796CB00C940C8 /* sample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sample.c; path = src/plugins/sample.c; sourceTree = "<group>"; }; + A5AA94F3185799B700C940C8 /* db2sql.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = db2sql.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + A5AA94F8185799DF00C940C8 /* db2sql.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = db2sql.c; path = src/plugins/db2sql.c; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + A5380CCA1856CE180090CBC4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A56CC66718564315009EB79C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A56CC6701856434D009EB79C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A56CC67918564356009EB79C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A58A5A21185801FF0099683E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5AA94E41857956100C940C8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5AA94F0185799B700C940C8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + A5380CC81856CDF70090CBC4 /* tools */ = { + isa = PBXGroup; + children = ( + A5380CD61856CE3C0090CBC4 /* mapcache.c */, + ); + name = tools; + sourceTree = "<group>"; + }; + A56CC651185642B4009EB79C = { + isa = PBXGroup; + children = ( + A5AA94EB185796A400C940C8 /* plugins */, + A56CC72018564BDF009EB79C /* 3rdparty */, + A58A5A1C185801490099683E /* core */, + A56CC65B185642B4009EB79C /* Products */, + ); + sourceTree = "<group>"; + usesTabs = 1; + }; + A56CC65B185642B4009EB79C /* Products */ = { + isa = PBXGroup; + children = ( + A56CC66A18564315009EB79C /* login-server */, + A56CC6731856434D009EB79C /* char-server */, + A56CC67C18564356009EB79C /* map-server */, + A5380CCD1856CE180090CBC4 /* mapcache */, + A5AA94E71857956100C940C8 /* sample.dylib */, + A5AA94F3185799B700C940C8 /* db2sql.dylib */, + A58A5A26185801FF0099683E /* HPMHooking.dylib */, + ); + name = Products; + sourceTree = "<group>"; + }; + A56CC66B18564315009EB79C /* login-server */ = { + isa = PBXGroup; + children = ( + A56CC68118564387009EB79C /* account_sql.c */, + A56CC68218564387009EB79C /* account.h */, + A56CC68318564387009EB79C /* ipban_sql.c */, + A56CC68418564387009EB79C /* ipban.h */, + A56CC68518564387009EB79C /* login.c */, + A56CC68618564387009EB79C /* login.h */, + A56CC68718564387009EB79C /* loginlog_sql.c */, + A56CC68818564387009EB79C /* loginlog.h */, + ); + path = "login-server"; + sourceTree = "<group>"; + }; + A56CC6741856434D009EB79C /* char-server */ = { + isa = PBXGroup; + children = ( + A56CC743185657D9009EB79C /* char.c */, + A56CC744185657D9009EB79C /* char.h */, + A56CC745185657D9009EB79C /* int_auction.c */, + A56CC746185657D9009EB79C /* int_auction.h */, + A56CC747185657D9009EB79C /* int_elemental.c */, + A56CC748185657D9009EB79C /* int_elemental.h */, + A56CC749185657D9009EB79C /* int_guild.c */, + A56CC74A185657D9009EB79C /* int_guild.h */, + A56CC74B185657D9009EB79C /* int_homun.c */, + A56CC74C185657D9009EB79C /* int_homun.h */, + A56CC74D185657D9009EB79C /* int_mail.c */, + A56CC74E185657D9009EB79C /* int_mail.h */, + A56CC74F185657D9009EB79C /* int_mercenary.c */, + A56CC750185657D9009EB79C /* int_mercenary.h */, + A56CC751185657D9009EB79C /* int_party.c */, + A56CC752185657D9009EB79C /* int_party.h */, + A56CC753185657D9009EB79C /* int_pet.c */, + A56CC754185657D9009EB79C /* int_pet.h */, + A56CC755185657D9009EB79C /* int_quest.c */, + A56CC756185657D9009EB79C /* int_quest.h */, + A56CC757185657D9009EB79C /* int_storage.c */, + A56CC758185657D9009EB79C /* int_storage.h */, + A56CC759185657D9009EB79C /* inter.c */, + A56CC75A185657D9009EB79C /* inter.h */, + A56CC75B185657D9009EB79C /* pincode.c */, + A56CC75C185657D9009EB79C /* pincode.h */, + ); + path = "char-server"; + sourceTree = "<group>"; + }; + A56CC67D18564357009EB79C /* map-server */ = { + isa = PBXGroup; + children = ( + A56CC76A18565812009EB79C /* atcommand.c */, + A56CC76B18565812009EB79C /* atcommand.h */, + A56CC76C18565812009EB79C /* battle.c */, + A56CC76D18565812009EB79C /* battle.h */, + A56CC76E18565812009EB79C /* battleground.c */, + A56CC76F18565812009EB79C /* battleground.h */, + A56CC77018565812009EB79C /* buyingstore.c */, + A56CC77118565812009EB79C /* buyingstore.h */, + A56CC77218565812009EB79C /* chat.c */, + A56CC77318565812009EB79C /* chat.h */, + A56CC77418565812009EB79C /* chrif.c */, + A56CC77518565812009EB79C /* chrif.h */, + A56CC77618565812009EB79C /* clif.c */, + A56CC77718565812009EB79C /* clif.h */, + A56CC77818565812009EB79C /* date.c */, + A56CC77918565812009EB79C /* date.h */, + A56CC77A18565812009EB79C /* duel.c */, + A56CC77B18565812009EB79C /* duel.h */, + A56CC77C18565812009EB79C /* elemental.c */, + A56CC77D18565812009EB79C /* elemental.h */, + A56CC77E18565812009EB79C /* guild.c */, + A56CC77F18565812009EB79C /* guild.h */, + A56CC78018565812009EB79C /* homunculus.c */, + A56CC78118565812009EB79C /* homunculus.h */, + A56CC78218565812009EB79C /* HPMmap.c */, + A56CC78318565812009EB79C /* HPMmap.h */, + A56CC78418565812009EB79C /* instance.c */, + A56CC78518565812009EB79C /* instance.h */, + A56CC78618565812009EB79C /* intif.c */, + A56CC78718565812009EB79C /* intif.h */, + A56CC78818565812009EB79C /* irc-bot.c */, + A56CC78918565812009EB79C /* irc-bot.h */, + A56CC78A18565812009EB79C /* itemdb.c */, + A56CC78B18565812009EB79C /* itemdb.h */, + A56CC78C18565812009EB79C /* log.c */, + A56CC78D18565812009EB79C /* log.h */, + A56CC78E18565812009EB79C /* mail.c */, + A56CC78F18565812009EB79C /* mail.h */, + A56CC79018565812009EB79C /* map.c */, + A56CC79118565812009EB79C /* map.h */, + A56CC79218565812009EB79C /* mapreg_sql.c */, + A56CC79318565812009EB79C /* mapreg.h */, + A56CC79418565812009EB79C /* mercenary.c */, + A56CC79518565812009EB79C /* mercenary.h */, + A56CC79618565812009EB79C /* mob.c */, + A56CC79718565812009EB79C /* mob.h */, + A56CC79818565812009EB79C /* npc_chat.c */, + A56CC79918565812009EB79C /* npc.c */, + A56CC79A18565812009EB79C /* npc.h */, + A56CC79B18565812009EB79C /* packets_struct.h */, + A56CC79C18565812009EB79C /* packets.h */, + A56CC79D18565812009EB79C /* party.c */, + A56CC79E18565812009EB79C /* party.h */, + A56CC79F18565812009EB79C /* path.c */, + A56CC7A018565812009EB79C /* path.h */, + A56CC7A118565812009EB79C /* pc_groups.c */, + A56CC7A218565812009EB79C /* pc_groups.h */, + A56CC7A318565812009EB79C /* pc.c */, + A56CC7A418565812009EB79C /* pc.h */, + A56CC7A518565812009EB79C /* pet.c */, + A56CC7A618565812009EB79C /* pet.h */, + A56CC7A718565812009EB79C /* quest.c */, + A56CC7A818565812009EB79C /* quest.h */, + A56CC7A918565812009EB79C /* script.c */, + A56CC7AA18565812009EB79C /* script.h */, + A56CC7AB18565812009EB79C /* searchstore.c */, + A56CC7AC18565812009EB79C /* searchstore.h */, + A56CC7AD18565812009EB79C /* skill.c */, + A56CC7AE18565812009EB79C /* skill.h */, + A56CC7AF18565812009EB79C /* status.c */, + A56CC7B018565812009EB79C /* status.h */, + A56CC7B118565812009EB79C /* storage.c */, + A56CC7B218565812009EB79C /* storage.h */, + A56CC7B318565812009EB79C /* trade.c */, + A56CC7B418565812009EB79C /* trade.h */, + A56CC7B518565812009EB79C /* unit.c */, + A56CC7B618565812009EB79C /* unit.h */, + A56CC7B718565812009EB79C /* vending.c */, + A56CC7B818565812009EB79C /* vending.h */, + ); + path = "map-server"; + sourceTree = "<group>"; + }; + A56CC68D1856439A009EB79C /* common */ = { + isa = PBXGroup; + children = ( + A56CC68E185643BB009EB79C /* atomic.h */, + A56CC68F185643BB009EB79C /* cbasetypes.h */, + A56CC690185643BB009EB79C /* conf.c */, + A56CC691185643BB009EB79C /* conf.h */, + A56CC692185643BB009EB79C /* console.c */, + A56CC693185643BB009EB79C /* console.h */, + A56CC694185643BB009EB79C /* core.c */, + A56CC695185643BB009EB79C /* core.h */, + A56CC696185643BB009EB79C /* db.c */, + A56CC697185643BB009EB79C /* db.h */, + A56CC698185643BB009EB79C /* des.c */, + A56CC699185643BB009EB79C /* des.h */, + A56CC69A185643BB009EB79C /* ers.c */, + A56CC69B185643BB009EB79C /* ers.h */, + A56CC69E185643BB009EB79C /* grfio.c */, + A56CC69F185643BB009EB79C /* grfio.h */, + A56CC6A0185643BB009EB79C /* HPM.c */, + A56CC6A1185643BB009EB79C /* HPM.h */, + A56CC6A2185643BB009EB79C /* HPMi.h */, + A56CC6A3185643BB009EB79C /* malloc.c */, + A56CC6A4185643BB009EB79C /* malloc.h */, + A56CC6A5185643BB009EB79C /* mapindex.c */, + A56CC6A6185643BB009EB79C /* mapindex.h */, + A56CC6A7185643BB009EB79C /* md5calc.c */, + A56CC6A8185643BB009EB79C /* md5calc.h */, + A56CC6AB185643BB009EB79C /* mmo.h */, + A56CC6AC185643BB009EB79C /* mutex.c */, + A56CC6AD185643BB009EB79C /* mutex.h */, + A56CC6B2185643BB009EB79C /* nullpo.c */, + A56CC6B3185643BB009EB79C /* nullpo.h */, + A56CC6B6185643BB009EB79C /* random.c */, + A56CC6B7185643BB009EB79C /* random.h */, + A56CC6B8185643BB009EB79C /* showmsg.c */, + A56CC6B9185643BB009EB79C /* showmsg.h */, + A56CC6BA185643BB009EB79C /* socket.c */, + A56CC6BB185643BB009EB79C /* socket.h */, + A56CC6BC185643BB009EB79C /* spinlock.h */, + A56CC6BD185643BB009EB79C /* sql.c */, + A56CC6BE185643BB009EB79C /* sql.h */, + A56CC6BF185643BB009EB79C /* strlib.c */, + A56CC6C0185643BB009EB79C /* strlib.h */, + A56CC6C2185643BB009EB79C /* thread.c */, + A56CC6C3185643BB009EB79C /* thread.h */, + A56CC6C4185643BB009EB79C /* timer.c */, + A56CC6C5185643BB009EB79C /* timer.h */, + A56CC6C6185643BB009EB79C /* utils.c */, + A56CC6C7185643BB009EB79C /* utils.h */, + A56CC6C8185643BB009EB79C /* winapi.h */, + ); + name = common; + sourceTree = "<group>"; + }; + A56CC71A18564AC7009EB79C /* config */ = { + isa = PBXGroup; + children = ( + A56CC71F18564B00009EB79C /* general.h */, + A56CC71B18564AF7009EB79C /* const.h */, + A56CC71C18564AF7009EB79C /* core.h */, + A56CC71D18564AF7009EB79C /* renewal.h */, + A56CC71E18564AF7009EB79C /* secure.h */, + ); + name = config; + sourceTree = "<group>"; + }; + A56CC72018564BDF009EB79C /* 3rdparty */ = { + isa = PBXGroup; + children = ( + A56CC73D18564C10009EB79C /* mt19937ar */, + A56CC72118564BE5009EB79C /* libconfig */, + ); + name = 3rdparty; + sourceTree = "<group>"; + }; + A56CC72118564BE5009EB79C /* libconfig */ = { + isa = PBXGroup; + children = ( + A56CC72218564C05009EB79C /* grammar.c */, + A56CC72318564C05009EB79C /* grammar.h */, + A56CC72418564C05009EB79C /* libconfig.c */, + A56CC72518564C05009EB79C /* libconfig.h */, + A56CC72618564C05009EB79C /* parsectx.h */, + A56CC72718564C05009EB79C /* scanctx.c */, + A56CC72818564C05009EB79C /* scanctx.h */, + A56CC72918564C05009EB79C /* scanner.c */, + A56CC72A18564C05009EB79C /* scanner.h */, + A56CC72B18564C05009EB79C /* strbuf.c */, + A56CC72C18564C05009EB79C /* strbuf.h */, + A56CC72D18564C05009EB79C /* wincompat.h */, + ); + name = libconfig; + sourceTree = "<group>"; + }; + A56CC73D18564C10009EB79C /* mt19937ar */ = { + isa = PBXGroup; + children = ( + A56CC73E18564C23009EB79C /* mt19937ar.c */, + A56CC73F18564C23009EB79C /* mt19937ar.h */, + ); + name = mt19937ar; + sourceTree = "<group>"; + }; + A58A5A1C185801490099683E /* core */ = { + isa = PBXGroup; + children = ( + A5380CC81856CDF70090CBC4 /* tools */, + A56CC71A18564AC7009EB79C /* config */, + A56CC68D1856439A009EB79C /* common */, + A56CC66B18564315009EB79C /* login-server */, + A56CC6741856434D009EB79C /* char-server */, + A56CC67D18564357009EB79C /* map-server */, + ); + name = core; + sourceTree = "<group>"; + }; + A58A5A291858026F0099683E /* HPMHooking */ = { + isa = PBXGroup; + children = ( + A58A5A2A1858028C0099683E /* HPMHooking.GetSymbol.inc */, + A58A5A2B1858028C0099683E /* HPMHooking.HookingPoints.inc */, + A58A5A2C1858028C0099683E /* HPMHooking.Hooks.inc */, + A58A5A2D1858028C0099683E /* HPMHooking.HPMHooksCore.inc */, + A58A5A2E1858028C0099683E /* HPMHooking.sources.inc */, + A58A5A271858025D0099683E /* HPMHooking.c */, + ); + name = HPMHooking; + sourceTree = "<group>"; + }; + A5AA94EB185796A400C940C8 /* plugins */ = { + isa = PBXGroup; + children = ( + A58A5A291858026F0099683E /* HPMHooking */, + A5AA94F7185799CF00C940C8 /* db2sql */, + A5AA94EC185796AB00C940C8 /* sample */, + ); + name = plugins; + sourceTree = "<group>"; + }; + A5AA94EC185796AB00C940C8 /* sample */ = { + isa = PBXGroup; + children = ( + A5AA94ED185796CB00C940C8 /* sample.c */, + ); + name = sample; + sourceTree = "<group>"; + }; + A5AA94F7185799CF00C940C8 /* db2sql */ = { + isa = PBXGroup; + children = ( + A5AA94F8185799DF00C940C8 /* db2sql.c */, + ); + name = db2sql; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + A58A5A22185801FF0099683E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5AA94E51857956100C940C8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5AA94F1185799B700C940C8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + A5380CCC1856CE180090CBC4 /* mapcache */ = { + isa = PBXNativeTarget; + buildConfigurationList = A5380CD31856CE190090CBC4 /* Build configuration list for PBXNativeTarget "mapcache" */; + buildPhases = ( + A5380CC91856CE180090CBC4 /* Sources */, + A5380CCA1856CE180090CBC4 /* Frameworks */, + A5380CCB1856CE180090CBC4 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = mapcache; + productName = mapcache; + productReference = A5380CCD1856CE180090CBC4 /* mapcache */; + productType = "com.apple.product-type.tool"; + }; + A56CC66918564315009EB79C /* login-server */ = { + isa = PBXNativeTarget; + buildConfigurationList = A56CC66C18564315009EB79C /* Build configuration list for PBXNativeTarget "login-server" */; + buildPhases = ( + A56CC66618564315009EB79C /* Sources */, + A56CC66718564315009EB79C /* Frameworks */, + A56CC66818564315009EB79C /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "login-server"; + productName = "login-server"; + productReference = A56CC66A18564315009EB79C /* login-server */; + productType = "com.apple.product-type.tool"; + }; + A56CC6721856434D009EB79C /* char-server */ = { + isa = PBXNativeTarget; + buildConfigurationList = A56CC6751856434D009EB79C /* Build configuration list for PBXNativeTarget "char-server" */; + buildPhases = ( + A56CC66F1856434D009EB79C /* Sources */, + A56CC6701856434D009EB79C /* Frameworks */, + A56CC6711856434D009EB79C /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "char-server"; + productName = "char-server"; + productReference = A56CC6731856434D009EB79C /* char-server */; + productType = "com.apple.product-type.tool"; + }; + A56CC67B18564356009EB79C /* map-server */ = { + isa = PBXNativeTarget; + buildConfigurationList = A56CC67E18564357009EB79C /* Build configuration list for PBXNativeTarget "map-server" */; + buildPhases = ( + A56CC67818564356009EB79C /* Sources */, + A56CC67918564356009EB79C /* Frameworks */, + A56CC67A18564356009EB79C /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "map-server"; + productName = "map-server"; + productReference = A56CC67C18564356009EB79C /* map-server */; + productType = "com.apple.product-type.tool"; + }; + A58A5A1E185801FF0099683E /* HPMHooking */ = { + isa = PBXNativeTarget; + buildConfigurationList = A58A5A23185801FF0099683E /* Build configuration list for PBXNativeTarget "HPMHooking" */; + buildPhases = ( + A58A5A1F185801FF0099683E /* Sources */, + A58A5A21185801FF0099683E /* Frameworks */, + A58A5A22185801FF0099683E /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = HPMHooking; + productName = sample; + productReference = A58A5A26185801FF0099683E /* HPMHooking.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + A5AA94E61857956100C940C8 /* sample */ = { + isa = PBXNativeTarget; + buildConfigurationList = A5AA94EA1857956100C940C8 /* Build configuration list for PBXNativeTarget "sample" */; + buildPhases = ( + A5AA94E31857956100C940C8 /* Sources */, + A5AA94E41857956100C940C8 /* Frameworks */, + A5AA94E51857956100C940C8 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = sample; + productName = sample; + productReference = A5AA94E71857956100C940C8 /* sample.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; + A5AA94F2185799B700C940C8 /* db2sql */ = { + isa = PBXNativeTarget; + buildConfigurationList = A5AA94F4185799B700C940C8 /* Build configuration list for PBXNativeTarget "db2sql" */; + buildPhases = ( + A5AA94EF185799B700C940C8 /* Sources */, + A5AA94F0185799B700C940C8 /* Frameworks */, + A5AA94F1185799B700C940C8 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = db2sql; + productName = db2sql; + productReference = A5AA94F3185799B700C940C8 /* db2sql.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + A56CC652185642B4009EB79C /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0500; + ORGANIZATIONNAME = hercules.ws; + }; + buildConfigurationList = A56CC655185642B4009EB79C /* Build configuration list for PBXProject "Hercules" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = A56CC651185642B4009EB79C; + productRefGroup = A56CC65B185642B4009EB79C /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + A56CC66918564315009EB79C /* login-server */, + A56CC6721856434D009EB79C /* char-server */, + A56CC67B18564356009EB79C /* map-server */, + A5380CCC1856CE180090CBC4 /* mapcache */, + A58A5A1E185801FF0099683E /* HPMHooking */, + A5AA94F2185799B700C940C8 /* db2sql */, + A5AA94E61857956100C940C8 /* sample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + A5380CC91856CE180090CBC4 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A58A5A1A185800CD0099683E /* strlib.c in Sources */, + A5380CD91856CF4A0090CBC4 /* core.c in Sources */, + A567612D185D11D700997C0D /* nullpo.c in Sources */, + A5380CD81856CE8A0090CBC4 /* console.c in Sources */, + A58A5A19185800C20099683E /* des.c in Sources */, + A5380CD71856CE3C0090CBC4 /* mapcache.c in Sources */, + A58A5A1B185800E70099683E /* utils.c in Sources */, + A58A5A18185800B80099683E /* grfio.c in Sources */, + A5380CDA1856D0650090CBC4 /* socket.c in Sources */, + A58A5A17185800A40099683E /* showmsg.c in Sources */, + A5380CDB1856D0690090CBC4 /* malloc.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A56CC66618564315009EB79C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A56CC6C9185643BB009EB79C /* conf.c in Sources */, + A56CC68B18564387009EB79C /* login.c in Sources */, + A56CC6D8185643BB009EB79C /* ers.c in Sources */, + A56CC73718564C05009EB79C /* scanner.c in Sources */, + A56CC6EA185643BB009EB79C /* md5calc.c in Sources */, + A56CC74018564C23009EB79C /* mt19937ar.c in Sources */, + A56CC6DE185643BB009EB79C /* grfio.c in Sources */, + A56CC68C18564387009EB79C /* loginlog_sql.c in Sources */, + A56CC73118564C05009EB79C /* libconfig.c in Sources */, + A56CC717185643BB009EB79C /* utils.c in Sources */, + A56CC708185643BB009EB79C /* sql.c in Sources */, + A56CC702185643BB009EB79C /* showmsg.c in Sources */, + A56CC6F9185643BB009EB79C /* nullpo.c in Sources */, + A56CC6D5185643BB009EB79C /* des.c in Sources */, + A56CC6E7185643BB009EB79C /* mapindex.c in Sources */, + A56CC73A18564C05009EB79C /* strbuf.c in Sources */, + A56CC6F0185643BB009EB79C /* mutex.c in Sources */, + A56CC6D2185643BB009EB79C /* db.c in Sources */, + A56CC711185643BB009EB79C /* thread.c in Sources */, + A56CC70B185643BB009EB79C /* strlib.c in Sources */, + A56CC6CF185643BB009EB79C /* core.c in Sources */, + A56CC6CC185643BB009EB79C /* console.c in Sources */, + A56CC72E18564C05009EB79C /* grammar.c in Sources */, + A56CC705185643BB009EB79C /* socket.c in Sources */, + A56CC68918564387009EB79C /* account_sql.c in Sources */, + A56CC6E4185643BB009EB79C /* malloc.c in Sources */, + A56CC6E1185643BB009EB79C /* HPM.c in Sources */, + A56CC6FF185643BB009EB79C /* random.c in Sources */, + A56CC73418564C05009EB79C /* scanctx.c in Sources */, + A56CC714185643BB009EB79C /* timer.c in Sources */, + A56CC68A18564387009EB79C /* ipban_sql.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A56CC66F1856434D009EB79C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A56CC766185657D9009EB79C /* int_quest.c in Sources */, + A56CC709185643BB009EB79C /* sql.c in Sources */, + A56CC75E185657D9009EB79C /* int_auction.c in Sources */, + A56CC75D185657D9009EB79C /* char.c in Sources */, + A56CC6D9185643BB009EB79C /* ers.c in Sources */, + A56CC6CA185643BB009EB79C /* conf.c in Sources */, + A56CC718185643BB009EB79C /* utils.c in Sources */, + A56CC715185643BB009EB79C /* timer.c in Sources */, + A56CC6CD185643BB009EB79C /* console.c in Sources */, + A56CC72F18564C05009EB79C /* grammar.c in Sources */, + A56CC6EB185643BB009EB79C /* md5calc.c in Sources */, + A56CC760185657D9009EB79C /* int_guild.c in Sources */, + A56CC768185657D9009EB79C /* inter.c in Sources */, + A56CC73818564C05009EB79C /* scanner.c in Sources */, + A56CC700185643BB009EB79C /* random.c in Sources */, + A56CC761185657D9009EB79C /* int_homun.c in Sources */, + A56CC6FA185643BB009EB79C /* nullpo.c in Sources */, + A56CC6E5185643BB009EB79C /* malloc.c in Sources */, + A56CC6E2185643BB009EB79C /* HPM.c in Sources */, + A56CC765185657D9009EB79C /* int_pet.c in Sources */, + A56CC769185657D9009EB79C /* pincode.c in Sources */, + A56CC6F1185643BB009EB79C /* mutex.c in Sources */, + A56CC762185657D9009EB79C /* int_mail.c in Sources */, + A56CC706185643BB009EB79C /* socket.c in Sources */, + A56CC6D6185643BB009EB79C /* des.c in Sources */, + A56CC764185657D9009EB79C /* int_party.c in Sources */, + A56CC73B18564C05009EB79C /* strbuf.c in Sources */, + A56CC6E8185643BB009EB79C /* mapindex.c in Sources */, + A56CC73218564C05009EB79C /* libconfig.c in Sources */, + A56CC74118564C23009EB79C /* mt19937ar.c in Sources */, + A56CC73518564C05009EB79C /* scanctx.c in Sources */, + A56CC712185643BB009EB79C /* thread.c in Sources */, + A56CC6D0185643BB009EB79C /* core.c in Sources */, + A56CC767185657D9009EB79C /* int_storage.c in Sources */, + A56CC763185657D9009EB79C /* int_mercenary.c in Sources */, + A56CC6D3185643BB009EB79C /* db.c in Sources */, + A56CC703185643BB009EB79C /* showmsg.c in Sources */, + A56CC6DF185643BB009EB79C /* grfio.c in Sources */, + A56CC70C185643BB009EB79C /* strlib.c in Sources */, + A56CC75F185657D9009EB79C /* int_elemental.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A56CC67818564356009EB79C /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A56CC7DE18565812009EB79C /* unit.c in Sources */, + A56CC7B918565812009EB79C /* atcommand.c in Sources */, + A56CC7D218565812009EB79C /* party.c in Sources */, + A56CC7C118565812009EB79C /* duel.c in Sources */, + A56CC70A185643BB009EB79C /* sql.c in Sources */, + A56CC7D718565812009EB79C /* quest.c in Sources */, + A56CC7CC18565812009EB79C /* map.c in Sources */, + A56CC7C318565812009EB79C /* guild.c in Sources */, + A56CC7C518565812009EB79C /* HPMmap.c in Sources */, + A56CC6DA185643BB009EB79C /* ers.c in Sources */, + A56CC7C418565812009EB79C /* homunculus.c in Sources */, + A56CC7D618565812009EB79C /* pet.c in Sources */, + A56CC7BC18565812009EB79C /* buyingstore.c in Sources */, + A56CC6CB185643BB009EB79C /* conf.c in Sources */, + A56CC7DB18565812009EB79C /* status.c in Sources */, + A56CC7C018565812009EB79C /* date.c in Sources */, + A56CC719185643BB009EB79C /* utils.c in Sources */, + A56CC7D818565812009EB79C /* script.c in Sources */, + A56CC7C818565812009EB79C /* irc-bot.c in Sources */, + A56CC7BE18565812009EB79C /* chrif.c in Sources */, + A56CC7CE18565812009EB79C /* mercenary.c in Sources */, + A56CC7D518565812009EB79C /* pc.c in Sources */, + A56CC7C718565812009EB79C /* intif.c in Sources */, + A56CC7C918565812009EB79C /* itemdb.c in Sources */, + A56CC716185643BB009EB79C /* timer.c in Sources */, + A56CC7DF18565812009EB79C /* vending.c in Sources */, + A56CC7BA18565812009EB79C /* battle.c in Sources */, + A56CC7BF18565812009EB79C /* clif.c in Sources */, + A56CC7D018565812009EB79C /* npc_chat.c in Sources */, + A56CC6CE185643BB009EB79C /* console.c in Sources */, + A56CC73018564C05009EB79C /* grammar.c in Sources */, + A56CC7DA18565812009EB79C /* skill.c in Sources */, + A56CC6EC185643BB009EB79C /* md5calc.c in Sources */, + A56CC73918564C05009EB79C /* scanner.c in Sources */, + A56CC701185643BB009EB79C /* random.c in Sources */, + A56CC7CD18565812009EB79C /* mapreg_sql.c in Sources */, + A56CC7D318565812009EB79C /* path.c in Sources */, + A56CC7C218565812009EB79C /* elemental.c in Sources */, + A56CC6FB185643BB009EB79C /* nullpo.c in Sources */, + A56CC6E6185643BB009EB79C /* malloc.c in Sources */, + A56CC7D418565812009EB79C /* pc_groups.c in Sources */, + A56CC6E3185643BB009EB79C /* HPM.c in Sources */, + A56CC7DD18565812009EB79C /* trade.c in Sources */, + A56CC7CA18565812009EB79C /* log.c in Sources */, + A56CC7C618565812009EB79C /* instance.c in Sources */, + A56CC6F2185643BB009EB79C /* mutex.c in Sources */, + A56CC707185643BB009EB79C /* socket.c in Sources */, + A56CC6D7185643BB009EB79C /* des.c in Sources */, + A56CC73C18564C05009EB79C /* strbuf.c in Sources */, + A56CC7DC18565812009EB79C /* storage.c in Sources */, + A56CC6E9185643BB009EB79C /* mapindex.c in Sources */, + A56CC7D918565812009EB79C /* searchstore.c in Sources */, + A56CC73318564C05009EB79C /* libconfig.c in Sources */, + A56CC74218564C23009EB79C /* mt19937ar.c in Sources */, + A56CC7BD18565812009EB79C /* chat.c in Sources */, + A56CC7CF18565812009EB79C /* mob.c in Sources */, + A56CC7BB18565812009EB79C /* battleground.c in Sources */, + A56CC73618564C05009EB79C /* scanctx.c in Sources */, + A56CC713185643BB009EB79C /* thread.c in Sources */, + A56CC7CB18565812009EB79C /* mail.c in Sources */, + A56CC6D1185643BB009EB79C /* core.c in Sources */, + A56CC7D118565812009EB79C /* npc.c in Sources */, + A56CC6D4185643BB009EB79C /* db.c in Sources */, + A56CC704185643BB009EB79C /* showmsg.c in Sources */, + A56CC6E0185643BB009EB79C /* grfio.c in Sources */, + A56CC70D185643BB009EB79C /* strlib.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A58A5A1F185801FF0099683E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A58A5A281858025D0099683E /* HPMHooking.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5AA94E31857956100C940C8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A5AA94EE185796CB00C940C8 /* sample.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A5AA94EF185799B700C940C8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + A5AA94FA185799E400C940C8 /* db2sql.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + A5380CD41856CE190090CBC4 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + OTHER_CFLAGS = ( + "-DMAXCONN=16384", + "-DHAS_TLS", + "-DHAVE_SETRLIMIT", + "-DHAVE_STRNLEN", + "-DPACKAGE_NAME=\\\"\\\"", + "-DPACKAGE_TARNAME=\\\"\\\"", + "-DPACKAGE_VERSION=\\\"\\\"", + "-DPACKAGE_STRING=\\\"\\\"", + "-DPACKAGE_BUGREPORT=\\\"\\\"", + "-DPACKAGE_URL=\\\"\\\"", + "-DSTDC_HEADERS=1", + "-DHAVE_SYS_TYPES_H=1", + "-DHAVE_SYS_STAT_H=1", + "-DHAVE_STDLIB_H=1", + "-DHAVE_STRING_H=1", + "-DHAVE_MEMORY_H=1", + "-DHAVE_STRINGS_H=1", + "-DHAVE_INTTYPES_H=1", + "-DHAVE_STDINT_H=1", + "-DHAVE_UNISTD_H=1", + "-D__EXTENSIONS__=1", + "-D_ALL_SOURCE=1", + "-D_GNU_SOURCE=1", + "-D_POSIX_PTHREAD_SEMANTICS=1", + "-D_TANDEM_SOURCE=1", + "-DHAVE_USELOCALE=1", + "-DHAVE_NEWLOCALE=1", + "-DHAVE_FREELOCALE=1", + "-DHAVE_XLOCALE_H=1", + "-DHAVE_LIBZ=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DMINICORE", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A5380CD51856CE190090CBC4 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + OTHER_CFLAGS = ( + "-DMAXCONN=16384", + "-DHAS_TLS", + "-DHAVE_SETRLIMIT", + "-DHAVE_STRNLEN", + "-DPACKAGE_NAME=\\\"\\\"", + "-DPACKAGE_TARNAME=\\\"\\\"", + "-DPACKAGE_VERSION=\\\"\\\"", + "-DPACKAGE_STRING=\\\"\\\"", + "-DPACKAGE_BUGREPORT=\\\"\\\"", + "-DPACKAGE_URL=\\\"\\\"", + "-DSTDC_HEADERS=1", + "-DHAVE_SYS_TYPES_H=1", + "-DHAVE_SYS_STAT_H=1", + "-DHAVE_STDLIB_H=1", + "-DHAVE_STRING_H=1", + "-DHAVE_MEMORY_H=1", + "-DHAVE_STRINGS_H=1", + "-DHAVE_INTTYPES_H=1", + "-DHAVE_STDINT_H=1", + "-DHAVE_UNISTD_H=1", + "-D__EXTENSIONS__=1", + "-D_ALL_SOURCE=1", + "-D_GNU_SOURCE=1", + "-D_POSIX_PTHREAD_SEMANTICS=1", + "-D_TANDEM_SOURCE=1", + "-DHAVE_USELOCALE=1", + "-DHAVE_NEWLOCALE=1", + "-DHAVE_FREELOCALE=1", + "-DHAVE_XLOCALE_H=1", + "-DHAVE_LIBZ=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DHAVE_LIBPTHREAD=1", + "-DMINICORE", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + A56CC661185642B4009EB79C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_FAST_MATH = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_STRICT_ALIASING = NO; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_SHADOW = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /usr/include, + /usr/local/include, + /usr/local/include/mysql, + 3rdparty/mt19937ar, + 3rdparty/libconfig, + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); + LIBRARY_SEARCH_PATHS = /usr/local/lib; + MACOSX_DEPLOYMENT_TARGET = ""; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ( + "-DMAXCONN=16384", + "-DHAS_TLS", + "-DHAVE_SETRLIMIT", + "-DHAVE_STRNLEN", + "-DPACKAGE_NAME=\\\"\\\"", + "-DPACKAGE_TARNAME=\\\"\\\"", + "-DPACKAGE_VERSION=\\\"\\\"", + "-DPACKAGE_STRING=\\\"\\\"", + "-DPACKAGE_BUGREPORT=\\\"\\\"", + "-DPACKAGE_URL=\\\"\\\"", + "-DSTDC_HEADERS=1", + "-DHAVE_SYS_TYPES_H=1", + "-DHAVE_SYS_STAT_H=1", + "-DHAVE_STDLIB_H=1", + "-DHAVE_STRING_H=1", + "-DHAVE_MEMORY_H=1", + "-DHAVE_STRINGS_H=1", + "-DHAVE_INTTYPES_H=1", + "-DHAVE_STDINT_H=1", + "-DHAVE_UNISTD_H=1", + "-D__EXTENSIONS__=1", + "-D_ALL_SOURCE=1", + "-D_GNU_SOURCE=1", + "-D_POSIX_PTHREAD_SEMANTICS=1", + "-D_TANDEM_SOURCE=1", + "-DHAVE_USELOCALE=1", + "-DHAVE_NEWLOCALE=1", + "-DHAVE_FREELOCALE=1", + "-DHAVE_XLOCALE_H=1", + "-DHAVE_LIBZ=1", + "-DHAVE_LIBPTHREAD=1", + ); + OTHER_LDFLAGS = ( + "-lpthread", + "-lz", + "-lmysqlclient", + ); + SDKROOT = macosx; + }; + name = Debug; + }; + A56CC662185642B4009EB79C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)"; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_FAST_MATH = YES; + GCC_STRICT_ALIASING = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_SHADOW = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /usr/include, + /usr/local/include, + /usr/local/include/mysql, + 3rdparty/mt19937ar, + 3rdparty/libconfig, + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); + LIBRARY_SEARCH_PATHS = /usr/local/lib; + LLVM_LTO = YES; + MACOSX_DEPLOYMENT_TARGET = ""; + OTHER_CFLAGS = ( + "-DMAXCONN=16384", + "-DHAS_TLS", + "-DHAVE_SETRLIMIT", + "-DHAVE_STRNLEN", + "-DPACKAGE_NAME=\\\"\\\"", + "-DPACKAGE_TARNAME=\\\"\\\"", + "-DPACKAGE_VERSION=\\\"\\\"", + "-DPACKAGE_STRING=\\\"\\\"", + "-DPACKAGE_BUGREPORT=\\\"\\\"", + "-DPACKAGE_URL=\\\"\\\"", + "-DSTDC_HEADERS=1", + "-DHAVE_SYS_TYPES_H=1", + "-DHAVE_SYS_STAT_H=1", + "-DHAVE_STDLIB_H=1", + "-DHAVE_STRING_H=1", + "-DHAVE_MEMORY_H=1", + "-DHAVE_STRINGS_H=1", + "-DHAVE_INTTYPES_H=1", + "-DHAVE_STDINT_H=1", + "-DHAVE_UNISTD_H=1", + "-D__EXTENSIONS__=1", + "-D_ALL_SOURCE=1", + "-D_GNU_SOURCE=1", + "-D_POSIX_PTHREAD_SEMANTICS=1", + "-D_TANDEM_SOURCE=1", + "-DHAVE_USELOCALE=1", + "-DHAVE_NEWLOCALE=1", + "-DHAVE_FREELOCALE=1", + "-DHAVE_XLOCALE_H=1", + "-DHAVE_LIBZ=1", + "-DHAVE_LIBPTHREAD=1", + ); + OTHER_LDFLAGS = ( + "-lpthread", + "-lz", + "-lmysqlclient", + ); + SDKROOT = macosx; + }; + name = Release; + }; + A56CC66D18564315009EB79C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A56CC66E18564315009EB79C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + A56CC6761856434D009EB79C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A56CC6771856434D009EB79C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + A56CC67F18564357009EB79C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A56CC68018564357009EB79C /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + A58A5A24185801FF0099683E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/plugins"; + EXECUTABLE_PREFIX = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + PRODUCT_NAME = HPMHooking; + }; + name = Debug; + }; + A58A5A25185801FF0099683E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/plugins"; + EXECUTABLE_PREFIX = ""; + PRODUCT_NAME = HPMHooking; + }; + name = Release; + }; + A5AA94E81857956100C940C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/plugins"; + EXECUTABLE_PREFIX = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A5AA94E91857956100C940C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/plugins"; + EXECUTABLE_PREFIX = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + A5AA94F5185799B700C940C8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/plugins"; + EXECUTABLE_PREFIX = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + A5AA94F6185799B700C940C8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/plugins"; + EXECUTABLE_PREFIX = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + A5380CD31856CE190090CBC4 /* Build configuration list for PBXNativeTarget "mapcache" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A5380CD41856CE190090CBC4 /* Debug */, + A5380CD51856CE190090CBC4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A56CC655185642B4009EB79C /* Build configuration list for PBXProject "Hercules" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A56CC661185642B4009EB79C /* Debug */, + A56CC662185642B4009EB79C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A56CC66C18564315009EB79C /* Build configuration list for PBXNativeTarget "login-server" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A56CC66D18564315009EB79C /* Debug */, + A56CC66E18564315009EB79C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A56CC6751856434D009EB79C /* Build configuration list for PBXNativeTarget "char-server" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A56CC6761856434D009EB79C /* Debug */, + A56CC6771856434D009EB79C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A56CC67E18564357009EB79C /* Build configuration list for PBXNativeTarget "map-server" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A56CC67F18564357009EB79C /* Debug */, + A56CC68018564357009EB79C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A58A5A23185801FF0099683E /* Build configuration list for PBXNativeTarget "HPMHooking" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A58A5A24185801FF0099683E /* Debug */, + A58A5A25185801FF0099683E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A5AA94EA1857956100C940C8 /* Build configuration list for PBXNativeTarget "sample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A5AA94E81857956100C940C8 /* Debug */, + A5AA94E91857956100C940C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + A5AA94F4185799B700C940C8 /* Build configuration list for PBXNativeTarget "db2sql" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A5AA94F5185799B700C940C8 /* Debug */, + A5AA94F6185799B700C940C8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = A56CC652185642B4009EB79C /* Project object */; +} diff --git a/Hercules.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Hercules.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..14eee78d6 --- /dev/null +++ b/Hercules.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Workspace + version = "1.0"> + <FileRef + location = "self:Hercules.xcodeproj"> + </FileRef> +</Workspace> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking.xcscheme new file mode 100644 index 000000000..50337fc91 --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking.xcscheme @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A58A5A1E185801FF0099683E" + BuildableName = "HPMHooking.dylib" + BlueprintName = "HPMHooking" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme new file mode 100644 index 000000000..0b5101f68 --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC6721856434D009EB79C" + BuildableName = "char-server" + BlueprintName = "char-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC6721856434D009EB79C" + BuildableName = "char-server" + BlueprintName = "char-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC6721856434D009EB79C" + BuildableName = "char-server" + BlueprintName = "char-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC6721856434D009EB79C" + BuildableName = "char-server" + BlueprintName = "char-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme new file mode 100644 index 000000000..8aebe0f38 --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.7"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "NO" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A5AA94F2185799B700C940C8" + BuildableName = "db2sql.dylib" + BlueprintName = "db2sql" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <PreActions> + <ExecutionAction + ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + <ActionContent + title = "Run Script" + scriptText = "sed -e 's:^\([[:blank:]]*\)//"db2sql",$:\1"db2sql",:' -i .db2sql "${PROJECT_DIR}/conf/plugins.conf"" + shellToInvoke = "/bin/bash"> + <EnvironmentBuildable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </EnvironmentBuildable> + </ActionContent> + </ExecutionAction> + </PreActions> + <PostActions> + <ExecutionAction + ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction"> + <ActionContent + title = "Run Script" + scriptText = "mv "${PROJECT_DIR}/conf/plugins.conf.db2sql" "${PROJECT_DIR}/conf/plugins.conf"" + shellToInvoke = "/bin/bash"> + <EnvironmentBuildable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </EnvironmentBuildable> + </ActionContent> + </ExecutionAction> + </PostActions> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <CommandLineArguments> + <CommandLineArgument + argument = "--db2sql" + isEnabled = "YES"> + </CommandLineArgument> + </CommandLineArguments> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme new file mode 100644 index 000000000..10b7e424a --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC66918564315009EB79C" + BuildableName = "login-server" + BlueprintName = "login-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC66918564315009EB79C" + BuildableName = "login-server" + BlueprintName = "login-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC66918564315009EB79C" + BuildableName = "login-server" + BlueprintName = "login-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC66918564315009EB79C" + BuildableName = "login-server" + BlueprintName = "login-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme new file mode 100644 index 000000000..bb95d0555 --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A56CC67B18564356009EB79C" + BuildableName = "map-server" + BlueprintName = "map-server" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme new file mode 100644 index 000000000..30ab4dc51 --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A5380CCC1856CE180090CBC4" + BuildableName = "mapcache" + BlueprintName = "mapcache" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A5380CCC1856CE180090CBC4" + BuildableName = "mapcache" + BlueprintName = "mapcache" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A5380CCC1856CE180090CBC4" + BuildableName = "mapcache" + BlueprintName = "mapcache" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A5380CCC1856CE180090CBC4" + BuildableName = "mapcache" + BlueprintName = "mapcache" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme new file mode 100644 index 000000000..a9df36929 --- /dev/null +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + LastUpgradeVersion = "0500" + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "A5AA94E61857956100C940C8" + BuildableName = "sample.dylib" + BlueprintName = "sample" + ReferencedContainer = "container:Hercules.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in 0219c4d. +# From configure.in d0f16b7. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69. # @@ -3643,12 +3643,12 @@ fi # Check whether --enable-lto was given. if test "${enable_lto+set}" = set; then : enableval=$enable_lto; - enable_lto="$enableval" - case $enableval in - "no");; - "yes");; - *) as_fn_error $? "invalid argument --enable-lto=$disableval... stopping" "$LINENO" 5;; - esac + enable_lto="$enableval" + case $enableval in + "no");; + "yes");; + *) as_fn_error $? "invalid argument --enable-lto=$disableval... stopping" "$LINENO" 5;; + esac else enable_lto="yes" @@ -4566,7 +4566,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wno-sign-compare" +CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wextra -Wno-sign-compare" CPPFLAGS="$CPPFLAGS -I../common" @@ -4924,28 +4924,6 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-parameter" >&5 -$as_echo_n "checking whether $CC supports -Wno-unused-parameter... " >&6; } -OLD_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-unused-parameter" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo; -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - CFLAGS="$OLD_CFLAGS" - - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - - # # LTO Support test # @@ -4970,8 +4948,8 @@ else /* end confdefs.h. */ int main(int argc, char **argv){ - return 0; - } + return 0; + } _ACEOF if ac_fn_c_try_run "$LINENO"; then : @@ -4995,23 +4973,278 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-pointer-sign" >&5 -$as_echo_n "checking whether $CC supports -Wno-pointer-sign... " >&6; } -OLD_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-pointer-sign" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-parameter" >&5 +$as_echo_n "checking whether $CC supports -Wno-unused-parameter... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wno-unused-parameter" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + # Recent versions of gcc don't fail if -Wno-foo is not recognized + # (unless there are also other warnings), so we also check for -Wfoo + # which always fails if not supported + CFLAGS="$OLD_CFLAGS -Werror -Wunused-parameter" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-unused-parameter" + # Optionally, run a test + if test "xint foo(int bar) { return 0; }" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wno-unused-parameter" >&5 +$as_echo_n "checking whether $CC can actually use -Wno-unused-parameter... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wunused-parameter" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo(int bar) { return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed but enabled" >&5 +$as_echo "not needed but enabled" >&6; } + CFLAGS="$OLD_CFLAGS" + +else + + CFLAGS="$OLD_CFLAGS -Werror -Wno-unused-parameter" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo(int bar) { return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-unused-parameter" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-maybe-uninitialized" >&5 +$as_echo_n "checking whether $CC supports -Wno-maybe-uninitialized... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wno-maybe-uninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Recent versions of gcc don't fail if -Wno-foo is not recognized + # (unless there are also other warnings), so we also check for -Wfoo + # which always fails if not supported + CFLAGS="$OLD_CFLAGS -Werror -Wmaybe-uninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-maybe-uninitialized" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wno-maybe-uninitialized" >&5 +$as_echo_n "checking whether $CC can actually use -Wno-maybe-uninitialized... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wmaybe-uninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed but enabled" >&5 +$as_echo "not needed but enabled" >&6; } + CFLAGS="$OLD_CFLAGS" + +else + + CFLAGS="$OLD_CFLAGS -Werror -Wno-maybe-uninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wno-pointer-sign" >&5 -$as_echo_n "checking whether $CC can actually use -Wno-pointer-sign... " >&6; } - # This option causes warnings in C++ mode - # Note: -Werror must be before -Wno-pointer-sign, otherwise it does not do anything - CFLAGS="$OLD_CFLAGS -Werror -Wno-pointer-sign" + CFLAGS="$OLD_CFLAGS -Wno-maybe-uninitialized" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-clobbered" >&5 +$as_echo_n "checking whether $CC supports -Wno-clobbered... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wno-clobbered" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Recent versions of gcc don't fail if -Wno-foo is not recognized + # (unless there are also other warnings), so we also check for -Wfoo + # which always fails if not supported + CFLAGS="$OLD_CFLAGS -Werror -Wclobbered" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-clobbered" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wno-clobbered" >&5 +$as_echo_n "checking whether $CC can actually use -Wno-clobbered... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wclobbered" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed but enabled" >&5 +$as_echo "not needed but enabled" >&6; } + CFLAGS="$OLD_CFLAGS" + +else + + CFLAGS="$OLD_CFLAGS -Werror -Wno-clobbered" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-clobbered" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wempty-body" >&5 +$as_echo_n "checking whether $CC supports -Wempty-body... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wempty-body" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo; @@ -5020,7 +5253,30 @@ if ac_fn_c_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - CFLAGS="$OLD_CFLAGS -Wno-pointer-sign" + CFLAGS="$OLD_CFLAGS -Wempty-body" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wempty-body" >&5 +$as_echo_n "checking whether $CC can actually use -Wempty-body... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wempty-body" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wempty-body" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi else @@ -5032,39 +5288,565 @@ $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wnewline-eof" >&5 +$as_echo_n "checking whether $CC supports -Wnewline-eof... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wnewline-eof" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wnewline-eof" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wnewline-eof" >&5 +$as_echo_n "checking whether $CC can actually use -Wnewline-eof... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wnewline-eof" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wnewline-eof" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - CFLAGS="$OLD_CFLAGS" + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wint-conversion" >&5 +$as_echo_n "checking whether $CC supports -Wint-conversion... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wint-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wint-conversion" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wint-conversion" >&5 +$as_echo_n "checking whether $CC can actually use -Wint-conversion... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wint-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wint-conversion" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wenum-conversion" >&5 +$as_echo_n "checking whether $CC supports -Wenum-conversion... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wenum-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wenum-conversion" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wenum-conversion" >&5 +$as_echo_n "checking whether $CC can actually use -Wenum-conversion... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wenum-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wenum-conversion" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wshorten-64-to-32" >&5 +$as_echo_n "checking whether $CC supports -Wshorten-64-to-32... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wshorten-64-to-32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wshorten-64-to-32" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wshorten-64-to-32" >&5 +$as_echo_n "checking whether $CC can actually use -Wshorten-64-to-32... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wshorten-64-to-32" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wshorten-64-to-32" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wconstant-conversion" >&5 +$as_echo_n "checking whether $CC supports -Wconstant-conversion... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wconstant-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wconstant-conversion" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wconstant-conversion" >&5 +$as_echo_n "checking whether $CC can actually use -Wconstant-conversion... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wconstant-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wconstant-conversion" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wbool-conversion" >&5 +$as_echo_n "checking whether $CC supports -Wbool-conversion... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wbool-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wbool-conversion" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wbool-conversion" >&5 +$as_echo_n "checking whether $CC can actually use -Wbool-conversion... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wbool-conversion" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wbool-conversion" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-switch" >&5 + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-switch" >&5 $as_echo_n "checking whether $CC supports -Wno-switch... " >&6; } -OLD_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-switch" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wno-switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + + # Recent versions of gcc don't fail if -Wno-foo is not recognized + # (unless there are also other warnings), so we also check for -Wfoo + # which always fails if not supported + CFLAGS="$OLD_CFLAGS -Werror -Wswitch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-switch" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wno-switch" >&5 +$as_echo_n "checking whether $CC can actually use -Wno-switch... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wswitch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed but enabled" >&5 +$as_echo "not needed but enabled" >&6; } + CFLAGS="$OLD_CFLAGS" + else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + CFLAGS="$OLD_CFLAGS -Werror -Wno-switch" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-switch" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - CFLAGS="$OLD_CFLAGS" + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-missing-field-initializers" >&5 +$as_echo_n "checking whether $CC supports -Wno-missing-field-initializers... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wno-missing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Recent versions of gcc don't fail if -Wno-foo is not recognized + # (unless there are also other warnings), so we also check for -Wfoo + # which always fails if not supported + CFLAGS="$OLD_CFLAGS -Werror -Wmissing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-missing-field-initializers" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wno-missing-field-initializers" >&5 +$as_echo_n "checking whether $CC can actually use -Wno-missing-field-initializers... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wmissing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not needed but enabled" >&5 +$as_echo "not needed but enabled" >&6; } + CFLAGS="$OLD_CFLAGS" + +else + + CFLAGS="$OLD_CFLAGS -Werror -Wno-missing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wno-missing-field-initializers" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + + +# Certain versions of gcc make -Wshadow completely useless by making it flood +# you with unnecessary warnings <https://lkml.org/lkml/2006/11/28/239> +# Let's check if we can really use it +SAVED_OLD_CFLAGS="$CFLAGS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wshadow" >&5 +$as_echo_n "checking whether $CC supports -Wshadow... " >&6; } + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wshadow" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wshadow" + # Optionally, run a test + if test "x" != "x"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can actually use -Wshadow" >&5 +$as_echo_n "checking whether $CC can actually use -Wshadow... " >&6; } + CFLAGS="$OLD_CFLAGS -Werror -Wshadow" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$OLD_CFLAGS -Wshadow" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + +if test "x$CFLAGS" != "x$SAVED_OLD_CFLAGS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC can efficiently use -Wshadow" >&5 +$as_echo_n "checking whether $CC can efficiently use -Wshadow... " >&6; } + NEW_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wshadow" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + int foo(void) { + return 0; + } + int bar(void) { + int foo = 0; + return foo + 1; + } + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + CFLAGS="$NEW_CFLAGS" + +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + CFLAGS="$SAVED_OLD_CFLAGS" + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fPIC" >&5 $as_echo_n "checking whether $CC supports -fPIC... " >&6; } OLD_CFLAGS="$CFLAGS" @@ -5470,7 +6252,7 @@ fi case $enable_debug in "no") # default value - CFLAGS="$CFLAGS -Wno-unused -Wno-parentheses" +# CFLAGS="$CFLAGS -Wno-unused -Wno-parentheses" ;; "yes") CFLAGS="$CFLAGS -g -DDEBUG" @@ -6473,6 +7255,9 @@ CYGWIN*) fd_setsize="done" DLLEXT=".dll" ;; +Darwin*) + DLLEXT=".dylib" + ;; esac diff --git a/configure.in b/configure.in index 98c493a03..94bad9ca4 100644 --- a/configure.in +++ b/configure.in @@ -248,22 +248,22 @@ AC_ARG_ENABLE( # LTO # AC_ARG_ENABLE( - [lto], - AC_HELP_STRING( - [--enable-lto], - [ + [lto], + AC_HELP_STRING( + [--enable-lto], + [ Enables or Disables Linktime Code Optimization (LTO is enabled by default) - ] - ), - [ - enable_lto="$enableval" - case $enableval in - "no");; - "yes");; - *) AC_MSG_ERROR([[invalid argument --enable-lto=$disableval... stopping]]);; - esac - ], - [enable_lto="yes"] + ] + ), + [ + enable_lto="$enableval" + case $enableval in + "no");; + "yes");; + *) AC_MSG_ERROR([[invalid argument --enable-lto=$disableval... stopping]]);; + esac + ], + [enable_lto="yes"] ) @@ -433,7 +433,7 @@ AC_PATH_PROG(AR, ar) AC_LANG([C]) -CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wno-sign-compare" +CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wextra -Wno-sign-compare" CPPFLAGS="$CPPFLAGS -I../common" @@ -517,19 +517,6 @@ AC_RUN_IFELSE( ) -AC_MSG_CHECKING([whether $CC supports -Wno-unused-parameter]) -OLD_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-unused-parameter" -AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([int foo;])], - [AC_MSG_RESULT([yes])], - [ - AC_MSG_RESULT([no]) - CFLAGS="$OLD_CFLAGS" - ] -) - - # # LTO Support test # @@ -545,8 +532,8 @@ if test "$enable_lto" != "no" ; then AC_RUN_IFELSE( [AC_LANG_SOURCE([ int main(int argc, char **argv){ - return 0; - } + return 0; + } ])], [ AC_MSG_RESULT([yes]) @@ -563,49 +550,141 @@ if test "$enable_lto" != "no" ; then fi - -AC_MSG_CHECKING([whether $CC supports -Wno-pointer-sign]) -OLD_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-pointer-sign" -AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([int foo;])], +AC_DEFUN(AC_CHECK_COMPILER_WFLAG, [ - AC_MSG_RESULT([yes]) - AC_MSG_CHECKING([whether $CC can actually use -Wno-pointer-sign]) - # This option causes warnings in C++ mode - # Note: -Werror must be before -Wno-pointer-sign, otherwise it does not do anything - CFLAGS="$OLD_CFLAGS -Werror -Wno-pointer-sign" + AC_MSG_CHECKING([whether $CC supports -W$1]) + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -W$1" AC_COMPILE_IFELSE( [AC_LANG_SOURCE([int foo;])], [ AC_MSG_RESULT([yes]) - CFLAGS="$OLD_CFLAGS -Wno-pointer-sign" + CFLAGS="$OLD_CFLAGS -W$1" + # Optionally, run a test + if test "x$2" != "x"; then + AC_MSG_CHECKING([whether $CC can actually use -W$1]) + CFLAGS="$OLD_CFLAGS -Werror -W$1" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([$2])], + [ + AC_MSG_RESULT([no]) + CFLAGS="$OLD_CFLAGS" + ] + [ + AC_MSG_RESULT([yes]) + CFLAGS="$OLD_CFLAGS -W$1" + ], + ) + fi ], [ AC_MSG_RESULT([no]) CFLAGS="$OLD_CFLAGS" ] ) - ], - [ - AC_MSG_RESULT([no]) - CFLAGS="$OLD_CFLAGS" ] ) - -AC_MSG_CHECKING([whether $CC supports -Wno-switch]) -OLD_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS -Wno-switch" -AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([int foo;])], - [AC_MSG_RESULT([yes])], +AC_DEFUN(AC_CHECK_COMPILER_WNOFLAG, [ - AC_MSG_RESULT([no]) - CFLAGS="$OLD_CFLAGS" + AC_MSG_CHECKING([whether $CC supports -Wno-$1]) + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wno-$1" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([int foo;])], + [ + # Recent versions of gcc don't fail if -Wno-foo is not recognized + # (unless there are also other warnings), so we also check for -Wfoo + # which always fails if not supported + CFLAGS="$OLD_CFLAGS -Werror -W$1" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([int foo;])], + [ + AC_MSG_RESULT([yes]) + CFLAGS="$OLD_CFLAGS -Wno-$1" + # Optionally, run a test + if test "x$2" != "x"; then + AC_MSG_CHECKING([whether $CC can actually use -Wno-$1]) + CFLAGS="$OLD_CFLAGS -Werror -W$1" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([$2])], + [ + AC_MSG_RESULT([not needed but enabled]) + CFLAGS="$OLD_CFLAGS" + ], + [ + CFLAGS="$OLD_CFLAGS -Werror -Wno-$1" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([$2])], + [ + AC_MSG_RESULT([yes]) + CFLAGS="$OLD_CFLAGS -Wno-$1" + ], + [ + AC_MSG_RESULT([no]) + CFLAGS="$OLD_CFLAGS" + ] + ) + ] + ) + fi + ], + [ + AC_MSG_RESULT([no]) + CFLAGS="$OLD_CFLAGS" + ] + ) + ], + [ + AC_MSG_RESULT([no]) + CFLAGS="$OLD_CFLAGS" + ] + ) ] ) +AC_CHECK_COMPILER_WNOFLAG(unused-parameter, [int foo(int bar) { return 0; }]) +AC_CHECK_COMPILER_WNOFLAG(maybe-uninitialized) +AC_CHECK_COMPILER_WNOFLAG(clobbered) +AC_CHECK_COMPILER_WFLAG(empty-body) +AC_CHECK_COMPILER_WFLAG(newline-eof) +AC_CHECK_COMPILER_WFLAG(int-conversion) +AC_CHECK_COMPILER_WFLAG(enum-conversion) +AC_CHECK_COMPILER_WFLAG(shorten-64-to-32) +AC_CHECK_COMPILER_WFLAG(constant-conversion) +AC_CHECK_COMPILER_WFLAG(bool-conversion) +AC_CHECK_COMPILER_WNOFLAG(switch) +AC_CHECK_COMPILER_WNOFLAG(missing-field-initializers) + +# Certain versions of gcc make -Wshadow completely useless by making it flood +# you with unnecessary warnings <https://lkml.org/lkml/2006/11/28/239> +# Let's check if we can really use it +SAVED_OLD_CFLAGS="$CFLAGS" +AC_CHECK_COMPILER_WFLAG(shadow) +if test "x$CFLAGS" != "x$SAVED_OLD_CFLAGS"; then + AC_MSG_CHECKING([whether $CC can efficiently use -Wshadow]) + NEW_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wshadow" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([ + int foo(void) { + return 0; + } + int bar(void) { + int foo = 0; + return foo + 1; + } + ])], + [ + AC_MSG_RESULT([yes]) + CFLAGS="$NEW_CFLAGS" + ], + [ + AC_MSG_RESULT([no]) + CFLAGS="$SAVED_OLD_CFLAGS" + ] + ) +fi AC_MSG_CHECKING([whether $CC supports -fPIC]) OLD_CFLAGS="$CFLAGS" @@ -870,7 +949,7 @@ fi case $enable_debug in "no") # default value - CFLAGS="$CFLAGS -Wno-unused -Wno-parentheses" +# CFLAGS="$CFLAGS -Wno-unused -Wno-parentheses" ;; "yes") CFLAGS="$CFLAGS -g -DDEBUG" @@ -1123,6 +1202,9 @@ CYGWIN*) fd_setsize="done" DLLEXT=".dll" ;; +Darwin*) + DLLEXT=".dylib" + ;; esac AC_SUBST([DLLEXT]) diff --git a/npc/quests/bard_quest.txt b/npc/quests/bard_quest.txt index d9382593e..9b365d0e2 100644 --- a/npc/quests/bard_quest.txt +++ b/npc/quests/bard_quest.txt @@ -1927,7 +1927,7 @@ morocc,134,111,3 script Bard#3 2_M_BARD_ORIENT,{ mes "There's no reason to be afraid of this riffraff, your Uncle Kino is here, okay?"; } else if (BaseClass == Job_Assassin) { mes "There's no reason to be afraid. I know that person looks scary, but you're a good girl, so you'll be okay."; - } else if (BaeClass == Job_Blacksmith) { + } else if (BaseClass == Job_Blacksmith) { mes "There's no reason to be scared, honey. It's just a Blacksmith."; } else { mes "There's no reason to be scared. See...? That person won't hurt you."; diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql index b7489e893..46f278998 100644 --- a/sql-files/item_db.sql +++ b/sql-files/item_db.sql @@ -172,7 +172,7 @@ REPLACE INTO `item_db` VALUES ('642','Book_Of_Devil','Book of the Devil','2','18 REPLACE INTO `item_db` VALUES ('643','Pet_Incubator','Pet Incubator','2','3000','1500','30','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','bpet;','',''); REPLACE INTO `item_db` VALUES ('644','Gift_Box','Gift Box','2','1000','500','200','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','getrandgroupitem 644,1;','',''); REPLACE INTO `item_db` VALUES ('645','Center_Potion','Concentration Potion','2','800','400','100','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION1,1800000,0;','',''); -REPLACE INTO `item_db` VALUES ('656','Awakening_Potion','Awakening Potion','2','1500','750','150','0','0','0','0','0','4294442735','63','2','0','0','40',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,0;','',''); +REPLACE INTO `item_db` VALUES ('656','Awakening_Potion','Awakening Potion','2','1500','750','150','0','0','0','0','0','2147483647','63','2','0','0','40',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,0;','',''); REPLACE INTO `item_db` VALUES ('657','Berserk_Potion','Berserk Potion','2','3000','1500','200','0','0','0','0','0','31868582','63','2','0','0','85',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION3,1800000,0;','',''); REPLACE INTO `item_db` VALUES ('658','Union_Of_Tribe','Union of Tribe','2','2','1','500','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','guildgetexp rand(600000,1200000);','',''); REPLACE INTO `item_db` VALUES ('659','Heart_Of_Her','Her Heart','2','500','250','50','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','pet 1188;','',''); @@ -558,24 +558,24 @@ REPLACE INTO `item_db` VALUES ('1187','Krieger_Twohand_Sword1','Glorious Claymor REPLACE INTO `item_db` VALUES ('1188','Veteran_Sword','Veteran Sword','4','10000','5000','2000','180','0','0','1','1','16514','63','2','34','4','80',NULL,'1','3','0','if(getskilllv(SM_BASH)==10) { bonus2 bSkillAtk,SM_BASH,50; } if(getskilllv(KN_BOWLINGBASH)==10) { bonus2 bSkillAtk,KN_BOWLINGBASH,50; } bonus bStr,1; bonus bDex,1;','',''); REPLACE INTO `item_db` VALUES ('1189','Krasnaya','Krasnaya','4','20','10','3800','200','0','0','2','3','16514','2','2','34','2','50',NULL,'1','3','0','if(readparam(bStr)>=95) { bonus bBaseAtk,20; }','',''); REPLACE INTO `item_db` VALUES ('1190','Claymore_C','Claymore','4','0','0','0','220','0','0','1','0','16512','63','2','34','3','1',NULL,'0','3','0','bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','',''); -REPLACE INTO `item_db` VALUES ('1201','Knife','Knife','4','50','25','400','17','0','0','1','3','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1202','Knife_','Knife','4','50','25','400','17','0','0','1','4','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1203','Knife__','Knife','4','50','25','400','17','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1204','Cutter','Cutter','4','1250','625','500','30','0','0','1','3','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1205','Cutter_','Cutter','4','1250','625','500','30','0','0','1','4','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1206','Cutter__','Cutter','4','1250','625','500','30','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1207','Main_Gauche','Main Gauche','4','2400','1200','600','43','0','0','1','3','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1208','Main_Gauche_','Main Gauche','4','2400','1200','600','43','0','0','1','4','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1209','Main_Gauche__','Main Gauche','4','2400','1200','600','43','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1210','Dirk','Dirk','4','8500','4250','500','59','0','0','1','2','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1211','Dirk_','Dirk','4','8500','4250','500','59','0','0','1','3','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1212','Dirk__','Dirk','4','8500','4250','500','59','0','0','1','0','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1213','Dagger','Dagger','4','14000','7000','600','73','0','0','1','2','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1214','Dagger_','Dagger','4','14000','7000','600','73','0','0','1','3','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1215','Dagger__','Dagger','4','14000','7000','600','73','0','0','1','0','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1216','Stiletto','Stiletto','4','19500','9750','700','87','0','0','1','2','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1217','Stiletto_','Stiletto','4','19500','9750','700','87','0','0','1','3','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1218','Stiletto__','Stiletto','4','19500','9750','700','87','0','0','1','0','4271865583','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1201','Knife','Knife','4','50','25','400','17','0','0','1','3','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1202','Knife_','Knife','4','50','25','400','17','0','0','1','4','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1203','Knife__','Knife','4','50','25','400','17','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1204','Cutter','Cutter','4','1250','625','500','30','0','0','1','3','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1205','Cutter_','Cutter','4','1250','625','500','30','0','0','1','4','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1206','Cutter__','Cutter','4','1250','625','500','30','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1207','Main_Gauche','Main Gauche','4','2400','1200','600','43','0','0','1','3','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1208','Main_Gauche_','Main Gauche','4','2400','1200','600','43','0','0','1','4','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1209','Main_Gauche__','Main Gauche','4','2400','1200','600','43','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1210','Dirk','Dirk','4','8500','4250','500','59','0','0','1','2','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1211','Dirk_','Dirk','4','8500','4250','500','59','0','0','1','3','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1212','Dirk__','Dirk','4','8500','4250','500','59','0','0','1','0','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1213','Dagger','Dagger','4','14000','7000','600','73','0','0','1','2','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1214','Dagger_','Dagger','4','14000','7000','600','73','0','0','1','3','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1215','Dagger__','Dagger','4','14000','7000','600','73','0','0','1','0','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1216','Stiletto','Stiletto','4','19500','9750','700','87','0','0','1','2','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1217','Stiletto_','Stiletto','4','19500','9750','700','87','0','0','1','3','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); +REPLACE INTO `item_db` VALUES ('1218','Stiletto__','Stiletto','4','19500','9750','700','87','0','0','1','0','2147483647','63','2','2','2','12',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('1219','Gladius','Gladius','4','43000','21500','700','105','0','0','1','2','42950382','63','2','2','3','24',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('1220','Gladius_','Gladius','4','43000','21500','700','105','0','0','1','3','42950382','63','2','2','3','24',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('1221','Gladius__','Gladius','4','43000','21500','700','105','0','0','1','0','42950382','63','2','2','3','24',NULL,'1','1','0','','',''); @@ -604,9 +604,9 @@ REPLACE INTO `item_db` VALUES ('1243','Novice_Knife','Novice Main-Gauche','4','1 REPLACE INTO `item_db` VALUES ('1244','Holy_Dagger','Holy Dagger','4','20','10','800','100','0','0','1','0','33689664','63','2','2','4','55',NULL,'1','1','0','bonus bAtkEle,Ele_Holy; bonus bDex,1;','',''); REPLACE INTO `item_db` VALUES ('1245','Cinquedea','Cinquedea','4','40000','20000','700','110','0','0','1','1','1','63','2','2','3','30',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('1246','Cinquedea_','Cinquedea','4','40000','20000','700','110','0','0','1','2','1','63','2','2','3','30',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('1247','Kindling_Dagger','Kindle Dagger','4','10000','5000','600','39','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Fire;','',''); -REPLACE INTO `item_db` VALUES ('1248','Obsidian_Dagger','Obsidian Dagger','4','10000','5000','600','39','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Earth;','',''); -REPLACE INTO `item_db` VALUES ('1249','Fisherman\'s_Dagger','Fisherman\'s Dagger','4','10000','5000','600','39','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Water;','',''); +REPLACE INTO `item_db` VALUES ('1247','Kindling_Dagger','Kindle Dagger','4','10000','5000','600','39','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Fire;','',''); +REPLACE INTO `item_db` VALUES ('1248','Obsidian_Dagger','Obsidian Dagger','4','10000','5000','600','39','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Earth;','',''); +REPLACE INTO `item_db` VALUES ('1249','Fisherman\'s_Dagger','Fisherman\'s Dagger','4','10000','5000','600','39','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Water;','',''); REPLACE INTO `item_db` VALUES ('1250','Jur','Jur','4','19500','9750','800','125','0','0','1','2','4096','63','2','34','2','18',NULL,'1','16','0','','',''); REPLACE INTO `item_db` VALUES ('1251','Jur_','Jur','4','19500','9750','800','125','0','0','1','3','4096','63','2','34','2','18',NULL,'1','16','0','','',''); REPLACE INTO `item_db` VALUES ('1252','Katar','Katar','4','41000','20500','1200','148','0','0','1','1','4096','63','2','34','3','33',NULL,'1','16','0','bonus bDex,1;','',''); @@ -1078,19 +1078,19 @@ REPLACE INTO `item_db` VALUES ('2110','Holy_Guard','Holy Guard','5','85000','425 REPLACE INTO `item_db` VALUES ('2111','Herald_Of_GOD','Sacred Mission','5','128000','64000','1600','0','0','5','0','0','16384','63','2','32','0','83',NULL,'1','4','0','bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0;','',''); REPLACE INTO `item_db` VALUES ('2112','Novice_Guard','Novice Guard','5','1','0','1','0','0','3','0','0','1','63','2','32','0','0',NULL,'0','1','0','','',''); REPLACE INTO `item_db` VALUES ('2113','Novice_Shield','Novice Shield','5','5000','2500','1000','0','0','3','0','1','1','63','2','32','0','40',NULL,'1','3','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20;','',''); -REPLACE INTO `item_db` VALUES ('2114','Stone_Buckler','Stone Buckler','5','30000','15000','1500','0','0','3','0','1','4294967294','63','2','32','0','65',NULL,'1','2','0','bonus2 bSubSize,Size_Large,5;','',''); -REPLACE INTO `item_db` VALUES ('2115','Valkyrja\'s_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','3','0','1','4294967294','63','2','32','0','65',NULL,'1','4','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('2114','Stone_Buckler','Stone Buckler','5','30000','15000','1500','0','0','3','0','1','2147483647','63','2','32','0','65',NULL,'1','2','0','bonus2 bSubSize,Size_Large,5;','',''); +REPLACE INTO `item_db` VALUES ('2115','Valkyrja\'s_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','3','0','1','2147483647','63','2','32','0','65',NULL,'1','4','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('2116','Angel\'s_Safeguard','Angelic Guard','5','10000','5000','400','0','0','3','0','1','1','63','2','32','0','20',NULL,'1','1','0','bonus2 bSubRace,RC_Demon,5;','',''); REPLACE INTO `item_db` VALUES ('2117','Arm_Guard','Arm Guard','5','10000','5000','150','0','0','5','0','0','33554432','63','2','32','0','20',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('2118','Arm_Guard_','Arm Guard','5','10000','5000','150','0','0','5','0','1','33554432','63','2','32','0','20',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('2119','Improved_Arm_Guard','Advanced Arm Guard','5','40000','20000','150','0','0','4','0','0','33554432','63','2','32','0','50',NULL,'1','1','0','bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('2120','Improved_Arm_Guard_','Advanced Arm Guard','5','40000','20000','150','0','0','4','0','1','33554432','63','2','32','0','50',NULL,'1','1','0','bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('2121','Memorize_Book_','Memory Book','5','20','10','1000','0','0','3','0','1','8454660','63','2','32','0','0',NULL,'1','5','0','bonus bInt,1; bonus bMdef,2;','',''); -REPLACE INTO `item_db` VALUES ('2122','Platinum_Shield','Platinum Shield','5','20','10','1200','0','0','5','0','0','4294967294','2','2','32','0','68',NULL,'1','4','0','bonus bMdef,5; bonus2 bSubSize,Size_Medium,15; bonus2 bSubSize,Size_Large,15; bonus2 bSubRace,RC_Undead,10; bonus5 bAutoSpellWhenHit,NPC_MAGICMIRROR,2,150,BF_MAGIC,0;','',''); -REPLACE INTO `item_db` VALUES ('2123','Orleans_Server','Orleans\'s Server','5','20','10','1000','0','0','5','0','1','4294967294','2','2','32','0','55',NULL,'1','4','0','bonus bMdef,2; bonus bMagicDamageReturn,5;','',''); -REPLACE INTO `item_db` VALUES ('2124','Thorny_Buckler','Thorny Buckler','5','20','10','1000','0','0','5','0','1','4294967294','2','2','32','0','55',NULL,'1','2','0','bonus bMdef,2;','',''); -REPLACE INTO `item_db` VALUES ('2125','Strong_Shield','Strong Shield','5','20','10','2500','0','0','4','0','1','4294967294','2','2','32','0','75',NULL,'1','4','0','bonus bNoKnockback,0; bonus2 bSubEle,Ele_Neutral,-20; bonus2 bSubEle,Ele_Fire,-20; bonus2 bSubEle,Ele_Water,-20; bonus2 bSubEle,Ele_Wind,-20; bonus2 bSubEle,Ele_Earth,-20; bonus2 bSubEle,Ele_Dark,-20; bonus2 bSubEle,Ele_Holy,-20; bonus2 bSubEle,Ele_Ghost,-20;','',''); -REPLACE INTO `item_db` VALUES ('2126','Guyak_Shield','Guyak Shield','5','20','10','700','0','0','3','0','0','4294967294','63','2','32','0','75',NULL,'1','2','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2122','Platinum_Shield','Platinum Shield','5','20','10','1200','0','0','5','0','0','2147483647','2','2','32','0','68',NULL,'1','4','0','bonus bMdef,5; bonus2 bSubSize,Size_Medium,15; bonus2 bSubSize,Size_Large,15; bonus2 bSubRace,RC_Undead,10; bonus5 bAutoSpellWhenHit,NPC_MAGICMIRROR,2,150,BF_MAGIC,0;','',''); +REPLACE INTO `item_db` VALUES ('2123','Orleans_Server','Orleans\'s Server','5','20','10','1000','0','0','5','0','1','2147483647','2','2','32','0','55',NULL,'1','4','0','bonus bMdef,2; bonus bMagicDamageReturn,5;','',''); +REPLACE INTO `item_db` VALUES ('2124','Thorny_Buckler','Thorny Buckler','5','20','10','1000','0','0','5','0','1','2147483647','2','2','32','0','55',NULL,'1','2','0','bonus bMdef,2;','',''); +REPLACE INTO `item_db` VALUES ('2125','Strong_Shield','Strong Shield','5','20','10','2500','0','0','4','0','1','2147483647','2','2','32','0','75',NULL,'1','4','0','bonus bNoKnockback,0; bonus2 bSubEle,Ele_Neutral,-20; bonus2 bSubEle,Ele_Fire,-20; bonus2 bSubEle,Ele_Water,-20; bonus2 bSubEle,Ele_Wind,-20; bonus2 bSubEle,Ele_Earth,-20; bonus2 bSubEle,Ele_Dark,-20; bonus2 bSubEle,Ele_Holy,-20; bonus2 bSubEle,Ele_Ghost,-20;','',''); +REPLACE INTO `item_db` VALUES ('2126','Guyak_Shield','Guyak Shield','5','20','10','700','0','0','3','0','0','2147483647','63','2','32','0','75',NULL,'1','2','0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2127','Secular_Mission','Secular Mission','5','20','10','0','0','0','10','0','0','4294967295','63','2','32','0','0',NULL,'0','4','0','bonus2 bSubRace,RC_NonBoss,25; bonus2 bSubRace,RC_Boss,25;','',''); REPLACE INTO `item_db` VALUES ('2128','Herald_Of_GOD_','Sacred Mission','5','128000','64000','1600','0','0','5','0','1','16384','63','2','32','0','83',NULL,'1','4','0','bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0;','',''); REPLACE INTO `item_db` VALUES ('2129','Exorcism_Bible','Exorcism Bible','5','20','10','600','0','0','5','0','0','33024','63','2','32','0','50',NULL,'1','5','0','bonus bHPrecovRate,3; bonus bSPrecovRate,3; bonus bInt,1;','',''); @@ -1101,7 +1101,7 @@ REPLACE INTO `item_db` VALUES ('2133','Tournament_Shield','Tournament Shield','5 REPLACE INTO `item_db` VALUES ('2134','Shield_Of_Naga','Shield of Naga','5','20','10','500','0','0','3','0','1','13631360','2','2','32','0','70',NULL,'1','2','0','bonus bMdef,3; autobonus2 \"{ bonus bShortWeaponDamageReturn,(getrefine()*3); }\",10,5000,BF_WEAPON,\"{ specialeffect2 EF_GUARD; }\";','',''); REPLACE INTO `item_db` VALUES ('2135','Shadow_Guard','Shadow Guard','5','20','10','800','0','0','4','0','1','131072','2','2','32','0','70',NULL,'1','2','0','','',''); REPLACE INTO `item_db` VALUES ('2136','Cracked_Buckler','Cracked Buckler','5','0','0','0','0','0','5','0','0','4294967295','63','2','32','0','0',NULL,'0','2','0','bonus bAgi,2; bonus2 bAddEle,Ele_Neutral,-10; bonus3 bAutoSpellWhenHit,PR_KYRIE,1,50; bonus bMdef,1;','',''); -REPLACE INTO `item_db` VALUES ('2137','Valkyrja\'s_Shield_C','Neo Valkyrja\'s Shield','5','0','0','0','0','0','5','0','0','4294967294','2','2','32','0','95',NULL,'0','4','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('2137','Valkyrja\'s_Shield_C','Neo Valkyrja\'s Shield','5','0','0','0','0','0','5','0','0','2147483647','2','2','32','0','95',NULL,'0','4','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('2138','Bradium_Shield','Bradium Shield','5','20','10','1800','0','0','5','0','1','13631360','2','2','32','0','65',NULL,'1','3','0','bonus2 bSkillAtk,CR_SHIELDBOOMERANG,60; bonus bAgi,-1; bonus bMaxHP,500;','',''); REPLACE INTO `item_db` VALUES ('2199','Ahura_Mazda','Ahura Mazdah','5','1','0','10','0','0','100','0','0','4294967295','63','2','32','0','1',NULL,'1','0','0','bonus bAllStats,50; bonus bMdef,99; bonus bShortWeaponDamageReturn,100; bonus2 bSubRace,RC_DemiHuman,95; skill CR_FULLPROTECTION,5; skill WZ_ESTIMATION,1; skill ST_FULLSTRIP,5; skill HW_MAGICPOWER,10; bonus bMaxHPrate,200; bonus bNoGemStone,0; bonus bSpeedRate,25;','sc_start4 SC_ENDURE,60000,10,0,0,1;','sc_end SC_ENDURE;'); REPLACE INTO `item_db` VALUES ('2201','Sunglasses','Sunglasses','5','5000','2500','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','12','0','bonus2 bResEff,Eff_Blind,500;','',''); @@ -1125,8 +1125,8 @@ REPLACE INTO `item_db` VALUES ('2218','Flu_Mask','Flu Mask','5','300','150','100 REPLACE INTO `item_db` VALUES ('2219','Flu_Mask_','Flu Mask','5','300','150','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','8','0','bonus2 bResEff,Eff_Silence,1000;','',''); REPLACE INTO `item_db` VALUES ('2220','Hat','Hat','5','1000','500','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','16','0','','',''); REPLACE INTO `item_db` VALUES ('2221','Hat_','Hat','5','1000','500','200','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','16','0','','',''); -REPLACE INTO `item_db` VALUES ('2222','Turban','Turban','5','4500','2250','300','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','7','0','','',''); -REPLACE INTO `item_db` VALUES ('2223','Turban_','Turban','5','4500','2250','300','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','7','0','','',''); +REPLACE INTO `item_db` VALUES ('2222','Turban','Turban','5','4500','2250','300','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','7','0','','',''); +REPLACE INTO `item_db` VALUES ('2223','Turban_','Turban','5','4500','2250','300','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','7','0','','',''); REPLACE INTO `item_db` VALUES ('2224','Goggle','Goggles','5','20','10','300','0','0','5','0','0','941290','63','2','768','0','0',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('2225','Goggle_','Goggles','5','20','10','300','0','0','5','0','1','941290','63','2','768','0','0',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('2226','Cap','Cap','5','12000','6000','400','0','0','4','0','0','941290','63','2','256','0','0',NULL,'1','14','0','','',''); @@ -1137,8 +1137,8 @@ REPLACE INTO `item_db` VALUES ('2230','Gemmed_Sallet','Gemmed Sallet','5','50000 REPLACE INTO `item_db` VALUES ('2231','Gemmed_Sallet_','Gemmed Sallet','5','50000','25000','500','0','0','4','0','1','414946','63','2','256','0','0',NULL,'1','0','0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2232','Circlet','Circlet','5','7500','3750','300','0','0','3','0','0','8487700','63','2','256','0','0',NULL,'1','18','0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2233','Circlet_','Circlet','5','7500','3750','300','0','0','3','0','1','8487700','63','2','256','0','0',NULL,'1','18','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('2234','Tiara','Tiara','5','20','10','400','0','0','4','0','0','4294967294','63','2','256','0','45',NULL,'1','19','0','bonus bInt,2;','',''); -REPLACE INTO `item_db` VALUES ('2235','Crown','Crown','5','20','10','400','0','0','4','0','0','4294967294','63','1','256','0','45',NULL,'1','45','0','bonus bInt,2;','',''); +REPLACE INTO `item_db` VALUES ('2234','Tiara','Tiara','5','20','10','400','0','0','4','0','0','2147483647','63','2','256','0','45',NULL,'1','19','0','bonus bInt,2;','',''); +REPLACE INTO `item_db` VALUES ('2235','Crown','Crown','5','20','10','400','0','0','4','0','0','2147483647','63','1','256','0','45',NULL,'1','45','0','bonus bInt,2;','',''); REPLACE INTO `item_db` VALUES ('2236','Santa\'s_Hat','Santa Hat','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','20','0','bonus bMdef,1; bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('2237','Weird_Goatee','Bandit Beard','5','2','1','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','21','0','','',''); REPLACE INTO `item_db` VALUES ('2239','One_Eyed_Glass','Monocle','5','10000','5000','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','23','0','','',''); @@ -1146,60 +1146,60 @@ REPLACE INTO `item_db` VALUES ('2240','Beard','Beard','5','2','1','100','0','0', REPLACE INTO `item_db` VALUES ('2241','Granpa_Beard','Grampa Beard','5','5000','2500','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','25','0','','',''); REPLACE INTO `item_db` VALUES ('2242','Luxury_Sunglasses','Purple Glasses','5','24000','12000','100','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','26','0','bonus2 bResEff,Eff_Blind,1000;','',''); REPLACE INTO `item_db` VALUES ('2243','Spinning_Eyes','Geek Glasses','5','20000','10000','100','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','27','0','bonus2 bResEff,Eff_Blind,1500;','',''); -REPLACE INTO `item_db` VALUES ('2244','Big_Sis\'_Ribbon','Big Ribbon','5','15000','7500','200','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('2245','Sweet_Gents','Sweet Gent','5','15000','7500','400','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','29','0','','',''); -REPLACE INTO `item_db` VALUES ('2246','Golden_Gear','Golden Gear','5','20','10','900','0','0','5','0','0','4294967294','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); -REPLACE INTO `item_db` VALUES ('2247','Oldman\'s_Romance','Romantic Gent','5','15000','7500','400','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','31','0','','',''); -REPLACE INTO `item_db` VALUES ('2248','Western_Grace','Western Grace','5','15000','7500','400','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','32','0','','',''); -REPLACE INTO `item_db` VALUES ('2249','Coronet','Coronet','5','20','10','300','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','33','0','bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('2250','Fillet','Cute Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','34','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db` VALUES ('2244','Big_Sis\'_Ribbon','Big Ribbon','5','15000','7500','200','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2245','Sweet_Gents','Sweet Gent','5','15000','7500','400','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','29','0','','',''); +REPLACE INTO `item_db` VALUES ('2246','Golden_Gear','Golden Gear','5','20','10','900','0','0','5','0','0','2147483647','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db` VALUES ('2247','Oldman\'s_Romance','Romantic Gent','5','15000','7500','400','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','31','0','','',''); +REPLACE INTO `item_db` VALUES ('2248','Western_Grace','Western Grace','5','15000','7500','400','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','32','0','','',''); +REPLACE INTO `item_db` VALUES ('2249','Coronet','Coronet','5','20','10','300','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','33','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('2250','Fillet','Cute Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','34','0','bonus bMaxSP,20;','',''); REPLACE INTO `item_db` VALUES ('2251','Holy_Bonnet','Monk Hat','5','30000','15000','100','0','0','5','0','0','33040','63','2','256','0','0',NULL,'1','35','0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2252','Star_Sparkling','Wizard Hat','5','20','10','300','0','0','4','0','0','8454660','63','2','256','0','0',NULL,'1','36','0','bonus bMaxSP,100;','',''); REPLACE INTO `item_db` VALUES ('2253','Sunflower','Sunflower','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','37','0','bonus2 bSubRace,RC_Insect,10;','',''); -REPLACE INTO `item_db` VALUES ('2254','Angelic_Chain','Angel Wing','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bAgi,1; bonus bLuk,1; bonus2 bSubRace,RC_Demon,3;','',''); -REPLACE INTO `item_db` VALUES ('2255','Satanic_Chain','Evil Wing','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','39','0','bonus bMdef,2; bonus bStr,1; bonus2 bSubRace,RC_Angel,3;','',''); +REPLACE INTO `item_db` VALUES ('2254','Angelic_Chain','Angel Wing','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bAgi,1; bonus bLuk,1; bonus2 bSubRace,RC_Demon,3;','',''); +REPLACE INTO `item_db` VALUES ('2255','Satanic_Chain','Evil Wing','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','39','0','bonus bMdef,2; bonus bStr,1; bonus2 bSubRace,RC_Angel,3;','',''); REPLACE INTO `item_db` VALUES ('2256','Magestic_Goat','Majestic Goat','5','20','10','800','0','0','5','0','0','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('2257','Snowy_Horn','Unicorn Horn','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','42','0','','',''); REPLACE INTO `item_db` VALUES ('2258','Sharp_Gear','Spiky Band','5','20','10','1000','0','0','6','0','0','6739442','63','2','256','0','50',NULL,'1','43','0','','',''); REPLACE INTO `item_db` VALUES ('2259','Mini_Propeller','Mini Propeller','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','46','0','','',''); -REPLACE INTO `item_db` VALUES ('2260','Mini_Glasses','Mini Glasses','5','28000','14000','100','0','0','1','0','0','4294967294','63','2','512','0','0',NULL,'0','47','0','','',''); +REPLACE INTO `item_db` VALUES ('2260','Mini_Glasses','Mini Glasses','5','28000','14000','100','0','0','1','0','0','2147483647','63','2','512','0','0',NULL,'0','47','0','','',''); REPLACE INTO `item_db` VALUES ('2261','Prontera_Army_Cap','Army Cap','5','20','10','400','0','0','4','0','0','414946','63','2','256','0','0',NULL,'1','48','0','','',''); REPLACE INTO `item_db` VALUES ('2262','Pierrot_Nose','Clown Nose','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','49','0','','',''); -REPLACE INTO `item_db` VALUES ('2263','Gangster_Patch','Zorro Masque','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','50','0','','',''); +REPLACE INTO `item_db` VALUES ('2263','Gangster_Patch','Zorro Masque','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','50','0','','',''); REPLACE INTO `item_db` VALUES ('2264','Munak_Turban','Munak Hat','5','20','10','300','0','0','5','0','0','4294967295','63','2','769','0','0',NULL,'0','51','0','bonus2 bSubRace,RC_Undead,10;','',''); REPLACE INTO `item_db` VALUES ('2265','Ganster_Mask','Gangster Mask','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','52','0','bonus2 bResEff,Eff_Silence,1500;','',''); REPLACE INTO `item_db` VALUES ('2266','Iron_Cane','Iron Cain','5','20','10','300','0','0','1','0','0','16514','63','2','1','0','50',NULL,'0','53','0','','',''); -REPLACE INTO `item_db` VALUES ('2267','Cigar','Cigarette','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','54','0','bonus2 bSubRace,RC_Insect,3;','',''); -REPLACE INTO `item_db` VALUES ('2268','Smoking_Pipe','Pipe','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','55','0','bonus2 bSubRace,RC_Insect,3;','',''); -REPLACE INTO `item_db` VALUES ('2269','Centimental_Flower','Romantic Flower','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); -REPLACE INTO `item_db` VALUES ('2270','Centimental_Leaf','Romantic Leaf','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','57','0','bonus2 bSubRace,RC_Plant,3;','',''); -REPLACE INTO `item_db` VALUES ('2271','Jack_A_Dandy','Jack be Dandy','5','45000','22500','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','58','0','','',''); +REPLACE INTO `item_db` VALUES ('2267','Cigar','Cigarette','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','54','0','bonus2 bSubRace,RC_Insect,3;','',''); +REPLACE INTO `item_db` VALUES ('2268','Smoking_Pipe','Pipe','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','55','0','bonus2 bSubRace,RC_Insect,3;','',''); +REPLACE INTO `item_db` VALUES ('2269','Centimental_Flower','Romantic Flower','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db` VALUES ('2270','Centimental_Leaf','Romantic Leaf','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','57','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db` VALUES ('2271','Jack_A_Dandy','Jack be Dandy','5','45000','22500','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','58','0','','',''); REPLACE INTO `item_db` VALUES ('2272','Stop_Post','Stop Post','5','20','10','400','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','59','0','','',''); -REPLACE INTO `item_db` VALUES ('2273','Doctor_Cap','Doctor Band','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','60','0','bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('2274','Ghost_Bandana','Ghost Bandana','5','20','10','100','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'1','61','0','bonus bAgi,2; bonus2 bSubEle,Ele_Ghost,10;','',''); +REPLACE INTO `item_db` VALUES ('2273','Doctor_Cap','Doctor Band','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','60','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('2274','Ghost_Bandana','Ghost Bandana','5','20','10','100','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'1','61','0','bonus bAgi,2; bonus2 bSubEle,Ele_Ghost,10;','',''); REPLACE INTO `item_db` VALUES ('2275','Red_Bandana','Red Bandana','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','62','0','','',''); REPLACE INTO `item_db` VALUES ('2276','Eagle_Eyes','Angled Glasses','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','63','0','','',''); REPLACE INTO `item_db` VALUES ('2277','Nurse_Cap','Nurse Cap','5','20','10','100','0','0','2','0','0','33040','63','2','256','0','0',NULL,'1','64','0','bonus bInt,1;','',''); REPLACE INTO `item_db` VALUES ('2278','Mr_Smile','Mr. Smile','5','60','30','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','65','0','','',''); REPLACE INTO `item_db` VALUES ('2279','Bomb_Wick','Bomb Wick','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','66','0','','',''); REPLACE INTO `item_db` VALUES ('2280','Sahkkat','Sakkat','5','20','10','300','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','67','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('2281','Phantom_Of_Opera','Opera Masque','5','20','10','200','0','0','2','0','0','4294967294','63','2','513','0','0',NULL,'0','68','0','','',''); +REPLACE INTO `item_db` VALUES ('2281','Phantom_Of_Opera','Opera Masque','5','20','10','200','0','0','2','0','0','2147483647','63','2','513','0','0',NULL,'0','68','0','','',''); REPLACE INTO `item_db` VALUES ('2282','Spirit_Chain','Halo','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','69','0','bonus2 bSubEle,Ele_Holy,15;','',''); REPLACE INTO `item_db` VALUES ('2283','Ear_Mufs','Ear Muffs','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','70','0','bonus2 bResEff,Eff_Curse,1000;','',''); -REPLACE INTO `item_db` VALUES ('2284','Antler','Antlers','5','20','10','500','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'1','71','0','','',''); -REPLACE INTO `item_db` VALUES ('2285','Apple_Of_Archer','Apple of Archer','5','20','10','200','0','0','0','0','0','4294967294','63','2','256','0','30',NULL,'1','72','0','bonus bDex,3;','',''); -REPLACE INTO `item_db` VALUES ('2286','Elven_Ears','Elven Ears','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','70',NULL,'0','73','0','','',''); -REPLACE INTO `item_db` VALUES ('2287','Pirate_Bandana','Pirate Bandana','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); -REPLACE INTO `item_db` VALUES ('2288','Mr_Scream','Mr. Scream','5','20','10','100','0','0','1','0','0','4294967294','63','2','513','0','0',NULL,'0','75','0','','',''); +REPLACE INTO `item_db` VALUES ('2284','Antler','Antlers','5','20','10','500','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'1','71','0','','',''); +REPLACE INTO `item_db` VALUES ('2285','Apple_Of_Archer','Apple of Archer','5','20','10','200','0','0','0','0','0','2147483647','63','2','256','0','30',NULL,'1','72','0','bonus bDex,3;','',''); +REPLACE INTO `item_db` VALUES ('2286','Elven_Ears','Elven Ears','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','70',NULL,'0','73','0','','',''); +REPLACE INTO `item_db` VALUES ('2287','Pirate_Bandana','Pirate Bandana','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); +REPLACE INTO `item_db` VALUES ('2288','Mr_Scream','Mr. Scream','5','20','10','100','0','0','1','0','0','2147483647','63','2','513','0','0',NULL,'0','75','0','','',''); REPLACE INTO `item_db` VALUES ('2289','Poo_Poo_Hat','Poo Poo Hat','5','20','10','700','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','76','0','bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db` VALUES ('2290','Funeral_Costume','Funeral Hat','5','3000','1500','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','77','0','','',''); -REPLACE INTO `item_db` VALUES ('2291','Masquerade','Masquerade','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','78','0','bonus2 bAddRace,RC_DemiHuman,3;','',''); +REPLACE INTO `item_db` VALUES ('2291','Masquerade','Masquerade','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','78','0','bonus2 bAddRace,RC_DemiHuman,3;','',''); REPLACE INTO `item_db` VALUES ('2292','Welding_Mask','Welding Mask','5','20','10','300','0','0','2','0','0','263200','63','2','513','0','50',NULL,'0','79','0','bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db` VALUES ('2293','Pretend_Murdered','Pretend Murdered','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','80','0','','',''); REPLACE INTO `item_db` VALUES ('2294','Star_Dust','Stellar','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','81','0','','',''); -REPLACE INTO `item_db` VALUES ('2295','Blinker','Blinker','5','1500','750','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','82','0','bonus2 bResEff,Eff_Blind,10000;','',''); +REPLACE INTO `item_db` VALUES ('2295','Blinker','Blinker','5','1500','750','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','82','0','bonus2 bResEff,Eff_Blind,10000;','',''); REPLACE INTO `item_db` VALUES ('2296','Binoculars','Binoculars','5','20','10','100','0','0','1','0','0','526344','63','2','512','0','50',NULL,'0','83','0','bonus bDex,1;','',''); -REPLACE INTO `item_db` VALUES ('2297','Goblini_Mask','Goblin Mask','5','20','10','100','0','0','1','0','0','4294967294','63','2','513','0','0',NULL,'0','84','0','','',''); +REPLACE INTO `item_db` VALUES ('2297','Goblini_Mask','Goblin Mask','5','20','10','100','0','0','1','0','0','2147483647','63','2','513','0','0',NULL,'0','84','0','','',''); REPLACE INTO `item_db` VALUES ('2298','Green_Feeler','Green Feeler','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','85','0','','',''); REPLACE INTO `item_db` VALUES ('2299','Viking_Helm','Orc Helm','5','20','10','500','0','0','5','0','0','414946','63','2','256','0','0',NULL,'1','86','0','','',''); REPLACE INTO `item_db` VALUES ('2301','Cotton_Shirt','Cotton Shirt','5','10','5','100','0','0','1','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -1208,11 +1208,11 @@ REPLACE INTO `item_db` VALUES ('2303','Leather_Jacket','Jacket','5','200','100', REPLACE INTO `item_db` VALUES ('2304','Leather_Jacket_','Jacket','5','200','100','200','0','0','2','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2305','Adventure_Suit','Adventurer\'s Suit','5','1000','500','300','0','0','3','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2306','Adventurere\'s_Suit_','Adventurer\'s Suit','5','1000','500','300','0','0','3','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2307','Mantle','Mantle','5','10000','5000','600','0','0','4','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2308','Mantle_','Mantle','5','10000','5000','600','0','0','4','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2309','Coat','Coat','5','22000','11000','1200','0','0','5','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2310','Coat_','Coat','5','22000','11000','1200','0','0','5','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2311','Mink_Coat','Mink Coat','5','20','10','2300','0','0','6','0','1','4294967294','63','2','16','0','30',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2307','Mantle','Mantle','5','10000','5000','600','0','0','4','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2308','Mantle_','Mantle','5','10000','5000','600','0','0','4','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2309','Coat','Coat','5','22000','11000','1200','0','0','5','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2310','Coat_','Coat','5','22000','11000','1200','0','0','5','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2311','Mink_Coat','Mink Coat','5','20','10','2300','0','0','6','0','1','2147483647','63','2','16','0','30',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2312','Padded_Armor','Padded Armor','5','48000','24000','2800','0','0','7','0','0','414946','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2313','Padded_Armor_','Padded Armor','5','48000','24000','2800','0','0','7','0','1','414946','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2314','Chain_Mail','Chain Mail','5','65000','32500','3300','0','0','8','0','0','414946','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -1220,8 +1220,8 @@ REPLACE INTO `item_db` VALUES ('2315','Chain_Mail_','Chain Mail','5','65000','32 REPLACE INTO `item_db` VALUES ('2316','Plate_Armor','Full Plate','5','80000','40000','4500','0','0','10','0','0','16514','63','2','16','0','40',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2317','Plate_Armor_','Full Plate','5','80000','40000','4500','0','0','10','0','1','16514','63','2','16','0','40',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2318','Clothes_Of_The_Lord','Lord\'s Clothes','5','20','10','2500','0','0','8','0','1','263200','63','2','16','0','70',NULL,'1','0','0','bonus bMdef,5; bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('2319','Glittering_Clothes','Glittering Jacket','5','20','10','2500','0','0','7','0','1','4294967294','63','2','16','0','60',NULL,'1','0','0','bonus bMdef,5; bonus2 bAddEff,Eff_Blind,300;','',''); -REPLACE INTO `item_db` VALUES ('2320','Formal_Suit','Formal Suit','5','20','10','300','0','0','5','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2319','Glittering_Clothes','Glittering Jacket','5','20','10','2500','0','0','7','0','1','2147483647','63','2','16','0','60',NULL,'1','0','0','bonus bMdef,5; bonus2 bAddEff,Eff_Blind,300;','',''); +REPLACE INTO `item_db` VALUES ('2320','Formal_Suit','Formal Suit','5','20','10','300','0','0','5','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2321','Silk_Robe','Silk Robe','5','8000','4000','400','0','0','3','0','0','8767414','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,10;','',''); REPLACE INTO `item_db` VALUES ('2322','Silk_Robe_','Silk Robe','5','8000','4000','400','0','0','3','0','1','8767414','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,10;','',''); REPLACE INTO `item_db` VALUES ('2323','Scapulare','Scapulare','5','6500','3250','400','0','0','4','0','0','33040','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -1239,35 +1239,35 @@ REPLACE INTO `item_db` VALUES ('2334','Mage_Coat','Mage Coat','5','20','10','600 REPLACE INTO `item_db` VALUES ('2335','Thief_Clothes','Thief Clothes','5','74000','37000','100','0','0','6','0','0','33689664','63','2','16','0','0',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('2336','Thief_Clothes_','Thief Clothes','5','74000','37000','100','0','0','6','0','1','33689664','63','2','16','0','0',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('2337','Ninja_Suit','Ninja Suit','5','20','10','1500','0','0','7','0','0','33689664','63','2','16','0','50',NULL,'1','0','0','bonus bAgi,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('2338','Wedding_Dress','Wedding Dress','5','43000','21500','500','0','0','0','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,15;','',''); +REPLACE INTO `item_db` VALUES ('2338','Wedding_Dress','Wedding Dress','5','43000','21500','500','0','0','0','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,15;','',''); REPLACE INTO `item_db` VALUES ('2339','G_Strings','Pantie','5','1000','500','100','0','0','4','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2340','Novice_Breast','Novice Breastplate','5','89000','44500','500','0','0','4','0','1','1','63','2','16','0','10',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2341','Full_Plate_Armor','Legion Plate Armor','5','94000','47000','5500','0','0','11','0','0','16384','63','2','16','0','70',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2342','Full_Plate_Armor_','Legion Plate Armor','5','102500','51250','5500','0','0','11','0','1','16384','63','2','16','0','70',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2343','Robe_Of_Casting','Robe of Cast','5','124800','62400','1100','0','0','5','0','0','8454656','63','2','16','0','75',NULL,'1','0','0','bonus bCastrate,-3; bonus bMdef,4;','',''); REPLACE INTO `item_db` VALUES ('2344','Flame_Sprits_Armor','Lucius\'s Fierce Armor of Volcano','5','136000','68000','2200','0','0','4','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Fire;','',''); -REPLACE INTO `item_db` VALUES ('2345','Flame_Sprits_Armor_','Lucius\'s Fierce Armor of Volcano','5','136000','68000','2200','0','0','4','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Fire;','',''); +REPLACE INTO `item_db` VALUES ('2345','Flame_Sprits_Armor_','Lucius\'s Fierce Armor of Volcano','5','136000','68000','2200','0','0','4','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Fire;','',''); REPLACE INTO `item_db` VALUES ('2346','Water_Sprits_Armor','Saphien\'s Armor of Ocean','5','136000','68000','2200','0','0','4','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Water;','',''); -REPLACE INTO `item_db` VALUES ('2347','Water_Sprits_Armor_','Saphien\'s Armor of Ocean','5','136000','68000','2200','0','0','4','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Water;','',''); +REPLACE INTO `item_db` VALUES ('2347','Water_Sprits_Armor_','Saphien\'s Armor of Ocean','5','136000','68000','2200','0','0','4','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Water;','',''); REPLACE INTO `item_db` VALUES ('2348','Wind_Sprits_Armor','Aebecee\'s Raging Typhoon Armor','5','136000','68000','2200','0','0','4','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Wind;','',''); -REPLACE INTO `item_db` VALUES ('2349','Wind_Sprits_Armor_','Aebecee\'s Raging Typhoon Armor','5','136000','68000','2200','0','0','4','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Wind;','',''); +REPLACE INTO `item_db` VALUES ('2349','Wind_Sprits_Armor_','Aebecee\'s Raging Typhoon Armor','5','136000','68000','2200','0','0','4','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Wind;','',''); REPLACE INTO `item_db` VALUES ('2350','Earth_Sprits_Armor','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','4','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Earth;','',''); -REPLACE INTO `item_db` VALUES ('2351','Earth_Sprits_Armor_','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','4','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Earth;','',''); +REPLACE INTO `item_db` VALUES ('2351','Earth_Sprits_Armor_','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','4','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Earth;','',''); REPLACE INTO `item_db` VALUES ('2352','Novice_Plate','Tattered Novice Ninja Suit','5','1','0','1','0','0','4','0','0','1','63','2','16','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2353','Odin\'s_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','6','0','1','4294967294','63','2','16','0','65',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2354','Goibne\'s_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','7','0','0','4294967294','63','2','16','0','54',NULL,'1','0','0','bonus bVit,2; bonus bMaxHPrate,10;','',''); +REPLACE INTO `item_db` VALUES ('2353','Odin\'s_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','6','0','1','2147483647','63','2','16','0','65',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2354','Goibne\'s_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','7','0','0','2147483647','63','2','16','0','54',NULL,'1','0','0','bonus bVit,2; bonus bMaxHPrate,10;','',''); REPLACE INTO `item_db` VALUES ('2355','Angel\'s_Protection','Angelic Protection','5','10000','5000','600','0','0','4','0','1','1','63','2','16','0','40',NULL,'1','0','0','bonus bMdef,20;','',''); REPLACE INTO `item_db` VALUES ('2356','Vestment_Of_Grace','Blessed Holy Robe','5','20','10','2500','0','0','5','0','1','33024','63','2','16','0','70',NULL,'1','0','0','bonus bMdef,5; bonus2 bResEff,Eff_Blind,8000;','',''); -REPLACE INTO `item_db` VALUES ('2357','Valkyrie_Armor','Valkyrian Armor','5','0','0','2800','0','0','6','0','1','4294967294','2','2','16','0','1',NULL,'1','0','0','bonus bAllStats,1; bonus bUnbreakableArmor,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;','',''); +REPLACE INTO `item_db` VALUES ('2357','Valkyrie_Armor','Valkyrian Armor','5','0','0','2800','0','0','6','0','1','2147483647','2','2','16','0','1',NULL,'1','0','0','bonus bAllStats,1; bonus bUnbreakableArmor,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;','',''); REPLACE INTO `item_db` VALUES ('2358','Dress_Of_Angel','Angel\'s Dress','5','20','10','1000','0','0','5','0','0','4294967295','63','2','16','0','1',NULL,'0','0','0','bonus bLuk,4;','',''); REPLACE INTO `item_db` VALUES ('2359','Ninja_Suit_','Ninja Suit','5','20','10','1500','0','0','7','0','1','33689664','63','2','16','0','50',NULL,'1','0','0','bonus bAgi,1; bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2360','Robe_Of_Casting_','Robe of Cast','5','124800','62400','1100','0','0','5','0','1','8454656','63','2','16','0','75',NULL,'1','0','0','bonus bCastrate,-3; bonus bMdef,4;','',''); REPLACE INTO `item_db` VALUES ('2364','Meteo_Plate_Armor','Meteo Plate Armor','5','20','10','3000','0','0','10','0','1','279714','2','2','16','0','55',NULL,'1','0','0','bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Freeze,3000;','',''); -REPLACE INTO `item_db` VALUES ('2365','Orleans_Gown','Orleans\'s Gown','5','20','10','300','0','0','2','0','1','4294967294','2','2','16','0','55',NULL,'1','0','0','bonus bCastrate,15; bonus bNoCastCancel,0;','',''); -REPLACE INTO `item_db` VALUES ('2366','Divine_Cloth','Divine Cloth','5','20','10','1500','0','0','6','0','1','4294967294','2','2','16','0','55',NULL,'1','0','0','bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500;','',''); +REPLACE INTO `item_db` VALUES ('2365','Orleans_Gown','Orleans\'s Gown','5','20','10','300','0','0','2','0','1','2147483647','2','2','16','0','55',NULL,'1','0','0','bonus bCastrate,15; bonus bNoCastCancel,0;','',''); +REPLACE INTO `item_db` VALUES ('2366','Divine_Cloth','Divine Cloth','5','20','10','1500','0','0','6','0','1','2147483647','2','2','16','0','55',NULL,'1','0','0','bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500;','',''); REPLACE INTO `item_db` VALUES ('2367','Sniping_Suit','Sniping Suit','5','20','10','750','0','0','5','0','1','2048','2','2','16','0','50',NULL,'1','0','0','bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayrate,-23;','',''); REPLACE INTO `item_db` VALUES ('2368','Golden_Armor','Golden Armor','5','20','10','2000','0','0','4','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bMdef,4;','',''); -REPLACE INTO `item_db` VALUES ('2369','Freyja_Overcoat','Freyja Overcoat','5','0','0','500','0','0','12','0','0','4294967294','63','2','16','0','0',NULL,'0','0','0','bonus bUnbreakableArmor,0; bonus2 bSubRace,RC_DemiHuman,10;','',''); +REPLACE INTO `item_db` VALUES ('2369','Freyja_Overcoat','Freyja Overcoat','5','0','0','500','0','0','12','0','0','2147483647','63','2','16','0','0',NULL,'0','0','0','bonus bUnbreakableArmor,0; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db` VALUES ('2370','Used_Mage_Coat','Used Mage Coat','5','0','0','0','0','0','15','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bMaxHP,300; bonus bMaxSP,30; bonus bBaseAtk,10; bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('2371','G_Strings_','Pantie','5','1000','500','100','0','0','4','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2372','Mage_Coat_','Mage Coat','5','20','10','600','0','0','5','0','1','8454660','63','2','16','0','50',NULL,'1','0','0','bonus bMdef,5; bonus bInt,1;','',''); @@ -1292,45 +1292,45 @@ REPLACE INTO `item_db` VALUES ('2390','Improved_Tights','Improved Tights','5','2 REPLACE INTO `item_db` VALUES ('2391','Life_Link','Life Link','5','20','10','3500','0','0','9','0','1','16514','2','2','16','0','82',NULL,'1','0','0','bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;','',''); REPLACE INTO `item_db` VALUES ('2392','Old_Pant','Old Green Pantie','5','0','0','0','0','0','10','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,MO_CALLSPIRITS,5,20; bonus bMdef,1;','',''); REPLACE INTO `item_db` VALUES ('2393','N_Adventurer\'s_Suit','Novice Adventurer\'s Suit','5','0','0','0','0','0','8','0','1','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2394','Krieger_Suit1','Glorious Suit','5','20','10','0','0','0','0','0','0','4294967294','63','2','16','0','81',NULL,'1','0','0','bonus bMaxHPrate,20; bonus2 bSubRace,RC_DemiHuman,7;','',''); -REPLACE INTO `item_db` VALUES ('2395','Krieger_Suit2','Glorious Popularized Suit','5','20','10','0','0','0','0','0','0','4294967294','63','2','16','0','61',NULL,'1','0','0','bonus bMaxHP,600; bonus bSPrecovRate,10;','',''); -REPLACE INTO `item_db` VALUES ('2396','Krieger_Suit3','Glorious Mass-Production Suit','5','20','10','0','0','0','0','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHP,500;','',''); -REPLACE INTO `item_db` VALUES ('2397','Incredible_Coat','Incredible Event Resignation Coat','5','10','5','900','0','0','2','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2394','Krieger_Suit1','Glorious Suit','5','20','10','0','0','0','0','0','0','2147483647','63','2','16','0','81',NULL,'1','0','0','bonus bMaxHPrate,20; bonus2 bSubRace,RC_DemiHuman,7;','',''); +REPLACE INTO `item_db` VALUES ('2395','Krieger_Suit2','Glorious Popularized Suit','5','20','10','0','0','0','0','0','0','2147483647','63','2','16','0','61',NULL,'1','0','0','bonus bMaxHP,600; bonus bSPrecovRate,10;','',''); +REPLACE INTO `item_db` VALUES ('2396','Krieger_Suit3','Glorious Mass-Production Suit','5','20','10','0','0','0','0','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHP,500;','',''); +REPLACE INTO `item_db` VALUES ('2397','Incredible_Coat','Incredible Event Resignation Coat','5','10','5','900','0','0','2','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2398','Sniping_Suit_M','Sniping Suit','5','20','10','750','0','0','5','0','1','2048','2','2','16','0','50',NULL,'1','0','0','bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayrate,-23;','',''); -REPLACE INTO `item_db` VALUES ('2399','Dragon_Vest','Dragon Vest','5','20','10','500','0','0','3','0','1','4294967294','2','2','16','0','0',NULL,'1','0','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2399','Dragon_Vest','Dragon Vest','5','20','10','500','0','0','3','0','1','2147483647','2','2','16','0','0',NULL,'1','0','0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2401','Sandals','Sandals','5','400','200','200','0','0','1','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2402','Sandals_','Sandals','5','400','200','200','0','0','1','0','1','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2403','Shoes','Shoes','5','3500','1750','400','0','0','2','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2404','Shoes_','Shoes','5','3500','1750','400','0','0','2','0','1','4294967294','63','2','64','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2403','Shoes','Shoes','5','3500','1750','400','0','0','2','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2404','Shoes_','Shoes','5','3500','1750','400','0','0','2','0','1','2147483647','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2405','Boots','Boots','5','18000','9000','600','0','0','4','0','0','24009962','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2406','Boots_','Boots','5','18000','9000','600','0','0','4','0','1','24009962','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2407','Chrystal_Pumps','Crystal Pumps','5','20','10','100','0','0','0','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,10; bonus bLuk,5;','',''); +REPLACE INTO `item_db` VALUES ('2407','Chrystal_Pumps','Crystal Pumps','5','20','10','100','0','0','0','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,10; bonus bLuk,5;','',''); REPLACE INTO `item_db` VALUES ('2408','Cuffs','Shackles','5','5000','2500','3000','0','0','3','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2409','Spiky_Heel','High Heels','5','8500','4250','600','0','0','2','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('2409','Spiky_Heel','High Heels','5','8500','4250','600','0','0','2','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('2410','Sleipnir','Sleipnir','5','20','10','3500','0','0','5','0','0','4294967295','63','2','64','0','94',NULL,'0','0','0','bonus bMdef,10; bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bSPrecovRate,15; bonus bSpeedRate,25;','',''); REPLACE INTO `item_db` VALUES ('2411','Grave','Greaves','5','48000','24000','750','0','0','5','0','0','16512','63','2','64','0','65',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2412','Grave_','Greaves','5','54000','27000','750','0','0','5','0','1','16512','63','2','64','0','65',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2413','Safty_Boots','Safety Boots','5','34000','17000','350','0','0','6','0','0','16514','63','2','64','0','30',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2414','Novice_Boots','Novice Slippers','5','1','0','1','0','0','2','0','0','1','63','2','64','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2415','Slipper','Bunny Slipper','5','34000','17000','300','0','0','3','0','1','4294967294','63','2','64','0','30',NULL,'1','0','0','bonus bLuk,3; bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2415','Slipper','Bunny Slipper','5','34000','17000','300','0','0','3','0','1','2147483647','63','2','64','0','30',NULL,'1','0','0','bonus bLuk,3; bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('2416','Novice_Shoes','Novice Shoes','5','35000','17500','500','0','0','2','0','1','1','63','2','64','0','40',NULL,'1','0','0','bonus bMaxHPrate,5;','',''); -REPLACE INTO `item_db` VALUES ('2417','Fricco_Shoes','Fricco\'s Shoes','5','30000','15000','500','0','0','3','0','0','4294967294','63','2','64','0','65',NULL,'1','0','0','bonus bAgi,2; bonus2 bAddItemHealRate,Red_Potion,20; bonus2 bAddItemHealRate,Yellow_Potion,20; bonus2 bAddItemHealRate,Orange_Potion,20; bonus2 bAddItemHealRate,White_Potion,20;','',''); -REPLACE INTO `item_db` VALUES ('2418','Vidar\'s_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','4','0','0','4294967294','63','2','64','0','65',NULL,'1','0','0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','',''); -REPLACE INTO `item_db` VALUES ('2419','Goibne\'s_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','4','0','0','4294967294','63','2','64','0','54',NULL,'1','0','0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2417','Fricco_Shoes','Fricco\'s Shoes','5','30000','15000','500','0','0','3','0','0','2147483647','63','2','64','0','65',NULL,'1','0','0','bonus bAgi,2; bonus2 bAddItemHealRate,Red_Potion,20; bonus2 bAddItemHealRate,Yellow_Potion,20; bonus2 bAddItemHealRate,Orange_Potion,20; bonus2 bAddItemHealRate,White_Potion,20;','',''); +REPLACE INTO `item_db` VALUES ('2418','Vidar\'s_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','4','0','0','2147483647','63','2','64','0','65',NULL,'1','0','0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','',''); +REPLACE INTO `item_db` VALUES ('2419','Goibne\'s_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','4','0','0','2147483647','63','2','64','0','54',NULL,'1','0','0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); REPLACE INTO `item_db` VALUES ('2420','Angel\'s_Arrival','Angel\'s Reincarnation','5','10000','5000','300','0','0','2','0','1','1','63','2','64','0','25',NULL,'1','0','0','bonus bMaxHP,100;','',''); -REPLACE INTO `item_db` VALUES ('2421','Valkyrie_Shoes','Valkyrian Shoes','5','0','0','500','0','0','4','0','1','4294967294','2','2','64','0','1',NULL,'1','0','0','bonus bUnbreakableShoes,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,(BaseLevel*5); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,(JobLevel*2);','',''); +REPLACE INTO `item_db` VALUES ('2421','Valkyrie_Shoes','Valkyrian Shoes','5','0','0','500','0','0','4','0','1','2147483647','2','2','64','0','1',NULL,'1','0','0','bonus bUnbreakableShoes,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,(BaseLevel*5); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,(JobLevel*2);','',''); REPLACE INTO `item_db` VALUES ('2422','High_Fashion_Sandals','High Fashion Sandals','5','24000','12000','200','0','0','2','0','1','8487700','63','2','64','0','40',NULL,'1','0','0','bonus bMdef,10;','',''); -REPLACE INTO `item_db` VALUES ('2423','Variant_Shoes','Variant Shoes','5','20','10','500','0','0','3','0','0','4294967294','2','2','64','0','85',NULL,'1','0','0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','',''); -REPLACE INTO `item_db` VALUES ('2424','Tidal_Shoes','Tidal Shoes','5','20','10','300','0','0','3','0','1','4294967294','2','2','64','0','55',NULL,'1','0','0','bonus2 bSubEle,Ele_Water,5;','',''); -REPLACE INTO `item_db` VALUES ('2425','Black_Leather_Boots','Black Leather Boots','5','20','10','500','0','0','4','0','0','4294967294','2','2','64','0','55',NULL,'1','0','0','bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;','',''); -REPLACE INTO `item_db` VALUES ('2426','Shadow_Walk','Shadow Walk','5','20','10','2000','0','0','0','0','0','4294967294','2','2','64','0','75',NULL,'1','0','0','bonus bMdef,10; if(getskilllv(AS_CLOAKING)<2) { bonus5 bAutoSpellWhenHit,AS_CLOAKING,2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,AS_CLOAKING,getskilllv(AS_CLOAKING),100,BF_MAGIC,0;','',''); +REPLACE INTO `item_db` VALUES ('2423','Variant_Shoes','Variant Shoes','5','20','10','500','0','0','3','0','0','2147483647','2','2','64','0','85',NULL,'1','0','0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','',''); +REPLACE INTO `item_db` VALUES ('2424','Tidal_Shoes','Tidal Shoes','5','20','10','300','0','0','3','0','1','2147483647','2','2','64','0','55',NULL,'1','0','0','bonus2 bSubEle,Ele_Water,5;','',''); +REPLACE INTO `item_db` VALUES ('2425','Black_Leather_Boots','Black Leather Boots','5','20','10','500','0','0','4','0','0','2147483647','2','2','64','0','55',NULL,'1','0','0','bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2426','Shadow_Walk','Shadow Walk','5','20','10','2000','0','0','0','0','0','2147483647','2','2','64','0','75',NULL,'1','0','0','bonus bMdef,10; if(getskilllv(AS_CLOAKING)<2) { bonus5 bAutoSpellWhenHit,AS_CLOAKING,2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,AS_CLOAKING,getskilllv(AS_CLOAKING),100,BF_MAGIC,0;','',''); REPLACE INTO `item_db` VALUES ('2427','Golden_Shoes','Golden Shoes','5','20','10','300','0','0','4','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','bonus bMdef,4;','',''); REPLACE INTO `item_db` VALUES ('2429','Iron_Boots01','Iron Boots','5','0','0','1500','0','0','5','0','0','941290','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2430','Iron_Boots02','Iron Boots','5','0','0','800','0','0','5','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2431','Valley_Shoes','Valley Shoes','5','20','10','0','0','0','10','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','bonus bMaxHPrate,7; bonus bMaxSPrate,7;','',''); -REPLACE INTO `item_db` VALUES ('2432','Spiky_Heel_','High Heels','5','8500','4250','600','0','0','2','0','1','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('2432','Spiky_Heel_','High Heels','5','8500','4250','600','0','0','2','0','1','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('2433','Diabolus_Boots','Diabolus Boots','5','20','10','250','0','0','4','0','1','13631360','2','2','64','0','0',NULL,'1','0','0','bonus bMaxHP,(BaseLevel*10);','',''); -REPLACE INTO `item_db` VALUES ('2434','Black_Leather_Boots_','Black Leather Boots','5','20','10','500','0','0','4','0','1','4294967294','2','2','64','0','55',NULL,'1','0','0','bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2434','Black_Leather_Boots_','Black Leather Boots','5','20','10','500','0','0','4','0','1','2147483647','2','2','64','0','55',NULL,'1','0','0','bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;','',''); REPLACE INTO `item_db` VALUES ('2435','Battle_Greave','Battle Greaves','5','10','5','0','0','0','4','0','1','40260834','63','2','64','0','80',NULL,'1','0','0','bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db` VALUES ('2436','Combat_Boots','Combat Boots','5','10','5','0','0','0','3','0','1','9014044','63','2','64','0','80',NULL,'1','0','0','bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db` VALUES ('2437','Battle_Boots','Battle Boots','5','10','5','0','0','0','3','0','1','16777216','63','2','64','0','80',NULL,'1','0','0','bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); @@ -1340,91 +1340,91 @@ REPLACE INTO `item_db` VALUES ('2440','Sprint_Shoes','Sprint Shoes','5','20','10 REPLACE INTO `item_db` VALUES ('2441','Beach_Sandal','Beach Sandals','5','20','10','200','0','0','0','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db` VALUES ('2442','Boots_Perforated','Red Stocking Boots','5','0','0','0','0','0','7','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','bonus bLuk,2; bonus bHPrecovRate,10; bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,WZ_QUAGMIRE,3,20; bonus bMdef,1;','',''); REPLACE INTO `item_db` VALUES ('2443','Fish_Shoes','Fisher\'s Boots','5','10','5','250','0','0','0','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2444','Krieger_Shoes1','Glorious Shoes','5','20','10','0','0','0','0','0','0','4294967294','63','2','64','0','81',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus3 bAutoSpellWhenHit,AL_INCAGI,1,10;','',''); -REPLACE INTO `item_db` VALUES ('2445','Krieger_Shoes2','Glorious Popularized Shoes','5','20','10','0','0','0','0','0','0','4294967294','63','2','64','0','61',NULL,'1','0','0','bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db` VALUES ('2446','Krieger_Shoes3','Glorious Mass-Production Shoes','5','20','10','0','0','0','0','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,5;','',''); -REPLACE INTO `item_db` VALUES ('2447','Military_Boots','Army Boots','5','0','0','1000','0','0','5','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2444','Krieger_Shoes1','Glorious Shoes','5','20','10','0','0','0','0','0','0','2147483647','63','2','64','0','81',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus3 bAutoSpellWhenHit,AL_INCAGI,1,10;','',''); +REPLACE INTO `item_db` VALUES ('2445','Krieger_Shoes2','Glorious Popularized Shoes','5','20','10','0','0','0','0','0','0','2147483647','63','2','64','0','61',NULL,'1','0','0','bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2446','Krieger_Shoes3','Glorious Mass-Production Shoes','5','20','10','0','0','0','0','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2447','Military_Boots','Army Boots','5','0','0','1000','0','0','5','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2448','Air_Boss','Air Boss','5','0','0','500','0','0','2','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('2449','Variant_Shoes_M','Variant Shoes','5','20','10','500','0','0','3','0','0','4294967294','2','2','64','0','85',NULL,'1','0','0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','',''); -REPLACE INTO `item_db` VALUES ('2450','Vital_Tree_Shoes','Vital Tree Shoes','5','20','10','500','0','0','4','0','0','4294967294','2','2','64','0','60',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bHPRegenRate,30,10000; bonus bHealPower2,5; bonus bAddItemHealRate,5; bonus bMdef,3; bonus bVit,2;','',''); +REPLACE INTO `item_db` VALUES ('2449','Variant_Shoes_M','Variant Shoes','5','20','10','500','0','0','3','0','0','2147483647','2','2','64','0','85',NULL,'1','0','0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','',''); +REPLACE INTO `item_db` VALUES ('2450','Vital_Tree_Shoes','Vital Tree Shoes','5','20','10','500','0','0','4','0','0','2147483647','2','2','64','0','60',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bHPRegenRate,30,10000; bonus bHealPower2,5; bonus bAddItemHealRate,5; bonus bMdef,3; bonus bVit,2;','',''); REPLACE INTO `item_db` VALUES ('2501','Hood','Hood','5','1000','500','200','0','0','1','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2502','Hood_','Hood','5','1000','500','200','0','0','1','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2503','Muffler','Muffler','5','5000','2500','400','0','0','2','0','0','4294967294','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2504','Muffler_','Muffler','5','5000','2500','400','0','0','2','0','1','4294967294','63','2','4','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2503','Muffler','Muffler','5','5000','2500','400','0','0','2','0','0','2147483647','63','2','4','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2504','Muffler_','Muffler','5','5000','2500','400','0','0','2','0','1','2147483647','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2505','Manteau','Manteau','5','32000','16000','600','0','0','4','0','0','6706402','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2506','Manteau_','Manteau','5','32000','16000','600','0','0','4','0','1','6706402','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2507','Cape_Of_Ancient_Lord','Ancient Cape','5','82000','41000','600','0','0','2','0','0','4294967294','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('2508','Ragamuffin_Cape','Ragamuffin Manteau','5','56000','28000','500','0','0','1','0','0','4294967294','63','2','4','0','0',NULL,'1','0','0','bonus bUnbreakableGarment,0; bonus bMdef,10;','',''); +REPLACE INTO `item_db` VALUES ('2507','Cape_Of_Ancient_Lord','Ancient Cape','5','82000','41000','600','0','0','2','0','0','2147483647','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('2508','Ragamuffin_Cape','Ragamuffin Manteau','5','56000','28000','500','0','0','1','0','0','2147483647','63','2','4','0','0',NULL,'1','0','0','bonus bUnbreakableGarment,0; bonus bMdef,10;','',''); REPLACE INTO `item_db` VALUES ('2509','Clack_Of_Servival','Survivor\'s Manteau','5','20000','10000','550','0','0','0','0','0','8454660','63','2','4','0','75',NULL,'1','0','0','bonus bMdef,5; bonus bVit,10;','',''); REPLACE INTO `item_db` VALUES ('2510','Novice_Hood','Somber Novice Hood','5','1','0','1','0','0','2','0','0','1','63','2','4','0','0',NULL,'0','0','0','bonus2 bSubEle,Ele_Neutral,20;','',''); -REPLACE INTO `item_db` VALUES ('2511','Skeleton\'s_Cape','Skeleton Manteau','5','5000','2500','700','0','0','1','0','0','4294967294','63','2','4','0','75',NULL,'1','0','0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','',''); +REPLACE INTO `item_db` VALUES ('2511','Skeleton\'s_Cape','Skeleton Manteau','5','5000','2500','700','0','0','1','0','0','2147483647','63','2','4','0','75',NULL,'1','0','0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','',''); REPLACE INTO `item_db` VALUES ('2512','Novice_Manteau','Novice Manteau','5','50000','25000','500','0','0','2','0','1','1','63','2','4','0','40',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,10;','',''); -REPLACE INTO `item_db` VALUES ('2513','Celestial_Robe','Heavenly Maiden Robe','5','20','10','500','0','0','3','0','1','4294967294','63','2','4','0','80',NULL,'1','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2513','Celestial_Robe','Heavenly Maiden Robe','5','20','10','500','0','0','3','0','1','2147483647','63','2','4','0','80',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2514','Pauldron','Pauldron','5','20','10','800','0','0','5','0','1','414946','63','2','4','0','80',NULL,'1','0','0','','',''); REPLACE INTO `item_db` VALUES ('2515','Wing_Of_Eagle','Eagle Wing','5','20000','10000','300','0','0','1','0','1','8454660','63','2','4','0','85',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2516','Falcon_Robe','Falcon Muffler','5','30000','15000','400','0','0','3','0','0','4294967294','63','2','4','0','65',NULL,'1','0','0','bonus bFlee,15; bonus bFlee2,5;','',''); -REPLACE INTO `item_db` VALUES ('2517','Vali\'s_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','4','0','0','4294967294','63','2','4','0','65',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,15;','',''); -REPLACE INTO `item_db` VALUES ('2518','Morpheus\'s_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','3','0','0','4294967294','63','2','4','0','33',NULL,'1','0','0','bonus bMaxSPrate,10; bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('2519','Morrigane\'s_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','3','0','0','4294967294','63','2','4','0','61',NULL,'1','0','0','bonus bLuk,2; bonus bFlee2,8;','',''); -REPLACE INTO `item_db` VALUES ('2520','Goibne\'s_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','3','0','0','4294967294','63','2','4','0','54',NULL,'1','0','0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','',''); +REPLACE INTO `item_db` VALUES ('2516','Falcon_Robe','Falcon Muffler','5','30000','15000','400','0','0','3','0','0','2147483647','63','2','4','0','65',NULL,'1','0','0','bonus bFlee,15; bonus bFlee2,5;','',''); +REPLACE INTO `item_db` VALUES ('2517','Vali\'s_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','4','0','0','2147483647','63','2','4','0','65',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,15;','',''); +REPLACE INTO `item_db` VALUES ('2518','Morpheus\'s_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','3','0','0','2147483647','63','2','4','0','33',NULL,'1','0','0','bonus bMaxSPrate,10; bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2519','Morrigane\'s_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','3','0','0','2147483647','63','2','4','0','61',NULL,'1','0','0','bonus bLuk,2; bonus bFlee2,8;','',''); +REPLACE INTO `item_db` VALUES ('2520','Goibne\'s_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','3','0','0','2147483647','63','2','4','0','54',NULL,'1','0','0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','',''); REPLACE INTO `item_db` VALUES ('2521','Angel\'s_Warmth','Angelic Cardigan','5','10000','5000','400','0','0','2','0','1','1','63','2','4','0','20',NULL,'1','0','0','bonus bHPrecovRate,5;','',''); REPLACE INTO `item_db` VALUES ('2522','Undershirt','Undershirt','5','20000','10000','150','0','0','2','0','0','4294967295','63','2','4','0','1',NULL,'1','0','0','bonus bMdef,1;','',''); REPLACE INTO `item_db` VALUES ('2523','Undershirt_','Undershirt','5','20000','10000','150','0','0','2','0','1','4294967295','63','2','4','0','1',NULL,'1','0','0','bonus bMdef,1;','',''); -REPLACE INTO `item_db` VALUES ('2524','Valkyrie_Manteau','Valkyrian Manteau','5','0','0','500','0','0','3','0','1','4294967294','2','2','4','0','1',NULL,'1','0','0','bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,5+(getequiprefinerycnt(EQI_GARMENT)*2); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,5+(getequiprefinerycnt(EQI_GARMENT)*2);','',''); -REPLACE INTO `item_db` VALUES ('2525','Cape_Of_Ancient_Lord_','Ancient Cape','5','82000','41000','600','0','0','2','0','1','4294967294','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('2524','Valkyrie_Manteau','Valkyrian Manteau','5','0','0','500','0','0','3','0','1','2147483647','2','2','4','0','1',NULL,'1','0','0','bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,5+(getequiprefinerycnt(EQI_GARMENT)*2); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,5+(getequiprefinerycnt(EQI_GARMENT)*2);','',''); +REPLACE INTO `item_db` VALUES ('2525','Cape_Of_Ancient_Lord_','Ancient Cape','5','82000','41000','600','0','0','2','0','1','2147483647','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('2526','Dragon_Scale_Coat','Coat of Dragon Scale','5','20','10','10','0','0','4','0','0','4294967295','63','2','4','0','50',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2527','Dragon_Breath','Dragon Breath','5','20','10','600','0','0','4','0','1','4294967294','2','2','4','0','48',NULL,'1','0','0','bonus2 bSubRace,RC_Dragon,15;','',''); -REPLACE INTO `item_db` VALUES ('2528','Wool_Scarf','Wool Scarf','5','20','10','500','0','0','3','0','1','4294967294','2','2','4','0','55',NULL,'1','0','0','bonus bMdef,4;','',''); -REPLACE INTO `item_db` VALUES ('2529','Rider_Insignia','Rider Insignia','5','20','10','500','0','0','4','0','0','4294967294','2','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); -REPLACE INTO `item_db` VALUES ('2530','Rider_Insignia_','Rider Insignia','5','20','10','500','0','0','4','0','1','4294967294','2','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2527','Dragon_Breath','Dragon Breath','5','20','10','600','0','0','4','0','1','2147483647','2','2','4','0','48',NULL,'1','0','0','bonus2 bSubRace,RC_Dragon,15;','',''); +REPLACE INTO `item_db` VALUES ('2528','Wool_Scarf','Wool Scarf','5','20','10','500','0','0','3','0','1','2147483647','2','2','4','0','55',NULL,'1','0','0','bonus bMdef,4;','',''); +REPLACE INTO `item_db` VALUES ('2529','Rider_Insignia','Rider Insignia','5','20','10','500','0','0','4','0','0','2147483647','2','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2530','Rider_Insignia_','Rider Insignia','5','20','10','500','0','0','4','0','1','2147483647','2','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); REPLACE INTO `item_db` VALUES ('2531','Ulfhedinn','Ulfhedinn','5','20','10','700','0','0','3','0','1','414946','2','2','4','0','70',NULL,'1','0','0','bonus3 bAutoSpellWhenHit,NPC_STONESKIN,1,20;','',''); REPLACE INTO `item_db` VALUES ('2532','Mithril_Magic_Cape','Mithril Magic Cape','5','20','10','400','0','0','3','0','1','625436','2','2','4','0','70',NULL,'1','0','0','bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0;','',''); REPLACE INTO `item_db` VALUES ('2534','Ruffler','Ruffler','5','20','10','0','0','0','10','0','0','4294967295','63','2','4','0','0',NULL,'0','0','0','bonus2 bSubEle,Ele_Neutral,17; bonus bFlee,17;','',''); REPLACE INTO `item_db` VALUES ('2535','Cloak_Of_Survival_C','Cloak Of Survival','5','1','0','0','0','0','5','0','0','8454660','63','2','4','0','0',NULL,'0','0','0','bonus bVit,10; bonus bMdef,10;','',''); -REPLACE INTO `item_db` VALUES ('2536','Skin_Of_Ventus','Skin of Ventus','5','20','10','250','0','0','2','0','1','4294967294','63','2','4','0','60',NULL,'1','0','0','bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10;','',''); +REPLACE INTO `item_db` VALUES ('2536','Skin_Of_Ventus','Skin of Ventus','5','20','10','250','0','0','2','0','1','2147483647','63','2','4','0','60',NULL,'1','0','0','bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10;','',''); REPLACE INTO `item_db` VALUES ('2537','Diabolus_Manteau','Diabolus Manteau','5','20','10','250','0','0','5','0','1','13631360','2','2','4','0','0',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10;','',''); REPLACE INTO `item_db` VALUES ('2538','Commander_Manteau','Captain\'s Manteau','5','10','5','0','0','0','4','0','1','40260834','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db` VALUES ('2539','Commander_Manteau_','Commander\'s Manteau','5','10','5','0','0','0','3','0','1','9014044','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db` VALUES ('2540','Sheriff_Manteau','Sheriff\'s Manteau','5','10','5','0','0','0','3','0','1','16777216','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db` VALUES ('2541','Asprika','Asprika','5','20','10','400','0','0','5','0','0','4294967295','63','2','4','0','94',NULL,'0','0','0','bonus bMdef,5; bonus3 bSubEle,Ele_Neutral,30,BF_SHORT; bonus3 bSubEle,Ele_Water,30,BF_SHORT; bonus3 bSubEle,Ele_Earth,30,BF_SHORT; bonus3 bSubEle,Ele_Fire,30,BF_SHORT; bonus3 bSubEle,Ele_Wind,30,BF_SHORT; bonus3 bSubEle,Ele_Poison,30,BF_SHORT; bonus3 bSubEle,Ele_Holy,30,BF_SHORT; bonus3 bSubEle,Ele_Dark,30,BF_SHORT; bonus3 bSubEle,Ele_Ghost,30,BF_SHORT; bonus3 bSubEle,Ele_Undead,30,BF_SHORT; bonus bFlee,30; skill AL_TELEPORT,1; bonus bUnbreakableGarment,0;','',''); -REPLACE INTO `item_db` VALUES ('2542','Flame_Manteau','Flame Manteau of Naght Sieger','5','20','10','70','0','0','4','0','1','4294967294','2','2','4','0','70',NULL,'1','0','0','bonus bMaxHPrate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2;','',''); +REPLACE INTO `item_db` VALUES ('2542','Flame_Manteau','Flame Manteau of Naght Sieger','5','20','10','70','0','0','4','0','1','2147483647','2','2','4','0','70',NULL,'1','0','0','bonus bMaxHPrate,5; bonus bMdef,2; bonus bMatkRate,1; bonus2 bAddEle,Ele_Fire,2;','',''); REPLACE INTO `item_db` VALUES ('2543','Sylphid_Manteau','Sylphid Manteau','5','20','10','0','0','0','9','0','0','4294967295','63','2','4','0','0',NULL,'0','0','0','bonus bFlee,13; bonus2 bSubEle,Ele_Neutral,13; bonus bFlee2,1;','',''); REPLACE INTO `item_db` VALUES ('2544','Leather_Of_Tendrilion','Leather of Tendrilion','5','20','10','300','0','0','3','0','1','13623168','2','2','4','0','0',NULL,'1','0','0','bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5;','',''); REPLACE INTO `item_db` VALUES ('2545','Musika','Musika','5','20','10','500','0','0','2','0','1','33024','2','2','4','0','70',NULL,'1','0','0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,AL_HEAL,getskilllv(AL_HEAL)?getskilllv(AL_HEAL):1,20;','',''); REPLACE INTO `item_db` VALUES ('2546','Beach_Manteau','Beach Manteau','5','20','10','600','0','0','0','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bStr,1; bonus bInt,1; bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db` VALUES ('2547','Cheap_Running_Shirts','Cheap Undershirt','5','0','0','0','0','0','8','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1;','',''); -REPLACE INTO `item_db` VALUES ('2548','Muffler_C','Neo Muffler','5','0','0','0','0','0','5','0','0','4294967294','2','2','4','0','95',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;','',''); -REPLACE INTO `item_db` VALUES ('2549','Krieger_Muffler1','Glorious Muffler','5','20','10','0','0','0','0','0','0','4294967294','63','2','4','0','81',NULL,'1','0','0','bonus bMaxHPrate,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db` VALUES ('2548','Muffler_C','Neo Muffler','5','0','0','0','0','0','5','0','0','2147483647','2','2','4','0','95',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;','',''); +REPLACE INTO `item_db` VALUES ('2549','Krieger_Muffler1','Glorious Muffler','5','20','10','0','0','0','0','0','0','2147483647','63','2','4','0','81',NULL,'1','0','0','bonus bMaxHPrate,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db` VALUES ('2550','Fisher\'s_Muffler','Fisher\'s Muffler','5','20','10','200','0','0','0','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2551','Rider_Insignia_M','Crest of the Rider','5','20','10','500','0','0','4','0','1','4294967294','2','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2551','Rider_Insignia_M','Crest of the Rider','5','20','10','500','0','0','4','0','1','2147483647','2','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); REPLACE INTO `item_db` VALUES ('2552','Mithril_Magic_Cape_M','Mithril Magic Manteau','5','20','10','400','0','0','3','0','1','625436','2','2','4','0','70',NULL,'1','0','0','bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0;','',''); -REPLACE INTO `item_db` VALUES ('2553','Dragon_Manteau','Dragon Manteau','5','20','10','1000','0','0','5','0','1','4294967294','2','2','4','0','0',NULL,'1','0','0','bonus bAgi,1; bonus bMdef,5;','',''); -REPLACE INTO `item_db` VALUES ('2554','Piece_Of_Angent_Skin','Nydhorgg\'s Shadow Garb','5','20','10','400','0','0','5','0','1','4294967294','2','2','4','0','90',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus3 bSPDrainRate,10,1,0; bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('2601','Ring','Ring','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bStr,2;','',''); -REPLACE INTO `item_db` VALUES ('2602','Earring','Earring','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bInt,2;','',''); -REPLACE INTO `item_db` VALUES ('2603','Necklace','Necklace','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bVit,2;','',''); -REPLACE INTO `item_db` VALUES ('2604','Glove','Glove','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bDex,2;','',''); -REPLACE INTO `item_db` VALUES ('2605','Brooch','Brooch','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2553','Dragon_Manteau','Dragon Manteau','5','20','10','1000','0','0','5','0','1','2147483647','2','2','4','0','0',NULL,'1','0','0','bonus bAgi,1; bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('2554','Piece_Of_Angent_Skin','Nydhorgg\'s Shadow Garb','5','20','10','400','0','0','5','0','1','2147483647','2','2','4','0','90',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus3 bSPDrainRate,10,1,0; bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2601','Ring','Ring','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bStr,2;','',''); +REPLACE INTO `item_db` VALUES ('2602','Earring','Earring','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bInt,2;','',''); +REPLACE INTO `item_db` VALUES ('2603','Necklace','Necklace','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bVit,2;','',''); +REPLACE INTO `item_db` VALUES ('2604','Glove','Glove','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bDex,2;','',''); +REPLACE INTO `item_db` VALUES ('2605','Brooch','Brooch','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bAgi,2;','',''); REPLACE INTO `item_db` VALUES ('2607','Clip','Clip','5','30000','15000','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxSP,10;','',''); -REPLACE INTO `item_db` VALUES ('2608','Rosary','Rosary','5','15000','7500','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,2;','',''); +REPLACE INTO `item_db` VALUES ('2608','Rosary','Rosary','5','15000','7500','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,2;','',''); REPLACE INTO `item_db` VALUES ('2609','Skul_Ring','Skull Ring','5','10000','5000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2610','Gold_Ring','Gold Ring','5','30000','15000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2611','Silver_Ring','Silver Ring','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2612','Flower_Ring','Flower Ring','5','1500','750','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2613','Diamond_Ring','Diamond Ring','5','45000','22500','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2614','An_Eye_Of_Dullahan','Eye of Dullahan','5','90000','45000','100','0','0','0','0','0','4294967294','63','2','136','0','50',NULL,'0','0','0','bonus2 bResEff,Eff_Poison,10000; bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4;','',''); -REPLACE INTO `item_db` VALUES ('2615','Safety_Ring','Safety Ring','5','75000','37500','100','0','0','3','0','0','4294967294','63','2','136','0','40',NULL,'0','0','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('2616','Critical_Ring','Critical Ring','5','75000','37500','100','0','0','0','0','0','4294967294','63','2','136','0','40',NULL,'0','0','0','bonus bCritical,5;','',''); -REPLACE INTO `item_db` VALUES ('2617','Mitten_Of_Presbyter','Celebrant\'s Mitten','5','2','1','100','0','0','1','0','0','4294967294','63','2','136','0','35',NULL,'0','0','0','bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('2618','Matyr\'s_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','4294967294','63','2','136','0','35',NULL,'0','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('2614','An_Eye_Of_Dullahan','Eye of Dullahan','5','90000','45000','100','0','0','0','0','0','2147483647','63','2','136','0','50',NULL,'0','0','0','bonus2 bResEff,Eff_Poison,10000; bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4;','',''); +REPLACE INTO `item_db` VALUES ('2615','Safety_Ring','Safety Ring','5','75000','37500','100','0','0','3','0','0','2147483647','63','2','136','0','40',NULL,'0','0','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('2616','Critical_Ring','Critical Ring','5','75000','37500','100','0','0','0','0','0','2147483647','63','2','136','0','40',NULL,'0','0','0','bonus bCritical,5;','',''); +REPLACE INTO `item_db` VALUES ('2617','Mitten_Of_Presbyter','Celebrant\'s Mitten','5','2','1','100','0','0','1','0','0','2147483647','63','2','136','0','35',NULL,'0','0','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('2618','Matyr\'s_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','2147483647','63','2','136','0','35',NULL,'0','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('2619','Thimble_Of_Archer','Bow Thimble','5','10000','5000','100','0','0','0','0','0','526344','63','2','136','0','65',NULL,'0','0','0','bonus bLongAtkRate,3;','',''); REPLACE INTO `item_db` VALUES ('2620','Ring_Of_Rogue','Rogue\'s Treasure','5','10000','5000','100','0','0','0','0','0','33689664','63','2','136','0','70',NULL,'0','0','0','if(readparam(bStr)>=90) { bonus bHit,10; bonus bFlee,10; } if(readparam(bAgi)>=90) { bonus bBaseAtk,10; bonus bCritical,10; }','',''); -REPLACE INTO `item_db` VALUES ('2621','Ring_','Ring','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bStr,1;','',''); -REPLACE INTO `item_db` VALUES ('2622','Earring_','Earring','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('2623','Necklace_','Necklace','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bVit,1;','',''); -REPLACE INTO `item_db` VALUES ('2624','Glove_','Glove','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bDex,1;','',''); -REPLACE INTO `item_db` VALUES ('2625','Brooch_','Brooch','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('2626','Rosary_','Rosary','5','15000','7500','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bMdef,3; bonus bLuk,1;','',''); +REPLACE INTO `item_db` VALUES ('2621','Ring_','Ring','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bStr,1;','',''); +REPLACE INTO `item_db` VALUES ('2622','Earring_','Earring','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('2623','Necklace_','Necklace','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bVit,1;','',''); +REPLACE INTO `item_db` VALUES ('2624','Glove_','Glove','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bDex,1;','',''); +REPLACE INTO `item_db` VALUES ('2625','Brooch_','Brooch','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('2626','Rosary_','Rosary','5','15000','7500','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bMdef,3; bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('2627','Belt','Belt','5','20000','10000','1200','0','0','0','0','1','4294967295','63','2','136','0','25',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2628','Novice_Armlet','Novice Armlet','5','400','200','200','0','0','0','0','1','1','63','2','136','0','1',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2629','Magingiorde','Megingjard','5','20','10','8000','0','0','2','0','0','4294967295','63','2','136','0','94',NULL,'0','0','0','bonus bStr,40; bonus bMdef,7;','',''); @@ -1436,7 +1436,7 @@ REPLACE INTO `item_db` VALUES ('2636','Gold_Ring_','Gold Christmas Ring','5','30 REPLACE INTO `item_db` VALUES ('2637','Silver_Ring_','Silver Christmas Ring','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('2638','Exorcize_Sachet','Sacred Incense','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('2639','Purification_Sachet','Occult Incense','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bInt,1; bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('2640','Kafra_Ring','Kafra Ring','5','40000','20000','200','0','0','1','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus bLuk,1; bonus bMdef,1;','',''); +REPLACE INTO `item_db` VALUES ('2640','Kafra_Ring','Kafra Ring','5','40000','20000','200','0','0','1','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus bLuk,1; bonus bMdef,1;','',''); REPLACE INTO `item_db` VALUES ('2641','Fashionable_Sack','Fashion Hip Sack','5','20','10','700','0','0','0','0','0','263200','63','2','136','0','50',NULL,'0','0','0','bonus bStr,2;','',''); REPLACE INTO `item_db` VALUES ('2642','Serin\'s_Gold_Ring','Serin\'s Gold Ring','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2643','Serin\'s_Gold_Ring_','Serin\'s Gold Ring','5','45000','22500','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); @@ -1444,14 +1444,14 @@ REPLACE INTO `item_db` VALUES ('2644','The_Sign_','The Sign','5','2','1','0','0' REPLACE INTO `item_db` VALUES ('2645','Moonlight_Ring','Moonlight Ring','5','40000','20000','200','0','0','0','0','0','33689664','63','2','136','0','60',NULL,'0','0','0','bonus bMdef,2;','',''); REPLACE INTO `item_db` VALUES ('2646','Bunch_Of_Carnation','Bunch of Carnations','5','2','1','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,3;','',''); REPLACE INTO `item_db` VALUES ('2647','Nile_Rose','Nile Rose','5','2','1','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,10;','',''); -REPLACE INTO `item_db` VALUES ('2648','Morpheus\'s_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db` VALUES ('2649','Morpheus\'s_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db` VALUES ('2650','Morrigane\'s_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bBaseAtk,5; bonus bCritical,3;','',''); -REPLACE INTO `item_db` VALUES ('2651','Morrigane\'s_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bStr,2; bonus bCritical,3;','',''); +REPLACE INTO `item_db` VALUES ('2648','Morpheus\'s_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2649','Morpheus\'s_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2650','Morrigane\'s_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bBaseAtk,5; bonus bCritical,3;','',''); +REPLACE INTO `item_db` VALUES ('2651','Morrigane\'s_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bStr,2; bonus bCritical,3;','',''); REPLACE INTO `item_db` VALUES ('2652','Cursed_Lucky_Brooch','Goddess of Fortune\'s Cursed Brooch','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','40',NULL,'0','0','0','bonus bCritical,6; bonus2 bAddEff2,Eff_Curse,50;','',''); REPLACE INTO `item_db` VALUES ('2653','Sacrifice_Ring','Sacrifice Ring','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','90',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2654','Shinobi\'s_Sash','Shinobi Sash','5','20000','10000','300','0','0','1','0','0','33689664','63','2','136','0','30',NULL,'0','0','0','bonus bStr,1; bonus bAgi,1; bonus bMdef,1;','',''); -REPLACE INTO `item_db` VALUES ('2655','Bloody_Iron_Ball','Bloodied Shackle Ball','5','50000','25000','4000','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2655','Bloody_Iron_Ball','Bloodied Shackle Ball','5','50000','25000','4000','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2656','Hyper_Changer','Armor Charm','5','20000','10000','1000','0','0','1','0','0','414946','63','2','136','0','1',NULL,'0','0','0','bonus bMaxHP,50;','',''); REPLACE INTO `item_db` VALUES ('2657','Lab_Passport','Laboratory Permit','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2658','Nile_Rose_','Nile Rose','5','2','1','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,10;','',''); @@ -1460,16 +1460,16 @@ REPLACE INTO `item_db` VALUES ('2660','Vesper_Core02','Vesper Core 02','5','20', REPLACE INTO `item_db` VALUES ('2661','Vesper_Core03','Vesper Core 03','5','20','10','100','0','0','1','0','0','13631360','2','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bAgi,3; bonus bFlee,5;','',''); REPLACE INTO `item_db` VALUES ('2662','Vesper_Core04','Vesper Core 04','5','20','10','100','0','0','1','0','0','13631360','2','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bDex,3; bonus bHit,10;','',''); REPLACE INTO `item_db` VALUES ('2663','Gauntlet_Of_Accuracy','Gauntlet of Hit','5','20','10','900','0','0','0','0','0','4294967295','63','2','136','0','75',NULL,'0','0','0','bonus bHit,15; bonus bStr,1;','',''); -REPLACE INTO `item_db` VALUES ('2664','Scarf_Belt','Belcarf','5','20','10','200','0','0','0','0','0','4294967294','63','2','136','0','75',NULL,'0','0','0','bonus bDex,2; bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('2664','Scarf_Belt','Belcarf','5','20','10','200','0','0','0','0','0','2147483647','63','2','136','0','75',NULL,'0','0','0','bonus bDex,2; bonus bInt,1;','',''); REPLACE INTO `item_db` VALUES ('2665','Ring_Of_Exorcism','Exorcising Ring','5','20','10','500','0','0','0','0','0','33040','63','2','136','0','60',NULL,'0','0','0','bonus bMdef,1; bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5;','',''); REPLACE INTO `item_db` VALUES ('2666','Lamp_Of_Hope','Lantern of Hope','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus bStr,2; bonus2 bResEff,Eff_Blind,1000;','',''); -REPLACE INTO `item_db` VALUES ('2667','Glove_Of_Archer','Renown Archer\'s Gloves','5','20','10','300','0','0','0','0','0','4294967294','63','2','136','0','60',NULL,'0','0','0','bonus bHit,5; bonus bCritical,5; bonus bDex,1;','',''); +REPLACE INTO `item_db` VALUES ('2667','Glove_Of_Archer','Renown Archer\'s Gloves','5','20','10','300','0','0','0','0','0','2147483647','63','2','136','0','60',NULL,'0','0','0','bonus bHit,5; bonus bCritical,5; bonus bDex,1;','',''); REPLACE INTO `item_db` VALUES ('2668','Women\'s_Glory','Woman Glory','5','0','0','500','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2669','Golden_Necklace_','RJC Necklace','5','30000','15000','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxSP,10;','',''); REPLACE INTO `item_db` VALUES ('2670','Ring_Of_Longing','Ring of Longing','5','20','10','100','0','0','1','0','0','4294967295','63','2','136','0','30',NULL,'0','0','0','bonus bFlee,5;','',''); REPLACE INTO `item_db` VALUES ('2671','Thimble_Of_Archer_','Bow Thimble','5','10000','5000','100','0','0','0','0','1','526344','63','2','136','0','65',NULL,'0','0','0','bonus bLongAtkRate,3;','',''); -REPLACE INTO `item_db` VALUES ('2672','Anniversary_Ring','3rd Anniversary Celebration Ring','5','20','10','100','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2673','Shining_Ring','Warrior\'s Shining Ring','5','0','0','100','0','0','0','0','0','4294967294','63','2','136','0','48',NULL,'0','0','0','bonus bBaseAtk,10; bonus bSPrecovRate,3;','',''); +REPLACE INTO `item_db` VALUES ('2672','Anniversary_Ring','3rd Anniversary Celebration Ring','5','20','10','100','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','','',''); +REPLACE INTO `item_db` VALUES ('2673','Shining_Ring','Warrior\'s Shining Ring','5','0','0','100','0','0','0','0','0','2147483647','63','2','136','0','48',NULL,'0','0','0','bonus bBaseAtk,10; bonus bSPrecovRate,3;','',''); REPLACE INTO `item_db` VALUES ('2674','Honor_Ring','Ring of Honor','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2675','Lord_Ring','Lord Ring','5','0','0','10','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus bAllStats,3;','',''); REPLACE INTO `item_db` VALUES ('2676','Hunter_Earring','Hunter\'s Earring','5','20','10','300','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus2 bAddMonsterDropItem,7618,100;','',''); @@ -1478,35 +1478,35 @@ REPLACE INTO `item_db` VALUES ('2678','Ring_Of_Flame_Lord','Ring Of Flame Lord', REPLACE INTO `item_db` VALUES ('2679','Ring_Of_Resonance','Ring Of Resonance','5','20','10','100','0','0','2','0','0','13631360','2','2','136','0','0',NULL,'0','0','0','bonus bAgi,2; bonus bVit,1; bonus bMdef,2; bonus4 bAutoSpellWhenHit,WZ_QUAGMIRE,1,50,0; bonus3 bAutoSpellWhenHit,AS_SPLASHER,10,20; bonus3 bAutoSpellWhenHit,AL_HEAL,10,30; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,3,20; bonus3 bAutoSpellWhenHit,CG_TAROTCARD,5,20;','',''); REPLACE INTO `item_db` VALUES ('2680','Lesser_Elemental_Ring','Lesser Elemental Ring','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1; bonus3 bAutoSpell,WZ_ESTIMATION,1,80; bonus3 bAutoSpell,MC_IDENTIFY,1,50; bonus3 bAutoSpell,TF_PICKSTONE,1,100; bonus3 bAutoSpell,BS_GREED,1,10; bonus3 bAutoSpellWhenHit,TK_RUN,5,20; bonus3 bAutoSpellWhenHit,TK_HIGHJUMP,3,30; bonus3 bAutoSpellWhenHit,NV_FIRSTAID,1,100; bonus3 bAutoSpellWhenHit,TF_BACKSLIDING,1,50;','',''); REPLACE INTO `item_db` VALUES ('2681','Republic_Ring','Republic Anniversary Ring','5','20','10','1000','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,3;','',''); -REPLACE INTO `item_db` VALUES ('2682','Ring_Of_Water','Ring of Water','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Water,5;','',''); -REPLACE INTO `item_db` VALUES ('2683','Ring_Of_Fire','Ring of Fire','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Fire,5;','',''); -REPLACE INTO `item_db` VALUES ('2684','Ring_Of_Wind','Ring of Wind','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Wind,5;','',''); -REPLACE INTO `item_db` VALUES ('2685','Ring_Of_Earth','Ring of Earth','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Earth,5;','',''); -REPLACE INTO `item_db` VALUES ('2686','Elven_Ears_C','Elven Ears','5','1','0','0','0','0','2','0','0','4294967294','63','2','512','0','1',NULL,'0','73','0','bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('2687','Steel_Flower_C','Steel Flower','5','1','0','0','0','0','1','0','0','4294967294','63','2','1','0','1',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); -REPLACE INTO `item_db` VALUES ('2688','Critical_Ring_C','Critical Ring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bCritical,10;','',''); -REPLACE INTO `item_db` VALUES ('2689','Earring_C','Earring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bInt,3;','',''); -REPLACE INTO `item_db` VALUES ('2690','Ring_C','Ring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bStr,4;','',''); -REPLACE INTO `item_db` VALUES ('2691','Necklace_C','Necklace','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bVit,4;','',''); -REPLACE INTO `item_db` VALUES ('2692','Glove_C','Glove','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bDex,4;','',''); -REPLACE INTO `item_db` VALUES ('2693','Brooch_C','Brooch','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bAgi,4;','',''); -REPLACE INTO `item_db` VALUES ('2694','Rosary_C','Rosary','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,4;','',''); -REPLACE INTO `item_db` VALUES ('2695','Safety_Ring_C','Safety Ring','5','1','0','0','0','0','5','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,5;','',''); -REPLACE INTO `item_db` VALUES ('2696','Vesper_Core01_C','Vesper Core 01','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bInt,2; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db` VALUES ('2697','Vesper_Core02_C','Vesper Core 02','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bStr,3; bonus bBaseAtk,10;','',''); -REPLACE INTO `item_db` VALUES ('2698','Vesper_Core03_C','Vesper Core 03','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bAgi,3; bonus bFlee,5;','',''); -REPLACE INTO `item_db` VALUES ('2699','Vesper_Core04_C','Vesper Core 04','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bDex,3; bonus bHit,10;','',''); +REPLACE INTO `item_db` VALUES ('2682','Ring_Of_Water','Ring of Water','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Water,5;','',''); +REPLACE INTO `item_db` VALUES ('2683','Ring_Of_Fire','Ring of Fire','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Fire,5;','',''); +REPLACE INTO `item_db` VALUES ('2684','Ring_Of_Wind','Ring of Wind','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Wind,5;','',''); +REPLACE INTO `item_db` VALUES ('2685','Ring_Of_Earth','Ring of Earth','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Earth,5;','',''); +REPLACE INTO `item_db` VALUES ('2686','Elven_Ears_C','Elven Ears','5','1','0','0','0','0','2','0','0','2147483647','63','2','512','0','1',NULL,'0','73','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('2687','Steel_Flower_C','Steel Flower','5','1','0','0','0','0','1','0','0','2147483647','63','2','1','0','1',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db` VALUES ('2688','Critical_Ring_C','Critical Ring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bCritical,10;','',''); +REPLACE INTO `item_db` VALUES ('2689','Earring_C','Earring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bInt,3;','',''); +REPLACE INTO `item_db` VALUES ('2690','Ring_C','Ring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bStr,4;','',''); +REPLACE INTO `item_db` VALUES ('2691','Necklace_C','Necklace','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bVit,4;','',''); +REPLACE INTO `item_db` VALUES ('2692','Glove_C','Glove','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bDex,4;','',''); +REPLACE INTO `item_db` VALUES ('2693','Brooch_C','Brooch','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bAgi,4;','',''); +REPLACE INTO `item_db` VALUES ('2694','Rosary_C','Rosary','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,4;','',''); +REPLACE INTO `item_db` VALUES ('2695','Safety_Ring_C','Safety Ring','5','1','0','0','0','0','5','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('2696','Vesper_Core01_C','Vesper Core 01','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bInt,2; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2697','Vesper_Core02_C','Vesper Core 02','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bStr,3; bonus bBaseAtk,10;','',''); +REPLACE INTO `item_db` VALUES ('2698','Vesper_Core03_C','Vesper Core 03','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bAgi,3; bonus bFlee,5;','',''); +REPLACE INTO `item_db` VALUES ('2699','Vesper_Core04_C','Vesper Core 04','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','1',NULL,'0','0','0','bonus bMdef,3; bonus bDex,3; bonus bHit,10;','',''); REPLACE INTO `item_db` VALUES ('2700','Red_Silk_Seal','Red Silk Seal','5','20','10','100','0','0','0','0','0','16514','2','2','136','0','60',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2701','Orleans_Glove','Orleans\'s Glove','5','20','10','100','0','0','0','0','1','4294967294','2','2','136','0','90',NULL,'0','0','0','bonus bDex,2; bonus bMatkRate,3;','',''); -REPLACE INTO `item_db` VALUES ('2702','Bison_Horn','Bison Horn','5','20','10','100','0','0','0','0','1','4294967294','2','2','136','0','90',NULL,'0','0','0','bonus bAgi,2;','',''); -REPLACE INTO `item_db` VALUES ('2703','Expert_Ring','Expert Ring','5','20','10','150','0','0','0','0','1','4294967294','2','2','136','0','50',NULL,'0','0','0','bonus bDelayrate,-5; bonus bUseSPrate,5;','',''); +REPLACE INTO `item_db` VALUES ('2701','Orleans_Glove','Orleans\'s Glove','5','20','10','100','0','0','0','0','1','2147483647','2','2','136','0','90',NULL,'0','0','0','bonus bDex,2; bonus bMatkRate,3;','',''); +REPLACE INTO `item_db` VALUES ('2702','Bison_Horn','Bison Horn','5','20','10','100','0','0','0','0','1','2147483647','2','2','136','0','90',NULL,'0','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('2703','Expert_Ring','Expert Ring','5','20','10','150','0','0','0','0','1','2147483647','2','2','136','0','50',NULL,'0','0','0','bonus bDelayrate,-5; bonus bUseSPrate,5;','',''); REPLACE INTO `item_db` VALUES ('2704','Golden_Accessory','Golden Accessories','5','20','10','100','0','0','4','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,4;','',''); REPLACE INTO `item_db` VALUES ('2705','Golden_Accessory2','Golden Accessories','5','20','10','100','0','0','4','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddMonsterDropItem,12018,500;','',''); REPLACE INTO `item_db` VALUES ('2706','Handcuff','Arrest Handcuffs','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2707','GUSLI','GUSLI','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2708','Chinese_Handicraft','Chinese Handicraft','5','0','0','50','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus3 bAutoSpell,MG_FIREBOLT,5,300;','',''); REPLACE INTO `item_db` VALUES ('2709','5_Anniversary_Coin','5th Anniversary Coin','5','2','1','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAtkRate,5; bonus bMatkRate,5;','',''); -REPLACE INTO `item_db` VALUES ('2710','Bloody_Iron_Ball_C','Bloody Iron Ball','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bBaseAtk,30;','',''); +REPLACE INTO `item_db` VALUES ('2710','Bloody_Iron_Ball_C','Bloody Iron Ball','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bBaseAtk,30;','',''); REPLACE INTO `item_db` VALUES ('2711','Spiritual_Ring_C','Spiritual Ring','5','1','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bInt,2; bonus bDex,2;','',''); REPLACE INTO `item_db` VALUES ('2712','Ragnarok_Limited_Ed','Ragnarok Limited Edition','5','0','0','300','0','0','0','0','0','4294967295','63','2','136','0','30',NULL,'0','0','0','bonus bVit,3; bonus bAgi,3; bonus bLuk,3;','',''); REPLACE INTO `item_db` VALUES ('2713','Certificate_TW','Certificate','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); @@ -1524,16 +1524,16 @@ REPLACE INTO `item_db` VALUES ('2724','Medal_Archer','Medal of Honor','5','20',' REPLACE INTO `item_db` VALUES ('2725','Medal_Merchant','Medal of Honor','5','20','10','0','0','0','1','0','0','263200','63','2','136','0','70',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5; bonus bAspdRate,10; bonus bMaxHP,500; bonus bMaxSP,50; bonus3 bAddEff,Eff_Curse,100,ATF_SHORT;','',''); REPLACE INTO `item_db` VALUES ('2726','Icarus_Wing','Icarus Wings','5','20','10','100','0','0','0','0','0','2048','2','2','136','0','70',NULL,'0','0','0','bonus bMaxSP,50; bonus bDex,3;','',''); REPLACE INTO `item_db` VALUES ('2727','Bowman_Scarf','Bowman Scarf','5','20','10','200','0','0','0','0','0','2048','2','2','136','0','70',NULL,'0','0','0','bonus bMaxSP,50; bonus bDex,3;','',''); -REPLACE INTO `item_db` VALUES ('2728','Cursed_Hand','Cursed Hand','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus3 bAutoSpell,NPC_CRITICALWOUND,1,30; bonus bHit,10; bonus bHPrecovRate,20;','',''); +REPLACE INTO `item_db` VALUES ('2728','Cursed_Hand','Cursed Hand','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus3 bAutoSpell,NPC_CRITICALWOUND,1,30; bonus bHit,10; bonus bHPrecovRate,20;','',''); REPLACE INTO `item_db` VALUES ('2729','Diabolus_Ring','Diabolus Ring','5','20','10','50','0','0','0','0','1','13631360','2','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,100; bonus bMaxSP,100; bonus bHealPower,5; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10;','',''); -REPLACE INTO `item_db` VALUES ('2730','Morroc_Seal','Seal of Continental Guard','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bMaxHP,50; bonus bAspdRate,3;','',''); -REPLACE INTO `item_db` VALUES ('2731','Morroc_Charm_Stone','Rune Spellstone','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bMaxSP,50; bonus bCastrate,-1;','',''); -REPLACE INTO `item_db` VALUES ('2732','Morroc_Ring','Death Loop','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bCritical,5;','',''); +REPLACE INTO `item_db` VALUES ('2730','Morroc_Seal','Seal of Continental Guard','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bMaxHP,50; bonus bAspdRate,3;','',''); +REPLACE INTO `item_db` VALUES ('2731','Morroc_Charm_Stone','Rune Spellstone','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bMaxSP,50; bonus bCastrate,-1;','',''); +REPLACE INTO `item_db` VALUES ('2732','Morroc_Ring','Death Loop','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bCritical,5;','',''); REPLACE INTO `item_db` VALUES ('2733','Medal_Gunner','Sheriff Badge','5','20','10','0','0','0','1','0','0','16777216','63','2','136','0','70',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5; bonus bCritical,10; bonus bMaxHP,300; bonus bMaxSP,80; bonus3 bAddEff,Eff_Blind,100,ATF_LONG;','',''); REPLACE INTO `item_db` VALUES ('2734','Directive_A','Directive','5','0','0','0','0','0','1','0','0','1','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2735','Directive_B','Directive','5','0','0','0','0','0','1','0','0','1','63','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('2736','Navel_Ring','Navel Ring','5','20','10','100','0','0','0','0','0','4294967294','63','2','136','0','75',NULL,'0','0','0','bonus bDex,3; bonus bLuk,3; bonus bMdef,2;','',''); -REPLACE INTO `item_db` VALUES ('2737','Foot_Ring','Foot Ring','5','20','10','150','0','0','0','0','0','4294967294','63','2','136','0','75',NULL,'0','0','0','bonus bVit,3; bonus bMaxHPrate,10;','',''); +REPLACE INTO `item_db` VALUES ('2736','Navel_Ring','Navel Ring','5','20','10','100','0','0','0','0','0','2147483647','63','2','136','0','75',NULL,'0','0','0','bonus bDex,3; bonus bLuk,3; bonus bMdef,2;','',''); +REPLACE INTO `item_db` VALUES ('2737','Foot_Ring','Foot Ring','5','20','10','150','0','0','0','0','0','2147483647','63','2','136','0','75',NULL,'0','0','0','bonus bVit,3; bonus bMaxHPrate,10;','',''); REPLACE INTO `item_db` VALUES ('2738','Shiny_Coin','Shiny Coin','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,6; bonus2 bAddRace,RC_Boss,6; bonus bMatkRate,6;','',''); REPLACE INTO `item_db` VALUES ('2739','Ordinary_Coin','Ordinary Coin','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5;','',''); REPLACE INTO `item_db` VALUES ('2740','Rusty_Coin','Rusty Coin','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,3; bonus2 bAddRace,RC_Boss,3; bonus bMatkRate,3;','',''); @@ -1557,7 +1557,7 @@ REPLACE INTO `item_db` VALUES ('2759','Decussate_Ring','Decussate Ring','5','0', REPLACE INTO `item_db` VALUES ('2760','Bloody_Ring','Bloody Ring','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus2 bExpAddRace,RC_DemiHuman,15;','',''); REPLACE INTO `item_db` VALUES ('2761','Satanic_Ring','Satanic Ring','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus2 bExpAddRace,RC_Angel,15;','',''); REPLACE INTO `item_db` VALUES ('2762','Dragoon_Ring','Dragon Ring','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus2 bExpAddRace,RC_Dragon,15;','',''); -REPLACE INTO `item_db` VALUES ('2763','Skul_Ring_C','Neo Skull Ring','5','0','0','0','0','0','0','0','0','4294967294','2','2','136','0','95',NULL,'0','0','0','bonus bAtkRate,5; bonus bMatkRate,5; bonus bMaxHPrate,5; bonus2 bSkillHeal,AL_HEAL,5; skill MG_SIGHT,1;','',''); +REPLACE INTO `item_db` VALUES ('2763','Skul_Ring_C','Neo Skull Ring','5','0','0','0','0','0','0','0','0','2147483647','2','2','136','0','95',NULL,'0','0','0','bonus bAtkRate,5; bonus bMatkRate,5; bonus bMaxHPrate,5; bonus2 bSkillHeal,AL_HEAL,5; skill MG_SIGHT,1;','',''); REPLACE INTO `item_db` VALUES ('2764','Small_Fishing_Rod','Small Fishing Rod','5','10','5','250','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2765','Novice_Figure','Novice Figure','5','0','0','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,70; if(Class==Job_Novice) bonus bMaxHP,30;','',''); REPLACE INTO `item_db` VALUES ('2766','Swordman_Figure','Swordman Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bVit,1; if(Class==Job_Swordman) bonus bDef,2;','',''); @@ -1566,9 +1566,9 @@ REPLACE INTO `item_db` VALUES ('2768','Mage_Figure','Mage Figure','5','0','0','0 REPLACE INTO `item_db` VALUES ('2769','Archer_Figure','Archer Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bDex,1; if(Class==Job_Archer) bonus bBaseAtk,10;','',''); REPLACE INTO `item_db` VALUES ('2770','Thief_Figure','Thief Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,1; if(Class==Job_Thief) bonus bAspdRate,3;','',''); REPLACE INTO `item_db` VALUES ('2771','Merchant_Figure','Merchant Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; if(Class==Job_Merchant) bonus bCritical,5;','',''); -REPLACE INTO `item_db` VALUES ('2772','Krieger_Ring1','Glorious Ring','5','20','10','0','0','0','0','0','0','4294967294','63','2','136','0','81',NULL,'0','0','0','bonus bMaxHP,300; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus bAspdRate,5; bonus bCastrate,-3; bonus bHealPower,5;','',''); -REPLACE INTO `item_db` VALUES ('2773','Krieger_Ring2','Glorious Mass-Production Ring','5','20','10','0','0','0','0','0','0','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bAllStats,2;','',''); -REPLACE INTO `item_db` VALUES ('2774','Krieger_Ring3','Glorious Popularized Ring','5','20','10','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1;','',''); +REPLACE INTO `item_db` VALUES ('2772','Krieger_Ring1','Glorious Ring','5','20','10','0','0','0','0','0','0','2147483647','63','2','136','0','81',NULL,'0','0','0','bonus bMaxHP,300; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus bAspdRate,5; bonus bCastrate,-3; bonus bHealPower,5;','',''); +REPLACE INTO `item_db` VALUES ('2773','Krieger_Ring2','Glorious Mass-Production Ring','5','20','10','0','0','0','0','0','0','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bAllStats,2;','',''); +REPLACE INTO `item_db` VALUES ('2774','Krieger_Ring3','Glorious Popularized Ring','5','20','10','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1;','',''); REPLACE INTO `item_db` VALUES ('2775','Lure','Lure','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('2776','Cool_Towel','Adventurer\'s Trusty Towel','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','sc_start SC_SUMMER,-1,0;','sc_end SC_SUMMER;'); REPLACE INTO `item_db` VALUES ('2777','Shaman_Ring','Shaman Ring','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','30',NULL,'0','0','0','bonus bUseSPrate,-5;','',''); @@ -1579,15 +1579,15 @@ REPLACE INTO `item_db` VALUES ('2781','Aumdura\'s_Grace','Aumdura\'s Benefit','5 REPLACE INTO `item_db` VALUES ('2782','Ring_Of_Wise_King','Ring of the Ancient Wise King','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,50; bonus bMaxSP,20;','',''); REPLACE INTO `item_db` VALUES ('2783','Eyes_Stone_Ring','Eye Stone Ring','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','70',NULL,'0','0','0','bonus bCritical,2; bonus bMaxSP,25;','',''); REPLACE INTO `item_db` VALUES ('2784','Oh_Holy_Night','Christmas Musicbox','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','1',NULL,'0','0','0','skill ALL_WEWISH,1;','',''); -REPLACE INTO `item_db` VALUES ('2785','Orleans_Glove_M','Orlean\'s Gloves','5','20','10','100','0','0','0','0','1','4294967294','2','2','136','0','90',NULL,'0','0','0','bonus bDex,2; bonus bMatkRate,3;','',''); +REPLACE INTO `item_db` VALUES ('2785','Orleans_Glove_M','Orlean\'s Gloves','5','20','10','100','0','0','0','0','1','2147483647','2','2','136','0','90',NULL,'0','0','0','bonus bDex,2; bonus bMatkRate,3;','',''); REPLACE INTO `item_db` VALUES ('2786','Spiritual_Ring_M','Spiritual Ring','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bInt,2; bonus bDex,1;','',''); -REPLACE INTO `item_db` VALUES ('2787','Waterdrop_Brooch','Waterdrop Brooch','5','20','10','200','0','0','0','0','1','4294967294','2','2','136','0','75',NULL,'0','0','0','bonus2 bSubEle,Ele_Water,5; bonus bMaxHP,80; bonus bMdef,2;','',''); -REPLACE INTO `item_db` VALUES ('2788','Bradium_Earing','Bradium Earring','5','20','10','200','0','0','0','0','1','4294967294','2','2','136','0','60',NULL,'0','0','0','bonus bMatkRate,2; bonus bInt,1; bonus bDex,1;','',''); -REPLACE INTO `item_db` VALUES ('2789','Bradium_Ring','Bradium Ring','5','20','10','200','0','0','0','0','1','4294967294','2','2','136','0','60',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bStr,1; bonus bVit,1;','',''); -REPLACE INTO `item_db` VALUES ('2790','Bradium_Brooch','Bradium Brooch','5','20','10','200','0','0','0','0','1','4294967294','2','2','136','0','60',NULL,'0','0','0','bonus bFlee,4; bonus bAspdRate,2; bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('2787','Waterdrop_Brooch','Waterdrop Brooch','5','20','10','200','0','0','0','0','1','2147483647','2','2','136','0','75',NULL,'0','0','0','bonus2 bSubEle,Ele_Water,5; bonus bMaxHP,80; bonus bMdef,2;','',''); +REPLACE INTO `item_db` VALUES ('2788','Bradium_Earing','Bradium Earring','5','20','10','200','0','0','0','0','1','2147483647','2','2','136','0','60',NULL,'0','0','0','bonus bMatkRate,2; bonus bInt,1; bonus bDex,1;','',''); +REPLACE INTO `item_db` VALUES ('2789','Bradium_Ring','Bradium Ring','5','20','10','200','0','0','0','0','1','2147483647','2','2','136','0','60',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bStr,1; bonus bVit,1;','',''); +REPLACE INTO `item_db` VALUES ('2790','Bradium_Brooch','Bradium Brooch','5','20','10','200','0','0','0','0','1','2147483647','2','2','136','0','60',NULL,'0','0','0','bonus bFlee,4; bonus bAspdRate,2; bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('2791','Just_Got_Fish','Fresh Fish','5','20','10','500','0','0','0','0','1','4294967295','63','2','136','0','1',NULL,'0','0','0','bonus bHit,3;','',''); REPLACE INTO `item_db` VALUES ('2794','Magic_Stone_Ring','Magic Stone Ring','5','0','0','0','0','0','0','0','1','16514','63','2','136','0','99',NULL,'0','0','0','bonus bStr,2;','',''); -REPLACE INTO `item_db` VALUES ('2795','Green_Apple_Ring','Green Apple Ring','5','0','0','0','0','0','0','0','0','4294967294','63','2','136','0','99',NULL,'0','0','0','bonus bAllStats,6; if(JobLevel <30) { bonus bAllStats,(JobLevel/5); }','',''); +REPLACE INTO `item_db` VALUES ('2795','Green_Apple_Ring','Green Apple Ring','5','0','0','0','0','0','0','0','0','2147483647','63','2','136','0','99',NULL,'0','0','0','bonus bAllStats,6; if(JobLevel <30) { bonus bAllStats,(JobLevel/5); }','',''); REPLACE INTO `item_db` VALUES ('2796','Magical_Stone','Rocks','5','0','0','200','0','0','0','0','0','8454660','63','2','136','0','99',NULL,'0','0','0','bonus2 bAddDamageClass,2047,10; bonus2 bAddDefClass,2048,-10; bonus3 bAddClassDropItem,6152,2047,70;','',''); REPLACE INTO `item_db` VALUES ('2797','Magical_Stone_','Rocks','5','0','0','200','0','0','0','0','0','8454660','63','2','136','0','99',NULL,'0','0','0','bonus2 bAddDamageClass,2049,10; bonus2 bAddDefClass,2050,-10; bonus3 bAddClassDropItem,6151,2049,70;','',''); REPLACE INTO `item_db` VALUES ('2798','Will_Of_Exhausted_Angel','Will Of Exhausted Angel','5','0','0','200','0','0','0','0','0','33024','63','2','136','0','99',NULL,'0','0','0','if(strcharinfo(3)==\"job3_arch02\") { bonus2 bAddDefClass,1761,50; bonus2 bAddDefClass,1762,50; }','',''); @@ -2136,53 +2136,53 @@ REPLACE INTO `item_db` VALUES ('4782','Dex3_J','DEX+3','6','20','10','10','0','0 REPLACE INTO `item_db` VALUES ('4783','Luk1_J','LUK+1','6','20','10','10','0','0','0','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('4784','Luk2_J','LUK+2','6','20','10','10','0','0','0','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('4785','Luk3_J','LUK+3','6','20','10','10','0','0','0','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db` VALUES ('5001','Headset','Headset','5','20','10','200','0','0','3','0','0','4294967294','63','2','256','0','1',NULL,'1','87','0','bonus2 bResEff,Eff_Curse,1000;','',''); +REPLACE INTO `item_db` VALUES ('5001','Headset','Headset','5','20','10','200','0','0','3','0','0','2147483647','63','2','256','0','1',NULL,'1','87','0','bonus2 bResEff,Eff_Curse,1000;','',''); REPLACE INTO `item_db` VALUES ('5002','Gemmed_Crown','Jewel Crown','5','20','10','600','0','0','4','0','0','414946','63','2','256','0','60',NULL,'1','88','0','bonus bInt,2; bonus bLuk,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('5003','Joker_Jester','Joker Jester','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','89','0','bonus bLuk,2; bonus bMdef,5;','',''); -REPLACE INTO `item_db` VALUES ('5004','Oxygen_Mask','Oxygen Mask','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','90','0','bonus2 bResEff,Eff_Poison,2000;','',''); -REPLACE INTO `item_db` VALUES ('5005','Gas_Mask','Gas Mask','5','20','10','100','0','0','1','0','0','4294967294','63','2','513','0','0',NULL,'0','91','0','bonus2 bResEff,Eff_Poison,3000;','',''); -REPLACE INTO `item_db` VALUES ('5006','Machoman_Glasses','Machoman\'s Glasses','5','36000','18000','100','0','0','1','0','0','4294967294','63','2','512','0','0',NULL,'0','92','0','','',''); -REPLACE INTO `item_db` VALUES ('5007','Loard_Circlet','Grand Circlet','5','20','10','200','0','0','3','0','0','4294967294','63','2','256','0','55',NULL,'1','93','0','bonus bStr,1; bonus bInt,1; bonus bLuk,1; bonus bMdef,4;','',''); -REPLACE INTO `item_db` VALUES ('5008','Puppy_Love','Puppy Love','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','94','0','','',''); -REPLACE INTO `item_db` VALUES ('5009','Safety_Helmet','Safety Helmet','5','20','10','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','95','0','bonus bMdef,3; bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db` VALUES ('5003','Joker_Jester','Joker Jester','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','89','0','bonus bLuk,2; bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('5004','Oxygen_Mask','Oxygen Mask','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','90','0','bonus2 bResEff,Eff_Poison,2000;','',''); +REPLACE INTO `item_db` VALUES ('5005','Gas_Mask','Gas Mask','5','20','10','100','0','0','1','0','0','2147483647','63','2','513','0','0',NULL,'0','91','0','bonus2 bResEff,Eff_Poison,3000;','',''); +REPLACE INTO `item_db` VALUES ('5006','Machoman_Glasses','Machoman\'s Glasses','5','36000','18000','100','0','0','1','0','0','2147483647','63','2','512','0','0',NULL,'0','92','0','','',''); +REPLACE INTO `item_db` VALUES ('5007','Loard_Circlet','Grand Circlet','5','20','10','200','0','0','3','0','0','2147483647','63','2','256','0','55',NULL,'1','93','0','bonus bStr,1; bonus bInt,1; bonus bLuk,1; bonus bMdef,4;','',''); +REPLACE INTO `item_db` VALUES ('5008','Puppy_Love','Puppy Love','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','94','0','','',''); +REPLACE INTO `item_db` VALUES ('5009','Safety_Helmet','Safety Helmet','5','20','10','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','95','0','bonus bMdef,3; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db` VALUES ('5010','Indian_Hair_Piece','Indian Fillet','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','96','0','','',''); REPLACE INTO `item_db` VALUES ('5011','Antenna','Aerial','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','97','0','','',''); -REPLACE INTO `item_db` VALUES ('5012','Ph.D_Hat','Ph.D Hat','5','20','10','200','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','98','0','','',''); +REPLACE INTO `item_db` VALUES ('5012','Ph.D_Hat','Ph.D Hat','5','20','10','200','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','98','0','','',''); REPLACE INTO `item_db` VALUES ('5013','Horn_Of_Lord_Kaho','Lord Kaho\'s Horn','5','20','10','100','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','99','0','bonus bMdef,10; bonus bStr,5; bonus bAgi,10; bonus bVit,10; bonus bInt,5; bonus bLuk,20;','',''); REPLACE INTO `item_db` VALUES ('5014','Fin_Helm','Fin Helm','5','20','10','300','0','0','2','0','0','16514','63','2','512','0','65',NULL,'0','100','0','','',''); REPLACE INTO `item_db` VALUES ('5015','Egg_Shell','Egg Shell','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'0','101','0','','',''); -REPLACE INTO `item_db` VALUES ('5016','Boy\'s_Cap','Boy\'s Cap','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','102','0','','',''); +REPLACE INTO `item_db` VALUES ('5016','Boy\'s_Cap','Boy\'s Cap','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','102','0','','',''); REPLACE INTO `item_db` VALUES ('5017','Bone_Helm','Bone Helm','5','20','10','800','0','0','7','0','0','279714','63','2','256','0','70',NULL,'1','103','0','bonus2 bSubEle,Ele_Dark,-15;','',''); REPLACE INTO `item_db` VALUES ('5018','Feather_Bonnet','Feather Bonnet','5','20','10','300','0','0','4','0','0','526344','63','2','256','0','0',NULL,'1','104','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('5019','Corsair','Corsair','5','20','10','500','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); +REPLACE INTO `item_db` VALUES ('5019','Corsair','Corsair','5','20','10','500','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); REPLACE INTO `item_db` VALUES ('5020','Kafra_Band','Kafra Band','5','20','10','500','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','106','0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('5021','Bankruptcy_Of_Heart','Grief for Greed','5','20','10','1200','0','0','4','0','0','263200','63','2','256','0','38',NULL,'1','107','0','bonus bInt,1; bonus bDex,1;','',''); REPLACE INTO `item_db` VALUES ('5022','Helm_Of_Sun','Hat of the Sun God','5','20','10','2400','0','0','4','0','0','13623168','63','2','768','0','0',NULL,'1','138','0','bonus bStr,3; bonus bInt,2;','',''); REPLACE INTO `item_db` VALUES ('5023','Hat_Of_Bundle','Parcel Hat','5','20','10','1000','0','0','0','0','0','263200','63','2','256','0','0',NULL,'1','108','0','','',''); REPLACE INTO `item_db` VALUES ('5024','Hat_Of_Cake','Cake Hat','5','20','10','1000','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','109','0','','',''); REPLACE INTO `item_db` VALUES ('5025','Helm_Of_Angel','Helm of Angel','5','20','10','1600','0','0','5','0','0','13623168','63','2','256','0','74',NULL,'1','110','0','bonus bAgi,1; bonus bLuk,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('5026','Hat_Of_Cook','Chef Hat','5','20','10','300','0','0','1','0','0','4294967294','63','2','256','0','50',NULL,'1','111','0','bonus bDex,1;','',''); +REPLACE INTO `item_db` VALUES ('5026','Hat_Of_Cook','Chef Hat','5','20','10','300','0','0','1','0','0','2147483647','63','2','256','0','50',NULL,'1','111','0','bonus bDex,1;','',''); REPLACE INTO `item_db` VALUES ('5027','Wizardry_Hat','Mage Hat','5','20','10','300','0','0','1','0','0','8454660','63','2','256','0','0',NULL,'1','112','0','bonus bInt,2; bonus bMaxSP,150;','',''); REPLACE INTO `item_db` VALUES ('5028','Candle','Candle','5','20','10','150','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','113','0','','',''); -REPLACE INTO `item_db` VALUES ('5029','Spore_Hat','Spore Hat','5','20','10','900','0','0','3','0','0','4294967294','63','2','256','0','20',NULL,'1','114','0','','',''); -REPLACE INTO `item_db` VALUES ('5030','Panda_Cap','Panda Hat','5','20','10','800','0','0','3','0','0','4294967294','63','2','256','0','40',NULL,'1','115','0','','',''); +REPLACE INTO `item_db` VALUES ('5029','Spore_Hat','Spore Hat','5','20','10','900','0','0','3','0','0','2147483647','63','2','256','0','20',NULL,'1','114','0','','',''); +REPLACE INTO `item_db` VALUES ('5030','Panda_Cap','Panda Hat','5','20','10','800','0','0','3','0','0','2147483647','63','2','256','0','40',NULL,'1','115','0','','',''); REPLACE INTO `item_db` VALUES ('5031','Mine_Helm','Mine Hat','5','20','10','1500','0','0','4','0','0','447986','63','2','256','0','55',NULL,'1','116','0','bonus bDex,2;','',''); -REPLACE INTO `item_db` VALUES ('5032','Picnic_Hat','Sunday Hat','5','20','10','800','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','117','0','','',''); -REPLACE INTO `item_db` VALUES ('5033','Smokie_Hat','Raccoon Hat','5','20','10','900','0','0','3','0','0','4294967294','63','2','256','0','50',NULL,'1','118','0','','',''); -REPLACE INTO `item_db` VALUES ('5034','Light_Bulb_Band','Bulb Band','5','20','10','500','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'1','119','0','','',''); -REPLACE INTO `item_db` VALUES ('5035','Poring_Hat','Poring Hat','5','20','10','700','0','0','2','0','0','4294967294','63','2','256','0','38',NULL,'1','120','0','','',''); -REPLACE INTO `item_db` VALUES ('5036','Cross_Band','Cross Hat','5','20','10','250','0','0','1','0','0','4294967294','63','2','256','0','10',NULL,'1','121','0','','',''); +REPLACE INTO `item_db` VALUES ('5032','Picnic_Hat','Sunday Hat','5','20','10','800','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','117','0','','',''); +REPLACE INTO `item_db` VALUES ('5033','Smokie_Hat','Raccoon Hat','5','20','10','900','0','0','3','0','0','2147483647','63','2','256','0','50',NULL,'1','118','0','','',''); +REPLACE INTO `item_db` VALUES ('5034','Light_Bulb_Band','Bulb Band','5','20','10','500','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'1','119','0','','',''); +REPLACE INTO `item_db` VALUES ('5035','Poring_Hat','Poring Hat','5','20','10','700','0','0','2','0','0','2147483647','63','2','256','0','38',NULL,'1','120','0','','',''); +REPLACE INTO `item_db` VALUES ('5036','Cross_Band','Cross Hat','5','20','10','250','0','0','1','0','0','2147483647','63','2','256','0','10',NULL,'1','121','0','','',''); REPLACE INTO `item_db` VALUES ('5037','Fruit_Shell','Nut Shell','5','20','10','150','0','0','4','0','0','4294967295','63','2','256','0','5',NULL,'0','122','0','','',''); -REPLACE INTO `item_db` VALUES ('5038','Deviruchi_Cap','Deviruchi Hat','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','64',NULL,'1','123','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5038','Deviruchi_Cap','Deviruchi Hat','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','64',NULL,'1','123','0','bonus bStr,1; bonus bInt,1;','',''); REPLACE INTO `item_db` VALUES ('5039','Mottled_Egg_Shell','Rainbow Eggshell','5','20','10','400','0','0','4','0','0','4294967295','63','2','256','0','19',NULL,'0','124','0','','',''); REPLACE INTO `item_db` VALUES ('5040','Blush','Blush','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','125','0','','',''); REPLACE INTO `item_db` VALUES ('5041','Heart_Hair_Pin','Heart Hairpin','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','126','0','','',''); -REPLACE INTO `item_db` VALUES ('5042','Hair_Protector','Bao Bao','5','20','10','150','0','0','0','0','0','4294967294','63','2','256','0','14',NULL,'1','127','0','','',''); -REPLACE INTO `item_db` VALUES ('5043','Opera_Ghost_Mask','Opera Phantom Mask','5','20','10','200','0','0','1','0','0','4294967294','63','2','512','0','20',NULL,'0','128','0','','',''); +REPLACE INTO `item_db` VALUES ('5042','Hair_Protector','Bao Bao','5','20','10','150','0','0','0','0','0','2147483647','63','2','256','0','14',NULL,'1','127','0','','',''); +REPLACE INTO `item_db` VALUES ('5043','Opera_Ghost_Mask','Opera Phantom Mask','5','20','10','200','0','0','1','0','0','2147483647','63','2','512','0','20',NULL,'0','128','0','','',''); REPLACE INTO `item_db` VALUES ('5044','Devil\'s_Wing','Evil Wing Ears','5','20','10','350','0','0','2','0','0','0','63','2','256','0','45',NULL,'1','129','0','bonus bVit,1;','',''); REPLACE INTO `item_db` VALUES ('5045','Magician_Hat','Magician Hat','5','20','10','500','0','0','3','0','0','8487700','63','2','256','0','50',NULL,'1','130','0','bonus bDex,1; bonus bAgi,1; bonus bMaxSP,50;','',''); REPLACE INTO `item_db` VALUES ('5046','Bongun_Hat','Bongun Hat','5','20','10','300','0','0','5','0','0','4294967295','63','2','769','0','0',NULL,'0','139','0','','',''); -REPLACE INTO `item_db` VALUES ('5047','Fashion_Sunglass','Fashionable Glasses','5','20','10','100','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'1','131','0','','',''); +REPLACE INTO `item_db` VALUES ('5047','Fashion_Sunglass','Fashionable Glasses','5','20','10','100','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'1','131','0','','',''); REPLACE INTO `item_db` VALUES ('5048','First_Moon_Hair_Pin','Cresent Hairpin','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','132','0','','',''); REPLACE INTO `item_db` VALUES ('5049','Stripe_Band','Striped Hairband','5','20','10','150','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','133','0','','',''); REPLACE INTO `item_db` VALUES ('5050','Mystery_Fruit_Shell','Wonder Nutshell','5','20','10','300','0','0','5','0','0','4294967295','63','2','256','0','30',NULL,'0','134','0','','',''); @@ -2193,22 +2193,22 @@ REPLACE INTO `item_db` VALUES ('5054','Assasin_Mask','Assassin Mask','5','20','1 REPLACE INTO `item_db` VALUES ('5055','Novice_Egg_Cap','Novice False Eggshell','5','1','0','1','0','0','3','0','0','1','63','2','256','0','0',NULL,'0','101','0','','',''); REPLACE INTO `item_db` VALUES ('5056','Love_Berry','Fruit of Love','5','1','0','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','140','0','','',''); REPLACE INTO `item_db` VALUES ('5057','Ear_Of_Black_Cat','Black Cat Ears','5','16000','8000','200','0','0','2','0','0','4294967295','63','2','256','0','45',NULL,'1','141','0','','',''); -REPLACE INTO `item_db` VALUES ('5058','Drooping_Kitty','Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); +REPLACE INTO `item_db` VALUES ('5058','Drooping_Kitty','Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); REPLACE INTO `item_db` VALUES ('5059','Brown_Bear_Cap','Teddybear Hat','5','20','10','800','0','0','3','0','0','4294967295','63','2','256','0','50',NULL,'1','143','0','','',''); REPLACE INTO `item_db` VALUES ('5060','Party_Hat','Party Hat','5','20','10','300','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','144','0','bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('5061','Flower_Hairpin','Flower Hairpin','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','145','0','','',''); REPLACE INTO `item_db` VALUES ('5062','Straw_Hat','Straw Hat','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','50',NULL,'1','146','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('5063','Plaster','Giant Band Aid','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','147','0','','',''); +REPLACE INTO `item_db` VALUES ('5063','Plaster','Giant Band Aid','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','147','0','','',''); REPLACE INTO `item_db` VALUES ('5064','Leaf_Headgear','Smokie Leaf','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','148','0','','',''); REPLACE INTO `item_db` VALUES ('5065','Fish_On_Head','Blue Fish','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','149','0','bonus2 bAddRace,RC_Fish,10;','',''); -REPLACE INTO `item_db` VALUES ('5066','Horn_Of_Succubus','Succubus Horn','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','70',NULL,'1','150','0','bonus bInt,1; bonus bMdef,10;','',''); -REPLACE INTO `item_db` VALUES ('5067','Sombrero','Sombrero','5','20','10','350','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'1','151','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('5066','Horn_Of_Succubus','Succubus Horn','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','70',NULL,'1','150','0','bonus bInt,1; bonus bMdef,10;','',''); +REPLACE INTO `item_db` VALUES ('5067','Sombrero','Sombrero','5','20','10','350','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'1','151','0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('5068','Ear_Of_Devil\'s_Wing','Evil Wing Ears','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','70',NULL,'0','152','0','bonus bStr,1;','',''); -REPLACE INTO `item_db` VALUES ('5069','Mask_Of_Fox','Kitsune Mask','5','20','10','300','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','153','0','bonus bAgi,1; bonus bLuk,1;','',''); -REPLACE INTO `item_db` VALUES ('5070','Headband_Of_Power','Hot-blooded Headband','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','154','0','bonus bStr,2;','',''); -REPLACE INTO `item_db` VALUES ('5071','Indian_Headband','Indian Headband','5','20','10','200','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','155','0','bonus bDex,1;','',''); -REPLACE INTO `item_db` VALUES ('5072','Inccubus_Horn','Incubus Horn','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','70',NULL,'1','156','0','bonus bAgi,1; bonus bMdef,10;','',''); -REPLACE INTO `item_db` VALUES ('5073','Cap_Of_Concentration','Model Training Hat','5','20','10','700','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','157','0','bonus bDex,2;','',''); +REPLACE INTO `item_db` VALUES ('5069','Mask_Of_Fox','Kitsune Mask','5','20','10','300','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','153','0','bonus bAgi,1; bonus bLuk,1;','',''); +REPLACE INTO `item_db` VALUES ('5070','Headband_Of_Power','Hot-blooded Headband','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','154','0','bonus bStr,2;','',''); +REPLACE INTO `item_db` VALUES ('5071','Indian_Headband','Indian Headband','5','20','10','200','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','155','0','bonus bDex,1;','',''); +REPLACE INTO `item_db` VALUES ('5072','Inccubus_Horn','Incubus Horn','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','70',NULL,'1','156','0','bonus bAgi,1; bonus bMdef,10;','',''); +REPLACE INTO `item_db` VALUES ('5073','Cap_Of_Concentration','Model Training Hat','5','20','10','700','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','157','0','bonus bDex,2;','',''); REPLACE INTO `item_db` VALUES ('5074','Ear_Of_Angel\'s_Wing','Angel Wing Ears','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','70',NULL,'0','158','0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('5075','Cowboy_Hat','Cowboy Hat','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','159','0','','',''); REPLACE INTO `item_db` VALUES ('5076','Fur_Hat','Beanie','5','20','10','350','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','160','0','bonus bLuk,1;','',''); @@ -2216,20 +2216,20 @@ REPLACE INTO `item_db` VALUES ('5077','Tulip_Hairpin','Tulip Hairpin','5','20',' REPLACE INTO `item_db` VALUES ('5078','Sea_Otter_Cap','Sea-Otter Hat','5','20','10','800','0','0','3','0','0','4294967295','63','2','256','0','50',NULL,'1','162','0','bonus bVit,1;','',''); REPLACE INTO `item_db` VALUES ('5079','Crossed_Hair_Band','X Hairpin','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','163','0','','',''); REPLACE INTO `item_db` VALUES ('5080','Headgear_Of_Queen','Crown of Ancient Queen','5','20','10','400','0','0','4','0','0','4294967295','63','2','256','0','45',NULL,'1','164','0','','',''); -REPLACE INTO `item_db` VALUES ('5081','Mistress_Crown','Crown of Mistress','5','20','10','100','0','0','0','0','0','4294967294','63','2','256','0','75',NULL,'1','165','0','bonus bMaxSP,100; bonus bInt,2; bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db` VALUES ('5081','Mistress_Crown','Crown of Mistress','5','20','10','100','0','0','0','0','0','2147483647','63','2','256','0','75',NULL,'1','165','0','bonus bMaxSP,100; bonus bInt,2; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db` VALUES ('5082','Mushroom_Band','Decorative Mushroom','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','166','0','','',''); REPLACE INTO `item_db` VALUES ('5083','Red_Tailed_Ribbon','Red Ribbon','5','20','10','200','0','0','1','0','0','4294967295','63','2','256','0','45',NULL,'1','167','0','bonus bMdef,10;','',''); -REPLACE INTO `item_db` VALUES ('5084','Lazy_Raccoon','Lazy Smokie','5','20','10','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','168','0','bonus2 bResEff,Eff_Sleep,2000;','',''); +REPLACE INTO `item_db` VALUES ('5084','Lazy_Raccoon','Lazy Smokie','5','20','10','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','168','0','bonus2 bResEff,Eff_Sleep,2000;','',''); REPLACE INTO `item_db` VALUES ('5085','Pair_Of_Red_Ribbon','Small Ribbons','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','45',NULL,'0','169','0','','',''); -REPLACE INTO `item_db` VALUES ('5086','Alarm_Mask','Alarm Mask','5','20','10','100','0','0','2','0','0','4294967294','63','2','513','0','0',NULL,'0','170','0','bonus2 bResEff,Eff_Blind,5000;','',''); +REPLACE INTO `item_db` VALUES ('5086','Alarm_Mask','Alarm Mask','5','20','10','100','0','0','2','0','0','2147483647','63','2','513','0','0',NULL,'0','170','0','bonus2 bResEff,Eff_Blind,5000;','',''); REPLACE INTO `item_db` VALUES ('5087','Goblin_Mask_01','Poker Face','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','171','0','','',''); REPLACE INTO `item_db` VALUES ('5088','Goblin_Mask_02','Surprised Mask','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','172','0','','',''); REPLACE INTO `item_db` VALUES ('5089','Goblin_Mask_03','Annoyed Mask','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','173','0','','',''); REPLACE INTO `item_db` VALUES ('5090','Goblin_Mask_04','Goblin Leader Mask','5','20','10','100','0','0','2','0','0','4294967295','63','2','513','0','0',NULL,'0','174','0','','',''); -REPLACE INTO `item_db` VALUES ('5091','Big_Golden_Bell','Decorative Golden Bell','5','20','10','200','0','0','2','0','0','4294967294','63','2','768','0','35',NULL,'1','175','0','','',''); +REPLACE INTO `item_db` VALUES ('5091','Big_Golden_Bell','Decorative Golden Bell','5','20','10','200','0','0','2','0','0','2147483647','63','2','768','0','35',NULL,'1','175','0','','',''); REPLACE INTO `item_db` VALUES ('5092','Blue_Coif','Coif','5','150000','75000','300','0','0','5','0','0','4352','63','2','768','0','65',NULL,'1','176','0','','',''); REPLACE INTO `item_db` VALUES ('5093','Blue_Coif_','Coif','5','150000','75000','300','0','0','5','0','1','4352','63','2','768','0','65',NULL,'1','177','0','bonus bMaxSP,100;','',''); -REPLACE INTO `item_db` VALUES ('5094','Orc_Hero_Helm','Helmet of Orc Hero','5','500000','250000','900','0','0','5','0','0','4294967294','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1;','',''); +REPLACE INTO `item_db` VALUES ('5094','Orc_Hero_Helm','Helmet of Orc Hero','5','500000','250000','900','0','0','5','0','0','2147483647','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1;','',''); REPLACE INTO `item_db` VALUES ('5096','Assassin_Mask_','Assassin Mask','5','20','10','100','0','0','0','0','0','4352','63','2','1','0','70',NULL,'0','180','0','','',''); REPLACE INTO `item_db` VALUES ('5097','Cone_Hat_','Holiday Hat','5','0','0','400','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','144','0','','',''); REPLACE INTO `item_db` VALUES ('5098','Tiger_Mask','Tiger Mask','5','20','10','400','0','0','2','0','0','4294967295','63','2','768','0','50',NULL,'0','181','0','bonus bStr,3; bonus bMaxHP,100;','',''); @@ -2237,8 +2237,8 @@ REPLACE INTO `item_db` VALUES ('5099','Cat_Hat','Neko Mimi','5','20','10','300', REPLACE INTO `item_db` VALUES ('5100','Sales_Signboard','Sales Banner','5','20','10','800','0','0','0','0','0','4294967295','63','2','256','0','75',NULL,'1','183','0','bonus bStr,1; bonus bAgi,1; bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('5101','Takius_Blindfold','Takius\'s Blindfold','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','184','0','','',''); REPLACE INTO `item_db` VALUES ('5102','Round_Eyes','Blank Eyes','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','185','0','','',''); -REPLACE INTO `item_db` VALUES ('5103','Sunflower_Hairpin','Sunflower Hairpin','5','20','10','600','0','0','1','0','0','4294967294','63','2','256','0','30',NULL,'0','186','0','bonus bAgi,2; bonus bCritical,5;','',''); -REPLACE INTO `item_db` VALUES ('5104','Dark_Blindfold','Dark Blinder','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,200;','',''); +REPLACE INTO `item_db` VALUES ('5103','Sunflower_Hairpin','Sunflower Hairpin','5','20','10','600','0','0','1','0','0','2147483647','63','2','256','0','30',NULL,'0','186','0','bonus bAgi,2; bonus bCritical,5;','',''); +REPLACE INTO `item_db` VALUES ('5104','Dark_Blindfold','Dark Blinder','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,200;','',''); REPLACE INTO `item_db` VALUES ('5105','Hat_Of_Cake_','2nd Anniversary Hat','5','20','10','1000','0','0','1','0','0','4294967295','63','2','256','0','24',NULL,'1','109','0','bonus bDex,1; bonus bMaxSP,80; bonus3 bAddMonsterDropItem,7864,7,50;','',''); REPLACE INTO `item_db` VALUES ('5106','Cone_Hat_INA','2nd Anniversary Hat','5','20','10','300','0','0','3','0','0','4294967295','63','2','256','0','1',NULL,'0','144','0','bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('5107','Well_Baked_Toast','Crunch Toast','5','20','10','50','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','188','0','','',''); @@ -2255,29 +2255,29 @@ REPLACE INTO `item_db` VALUES ('5117','Mistic_Rose','Mystic Rose','5','20','10', REPLACE INTO `item_db` VALUES ('5118','Ear_Of_Puppy','Puppy Headband','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','199','0','','',''); REPLACE INTO `item_db` VALUES ('5119','Super_Novice_Hat_','Super Novice Hat','5','8500','4250','400','0','0','4','0','1','1','63','2','256','0','40',NULL,'1','193','0','bonus bAllStats,1;','',''); REPLACE INTO `item_db` VALUES ('5120','Fedora_','Bucket Hat','5','6000','3000','300','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','195','0','','',''); -REPLACE INTO `item_db` VALUES ('5121','Zherlthsh_Mask','Zealotus Mask','5','20','10','400','0','0','3','0','0','4294967294','63','2','768','0','70',NULL,'1','200','0','bonus2 bAddRace,RC_DemiHuman,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); -REPLACE INTO `item_db` VALUES ('5122','Magni_Cap','Magni\'s Cap','5','30000','15000','1000','0','0','5','0','0','4294967294','63','2','256','0','65',NULL,'1','250','0','bonus bStr,2;','',''); -REPLACE INTO `item_db` VALUES ('5123','Ulle_Cap','Ulle\'s Cap','5','30000','15000','500','0','0','3','0','1','4294967294','63','2','256','0','65',NULL,'1','254','0','bonus bDex,2; bonus bAgi,1;','',''); -REPLACE INTO `item_db` VALUES ('5124','Fricca_Circlet','Fricca\'s Circlet','5','30000','15000','300','0','0','3','0','0','4294967294','63','2','256','0','65',NULL,'1','251','0','bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;','',''); +REPLACE INTO `item_db` VALUES ('5121','Zherlthsh_Mask','Zealotus Mask','5','20','10','400','0','0','3','0','0','2147483647','63','2','768','0','70',NULL,'1','200','0','bonus2 bAddRace,RC_DemiHuman,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db` VALUES ('5122','Magni_Cap','Magni\'s Cap','5','30000','15000','1000','0','0','5','0','0','2147483647','63','2','256','0','65',NULL,'1','250','0','bonus bStr,2;','',''); +REPLACE INTO `item_db` VALUES ('5123','Ulle_Cap','Ulle\'s Cap','5','30000','15000','500','0','0','3','0','1','2147483647','63','2','256','0','65',NULL,'1','254','0','bonus bDex,2; bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('5124','Fricca_Circlet','Fricca\'s Circlet','5','30000','15000','300','0','0','3','0','0','2147483647','63','2','256','0','65',NULL,'1','251','0','bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;','',''); REPLACE INTO `item_db` VALUES ('5125','Kiss_Of_Angel','Angel\'s Kiss','5','10000','5000','300','0','0','3','0','1','1','63','2','256','0','50',NULL,'1','255','0','bonus bSPrecovRate,5;','',''); -REPLACE INTO `item_db` VALUES ('5126','Morpheus\'s_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','1','0','0','4294967294','63','2','256','0','33',NULL,'1','256','0','bonus bInt,2;','',''); -REPLACE INTO `item_db` VALUES ('5127','Morrigane\'s_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','4','0','0','4294967294','63','2','256','0','61',NULL,'1','257','0','bonus bLuk,2; bonus bBaseAtk,3;','',''); -REPLACE INTO `item_db` VALUES ('5128','Goibne\'s_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','5','0','0','4294967294','63','2','256','0','54',NULL,'1','258','0','bonus bVit,3; bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('5126','Morpheus\'s_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','1','0','0','2147483647','63','2','256','0','33',NULL,'1','256','0','bonus bInt,2;','',''); +REPLACE INTO `item_db` VALUES ('5127','Morrigane\'s_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','4','0','0','2147483647','63','2','256','0','61',NULL,'1','257','0','bonus bLuk,2; bonus bBaseAtk,3;','',''); +REPLACE INTO `item_db` VALUES ('5128','Goibne\'s_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','5','0','0','2147483647','63','2','256','0','54',NULL,'1','258','0','bonus bVit,3; bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('5129','Bird_Nest','Bird Nest','5','20','10','400','0','0','1','0','0','4294967295','63','2','256','0','50',NULL,'0','201','0','bonus bAgi,2; bonus2 bSubRace,RC_Brute,10;','',''); REPLACE INTO `item_db` VALUES ('5130','Lion_Mask','Lion Mask','5','20','10','700','0','0','0','0','0','13623168','63','2','768','0','75',NULL,'1','202','0','bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1;','',''); REPLACE INTO `item_db` VALUES ('5131','Close_Helmet','Close Helmet','5','20','10','1200','0','0','8','0','0','16514','63','2','769','0','75',NULL,'1','203','0','bonus bVit,3; bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db` VALUES ('5132','Angeling_Hat','Angeling Hat','5','20','10','700','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','204','0','bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db` VALUES ('5133','Sheep_Hat','Sheep Hat','5','20','10','150','0','0','1','0','0','33040','63','2','256','0','0',NULL,'0','205','0','bonus bShortWeaponDamageReturn,5;','',''); REPLACE INTO `item_db` VALUES ('5134','Pumpkin_Hat','Pumpkin-Head','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','206','0','bonus2 bSubRace,RC_Demon,5;','',''); -REPLACE INTO `item_db` VALUES ('5135','Cyclops_Visor','Cyclop\'s Eye','5','0','0','200','0','0','0','0','0','4294967294','63','2','512','0','75',NULL,'0','207','0','bonus bMaxSP,50;','',''); +REPLACE INTO `item_db` VALUES ('5135','Cyclops_Visor','Cyclop\'s Eye','5','0','0','200','0','0','0','0','0','2147483647','63','2','512','0','75',NULL,'0','207','0','bonus bMaxSP,50;','',''); REPLACE INTO `item_db` VALUES ('5136','Santa\'s_Hat_','Antonio\'s Santa Hat','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','20','0','','',''); -REPLACE INTO `item_db` VALUES ('5137','Alice_Doll','Alice Doll','5','20','10','500','0','0','0','0','1','4294967294','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddEff2,Eff_Sleep,10;','',''); +REPLACE INTO `item_db` VALUES ('5137','Alice_Doll','Alice Doll','5','20','10','500','0','0','0','0','1','2147483647','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddEff2,Eff_Sleep,10;','',''); REPLACE INTO `item_db` VALUES ('5138','Magic_Eyes','Magic Eyes','5','20','10','300','0','0','1','0','0','8454660','63','2','256','0','30',NULL,'1','209','0','bonus bMdef,5; bonus bCastrate,-10; bonus bUseSPrate,20;','',''); REPLACE INTO `item_db` VALUES ('5139','Hibiscus','Hibiscus','5','20','10','200','0','0','0','0','0','4294967295','63','2','256','0','10',NULL,'0','210','0','bonus bDex,1; bonus bInt,1; bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('5140','Charming_Ribbon','Charming Ribbon','5','20','10','400','0','0','1','0','1','4294967295','63','2','256','0','10',NULL,'1','211','0','bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5;','',''); -REPLACE INTO `item_db` VALUES ('5141','Marionette_Doll','Marionette Doll','5','20','10','400','0','0','0','0','1','4294967294','63','2','256','0','30',NULL,'1','212','0','bonus bStr,1;','',''); +REPLACE INTO `item_db` VALUES ('5141','Marionette_Doll','Marionette Doll','5','20','10','400','0','0','0','0','1','2147483647','63','2','256','0','30',NULL,'1','212','0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('5142','Crescent_Helm','Crescent Helm','5','20','10','3000','0','0','8','0','0','279714','63','2','768','0','50',NULL,'1','213','0','bonus bVit,1; bonus2 bSubRace,RC_DemiHuman,5;','',''); -REPLACE INTO `item_db` VALUES ('5143','Kabuki_Mask','Kabuki Mask','5','20','10','1000','0','0','5','0','1','4294967294','63','1','769','0','30',NULL,'1','214','0','bonus2 bResEff,Eff_Silence,3000;','',''); +REPLACE INTO `item_db` VALUES ('5143','Kabuki_Mask','Kabuki Mask','5','20','10','1000','0','0','5','0','1','2147483647','63','1','769','0','30',NULL,'1','214','0','bonus2 bResEff,Eff_Silence,3000;','',''); REPLACE INTO `item_db` VALUES ('5144','Gambler_Hat','Gambler Hat','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','16','0','bonus bLuk,5;','',''); REPLACE INTO `item_db` VALUES ('5145','Carnival_Joker_Jester','Carnival Joker Jester','5','10','5','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','89','0','','',''); REPLACE INTO `item_db` VALUES ('5146','Elephant_Hat','Elephant Hat','5','0','0','500','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','215','0','bonus bVit,1; bonus2 bSubRace,RC_Brute,7; skill WZ_WATERBALL,1;','',''); @@ -2293,19 +2293,19 @@ REPLACE INTO `item_db` VALUES ('5155','Granpa_Beard_F','Father\'s White Moustach REPLACE INTO `item_db` VALUES ('5156','Flu_Mask_F','Father\'s Mask','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','8','0','bonus bMatkRate,1;','',''); REPLACE INTO `item_db` VALUES ('5157','Viking_Helm_','Orc Helm','5','20','10','500','0','0','5','0','1','414946','63','2','256','0','0',NULL,'1','86','0','','',''); REPLACE INTO `item_db` VALUES ('5158','Holy_Bonnet_','Monk Hat','5','30000','15000','100','0','0','5','0','1','33040','63','2','256','0','0',NULL,'1','35','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('5159','Golden_Gear_','Golden Gear','5','20','10','900','0','0','5','0','1','4294967294','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db` VALUES ('5159','Golden_Gear_','Golden Gear','5','20','10','900','0','0','5','0','1','2147483647','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db` VALUES ('5160','Magestic_Goat_','Majestic Goat','5','20','10','800','0','0','5','0','1','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('5161','Sharp_Gear_','Spiky Band','5','20','10','1000','0','0','6','0','1','6739442','63','2','256','0','50',NULL,'1','43','0','','',''); REPLACE INTO `item_db` VALUES ('5162','Bone_Helm_','Bone Helm','5','20','10','800','0','0','7','0','1','279714','63','2','256','0','70',NULL,'1','103','0','bonus2 bSubEle,Ele_Dark,-15;','',''); -REPLACE INTO `item_db` VALUES ('5163','Corsair_','Corsair','5','20','10','500','0','0','5','0','1','4294967294','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); -REPLACE INTO `item_db` VALUES ('5164','Tiara_','Tiara','5','20','10','400','0','0','4','0','1','4294967294','63','2','256','0','45',NULL,'1','19','0','bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('5165','Crown_','Crown','5','20','10','400','0','0','4','0','1','4294967294','63','1','256','0','45',NULL,'1','45','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5163','Corsair_','Corsair','5','20','10','500','0','0','5','0','1','2147483647','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); +REPLACE INTO `item_db` VALUES ('5164','Tiara_','Tiara','5','20','10','400','0','0','4','0','1','2147483647','63','2','256','0','45',NULL,'1','19','0','bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5165','Crown_','Crown','5','20','10','400','0','0','4','0','1','2147483647','63','1','256','0','45',NULL,'1','45','0','bonus bInt,1;','',''); REPLACE INTO `item_db` VALUES ('5166','Spinx_Helm_','Sphinx Hat','5','20','10','3000','0','0','5','0','1','16514','63','2','257','0','65',NULL,'0','137','0','bonus bStr,2;','',''); REPLACE INTO `item_db` VALUES ('5167','Munak_Turban_','Munak Hat','5','20','10','300','0','0','5','0','1','4294967295','63','2','769','0','0',NULL,'0','51','0','bonus2 bSubRace,RC_Undead,10;','',''); REPLACE INTO `item_db` VALUES ('5168','Bongun_Hat_','Bongun Hat','5','20','10','300','0','0','5','0','1','4294967295','63','2','769','0','0',NULL,'0','139','0','','',''); REPLACE INTO `item_db` VALUES ('5169','Bride_Mask','Bride Mask','5','30000','15000','500','0','0','4','0','1','4294967295','63','2','768','0','40',NULL,'1','223','0','if(BaseClass==Job_Taekwon) { bonus bLuk,2; bonus bCritical,5; }','',''); -REPLACE INTO `item_db` VALUES ('5170','Feather_Beret','Feather Beret','5','30000','15000','600','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','224','0','bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10;','',''); -REPLACE INTO `item_db` VALUES ('5171','Valkyrie_Helm','Valkyrie Helm','5','100000','50000','1000','0','0','5','0','1','4294967294','2','2','256','0','0',NULL,'1','225','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db` VALUES ('5170','Feather_Beret','Feather Beret','5','30000','15000','600','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','224','0','bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10;','',''); +REPLACE INTO `item_db` VALUES ('5171','Valkyrie_Helm','Valkyrie Helm','5','100000','50000','1000','0','0','5','0','1','2147483647','2','2','256','0','0',NULL,'1','225','0','bonus bMdef,5;','',''); REPLACE INTO `item_db` VALUES ('5172','Beret','Beret','5','30000','15000','700','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','226','0','bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db` VALUES ('5173','Satto_Hat','Magistrate Hat','5','30000','15000','400','0','0','3','0','1','4294967295','63','2','256','0','60',NULL,'1','227','0','if(BaseClass==Job_Taekwon) { bonus bAgi,1; bonus bHPrecovRate,3; }','',''); REPLACE INTO `item_db` VALUES ('5174','Ayam','Ayam','5','30000','15000','400','0','0','3','0','1','4294967295','63','2','256','0','60',NULL,'1','228','0','if(BaseClass==Job_Taekwon) { bonus bInt,1; bonus bSPrecovRate,3; }','',''); @@ -2318,7 +2318,7 @@ REPLACE INTO `item_db` VALUES ('5180','Phrygian_Cap_','France Holiday Hat','5',' REPLACE INTO `item_db` VALUES ('5181','Helm_Of_Darkness','Helm of Darkness','5','20','10','2000','0','0','3','0','1','414946','63','2','768','0','50',NULL,'1','233','0','bonus bStr,2;','',''); REPLACE INTO `item_db` VALUES ('5182','Puppy_Hat','Puppy Hat','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','30',NULL,'0','234','0','bonus bAgi,1; bonus3 bAutoSpell,PR_GLORIA,1,10+20*(readparam(bAgi)>=77);','',''); REPLACE INTO `item_db` VALUES ('5183','Bird_Nest_Hat','Bird Nest Hat','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','10',NULL,'1','235','0','bonus bDex,1; bonus bAgi,1; bonus2 bResEff,Eff_Stun,1000;','',''); -REPLACE INTO `item_db` VALUES ('5184','Captain_Hat','Captain\'s Hat','5','20','10','500','0','0','4','0','0','4294967294','63','2','256','0','30',NULL,'1','236','0','bonus2 bSubEle,Ele_Water,5;','',''); +REPLACE INTO `item_db` VALUES ('5184','Captain_Hat','Captain\'s Hat','5','20','10','500','0','0','4','0','0','2147483647','63','2','256','0','30',NULL,'1','236','0','bonus2 bSubEle,Ele_Water,5;','',''); REPLACE INTO `item_db` VALUES ('5185','Laurel_Wreath','Laurel Wreath','5','20','10','100','0','0','1','0','1','4294967295','63','2','256','0','10',NULL,'1','237','0','bonus bLuk,3; bonus2 bResEff,Eff_Blind,500; bonus2 bResEff,Eff_Curse,500;','',''); REPLACE INTO `item_db` VALUES ('5186','Geographer_Band','Geographer Band','5','20','10','500','0','0','1','0','0','4294967295','63','2','256','0','30',NULL,'0','238','0','bonus bInt,1; bonus3 bAutoSpellWhenHit,AL_HEAL,1,50;','',''); REPLACE INTO `item_db` VALUES ('5187','Twin_Ribbon','Twin Ribbon','5','20','10','200','0','0','0','0','1','4294967295','63','2','256','0','30',NULL,'1','239','0','bonus bMaxSP,30; bonus bMdef,3; bonus3 bAutoSpellWhenHit,NPC_STONESKIN,6,10; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,6,120,BF_MAGIC,0;','',''); @@ -2340,35 +2340,35 @@ REPLACE INTO `item_db` VALUES ('5202','Pumpkin_Hat_','Fantastic Pumpkin-Head','5 REPLACE INTO `item_db` VALUES ('5203','Tongue_Mask','Smiling Mask','5','20','10','200','0','0','2','0','0','4294967295','63','2','513','0','0',NULL,'0','253','0','bonus bSpeedRate,25;','',''); REPLACE INTO `item_db` VALUES ('5204','Event_Pierrot_Nose','Rudolph\'s Nose','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','49','0','bonus2 bResEff,Eff_Blind,3000; bonus2 bAddMonsterDropItem,12130,30;','',''); REPLACE INTO `item_db` VALUES ('5205','Wreath','Emperor\'s Laurel Crown','5','20','10','1000','0','0','3','0','0','4294967295','63','2','768','0','0',NULL,'1','261','0','bonus bAllStats,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('5206','Romantic_White_Flower','Romantic White Flower','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','259','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db` VALUES ('5206','Romantic_White_Flower','Romantic White Flower','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','259','0','bonus2 bSubRace,RC_Plant,3;','',''); REPLACE INTO `item_db` VALUES ('5207','Gold_Spirit_Chain','Angel Blessing','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','260','0','bonus bLuk,1; bonus2 bSubEle,Ele_Holy,5;','',''); -REPLACE INTO `item_db` VALUES ('5208','Rideword_Hat','Rideword Hat','5','20','10','300','0','0','2','0','1','4294967294','63','2','256','0','40',NULL,'1','262','0','bonus2 bHPDrainRate,50,8; bonus2 bSPDrainRate,10,4; bonus2 bHPLossRate,10,5000;','',''); +REPLACE INTO `item_db` VALUES ('5208','Rideword_Hat','Rideword Hat','5','20','10','300','0','0','2','0','1','2147483647','63','2','256','0','40',NULL,'1','262','0','bonus2 bHPDrainRate,50,8; bonus2 bSPDrainRate,10,4; bonus2 bHPLossRate,10,5000;','',''); REPLACE INTO `item_db` VALUES ('5209','Yellow_Baseball_Cap','Love Dad Cap','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','263','0','','',''); REPLACE INTO `item_db` VALUES ('5210','Flying_Angel','Flapping Angel Wing','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'1','264','0','bonus bCastrate,-3; bonus bAspdRate,3; bonus bInt,1; bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('5211','Dress_Hat','Dress Hat','5','0','0','200','0','0','2','0','1','4294967295','63','2','256','0','20',NULL,'1','265','0','bonus bMdef,7; bonus bStr,1; bonus bInt,1; bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bMatkRate,2; bonus bHealPower,5; if(getrefine()>=7) { bonus2 bAddRace,RC_NonBoss,1; bonus2 bAddRace,RC_Boss,1; bonus bMatkRate,1; bonus bHealPower,1; }','',''); REPLACE INTO `item_db` VALUES ('5212','Satellite_Hairband','Satellite Hairband','5','0','0','1000','0','0','3','0','1','4294967295','63','2','256','0','30',NULL,'1','266','0','bonus bMaxHP,50; bonus bMaxSP,10; skill AL_RUWACH,1;','','sc_end SC_RUWACH;'); REPLACE INTO `item_db` VALUES ('5213','Black_Bunny_Band','Sheila Hairnet','5','0','0','200','0','0','2','0','0','4294967295','63','2','256','0','1',NULL,'1','267','0','bonus bAgi,2; bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('5214','Moonlight_Flower_Hat','Moonlight Flower Hat','5','0','0','200','0','0','3','0','0','4294967295','63','2','768','0','1',NULL,'1','268','0','bonus bDex,2; bonus3 bAutoSpell,AL_INCAGI,1,50;','',''); -REPLACE INTO `item_db` VALUES ('5215','Angelic_Chain_','Evolved Angel Wing','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bDex,1; bonus bInt,1; bonus2 bSubRace,RC_Demon,3;','',''); -REPLACE INTO `item_db` VALUES ('5216','Satanic_Chain_','Evolved Evil Wing','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','39','0','bonus bStr,1; bonus bAgi,1; bonus bFlee,3; bonus2 bSubRace,RC_Angel,3;','',''); +REPLACE INTO `item_db` VALUES ('5215','Angelic_Chain_','Evolved Angel Wing','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bDex,1; bonus bInt,1; bonus2 bSubRace,RC_Demon,3;','',''); +REPLACE INTO `item_db` VALUES ('5216','Satanic_Chain_','Evolved Evil Wing','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','39','0','bonus bStr,1; bonus bAgi,1; bonus bFlee,3; bonus2 bSubRace,RC_Angel,3;','',''); REPLACE INTO `item_db` VALUES ('5217','Magestic_Goat_TW','Evolved Majestic Goat','5','20','10','800','0','0','5','0','0','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,2;','',''); REPLACE INTO `item_db` VALUES ('5218','Bunny_Band_','Evolved Bunny Band','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','15','0','bonus bInt,2;','',''); -REPLACE INTO `item_db` VALUES ('5219','Drooping_Kitty_','Evolved Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,18; bonus bFlee,3;','',''); -REPLACE INTO `item_db` VALUES ('5220','Smoking_Pipe_','Evolved Pipe','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1; bonus2 bSubRace,RC_Brute,5;','',''); +REPLACE INTO `item_db` VALUES ('5219','Drooping_Kitty_','Evolved Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,18; bonus bFlee,3;','',''); +REPLACE INTO `item_db` VALUES ('5220','Smoking_Pipe_','Evolved Pipe','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1; bonus2 bSubRace,RC_Brute,5;','',''); REPLACE INTO `item_db` VALUES ('5221','Pair_Of_Red_Ribbon_','Evolved Pair of Red Ribbon','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','45',NULL,'0','169','0','bonus bFlee,5;','',''); REPLACE INTO `item_db` VALUES ('5222','Fish_On_Head_','Evolved Blue Fish','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','149','0','bonus bAgi,1; bonus bDex,1;','',''); -REPLACE INTO `item_db` VALUES ('5223','Big_Golden_Bell_','Evolved Big Golden Bell','5','20','10','200','0','0','2','0','0','4294967294','63','2','768','0','35',NULL,'1','175','0','bonus bAgi,2;','',''); -REPLACE INTO `item_db` VALUES ('5224','Orc_Hero_Helm_TW','Evolved Orc Hero Helm','5','500000','250000','900','0','0','5','0','0','4294967294','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1; bonus bMaxHPrate,10;','',''); +REPLACE INTO `item_db` VALUES ('5223','Big_Golden_Bell_','Evolved Big Golden Bell','5','20','10','200','0','0','2','0','0','2147483647','63','2','768','0','35',NULL,'1','175','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db` VALUES ('5224','Orc_Hero_Helm_TW','Evolved Orc Hero Helm','5','500000','250000','900','0','0','5','0','0','2147483647','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1; bonus bMaxHPrate,10;','',''); REPLACE INTO `item_db` VALUES ('5225','Marcher_Hat','Parade Hat','5','20','10','200','0','0','2','0','1','4294967295','63','2','256','0','10',NULL,'1','269','0','bonus bMdef,2; bonus bStr,2; bonus4 bAutoSpellWhenHit,AL_ANGELUS,5,30,0; bonus4 bAutoSpellWhenHit,HP_ASSUMPTIO,1,1,0; bonus2 bResEff,Eff_Stun,1000; if(BaseClass==Job_Acolyte) bonus4 bAutoSpellOnSkill,AL_HEAL,PR_LEXAETERNA,1,1000;','',''); REPLACE INTO `item_db` VALUES ('5226','Mini_Propeller_','Mini Propeller','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','270','0','bonus bAgi,2; bonus bDex,1; bonus bFlee,10; bonus bCastrate,-getrefine();','',''); -REPLACE INTO `item_db` VALUES ('5227','Red_Deviruchi_Cap','Red Deviruchi Hat','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','64',NULL,'1','271','0','bonus bStr,1; bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('5228','White_Deviruchi_Cap','Gray Deviruchi Hat','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('5229','Gray_Deviruchi_Cap','Brown Deviruchi Hat','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','64',NULL,'1','273','0','bonus bStr,1; bonus bInt,1;','',''); -REPLACE INTO `item_db` VALUES ('5230','White_Drooping_Kitty','Gray Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','274','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db` VALUES ('5231','Gray_Drooping_Kitty','Brown Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','275','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db` VALUES ('5232','Pink_Drooping_Kitty','Pink Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','276','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db` VALUES ('5233','Blue_Drooping_Kitty','Blue Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','277','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db` VALUES ('5234','Yellow_Drooping_Kitty','Yellow Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','278','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db` VALUES ('5227','Red_Deviruchi_Cap','Red Deviruchi Hat','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','64',NULL,'1','271','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5228','White_Deviruchi_Cap','Gray Deviruchi Hat','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5229','Gray_Deviruchi_Cap','Brown Deviruchi Hat','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','64',NULL,'1','273','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5230','White_Drooping_Kitty','Gray Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','274','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db` VALUES ('5231','Gray_Drooping_Kitty','Brown Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','275','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db` VALUES ('5232','Pink_Drooping_Kitty','Pink Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','276','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db` VALUES ('5233','Blue_Drooping_Kitty','Blue Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','277','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db` VALUES ('5234','Yellow_Drooping_Kitty','Yellow Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','278','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); REPLACE INTO `item_db` VALUES ('5235','Gray_Fur_Hat','Brown Beanie','5','20','10','350','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','279','0','bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('5236','Blue_Fur_Hat','Blue Beanie','5','20','10','350','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','280','0','bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('5237','Pink_Fur_Hat','Pink Beanie','5','20','10','350','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','281','0','bonus bLuk,1;','',''); @@ -2391,18 +2391,18 @@ REPLACE INTO `item_db` VALUES ('5253','Lif_Doll_Hat','Lif Doll Hat','5','20','10 REPLACE INTO `item_db` VALUES ('5254','Deviling_Hat','Deviling Hat','5','20','10','500','0','0','1','0','1','4294967295','63','2','256','0','20',NULL,'1','298','0','bonus bStr,1; bonus bCritical,3; bonus2 bSubRace,RC_Angel,-20; if(getrefine()>=6) { bonus bCritical,getrefine()-5; }','',''); REPLACE INTO `item_db` VALUES ('5255','Triple_Poring_Hat','Triple Poring Hat','5','20','10','600','0','0','3','0','0','4294967295','63','2','256','0','20',NULL,'0','299','0','bonus bLuk,3; bonus3 bAutoSpell,BS_GREED,1,50;','',''); REPLACE INTO `item_db` VALUES ('5256','Valkyrie_Feather_Band','Valkyrie Feather Band','5','20','10','100','0','0','1','0','1','4294967295','63','2','256','0','20',NULL,'1','300','0','bonus bInt,1; bonus3 bAutoSpellWhenHit,AL_HEAL,1,10;','',''); -REPLACE INTO `item_db` VALUES ('5257','Soulless_Wing','Soul Ring','5','20','10','300','0','0','2','0','0','4294967294','63','2','256','0','20',NULL,'1','301','0','bonus bMdef,2; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,1,10;','',''); +REPLACE INTO `item_db` VALUES ('5257','Soulless_Wing','Soul Ring','5','20','10','300','0','0','2','0','0','2147483647','63','2','256','0','20',NULL,'1','301','0','bonus bMdef,2; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,1,10;','',''); REPLACE INTO `item_db` VALUES ('5258','Afro_Wig','Afro Wig','5','20','10','100','0','0','0','0','1','4294967295','63','2','768','0','10',NULL,'1','302','0','bonus3 bAutoSpellWhenHit,NV_FIRSTAID,1,300; bonus2 bSubEle,Ele_Neutral,1;','',''); REPLACE INTO `item_db` VALUES ('5259','Elephant_Hat_','Elephant Hat','5','20','10','500','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','215','0','bonus bVit,1; bonus3 bAutoSpell,WZ_WATERBALL,3,10; skill AL_HOLYWATER,1;','',''); REPLACE INTO `item_db` VALUES ('5260','Cookie_Hat','Cookie Hat','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','217','0','bonus bAgi,1; bonus bFlee2,5; bonus bCritAtkRate,5;','',''); REPLACE INTO `item_db` VALUES ('5261','Silver_Tiara_','Silver Tiara','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','218','0','bonus bInt,2; if(BaseClass==Job_Mage) bonus bMatkRate,(JobLevel/20); if(BaseClass==Job_Acolyte) bonus bUseSPrate,-(JobLevel/10); if(BaseClass==Job_Archer) bonus bMaxSP,(JobLevel*2);','',''); REPLACE INTO `item_db` VALUES ('5262','Gold_Tiara_','Golden Tiara','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','232','0','bonus bStr,2; bonus bUnbreakableHelm,0; if((readparam(bDex)<56)&&(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief)) bonus bDex,JobLevel/7;','',''); -REPLACE INTO `item_db` VALUES ('5263','Ati_Atihan_Hat','Pagdayaw','5','20','10','100','0','0','1','0','0','4294967294','63','2','769','0','20',NULL,'1','303','0','bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,3;','',''); +REPLACE INTO `item_db` VALUES ('5263','Ati_Atihan_Hat','Pagdayaw','5','20','10','100','0','0','1','0','0','2147483647','63','2','769','0','20',NULL,'1','303','0','bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,3;','',''); REPLACE INTO `item_db` VALUES ('5264','Aussie_Flag_Hat','Australian Flag Hat','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','304','0','bonus bAllStats,2;','',''); -REPLACE INTO `item_db` VALUES ('5265','Apple_Of_Archer_C','Apple of Archer','5','1','0','0','0','0','7','0','0','4294967294','63','2','256','0','1',NULL,'0','72','0','bonus bDex,4;','',''); +REPLACE INTO `item_db` VALUES ('5265','Apple_Of_Archer_C','Apple of Archer','5','1','0','0','0','0','7','0','0','2147483647','63','2','256','0','1',NULL,'0','72','0','bonus bDex,4;','',''); REPLACE INTO `item_db` VALUES ('5266','Bunny_Band_C','Bunny Band','5','1','0','0','0','0','9','0','0','4294967295','63','2','256','0','1',NULL,'0','15','0','bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db` VALUES ('5267','Sahkkat_C','Sakkat','5','1','0','0','0','0','10','0','0','4294967295','63','2','256','0','0',NULL,'0','67','0','bonus bAgi,3;','',''); -REPLACE INTO `item_db` VALUES ('5268','Lord_Circlet_C','Grand Circlet','5','1','0','0','0','0','10','0','0','4294967294','63','2','256','0','1',NULL,'0','93','0','bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4;','',''); +REPLACE INTO `item_db` VALUES ('5268','Lord_Circlet_C','Grand Circlet','5','1','0','0','0','0','10','0','0','2147483647','63','2','256','0','1',NULL,'0','93','0','bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4;','',''); REPLACE INTO `item_db` VALUES ('5269','Flying_Angel_','Flapping Angel Wing','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'1','264','0','bonus bInt,1; bonus bAgi,1; bonus bAspdRate,3; bonus bSpeedRate,25;','',''); REPLACE INTO `item_db` VALUES ('5270','Fallen_Leaves_','Autumn Leaves','5','20','10','100','0','0','1','0','1','4294967295','63','2','256','0','0',NULL,'1','241','0','bonus bFlee2,5;','',''); REPLACE INTO `item_db` VALUES ('5271','Chinese_Crown_','Phoenix Crown','5','20','10','500','0','0','4','0','1','4294967295','63','2','768','0','0',NULL,'1','221','0','bonus bMdef,3; bonus2 bSubRace,RC_Boss,getrefine();','',''); @@ -2411,11 +2411,11 @@ REPLACE INTO `item_db` VALUES ('5273','Happy_Wig','Happy Wig','5','20','10','100 REPLACE INTO `item_db` VALUES ('5274','Shiny_Wig','Shiny Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','306','0','bonus bSpeedRate,25; bonus bDef,4; skill TF_HIDING,1;','','sc_end SC_HIDING;'); REPLACE INTO `item_db` VALUES ('5275','Marvelous_Wig','Marvelous Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','307','0','bonus bSpeedRate,25; bonus bDef,4; skill TF_HIDING,1;','','sc_end SC_HIDING;'); REPLACE INTO `item_db` VALUES ('5276','Fantastic_Wig','Fantastic Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','308','0','bonus bSpeedRate,25; bonus bDef,4; skill TF_HIDING,1;','','sc_end SC_HIDING;'); -REPLACE INTO `item_db` VALUES ('5277','Yellow_Bandana','Yellow Bandana','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','20',NULL,'1','309','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); -REPLACE INTO `item_db` VALUES ('5278','Yellow_Ribbon','Yellow Ribbon','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','20',NULL,'1','310','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); -REPLACE INTO `item_db` VALUES ('5279','Drooping_Kitty_C','Refined Drooping Cat','5','2','1','0','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); +REPLACE INTO `item_db` VALUES ('5277','Yellow_Bandana','Yellow Bandana','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','20',NULL,'1','309','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); +REPLACE INTO `item_db` VALUES ('5278','Yellow_Ribbon','Yellow Ribbon','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','20',NULL,'1','310','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); +REPLACE INTO `item_db` VALUES ('5279','Drooping_Kitty_C','Refined Drooping Cat','5','2','1','0','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); REPLACE INTO `item_db` VALUES ('5280','Magestic_Goat_C','Baphomet Horns','5','2','1','0','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); -REPLACE INTO `item_db` VALUES ('5281','Deviruchi_Cap_C','Refined Deviruchi Hat','5','2','1','0','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'0','123','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db` VALUES ('5281','Deviruchi_Cap_C','Refined Deviruchi Hat','5','2','1','0','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'0','123','0','bonus bStr,1; bonus bInt,1;','',''); REPLACE INTO `item_db` VALUES ('5282','euRO_Baseball_Cap','Europe Baseball Cap','5','0','0','200','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','216','0','','',''); REPLACE INTO `item_db` VALUES ('5283','Chick_Hat','Chick Hat','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'0','311','0','bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill TF_DOUBLE,2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3;','',''); REPLACE INTO `item_db` VALUES ('5284','Water_Lily_Crown','Water Lily Crown','5','20','10','200','0','0','0','0','1','4294967295','63','2','256','0','30',NULL,'0','312','0','bonus bDex,1; bonus bAgi,1; bonus bHPrecovRate,5; bonus bSPrecovRate,3;','',''); @@ -2434,13 +2434,13 @@ REPLACE INTO `item_db` VALUES ('5296','Drooping_Nine_Tail_','Drooping Nine Tail' REPLACE INTO `item_db` VALUES ('5297','Soulless_Wing_','Soul Wing','5','20','10','300','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','301','0','bonus bAllStats,1; bonus2 bSPRegenRate,2,10000;','',''); REPLACE INTO `item_db` VALUES ('5298','Marvelous_Wig_','Dokebi\'s Wig','5','20','10','100','0','0','1','0','1','4294967295','63','2','768','0','0',NULL,'1','307','0','bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,-5; bonus2 bSubEle,Ele_Water,-5;','',''); REPLACE INTO `item_db` VALUES ('5299','Ati_Atihan_Hat_','Pagdayaw','5','20','10','100','0','0','1','0','1','4294967295','63','2','769','0','0',NULL,'0','303','0','bonus3 bAutoSpell,DC_SCREAM,1,50;','',''); -REPLACE INTO `item_db` VALUES ('5300','Bullock_Helm','Bullock Helm','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','45',NULL,'1','322','0','bonus bMaxHP,100;','',''); +REPLACE INTO `item_db` VALUES ('5300','Bullock_Helm','Bullock Helm','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','45',NULL,'1','322','0','bonus bMaxHP,100;','',''); REPLACE INTO `item_db` VALUES ('5301','Russian_Ribbon','Victory Hairband','5','0','0','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','323','0','','',''); REPLACE INTO `item_db` VALUES ('5302','Lotus_Flower_Hat','Flower Lily','5','0','0','100','0','0','1','0','0','4294967295','63','2','256','0','30',NULL,'1','324','0','','',''); REPLACE INTO `item_db` VALUES ('5303','Flower_Coronet','Flower Crown','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','325','0','bonus bMdef,3; bonus bMaxHP,50;','',''); REPLACE INTO `item_db` VALUES ('5304','Cap_Of_Blindness','Cap Of Blindness','5','20','10','800','0','0','4','0','1','4294967295','63','2','769','0','50',NULL,'1','326','0','bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000;','',''); REPLACE INTO `item_db` VALUES ('5305','Pirate_Dagger','Pirate Dagger','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','327','0','bonus bBaseAtk,5;','',''); -REPLACE INTO `item_db` VALUES ('5306','Freyja_Crown','Freya\'s Crown','5','0','0','500','0','0','12','0','0','4294967294','63','2','256','0','0',NULL,'0','328','0','bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db` VALUES ('5306','Freyja_Crown','Freya\'s Crown','5','0','0','500','0','0','12','0','0','2147483647','63','2','256','0','0',NULL,'0','328','0','bonus2 bSubRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db` VALUES ('5307','Carmen_Miranda\'s_Hat','Carmen Miranda\'s Hat','5','20','10','400','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','329','0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,DC_WINKCHARM,1,50;','',''); REPLACE INTO `item_db` VALUES ('5308','Brazilian_Flag_Hat','Brazil National Flag Hat','5','20','10','300','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','330','0','bonus bSpeedAddRate,25;','',''); REPLACE INTO `item_db` VALUES ('5309','Mahican','Wool Mask','5','20','10','200','0','0','1','0','0','4294967295','63','2','769','0','0',NULL,'1','331','0','skill RG_GRAFFITI,1;','',''); @@ -2453,19 +2453,19 @@ REPLACE INTO `item_db` VALUES ('5315','Observer','Observer','5','20','10','100', REPLACE INTO `item_db` VALUES ('5316','Umbrella_Hat','Umbrella Hat','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','338','0','bonus2 bSubEle,Ele_Water,3;','',''); REPLACE INTO `item_db` VALUES ('5317','Fisherman_Hat','Fisherman\'s Hat','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','339','0','bonus3 bAutoSpell,WZ_WATERBALL,3,50;','',''); REPLACE INTO `item_db` VALUES ('5318','Poring_Party_Hat','Poring Party Hat','5','20','10','0','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','340','0','bonus bAllStats,3;','',''); -REPLACE INTO `item_db` VALUES ('5319','Hellomother_Hat','Hello Mother Hat','5','20','10','200','0','0','2','0','0','4294967294','63','2','256','0','10',NULL,'1','341','0','bonus bLuk,3;','',''); -REPLACE INTO `item_db` VALUES ('5320','Champion_Wreath','Champion Wreath','5','20','10','500','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'1','261','0','bonus bAllStats,2; bonus4 bAutoSpellWhenHit,AL_HEAL,1,50,0;','',''); +REPLACE INTO `item_db` VALUES ('5319','Hellomother_Hat','Hello Mother Hat','5','20','10','200','0','0','2','0','0','2147483647','63','2','256','0','10',NULL,'1','341','0','bonus bLuk,3;','',''); +REPLACE INTO `item_db` VALUES ('5320','Champion_Wreath','Champion Wreath','5','20','10','500','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'1','261','0','bonus bAllStats,2; bonus4 bAutoSpellWhenHit,AL_HEAL,1,50,0;','',''); REPLACE INTO `item_db` VALUES ('5321','Indonesian_Bandana','Bandana Merah Putih','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','342','0','','',''); REPLACE INTO `item_db` VALUES ('5322','Scarf','Kerchief','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','24',NULL,'1','343','0','bonus bMdef,2; bonus bFlee,5;','',''); REPLACE INTO `item_db` VALUES ('5323','Misstrance_Crown','Misstrance Crown','5','20','10','0','0','0','10','0','0','4294967295','63','2','256','0','0',NULL,'0','165','0','bonus bAllStats,2;','',''); REPLACE INTO `item_db` VALUES ('5324','Little_Angel_Doll','Little Angel Doll','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','10',NULL,'1','344','0','bonus bDex,3; bonus4 bAutoSpellWhenHit,CR_GRANDCROSS,3,30,0;','',''); REPLACE INTO `item_db` VALUES ('5325','Robo_Eye','Robo Eye','5','20','10','200','0','0','2','0','0','4294967295','63','2','512','0','10',NULL,'0','345','0','bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bMatkRate,2; bonus bDex,1;','',''); REPLACE INTO `item_db` VALUES ('5326','Masquerade_C','Masquerade C','5','1','0','0','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','78','0','bonus2 bAddRace,RC_DemiHuman,7;','',''); -REPLACE INTO `item_db` VALUES ('5327','Orc_Hero_Helm_C','Refined Helmet of Orc Hero','5','1','0','0','0','0','10','0','0','4294967294','63','2','768','0','0',NULL,'0','178','0','bonus bStr,5; bonus bVit,3;','',''); +REPLACE INTO `item_db` VALUES ('5327','Orc_Hero_Helm_C','Refined Helmet of Orc Hero','5','1','0','0','0','0','10','0','0','2147483647','63','2','768','0','0',NULL,'0','178','0','bonus bStr,5; bonus bVit,3;','',''); REPLACE INTO `item_db` VALUES ('5328','Evil_Wing_Ears_C','Evil Wing Ears C','5','1','0','0','0','0','2','0','0','4294967295','63','2','512','0','0',NULL,'0','152','0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('5329','Dark_Blindfold_C','Dark Blindfold C','5','1','0','0','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500;','',''); -REPLACE INTO `item_db` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','1','0','0','0','0','6','0','0','4294967294','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Curse,1000;','',''); -REPLACE INTO `item_db` VALUES ('5331','Corsair_C','Corsair C','5','1','0','0','0','0','10','0','0','4294967294','63','2','256','0','0',NULL,'0','105','0','bonus bVit,3; bonus bInt,3;','',''); +REPLACE INTO `item_db` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','1','0','0','0','0','6','0','0','2147483647','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Curse,1000;','',''); +REPLACE INTO `item_db` VALUES ('5331','Corsair_C','Corsair C','5','1','0','0','0','0','10','0','0','2147483647','63','2','256','0','0',NULL,'0','105','0','bonus bVit,3; bonus bInt,3;','',''); REPLACE INTO `item_db` VALUES ('5332','Loki_Mask','Loki Mask','5','0','0','200','0','0','0','0','0','4294967295','63','2','513','0','20',NULL,'0','346','0','bonus bFlee2,3;','',''); REPLACE INTO `item_db` VALUES ('5333','Radio_Antenna','Radio Antenna','5','0','0','1500','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','347','0','bonus bMdef,5; bonus bCritical,5; bonus bFlee,5; skill MG_LIGHTNINGBOLT,1; bonus4 bAutoSpellWhenHit,MG_THUNDERSTORM,5,30,1;','',''); REPLACE INTO `item_db` VALUES ('5334','Angeling_Wanna_Fly','Flapping Angeling','5','0','0','700','0','0','0','0','0','4294967295','63','2','256','0','38',NULL,'0','348','0','bonus bLuk,2; bonus bMdef,2;','',''); @@ -2481,12 +2481,12 @@ REPLACE INTO `item_db` VALUES ('5343','Tayelin_Doll_Hat','Telling Doll Hat','5', REPLACE INTO `item_db` VALUES ('5344','Binit_Doll_Hat','Bennit Doll Hat','5','0','0','500','0','0','0','0','1','4294967295','63','2','256','0','60',NULL,'0','358','0','bonus2 bSubRace,RC_DemiHuman,5; bonus bVit,2; autobonus \"{ bonus bAspdRate,5; }\",20,30000,0,\"{ specialeffect2 EF_HASTEUP; }\";','',''); REPLACE INTO `item_db` VALUES ('5345','Debril_Doll_Hat','W Doll Hat','5','0','0','500','0','0','0','0','1','4294967295','63','2','256','0','60',NULL,'0','359','0','bonus2 bSubRace,RC_DemiHuman,5; bonus bLuk,2; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,5;','',''); REPLACE INTO `item_db` VALUES ('5346','Gf_Recruiter_Hat','Gf Recruiter Hat','5','0','0','0','0','0','2','0','0','4294967295','63','2','256','0','10',NULL,'1','360','0','','',''); -REPLACE INTO `item_db` VALUES ('5347','Ph.D_Hat_','Ph.D Hat','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','98','0','','',''); -REPLACE INTO `item_db` VALUES ('5348','Big_Sis\'_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','2','0','1','4294967294','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db` VALUES ('5349','Boy\'s_Cap_','Boy\'s Cap','5','20','10','100','0','0','2','0','1','4294967294','63','2','256','0','0',NULL,'1','102','0','','',''); -REPLACE INTO `item_db` VALUES ('5350','Pirate_Bandana_','Pirate Bandana','5','20','10','100','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); +REPLACE INTO `item_db` VALUES ('5347','Ph.D_Hat_','Ph.D Hat','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','98','0','','',''); +REPLACE INTO `item_db` VALUES ('5348','Big_Sis\'_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','2','0','1','2147483647','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db` VALUES ('5349','Boy\'s_Cap_','Boy\'s Cap','5','20','10','100','0','0','2','0','1','2147483647','63','2','256','0','0',NULL,'1','102','0','','',''); +REPLACE INTO `item_db` VALUES ('5350','Pirate_Bandana_','Pirate Bandana','5','20','10','100','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('5351','Sunflower_','Sunflower','5','20','10','100','0','0','1','0','1','4294967295','63','2','256','0','0',NULL,'0','37','0','bonus2 bSubRace,RC_Insect,10;','',''); -REPLACE INTO `item_db` VALUES ('5352','Poporing_Cap','Poporing Cap','5','20','10','700','0','0','2','0','0','4294967294','63','2','256','0','38',NULL,'1','361','0','','',''); +REPLACE INTO `item_db` VALUES ('5352','Poporing_Cap','Poporing Cap','5','20','10','700','0','0','2','0','0','2147483647','63','2','256','0','38',NULL,'1','361','0','','',''); REPLACE INTO `item_db` VALUES ('5353','Helm_Of_Sun_','Hat of the Sun God','5','20','10','2400','0','0','4','0','1','13623168','63','2','768','0','0',NULL,'1','138','0','bonus bStr,3; bonus bInt,2;','',''); REPLACE INTO `item_db` VALUES ('5354','Muslim_Hat_M','Muslim Hat M','5','0','0','100','0','0','2','0','0','4294967295','63','1','256','0','0',NULL,'0','362','0','bonus bCastrate,-5;','',''); REPLACE INTO `item_db` VALUES ('5355','Muslim_Hat_F','Selendang','5','0','0','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','363','0','bonus bCastrate,-5;','',''); @@ -2517,7 +2517,7 @@ REPLACE INTO `item_db` VALUES ('5379','Balloon_Hat','Tam','5','0','0','800','0', REPLACE INTO `item_db` VALUES ('5380','Fish_Head_Hat','Fish Head Hat','5','20','10','400','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','386','0','bonus3 bAutoSpell,SA_FROSTWEAPON,1,5;','',''); REPLACE INTO `item_db` VALUES ('5381','Santa_Poring_Hat','Santa Poring Hat','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'0','387','0','bonus bMdef,2; bonus2 bAddEle,Ele_Dark,3; bonus2 bSubEle,Ele_Dark,3;','',''); REPLACE INTO `item_db` VALUES ('5382','Bell_Ribbon','Bell Ribbon','5','20','10','200','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','388','0','bonus bVit,1; skill AL_ANGELUS,1;','','sc_end SC_ANGELUS;'); -REPLACE INTO `item_db` VALUES ('5383','Hunting_Cap','Hunter\'s Cap','5','20','10','250','0','0','3','0','1','4294967294','63','2','256','0','50',NULL,'1','389','0','bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db` VALUES ('5383','Hunting_Cap','Hunter\'s Cap','5','20','10','250','0','0','3','0','1','2147483647','63','2','256','0','50',NULL,'1','389','0','bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db` VALUES ('5384','Santa_Hat_1','Twin Pompom By JB','5','20','10','200','0','0','1','0','1','4294967295','63','2','256','0','20',NULL,'1','390','0','bonus bLuk,3; skill WZ_ESTIMATION,1; bonus3 bAutoSpell,AL_INCAGI,1,500;','',''); REPLACE INTO `item_db` VALUES ('5385','Yoyo_Hat','Yoyo Hat','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','20',NULL,'1','391','0','skill TF_HIDING, 1;','','sc_end SC_HIDING;'); REPLACE INTO `item_db` VALUES ('5386','Ayam_','Ayam','5','0','0','70','0','0','7','0','0','4294967295','63','2','256','0','1',NULL,'0','228','0','bonus bMdef,7; bonus bFlee,7; bonus2 bAddMonsterDropItem,12198,200;','',''); @@ -2550,12 +2550,12 @@ REPLACE INTO `item_db` VALUES ('5412','Sweet_Candy','Sweet Candy','5','20','10', REPLACE INTO `item_db` VALUES ('5413','Popcorn_Hat','Pop Corn Hat','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','415','0','bonus2 bSubEle,Ele_Wind, 10;','',''); REPLACE INTO `item_db` VALUES ('5414','Campfire_Hat','Camp Fire Hat','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','416','0','bonus2 bSubEle,Ele_Fire, 10; bonus4 bAutoSpellWhenHit, MG_FIREBALL, 5, 100, 1;','',''); REPLACE INTO `item_db` VALUES ('5415','Poring_Cake_Cap','Poring Cake Hat','5','20','10','1000','0','0','5','0','0','4294967295','63','2','256','0','40',NULL,'1','417','0','bonus bMdef,5; bonus bCritical,5; bonus bFlee,5; bonus bFlee2,5; bonus bAspdRate,5; bonus bCastrate,-5; bonus bDelayrate,-5;','',''); -REPLACE INTO `item_db` VALUES ('5416','Beer_Cap','Beer Hat','5','20','10','600','0','0','2','0','0','4294967294','63','2','256','0','18',NULL,'1','418','0','bonus bFlee2,5; skill SM_RECOVERY,3; skill MG_SRECOVERY,3;','',''); +REPLACE INTO `item_db` VALUES ('5416','Beer_Cap','Beer Hat','5','20','10','600','0','0','2','0','0','2147483647','63','2','256','0','18',NULL,'1','418','0','bonus bFlee2,5; skill SM_RECOVERY,3; skill MG_SRECOVERY,3;','',''); REPLACE INTO `item_db` VALUES ('5417','Crown_Parrot','Crown Parrots','5','20','10','200','0','0','1','0','1','4294967295','63','2','256','0','0',NULL,'0','419','0','bonus bInt,1; bonus2 bResEff,Eff_Silence,10000; bonus3 bAutoSpell,DC_SCREAM,1,50;','',''); REPLACE INTO `item_db` VALUES ('5418','Soldier_Hat','Legionnaire Hat','5','20','10','400','0','0','4','0','1','4294967295','63','2','256','0','0',NULL,'1','420','0','bonus bStr,1; bonus2 bAddRace,RC_NonBoss,3; bonus2 bAddRace,RC_Boss,3; bonus bUseSPrate,10;','',''); REPLACE INTO `item_db` VALUES ('5419','Evolved_Leaf','Leaves Of Grass','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','57','0','bonus bVit,1; bonus2 bSubRace,RC_Plant,5;','',''); -REPLACE INTO `item_db` VALUES ('5420','Mask_Of_Ifrit','Mask Of Ifrit','5','0','0','0','0','0','8','0','0','4294967294','63','2','769','0','70',NULL,'0','421','0','bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill MG_SIGHT,1; bonus3 bAutoSpellWhenHit,WZ_METEOR,3,50; bonus3 bAutoSpell,MG_FIREBOLT,3,50;','','sc_end SC_SIGHT;'); -REPLACE INTO `item_db` VALUES ('5421','Ifrit\'s_Ear','Ears Of Ifrit','5','20','10','0','0','0','0','0','0','4294967294','63','2','512','0','70',NULL,'0','422','0','bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','',''); +REPLACE INTO `item_db` VALUES ('5420','Mask_Of_Ifrit','Mask Of Ifrit','5','0','0','0','0','0','8','0','0','2147483647','63','2','769','0','70',NULL,'0','421','0','bonus bStr,1; bonus bInt,1; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill MG_SIGHT,1; bonus3 bAutoSpellWhenHit,WZ_METEOR,3,50; bonus3 bAutoSpell,MG_FIREBOLT,3,50;','','sc_end SC_SIGHT;'); +REPLACE INTO `item_db` VALUES ('5421','Ifrit\'s_Ear','Ears Of Ifrit','5','20','10','0','0','0','0','0','0','2147483647','63','2','512','0','70',NULL,'0','422','0','bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','',''); REPLACE INTO `item_db` VALUES ('5422','Linguistic_Book_Cap','Linguistic Book Hat','5','20','10','70','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','423','0','bonus bInt,1; bonus bMdef,2;','',''); REPLACE INTO `item_db` VALUES ('5423','Lovecap_China','I Love China','5','20','10','250','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'0','424','0','bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db` VALUES ('5424','Fanta_Orange_Can','Fanta Orange Can Hat','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','425','0','','',''); @@ -2571,10 +2571,10 @@ REPLACE INTO `item_db` VALUES ('5433','Golden_Wreath','Golden Laurel','5','20',' REPLACE INTO `item_db` VALUES ('5435','Coke_Hat','Red Minstrel Hat','5','20','10','100','0','0','1','0','1','4294967295','63','2','256','0','40',NULL,'1','436','0','bonus bInt,1; bonus bMaxSP,80; bonus bMdef,3; if(getrefine()>5) { bonus bMdef,getrefine()-5; bonus bMaxSP,(getrefine()-5)*10; }','',''); REPLACE INTO `item_db` VALUES ('5436','Bride\'s_Corolla','Bride\'s Corolla','5','20','10','200','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','437','0','bonus bLuk,3; bonus bMdef,2;','',''); REPLACE INTO `item_db` VALUES ('5437','Flower_Of_Fairy','Fairy Flower','5','20','10','200','0','0','1','0','1','4294967295','63','2','256','0','0',NULL,'1','438','0','bonus bInt,1; bonus bMdef,1; bonus2 bSubRace,RC_Insect,5;','',''); -REPLACE INTO `item_db` VALUES ('5438','Fillet_Green','Cute Green Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','439','0','bonus bMaxSP,20;','',''); -REPLACE INTO `item_db` VALUES ('5439','Fillet_Red','Cute Red Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','440','0','bonus bMaxSP,20;','',''); -REPLACE INTO `item_db` VALUES ('5440','Fillet_Blue','Cute Blue Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','441','0','bonus bMaxSP,20;','',''); -REPLACE INTO `item_db` VALUES ('5441','Fillet_White','Cute White Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','442','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db` VALUES ('5438','Fillet_Green','Cute Green Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','439','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db` VALUES ('5439','Fillet_Red','Cute Red Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','440','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db` VALUES ('5440','Fillet_Blue','Cute Blue Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','441','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db` VALUES ('5441','Fillet_White','Cute White Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','442','0','bonus bMaxSP,20;','',''); REPLACE INTO `item_db` VALUES ('5442','Necktie','Necktie','5','20','10','100','0','0','3','0','1','4294967295','63','2','256','0','70',NULL,'1','443','0','bonus bVit,1; bonus bHit,-5; bonus bUseSPrate,5;','',''); REPLACE INTO `item_db` VALUES ('5443','Status_Of_Baby_Angel','Statue Of Baby Angel','5','20','10','600','0','0','3','0','1','4294967295','63','2','256','0','70',NULL,'1','444','0','bonus bMdef,2; bonus4 bAutoSpellWhenHit,PR_STRECOVERY,1,20,0;','',''); REPLACE INTO `item_db` VALUES ('5444','Hair_Brush','Hair Brush','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','445','0','bonus bCritical,6;','',''); @@ -2583,7 +2583,7 @@ REPLACE INTO `item_db` VALUES ('5446','Cat_Foot_Hairpin','Catfoot Hairpin','5',' REPLACE INTO `item_db` VALUES ('5447','Frog_Cap','Frog Hat','5','20','10','500','0','0','3','0','0','4294967295','63','2','256','0','70',NULL,'1','448','0','bonus bMdef,1; bonus2 bAddRace,RC_Insect,12; bonus2 bMagicAddRace,RC_Insect,12;','',''); REPLACE INTO `item_db` VALUES ('5448','Solo_Play_Box1','Soloplay Box1','5','0','0','300','0','0','0','0','1','4294967295','63','2','769','0','0',NULL,'1','449','0','','',''); REPLACE INTO `item_db` VALUES ('5449','Solo_Play_Box2','Soloplay Box2','5','0','0','300','0','0','0','0','1','4294967295','63','2','769','0','0',NULL,'1','450','0','','',''); -REPLACE INTO `item_db` VALUES ('5450','Sun_Cap','Solar Hat','5','20','10','1000','0','0','0','0','0','4294967294','63','2','256','0','20',NULL,'1','451','0','','',''); +REPLACE INTO `item_db` VALUES ('5450','Sun_Cap','Solar Hat','5','20','10','1000','0','0','0','0','0','2147483647','63','2','256','0','20',NULL,'1','451','0','','',''); REPLACE INTO `item_db` VALUES ('5451','Dragonhelm_Gold','RWC 2008 Dragon Helm Gold','5','20','10','2500','0','0','7','0','1','4294967295','63','2','256','0','1',NULL,'0','452','0','bonus bAspdRate,10; bonus bAllStats,3; bonus2 bAddRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db` VALUES ('5452','Dragonhelm_Silver','RWC 2008 Dragon Helm Silver','5','20','10','2500','0','0','5','0','1','4294967295','63','2','256','0','1',NULL,'0','453','0','bonus bAspdRate,7; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,3;','',''); REPLACE INTO `item_db` VALUES ('5453','Dragonhelm_Copper','RWC 2008 Dragon Helm Copper','5','20','10','2500','0','0','0','0','1','4294967295','63','2','256','0','1',NULL,'0','454','0','bonus bAspdRate,5; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,1;','',''); @@ -2614,13 +2614,13 @@ REPLACE INTO `item_db` VALUES ('5488','J_Twin_Santahat','Twin Santa Hat','5','20 REPLACE INTO `item_db` VALUES ('5489','Love_Daddy','Love Daddy Hat','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','484','0','bonus bDex,2;','',''); REPLACE INTO `item_db` VALUES ('5490','Anubis_Helm','Anubis Helm','5','20','10','0','0','0','3','0','0','4294967295','63','2','256','0','70',NULL,'0','485','0','bonus bMdef,5; bonus2 bSubRace,RC_Boss,10; bonus bHealPower2,10; bonus bAddItemHealRate,10;','',''); REPLACE INTO `item_db` VALUES ('5491','Hat_Of_Outlaw','Bandit Hat','5','20','10','800','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','486','0','bonus bStr,2; bonus2 bSubEle,Ele_Fire, 10;','',''); -REPLACE INTO `item_db` VALUES ('5492','Boy\'s_Cap_I','Student Cap','5','0','0','0','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'0','102','0','bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5;','',''); -REPLACE INTO `item_db` VALUES ('5493','Ulle_Cap_I','Ulle\'s Cap','5','0','0','0','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'0','254','0','bonus bDex,2; bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('5492','Boy\'s_Cap_I','Student Cap','5','0','0','0','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'0','102','0','bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db` VALUES ('5493','Ulle_Cap_I','Ulle\'s Cap','5','0','0','0','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'0','254','0','bonus bDex,2; bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('5494','Spinx_Helm_I','Sphinx Hat','5','0','0','0','0','0','5','0','0','16514','63','2','257','0','0',NULL,'0','137','0','bonus bStr,5;','',''); REPLACE INTO `item_db` VALUES ('5495','Power_Of_Thor','Power Of Thor','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','75',NULL,'1','493','0','bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5;','',''); REPLACE INTO `item_db` VALUES ('5496','Dice_Hat','Dice Hat','5','20','10','300','0','0','3','0','0','4294967295','63','2','256','0','50',NULL,'0','494','0','bonus bLuk,4;','',''); -REPLACE INTO `item_db` VALUES ('5497','King_Tiger_Doll_Hat','King Tiger Doll Hat','5','20','10','400','0','0','3','0','1','4294967294','63','2','256','0','30',NULL,'1','495','0','bonus bStr,2;','',''); -REPLACE INTO `item_db` VALUES ('5498','Wondering_Wolf_Helm','Wandering Wolf Helm','5','20','10','600','0','0','5','0','0','4294967294','63','2','768','0','50',NULL,'0','490','0','bonus bVit,5; bonus bFlee,10;','',''); +REPLACE INTO `item_db` VALUES ('5497','King_Tiger_Doll_Hat','King Tiger Doll Hat','5','20','10','400','0','0','3','0','1','2147483647','63','2','256','0','30',NULL,'1','495','0','bonus bStr,2;','',''); +REPLACE INTO `item_db` VALUES ('5498','Wondering_Wolf_Helm','Wandering Wolf Helm','5','20','10','600','0','0','5','0','0','2147483647','63','2','768','0','50',NULL,'0','490','0','bonus bVit,5; bonus bFlee,10;','',''); REPLACE INTO `item_db` VALUES ('5499','Pizza_Hat','Pizza Hat','5','20','10','600','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','487','0','skill SM_PROVOKE, 1;','',''); REPLACE INTO `item_db` VALUES ('5500','Icecream_Hat','Icecream Hat','5','0','0','300','0','0','6','0','0','4294967295','63','2','256','0','30',NULL,'1','488','0','bonus bMdef,3; skill MG_FROSTDIVER, 3;','',''); REPLACE INTO `item_db` VALUES ('5501','Pirate\'s_Pride','Pirate\'s Pride','5','0','0','100','0','0','6','0','0','4294967295','63','2','256','0','10',NULL,'0','496','0','bonus2 bAddRace2, 6, 5; bonus2 bSubRace2, 6, 5;','',''); @@ -2650,7 +2650,7 @@ REPLACE INTO `item_db` VALUES ('5524','Sakura_Milk_Tea_Hat','Sakura Milk Tea Hat REPLACE INTO `item_db` VALUES ('5525','First_Leaf_Tea_Hat','Flower Hat','5','20','10','100','0','0','4','0','1','4294967295','63','2','256','0','0',NULL,'1','519','0','bonus bMaxHP,80; bonus bMaxSP,20;','',''); REPLACE INTO `item_db` VALUES ('5526','Lady_Tanee_Doll','Tanigumi Girl Doll','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','60',NULL,'0','520','0','bonus bAgi,2; bonus bFlee,3; bonus2 bSubEle,Ele_Wind, 5; bonus2 bAddMonsterDropItem, 513, 200;','',''); REPLACE INTO `item_db` VALUES ('5527','Lunatic_Hat','Lunatic Hat','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','1',NULL,'1','521','0','bonus bLuk,5; bonus bMdef,2; bonus bFlee2,5; bonus2 bAddMonsterDropItem,622,50;','',''); -REPLACE INTO `item_db` VALUES ('5528','King_Frog_Hat','Frog King Hat','5','20','10','500','0','0','4','0','1','4294967294','63','2','256','0','30',NULL,'0','522','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db` VALUES ('5528','King_Frog_Hat','Frog King Hat','5','20','10','500','0','0','4','0','1','2147483647','63','2','256','0','30',NULL,'0','522','0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('5529','Evil\'s_Bone_Hat','Satanic Bone Helm','5','20','10','600','0','0','6','0','1','4294967295','63','2','768','0','70',NULL,'1','523','0','bonus bDex,3; bonus2 bSubEle,Ele_Neutral,5; skill WZ_FROSTNOVA,1;','',''); REPLACE INTO `item_db` VALUES ('5530','Raven_Cap','Raven Cap','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','30',NULL,'1','524','0','','',''); REPLACE INTO `item_db` VALUES ('5532','Pirate_Dagger_J','Pirate Dagger','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'1','327','0','bonus bShortWeaponDamageReturn,1;','',''); @@ -2676,7 +2676,7 @@ REPLACE INTO `item_db` VALUES ('5553','Fest_Bunny_Band','Festival Bunny Band','5 REPLACE INTO `item_db` VALUES ('5554','Octopus_Hat','Octopus Hat','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','20',NULL,'1','538','0','bonus3 bAutoSpell,SM_PROVOKE,5,10; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db` VALUES ('5555','Leaf_Cat_Hat','Leaf Cat Hat','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','539','0','bonus bAgi,1; bonus3 bAutoSpellWhenHit,AL_HEAL,3,10;','',''); REPLACE INTO `item_db` VALUES ('5556','Fur_Seal_Hat','Seal Hat','5','20','10','500','0','0','3','0','0','4294967295','63','2','769','0','55',NULL,'1','540','0','bonus bInt,1; bonus3 bAutoSpell,WZ_FROSTNOVA,1,30;','',''); -REPLACE INTO `item_db` VALUES ('5557','Wild_Rose_Hat','Wild Rose Hat','5','20','10','500','0','0','6','0','1','4294967294','63','2','256','0','20',NULL,'1','541','0','bonus bAgi,3;','',''); +REPLACE INTO `item_db` VALUES ('5557','Wild_Rose_Hat','Wild Rose Hat','5','20','10','500','0','0','6','0','1','2147483647','63','2','256','0','20',NULL,'1','541','0','bonus bAgi,3;','',''); REPLACE INTO `item_db` VALUES ('5558','Saci_Hat','Luxury Hat','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','30',NULL,'1','542','0','bonus3 bAddMonsterDropItem,510,RC_Plant,500;','',''); REPLACE INTO `item_db` VALUES ('5559','Piece_Of_White_Cloth_E','Piece Of White Cloth','5','0','0','0','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','543','0','','',''); REPLACE INTO `item_db` VALUES ('5560','Bullock_Helm_J','Bullock Helm','5','20','10','3000','0','0','3','0','0','4294967295','63','2','256','0','75',NULL,'1','322','0','bonus bMaxHP,100; bonus bNoKnockback,0; bonus2 bSubEle,Ele_Neutral,-20; bonus2 bSubEle,Ele_Fire,-20; bonus2 bSubEle,Ele_Water,-20; bonus2 bSubEle,Ele_Wind,-20; bonus2 bSubEle,Ele_Earth,-20; bonus2 bSubEle,Ele_Dark,-20; bonus2 bSubEle,Ele_Holy,-20; bonus2 bSubEle,Ele_Ghost,-20;','',''); @@ -2760,10 +2760,10 @@ REPLACE INTO `item_db` VALUES ('5803','Flower_Love_Hat','Love Flower Hat','5','2 REPLACE INTO `item_db` VALUES ('5804','Pirate_Eyepatch','Pirate Eye Bandage','5','1000','500','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','13','0','','',''); REPLACE INTO `item_db` VALUES ('5805','Victorious_Coronet','Victorious Coronet','5','0','0','150','0','0','1','0','0','4294967295','63','2','256','0','70',NULL,'0','43','0','bonus bMaxHPrate,15; bonus bSPrecovRate,5;','',''); REPLACE INTO `item_db` VALUES ('5806','Poem_Natalia_Hat','Poet Natalie\'s Hat','5','20','10','300','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'0','67','0','','',''); -REPLACE INTO `item_db` VALUES ('5807','October_Fest_Cap','October Fest Cap','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','50',NULL,'1','104','0','','',''); +REPLACE INTO `item_db` VALUES ('5807','October_Fest_Cap','October Fest Cap','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','50',NULL,'1','104','0','','',''); REPLACE INTO `item_db` VALUES ('5808','Diabolus_Helmet','Dark Bacilium','5','20','10','250','0','0','5','0','1','1040256','2','2','769','0','0',NULL,'1','364','0','bonus2 bResEff,Eff_Stone,2000+(getrefine()*200); bonus2 bResEff,Eff_Freeze,2000+(getrefine()*200); bonus2 bResEff,Eff_Stun,2000+(getrefine()*200);','',''); REPLACE INTO `item_db` VALUES ('5809','Boom_Boom_Hat','Boom Boom Hat','5','0','0','100','0','0','6','0','0','4294967295','63','2','256','0','0',NULL,'0','216','0','bonus bAllStats,5;','',''); -REPLACE INTO `item_db` VALUES ('5810','Ph.D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','98','0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','',''); +REPLACE INTO `item_db` VALUES ('5810','Ph.D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','98','0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','',''); REPLACE INTO `item_db` VALUES ('5811','Santa_Beard','Santa\'s Beard','5','20','10','100','0','0','5','0','0','4294967295','63','2','1','0','0',NULL,'0','25','0','','',''); REPLACE INTO `item_db` VALUES ('5812','Hat_Of_Expert','Hat Of Expert','5','0','0','0','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','16','0','','',''); REPLACE INTO `item_db` VALUES ('5815','Cowboy_Hat_J','Purple Cowboy Hat','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','475','0','bonus bStr,1; bonus2 bSubSize, 0, 5; bonus2 bSubSize, 1, 5; bonus2 bSubSize, 2, 5;','',''); @@ -5044,9 +5044,9 @@ REPLACE INTO `item_db` VALUES ('12996','Blue_Herb_Box','Blue Herb Box','18','20' REPLACE INTO `item_db` VALUES ('12997','Elunium_Box','Elunium Box','18','20','10','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','getitem 985,5;','',''); REPLACE INTO `item_db` VALUES ('12998','Oridecon_Box','Oridecon Box','18','20','10','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','getitem 984,5;','',''); REPLACE INTO `item_db` VALUES ('12999','Branch_Of_Dead_Tree_Box','Dead Branch Box','18','20','10','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','getitem 604,3;','',''); -REPLACE INTO `item_db` VALUES ('13000','Jujube_Dagger','Jujube Dagger','4','10000','5000','600','39','0','0','1','0','4271865583','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Wind;','',''); -REPLACE INTO `item_db` VALUES ('13001','Dragon_Killer','Dragon Killer','4','20','10','900','110','0','0','1','0','4271865583','63','2','2','4','60',NULL,'1','1','0','bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10;','',''); -REPLACE INTO `item_db` VALUES ('13002','Ginnungagap','Ginnungagap','4','20','10','700','148','0','0','1','0','4271865583','63','2','2','4','70',NULL,'1','1','0','bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50;','',''); +REPLACE INTO `item_db` VALUES ('13000','Jujube_Dagger','Jujube Dagger','4','10000','5000','600','39','0','0','1','0','2147483647','63','2','2','1','1',NULL,'1','1','0','bonus bAtkEle,Ele_Wind;','',''); +REPLACE INTO `item_db` VALUES ('13001','Dragon_Killer','Dragon Killer','4','20','10','900','110','0','0','1','0','2147483647','63','2','2','4','60',NULL,'1','1','0','bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10;','',''); +REPLACE INTO `item_db` VALUES ('13002','Ginnungagap','Ginnungagap','4','20','10','700','148','0','0','1','0','2147483647','63','2','2','4','70',NULL,'1','1','0','bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50;','',''); REPLACE INTO `item_db` VALUES ('13003','Coward','Cowardice Blade','4','52000','26000','700','80','0','0','1','1','33689664','63','2','2','3','55',NULL,'1','1','0','bonus bDef,5;','',''); REPLACE INTO `item_db` VALUES ('13004','Coward_','Cowardice Blade','4','52000','26000','700','80','0','0','1','2','33689664','63','2','2','3','55',NULL,'1','1','0','bonus bDef,5;','',''); REPLACE INTO `item_db` VALUES ('13005','Angelwing_Short_Sword','Angelic Wing Dagger','4','20','10','600','120','0','0','1','2','1','63','2','2','4','50',NULL,'1','1','0','','',''); @@ -5063,7 +5063,7 @@ REPLACE INTO `item_db` VALUES ('13015','Hakujin_','Hakujin','4','20','10','800', REPLACE INTO `item_db` VALUES ('13016','Poison_Knife_','Poison Knife','4','20','10','800','64','0','0','1','2','42950382','63','2','2','3','65',NULL,'1','1','0','bonus bAtkEle,Ele_Poison; bonus2 bAddEff,Eff_Poison,3000;','',''); REPLACE INTO `item_db` VALUES ('13017','House_Auger_','Ice Pick','4','20','10','600','70','0','0','1','1','42950382','63','2','2','4','36',NULL,'1','1','0','bonus bDefRatioAtkRace,RC_Boss; bonus bDefRatioAtkRace,RC_NonBoss;','',''); REPLACE INTO `item_db` VALUES ('13018','Sucsamad_','Sucsamad','4','20','10','800','140','0','0','1','1','42950382','63','2','2','4','36',NULL,'1','1','0','bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Wind,10; bonus bUnbreakableWeapon,0;','',''); -REPLACE INTO `item_db` VALUES ('13019','Ginnungagap_','Ginnungagap','4','20','10','700','148','0','0','1','1','4271865583','63','2','2','4','70',NULL,'1','1','0','bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50;','',''); +REPLACE INTO `item_db` VALUES ('13019','Ginnungagap_','Ginnungagap','4','20','10','700','148','0','0','1','1','2147483647','63','2','2','4','70',NULL,'1','1','0','bonus bAtkEle,Ele_Dark; bonus2 bAddEff,Eff_Blind,500; bonus2 bAddEff2,Eff_Blind,50;','',''); REPLACE INTO `item_db` VALUES ('13020','Warrior_Balmung_','Warrior\'s Balmung','4','20','10','1000','170','0','0','1','0','4294967295','63','2','2','4','48',NULL,'1','1','0','bonus bAllStats,5;','',''); REPLACE INTO `item_db` VALUES ('13021','Combat_Knife_C','Combat Knife','4','1','0','0','129','0','0','1','0','42950382','63','2','2','4','1',NULL,'0','1','0','bonus bIgnoreDefRace,RC_DemiHuman; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Demon,-10; bonus bMaxSPrate,10; bonus bSPDrainValue,3;','',''); REPLACE INTO `item_db` VALUES ('13022','Counter_Dagger_C','Dagger of Counter','4','1','0','0','209','0','0','1','0','8454660','63','2','2','4','1',NULL,'0','1','0','bonus bCritical,90;','',''); @@ -5074,19 +5074,19 @@ REPLACE INTO `item_db` VALUES ('13026','Moonlight_Sword_C','Moonlight Dagger','4 REPLACE INTO `item_db` VALUES ('13027','Scalpel','Scalpel','4','20','10','500','120','0','0','1','3','42950382','2','2','2','4','55',NULL,'1','1','0','bonus2 bAddEff,Eff_Bleeding,500;','',''); REPLACE INTO `item_db` VALUES ('13028','Tooth_Blade','Tooth Blade','4','20','10','700','130','0','0','1','1','42950382','2','2','2','4','55',NULL,'1','1','0','if(getrefine()>=9) { bonus3 bAutoSpell,NPC_SLOWCAST,2,70; } else bonus3 bAutoSpell,NPC_SLOWCAST,1,50;','',''); REPLACE INTO `item_db` VALUES ('13029','Prinsence_Knife','Prinsense Knife','4','20','10','0','120','0','0','1','0','42950382','63','2','2','1','0',NULL,'0','1','0','bonus2 bAddRace,RC_Boss,50; bonus2 bAddRace,RC_NonBoss,50;','',''); -REPLACE INTO `item_db` VALUES ('13030','Dragon_Killer_','Dragon Killer','4','20','10','900','110','0','0','1','2','4271865583','63','2','2','4','60',NULL,'1','1','0','bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10;','',''); +REPLACE INTO `item_db` VALUES ('13030','Dragon_Killer_','Dragon Killer','4','20','10','900','110','0','0','1','2','2147483647','63','2','2','4','60',NULL,'1','1','0','bonus bIgnoreDefRace,RC_Dragon; bonus2 bExpAddRace,RC_Dragon,10;','',''); REPLACE INTO `item_db` VALUES ('13031','Sword_Breaker_','Swordbreaker','4','20','10','1000','70','0','0','1','3','42950382','63','2','2','4','36',NULL,'1','1','0','bonus bBreakWeaponRate,500;','',''); REPLACE INTO `item_db` VALUES ('13032','Mail_Breaker_','Mailbreaker','4','20','10','1000','70','0','0','1','3','42950382','63','2','2','4','36',NULL,'1','1','0','bonus bBreakArmorRate,500;','',''); REPLACE INTO `item_db` VALUES ('13033','Assasin_Dagger_','Assassin Dagger','4','20','10','600','140','0','0','1','1','4096','63','2','2','4','36',NULL,'1','1','0','bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2; bonus bAtkEle,Ele_Dark;','',''); REPLACE INTO `item_db` VALUES ('13034','Twilight_Desert','Desert Twilight','4','20','10','600','130','0','0','1','2','4096','2','2','2','2','70',NULL,'1','1','0','','',''); REPLACE INTO `item_db` VALUES ('13035','Sandstorm','Sandstorm','4','20','10','600','50','0','0','1','4','4096','2','2','2','2','70',NULL,'1','1','0','','',''); -REPLACE INTO `item_db` VALUES ('13036','BF_Dagger1','Brave Assassin\'s Damascus','4','20','10','0','120','0','0','1','0','4271865583','63','2','2','3','80',NULL,'1','1','0','bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;','',''); -REPLACE INTO `item_db` VALUES ('13037','BF_Dagger2','Valorous Assassin\'s Damascus','4','20','10','0','120','0','0','1','0','4271865583','63','2','2','3','80',NULL,'1','1','0','bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus bUnbreakableWeapon,0; autobonus \"{ bonus bDefRatioAtkRace,RC_Boss; bonus bDefRatioAtkRace,RC_NonBoss; }\",10,6000,BF_WEAPON,\"{ specialeffect2 EF_HASTEUP; }\"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;','',''); +REPLACE INTO `item_db` VALUES ('13036','BF_Dagger1','Brave Assassin\'s Damascus','4','20','10','0','120','0','0','1','0','2147483647','63','2','2','3','80',NULL,'1','1','0','bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;','',''); +REPLACE INTO `item_db` VALUES ('13037','BF_Dagger2','Valorous Assassin\'s Damascus','4','20','10','0','120','0','0','1','0','2147483647','63','2','2','3','80',NULL,'1','1','0','bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus bUnbreakableWeapon,0; autobonus \"{ bonus bDefRatioAtkRace,RC_Boss; bonus bDefRatioAtkRace,RC_NonBoss; }\",10,6000,BF_WEAPON,\"{ specialeffect2 EF_HASTEUP; }\"; if(Class==Job_Ninja||Class==Job_Rogue||Class==Job_Stalker) bonus bMatkRate,15;','',''); REPLACE INTO `item_db` VALUES ('13038','Dagger_Of_Hunter','Dagger of Hunter','4','20','10','700','120','0','0','1','3','131072','2','2','2','3','70',NULL,'1','1','0','bonus bStr,1; bonus bAgi,2; bonus bDex,1; bonus4 bAutoSpellOnSkill,RG_BACKSTAP,SM_BASH,10,100; bonus2 bSkillAtk,RG_BACKSTAP,20;','',''); REPLACE INTO `item_db` VALUES ('13039','Ivory_Knife','Ivory Knife','4','20','10','700','130','0','0','1','2','42950382','2','2','2','3','50',NULL,'1','1','0','bonus bAgi,2; bonus bAspdRate,3; bonus2 bAddEff,Eff_Bleeding,300; bonus3 bAutoSpell,NPC_CRITICALWOUND,1,30;','',''); -REPLACE INTO `item_db` VALUES ('13040','N_Cutter','Novice Cutter','4','0','0','0','50','0','0','1','3','4271865583','63','2','2','1','1',NULL,'0','1','0','','',''); -REPLACE INTO `item_db` VALUES ('13041','N_Main_Gauche','Novice Main Gauche','4','0','0','0','63','0','0','1','3','4271865583','63','2','2','1','1',NULL,'0','1','0','','',''); -REPLACE INTO `item_db` VALUES ('13042','Krieger_Dagger1','Glorious Gladius','4','20','10','0','120','0','0','1','0','4271865583','63','2','2','4','80',NULL,'1','1','0','bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus3 bAutoSpell,PR_LEXDIVINA,1,20; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,RG_RAID,NPC_WIDEBLEEDING,1,250;','',''); +REPLACE INTO `item_db` VALUES ('13040','N_Cutter','Novice Cutter','4','0','0','0','50','0','0','1','3','2147483647','63','2','2','1','1',NULL,'0','1','0','','',''); +REPLACE INTO `item_db` VALUES ('13041','N_Main_Gauche','Novice Main Gauche','4','0','0','0','63','0','0','1','3','2147483647','63','2','2','1','1',NULL,'0','1','0','','',''); +REPLACE INTO `item_db` VALUES ('13042','Krieger_Dagger1','Glorious Gladius','4','20','10','0','120','0','0','1','0','2147483647','63','2','2','4','80',NULL,'1','1','0','bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus3 bAutoSpell,PR_LEXDIVINA,1,20; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-4)*(getrefine()-4); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine()>8) bonus4 bAutoSpellOnSkill,RG_RAID,NPC_WIDEBLEEDING,1,250;','',''); REPLACE INTO `item_db` VALUES ('13043','Fortune_Sword_I','Fortune Sword','4','0','0','0','120','0','0','1','0','42950382','63','2','2','4','0',NULL,'0','1','0','bonus bLuk,5;','',''); REPLACE INTO `item_db` VALUES ('13044','House_Auger_I','Ice Pick','4','0','0','0','105','0','0','1','0','42950382','63','2','2','4','0',NULL,'0','1','0','','',''); REPLACE INTO `item_db` VALUES ('13045','Kamaitachi_I','Kamaitachi','4','0','0','0','155','0','0','2','0','33554432','63','2','2','4','0',NULL,'0','1','0','','',''); @@ -6020,7 +6020,7 @@ REPLACE INTO `item_db` VALUES ('14469','Ox_Tail_Scroll','Ox Tail Egg','2','20',' REPLACE INTO `item_db` VALUES ('14500','Insurance60','Life Insurrance Certificate','2','2','1','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_CASH_DEATHPENALTY,3600000,0;','',''); REPLACE INTO `item_db` VALUES ('14508','Zeny_Scroll','Zeny Pet Egg Scroll','2','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('14509','Light_Center_Pot','Light Concentration Potion','2','800','400','20','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION1,1800000,0;','',''); -REPLACE INTO `item_db` VALUES ('14510','Light_Awakening_Pot','Light Awakening Potion','2','1500','750','20','0','0','0','0','0','4294442735','63','2','0','0','40',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,0;','',''); +REPLACE INTO `item_db` VALUES ('14510','Light_Awakening_Pot','Light Awakening Potion','2','1500','750','20','0','0','0','0','0','2147483647','63','2','0','0','40',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,0;','',''); REPLACE INTO `item_db` VALUES ('14511','Light_Berserk_Pot','Light Berserk Potion','2','3000','1500','20','0','0','0','0','0','31868582','63','2','0','0','85',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION3,1800000,0;','',''); REPLACE INTO `item_db` VALUES ('14512','Meteor_10_Scroll','Meteor Storm Scroll','11','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','itemskill WZ_METEOR,10;','',''); REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','11','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','itemskill WZ_STORMGUST,10;','',''); @@ -6121,7 +6121,7 @@ REPLACE INTO `item_db` VALUES ('14607','Luxurious_Dinner_W','Luxurious Western F REPLACE INTO `item_db` VALUES ('14608','Luxurious_Dinner_E','Manchu-Han Imperial Feast','2','20000','10000','1200','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_INCALLSTATUS,3600000,6;','',''); REPLACE INTO `item_db` VALUES ('14609','Spoiled_Cuisine','Spoiled Cuisine','2','0','0','0','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','percentheal 10,10;','',''); REPLACE INTO `item_db` VALUES ('15000','Bone_Plate','Bone Plate','5','20','10','1000','0','0','7','0','1','414946','2','2','16','0','85',NULL,'1','0','0','bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiHuman,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,NPC_WIDEBLEEDING,1,10;','',''); -REPLACE INTO `item_db` VALUES ('15001','Odin\'s_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','4294967294','63','2','16','0','0',NULL,'0','0','0','','',''); +REPLACE INTO `item_db` VALUES ('15001','Odin\'s_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','2147483647','63','2','16','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db` VALUES ('16000','Erde','Erde','4','20','10','500','130','0','0','1','2','312754','2','2','2','4','50',NULL,'1','8','0','bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus bMaxSP,50; bonus bHealPower,10;','',''); REPLACE INTO `item_db` VALUES ('16001','Red_Square_Bag','Red Square Bag','4','20','10','500','130','0','0','1','2','312754','2','2','2','3','50',NULL,'1','8','0','bonus bMaxHP,200; bonus2 bSkillAtk,AM_ACIDTERROR,20; bonus2 bSkillAtk,AM_DEMONSTRATION,20; bonus2 bAddMonsterDropItem,501,50; bonus2 bAddMonsterDropItem,502,20; bonus2 bAddMonsterDropItem,503,20; bonus2 bAddMonsterDropItem,504,20; bonus2 bAddMonsterDropItem,505,10; if(readparam(bStr)>=95) bonus2 bAddEff,Eff_Stun,500;','',''); REPLACE INTO `item_db` VALUES ('16002','Stunner_C','Stunner','4','0','0','0','175','0','0','1','0','33040','63','2','2','3','1',NULL,'0','8','0','bonus2 bAddEff,Eff_Stun,1000; bonus2 bAddSize,Size_Small,40; bonus2 bAddSize,Size_Medium,40; bonus2 bAddSize,Size_Large,40;','',''); @@ -6150,7 +6150,7 @@ REPLACE INTO `item_db` VALUES ('18502','Cheer_Scarf10','Cheer Scarf10','5','0',' REPLACE INTO `item_db` VALUES ('18503','Small_Horn_Of_Devil','Small Devil Horns','5','20','10','100','0','0','2','0','0','4294967295','63','2','512','0','1',NULL,'0','562','0','bonus bAtkRate,5; bonus bMatkRate,5; bonus bMaxHPrate,10; bonus bMaxSPrate,10;','',''); REPLACE INTO `item_db` VALUES ('18505','Umbala_Spirit','Umbala Spirit','5','0','0','200','0','0','1','0','1','4294967295','63','2','1','0','30',NULL,'0','675','0','bonus bVit,1;','',''); REPLACE INTO `item_db` VALUES ('18506','Hattah_Black','Hattah Black','5','12000','6000','4000','0','0','2','0','1','4294967295','63','2','769','0','1',NULL,'1','676','0','','',''); -REPLACE INTO `item_db` VALUES ('18507','Elven_Ears_','Elven Ears','5','20','10','100','0','0','0','0','1','4294967294','63','2','512','0','70',NULL,'0','73','0','','',''); +REPLACE INTO `item_db` VALUES ('18507','Elven_Ears_','Elven Ears','5','20','10','100','0','0','0','0','1','2147483647','63','2','512','0','70',NULL,'0','73','0','','',''); REPLACE INTO `item_db` VALUES ('18539','Skull_Cap','Skull Cap','5','40','20','200','0','0','5','0','1','4294967295','63','2','256','0','10',NULL,'1','713','0','bonus bMatkRate,2; if(getrefine() >= 5) { bonus bMatkRate,3; } if(getrefine() >= 7) { bonus bMatkRate,3; }','',''); REPLACE INTO `item_db` VALUES ('18595','Horn_Of_Ancient','Horn of Ancient','5','40','20','200','0','0','8','0','1','4294967295','63','2','256','0','50',NULL,'1','757','0','autobonus \"{ bonus bBaseAtk,100; }\",5,10000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\";','',''); REPLACE INTO `item_db` VALUES ('18596','Sprout_Hat','Sprout Hat','5','20','10','200','0','0','4','0','0','4294967295','63','2','256','0','70',NULL,'1','758','0','skill WZ_HEAVENDRIVE,3;','',''); diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql index d8a5497cc..50160c5e1 100644 --- a/sql-files/item_db_re.sql +++ b/sql-files/item_db_re.sql @@ -174,7 +174,7 @@ REPLACE INTO `item_db_re` VALUES ('642','Book_Of_Devil','Book of the Devil','2', REPLACE INTO `item_db_re` VALUES ('643','Pet_Incubator','Pet Incubator','2','3000','1500','30','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','bpet;','',''); REPLACE INTO `item_db_re` VALUES ('644','Gift_Box','Gift Box','2','1000','500','200','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','getrandgroupitem 644,1;','',''); REPLACE INTO `item_db_re` VALUES ('645','Center_Potion','Concentration Potion','2','800','400','100','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION1,1800000,4;','',''); -REPLACE INTO `item_db_re` VALUES ('656','Awakening_Potion','Awakening Potion','2','1500','750','150','0','0','0','0','0','4294442735','63','2','0','0','40',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,6;','',''); +REPLACE INTO `item_db_re` VALUES ('656','Awakening_Potion','Awakening Potion','2','1500','750','150','0','0','0','0','0','2147483647','63','2','0','0','40',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,6;','',''); REPLACE INTO `item_db_re` VALUES ('657','Berserk_Potion','Berserk Potion','2','3000','1500','200','0','0','0','0','0','31868582','63','2','0','0','85',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION3,1800000,9;','',''); REPLACE INTO `item_db_re` VALUES ('658','Union_Of_Tribe','Tribal Solidarity','2','2','1','500','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','guildgetexp rand(600000,1200000);','',''); REPLACE INTO `item_db_re` VALUES ('659','Heart_Of_Her','Her Heart','2','500','250','50','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','pet 1188;','',''); @@ -1172,8 +1172,8 @@ REPLACE INTO `item_db_re` VALUES ('2110','Holy_Guard','Holy Guard','5','85000',' REPLACE INTO `item_db_re` VALUES ('2111','Herald_Of_GOD','Sacred Mission','5','128000','64000','1600','0','0','120','0','0','16384','63','2','32','0','83',NULL,'1','4','0','bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0;','',''); REPLACE INTO `item_db_re` VALUES ('2112','Novice_Guard','Novice Guard','5','1','0','1','0','0','20','0','0','1','47','2','32','0','0',NULL,'0','1','0','','',''); REPLACE INTO `item_db_re` VALUES ('2113','Novice_Shield','Novice Shield','5','5000','2500','1000','0','0','20','0','1','1','47','2','32','0','40',NULL,'1','3','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20;','',''); -REPLACE INTO `item_db_re` VALUES ('2114','Stone_Buckler','Stone Buckler','5','30000','15000','1500','0','0','45','0','1','4294967294','63','2','32','0','65',NULL,'1','2','0','bonus2 bSubSize,Size_Large,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2115','Valkyrja\'s_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','80','0','1','4294967294','63','2','32','0','65',NULL,'1','4','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2114','Stone_Buckler','Stone Buckler','5','30000','15000','1500','0','0','45','0','1','2147483647','63','2','32','0','65',NULL,'1','2','0','bonus2 bSubSize,Size_Large,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2115','Valkyrja\'s_Shield','Valkyrja\'s Shield','5','30000','15000','500','0','0','80','0','1','2147483647','63','2','32','0','65',NULL,'1','4','0','bonus2 bSubEle,Ele_Water,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Undead,20; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2116','Angel\'s_Safeguard','Angelic Guard','5','10000','5000','400','0','0','30','0','1','1','47','2','32','0','20',NULL,'1','1','0','bonus2 bSubRace,RC_Demon,5;','',''); REPLACE INTO `item_db_re` VALUES ('2117','Arm_Guard','Arm Guard','5','10000','5000','150','0','0','50','0','0','570425344','1','2','32','0','20',NULL,'1','1','0','','',''); REPLACE INTO `item_db_re` VALUES ('2118','Arm_Guard_','Arm Guard','5','10000','5000','150','0','0','50','0','1','570425344','1','2','32','0','20',NULL,'1','1','0','','',''); @@ -1184,7 +1184,7 @@ REPLACE INTO `item_db_re` VALUES ('2122','Platinum_Shield','Platinum Shield','5' REPLACE INTO `item_db_re` VALUES ('2123','Orleans_Server','Orleans\'s Server','5','20','10','1000','0','0','75','0','1','1040382','58','2','32','0','55',NULL,'1','4','0','bonus bMdef,2; bonus bMagicDamageReturn,5;','',''); REPLACE INTO `item_db_re` VALUES ('2124','Thorny_Buckler','Thorny Buckler','5','20','10','1000','0','0','85','0','1','1040382','58','2','32','0','55',NULL,'1','2','0','bonus bMdef,2;','',''); REPLACE INTO `item_db_re` VALUES ('2125','Strong_Shield','Strong Shield','5','20','10','2500','0','0','90','0','1','414946','58','2','32','0','75',NULL,'1','4','0','bonus bNoKnockback,0; bonus2 bSubEle,Ele_Neutral,-20; bonus2 bSubEle,Ele_Fire,-20; bonus2 bSubEle,Ele_Water,-20; bonus2 bSubEle,Ele_Wind,-20; bonus2 bSubEle,Ele_Earth,-20; bonus2 bSubEle,Ele_Dark,-20; bonus2 bSubEle,Ele_Holy,-20; bonus2 bSubEle,Ele_Ghost,-20;','',''); -REPLACE INTO `item_db_re` VALUES ('2126','Guyak_Shield','Guyak Shield','5','20','10','700','0','0','3','0','0','4294967294','63','2','32','0','0',NULL,'1','2','0','bonus bMdef,2; bonus bMagicDamageReturn,2; autobonus2 \"{ bonus bShortWeaponDamageReturn,5; }\",20,1000,BF_WEAPON,\"{ specialeffect2 EF_REFLECTSHIELD; }\";','',''); +REPLACE INTO `item_db_re` VALUES ('2126','Guyak_Shield','Guyak Shield','5','20','10','700','0','0','3','0','0','2147483647','63','2','32','0','0',NULL,'1','2','0','bonus bMdef,2; bonus bMagicDamageReturn,2; autobonus2 \"{ bonus bShortWeaponDamageReturn,5; }\",20,1000,BF_WEAPON,\"{ specialeffect2 EF_REFLECTSHIELD; }\";','',''); REPLACE INTO `item_db_re` VALUES ('2127','Secular_Mission','Secular Mission','5','20','10','0','0','0','10','0','0','4294967295','63','2','32','0','0',NULL,'0','4','0','bonus2 bSubRace,RC_NonBoss,25; bonus2 bSubRace,RC_Boss,25;','',''); REPLACE INTO `item_db_re` VALUES ('2128','Herald_Of_GOD_','Sacred Mission','5','128000','64000','1600','0','0','120','0','1','16384','63','2','32','0','83',NULL,'1','4','0','bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0;','',''); REPLACE INTO `item_db_re` VALUES ('2129','Exorcism_Bible','Exorcism Bible','5','20','10','600','0','0','80','0','0','33024','63','2','32','0','50',NULL,'1','5','0','bonus bHPrecovRate,3; bonus bSPrecovRate,3; bonus bInt,1;','',''); @@ -1213,7 +1213,7 @@ REPLACE INTO `item_db_re` VALUES ('2151','Upg_Shield','Reinforcement Shield','5' REPLACE INTO `item_db_re` VALUES ('2152','Anti_Demon_Shield_C','Anti Demon Shield','5','0','0','0','0','0','120','0','0','4294967295','63','2','32','0','0',NULL,'0','3','0','bonus2 bSubRace,RC_DemiHuman,25; bonus2 bSubRace,RC_Demon,25; bonus bMaxHP,400;','',''); REPLACE INTO `item_db_re` VALUES ('2153','Imperial_Guard','Imperial Guard','5','20','10','2500','0','0','120','0','1','16384','56','2','32','0','102',NULL,'1','4','0','bonus bMdef,5; if(getrefine()>=6) { bonus2 bSkillAtk,LG_SHIELDPRESS,20+((getrefine()-5)*2); } else { bonus2 bSkillAtk,LG_SHIELDPRESS,20; }','',''); REPLACE INTO `item_db_re` VALUES ('2154','Toy_Shield','Toy Shield','5','0','0','500','0','0','1','0','1','4294967295','63','2','32','0','10',NULL,'1','1','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2155','Academy_Shield','Academy Shield','5','0','0','1500','0','0','3','0','1','4294967294','63','2','32','0','0',NULL,'1','4','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2155','Academy_Shield','Academy Shield','5','0','0','1500','0','0','3','0','1','2147483647','63','2','32','0','0',NULL,'1','4','0','','',''); REPLACE INTO `item_db_re` VALUES ('2156','Bible_Of_Promise1','Bible of Promise(1st Vol.)','5','20','10','500','0','0','10','0','1','256','56','2','32','0','110',NULL,'1','5','0','bonus bMdef,2; skill ALL_ODINS_POWER,1;','',''); REPLACE INTO `item_db_re` VALUES ('2157','Insecticide','Pesticide','5','20','10','100','0','0','0','0','0','4294967295','63','2','32','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2158','Ramor_Shield_Undead','Ramorushirudo','5','20','10','1300','0','0','50','0','1','4294967295','63','2','32','0','65',NULL,'1','3','0','','',''); @@ -1258,8 +1258,8 @@ REPLACE INTO `item_db_re` VALUES ('2218','Flu_Mask','Flu Mask','5','300','150',' REPLACE INTO `item_db_re` VALUES ('2219','Flu_Mask_','Flu Mask','5','300','150','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','8','0','bonus2 bResEff,Eff_Silence,1000;','',''); REPLACE INTO `item_db_re` VALUES ('2220','Hat','Hat','5','1000','500','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','16','0','','',''); REPLACE INTO `item_db_re` VALUES ('2221','Hat_','Hat','5','1000','500','200','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','16','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2222','Turban','Turban','5','4500','2250','300','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','7','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2223','Turban_','Turban','5','4500','2250','300','0','0','5','0','1','4294967294','63','2','256','0','0',NULL,'1','7','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2222','Turban','Turban','5','4500','2250','300','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','7','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2223','Turban_','Turban','5','4500','2250','300','0','0','5','0','1','2147483647','63','2','256','0','0',NULL,'1','7','0','','',''); REPLACE INTO `item_db_re` VALUES ('2224','Goggle','Goggles','5','20','10','300','0','0','5','0','0','941290','63','2','768','0','0',NULL,'1','1','0','','',''); REPLACE INTO `item_db_re` VALUES ('2225','Goggle_','Goggles','5','20','10','300','0','0','5','0','1','941290','63','2','768','0','0',NULL,'1','1','0','','',''); REPLACE INTO `item_db_re` VALUES ('2226','Cap','Cap','5','12000','6000','400','0','0','7','0','0','941290','63','2','256','0','0',NULL,'1','14','0','','',''); @@ -1270,8 +1270,8 @@ REPLACE INTO `item_db_re` VALUES ('2230','Gemmed_Sallet','Gemmed Sallet','5','50 REPLACE INTO `item_db_re` VALUES ('2231','Gemmed_Sallet_','Gemmed Sallet','5','50000','25000','500','0','0','8','0','1','414946','63','2','256','0','0',NULL,'1','0','0','bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('2232','Circlet','Circlet','5','7500','3750','300','0','0','6','0','0','8487700','63','2','256','0','0',NULL,'1','18','0','bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('2233','Circlet_','Circlet','5','7500','3750','300','0','0','6','0','1','8487700','63','2','256','0','0',NULL,'1','18','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2234','Tiara','Tiara','5','20','10','400','0','0','7','0','0','4294967294','63','2','256','0','45',NULL,'1','19','0','bonus bInt,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2235','Crown','Crown','5','20','10','400','0','0','7','0','0','4294967294','63','1','256','0','45',NULL,'1','45','0','bonus bInt,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2234','Tiara','Tiara','5','20','10','400','0','0','7','0','0','2147483647','63','2','256','0','45',NULL,'1','19','0','bonus bInt,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2235','Crown','Crown','5','20','10','400','0','0','7','0','0','2147483647','63','1','256','0','45',NULL,'1','45','0','bonus bInt,2;','',''); REPLACE INTO `item_db_re` VALUES ('2236','Santa\'s_Hat','Santa Hat','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','20','0','bonus bMdef,1; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('2237','Weird_Goatee','Bandit Beard','5','2','1','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','21','0','','',''); REPLACE INTO `item_db_re` VALUES ('2238','Weird_Moustache','Moustache','5','2','1','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','22','0','','',''); @@ -1280,60 +1280,60 @@ REPLACE INTO `item_db_re` VALUES ('2240','Beard','Beard','5','2','1','100','0',' REPLACE INTO `item_db_re` VALUES ('2241','Granpa_Beard','Grampa Beard','5','5000','2500','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','25','0','','',''); REPLACE INTO `item_db_re` VALUES ('2242','Luxury_Sunglasses','Purple Glasses','5','24000','12000','100','0','0','2','0','0','4294967295','63','2','512','0','0',NULL,'0','26','0','bonus2 bResEff,Eff_Blind,1000;','',''); REPLACE INTO `item_db_re` VALUES ('2243','Spinning_Eyes','Geek Glasses','5','20000','10000','100','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','27','0','bonus2 bResEff,Eff_Blind,1500;','',''); -REPLACE INTO `item_db_re` VALUES ('2244','Big_Sis\'_Ribbon','Big Ribbon','5','15000','7500','200','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2245','Sweet_Gents','Sweet Gent','5','15000','7500','400','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','29','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2246','Golden_Gear','Golden Gear','5','20','10','900','0','0','9','0','0','4294967294','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); -REPLACE INTO `item_db_re` VALUES ('2247','Oldman\'s_Romance','Romantic Gent','5','15000','7500','400','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','31','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2248','Western_Grace','Western Grace','5','15000','7500','400','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','32','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2249','Coronet','Coronet','5','20','10','300','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','33','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2250','Fillet','Cute Ribbon','5','500','250','100','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'0','34','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db_re` VALUES ('2244','Big_Sis\'_Ribbon','Big Ribbon','5','15000','7500','200','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2245','Sweet_Gents','Sweet Gent','5','15000','7500','400','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','29','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2246','Golden_Gear','Golden Gear','5','20','10','900','0','0','9','0','0','2147483647','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db_re` VALUES ('2247','Oldman\'s_Romance','Romantic Gent','5','15000','7500','400','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','31','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2248','Western_Grace','Western Grace','5','15000','7500','400','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','32','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2249','Coronet','Coronet','5','20','10','300','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','33','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2250','Fillet','Cute Ribbon','5','500','250','100','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'0','34','0','bonus bMaxSP,20;','',''); REPLACE INTO `item_db_re` VALUES ('2251','Holy_Bonnet','Monk Hat','5','30000','15000','100','0','0','10','0','0','33040','63','2','256','0','0',NULL,'1','35','0','bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('2252','Star_Sparkling','Wizard Hat','5','20','10','300','0','0','7','0','0','8454660','63','2','256','0','0',NULL,'1','36','0','bonus bMaxSP,100;','',''); REPLACE INTO `item_db_re` VALUES ('2253','Sunflower','Sunflower','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','37','0','bonus2 bSubRace,RC_Insect,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2254','Angelic_Chain','Angel Wing','5','20','10','100','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bAgi,1; bonus bLuk,1; bonus2 bSubRace,RC_Demon,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2255','Satanic_Chain','Evil Wing','5','20','10','100','0','0','6','0','0','4294967294','63','2','256','0','0',NULL,'1','39','0','bonus bMdef,2; bonus bStr,1; bonus2 bSubRace,RC_Angel,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2254','Angelic_Chain','Angel Wing','5','20','10','100','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bAgi,1; bonus bLuk,1; bonus2 bSubRace,RC_Demon,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2255','Satanic_Chain','Evil Wing','5','20','10','100','0','0','6','0','0','2147483647','63','2','256','0','0',NULL,'1','39','0','bonus bMdef,2; bonus bStr,1; bonus2 bSubRace,RC_Angel,3;','',''); REPLACE INTO `item_db_re` VALUES ('2256','Magestic_Goat','Magestic Goat','5','20','10','800','0','0','9','0','0','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('2257','Snowy_Horn','Unicorn Horn','5','20','10','100','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','42','0','','',''); REPLACE INTO `item_db_re` VALUES ('2258','Sharp_Gear','Spiky Band','5','20','10','1000','0','0','12','0','0','6739442','63','2','256','0','50',NULL,'1','43','0','','',''); REPLACE INTO `item_db_re` VALUES ('2259','Mini_Propeller','Mini Propeller','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','46','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2260','Mini_Glasses','Mini Glasses','5','28000','14000','100','0','0','2','0','0','4294967294','63','2','512','0','0',NULL,'0','47','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2260','Mini_Glasses','Mini Glasses','5','28000','14000','100','0','0','2','0','0','2147483647','63','2','512','0','0',NULL,'0','47','0','','',''); REPLACE INTO `item_db_re` VALUES ('2261','Prontera_Army_Cap','Army Cap','5','20','10','400','0','0','8','0','0','414946','63','2','256','0','0',NULL,'1','48','0','','',''); REPLACE INTO `item_db_re` VALUES ('2262','Pierrot_Nose','Clown Nose','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','49','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2263','Gangster_Patch','Zorro Masque','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','50','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2263','Gangster_Patch','Zorro Masque','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','50','0','','',''); REPLACE INTO `item_db_re` VALUES ('2264','Munak_Turban','Munak Hat','5','20','10','300','0','0','5','0','0','4294967295','63','2','769','0','0',NULL,'0','51','0','bonus2 bSubRace,RC_Undead,10;','',''); REPLACE INTO `item_db_re` VALUES ('2265','Ganster_Mask','Gangster Mask','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','52','0','bonus2 bResEff,Eff_Silence,1500;','',''); REPLACE INTO `item_db_re` VALUES ('2266','Iron_Cane','Iron Cain','5','20','10','300','0','0','4','0','0','16514','63','2','1','0','50',NULL,'0','53','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2267','Cigar','Cigarette','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','54','0','bonus2 bSubRace,RC_Insect,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2268','Smoking_Pipe','Pipe','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','55','0','bonus2 bSubRace,RC_Insect,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2269','Centimental_Flower','Romantic Flower','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2270','Centimental_Leaf','Romantic Leaf','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','57','0','bonus2 bSubRace,RC_Plant,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2271','Jack_A_Dandy','Jack be Dandy','5','45000','22500','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','58','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2267','Cigar','Cigarette','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','54','0','bonus2 bSubRace,RC_Insect,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2268','Smoking_Pipe','Pipe','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','55','0','bonus2 bSubRace,RC_Insect,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2269','Centimental_Flower','Romantic Flower','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2270','Centimental_Leaf','Romantic Leaf','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','57','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2271','Jack_A_Dandy','Jack be Dandy','5','45000','22500','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','58','0','','',''); REPLACE INTO `item_db_re` VALUES ('2272','Stop_Post','Stop Post','5','20','10','400','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','59','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2273','Doctor_Cap','Doctor Band','5','20','10','100','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','60','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2274','Ghost_Bandana','Ghost Bandana','5','20','10','100','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'1','61','0','bonus bAgi,2; bonus2 bSubEle,Ele_Ghost,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2273','Doctor_Cap','Doctor Band','5','20','10','100','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','60','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2274','Ghost_Bandana','Ghost Bandana','5','20','10','100','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'1','61','0','bonus bAgi,2; bonus2 bSubEle,Ele_Ghost,10;','',''); REPLACE INTO `item_db_re` VALUES ('2275','Red_Bandana','Red Bandana','5','20','10','100','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','62','0','','',''); REPLACE INTO `item_db_re` VALUES ('2276','Eagle_Eyes','Angled Glasses','5','20','10','100','0','0','2','0','0','4294967295','63','2','512','0','0',NULL,'0','63','0','','',''); REPLACE INTO `item_db_re` VALUES ('2277','Nurse_Cap','Nurse Cap','5','20','10','100','0','0','4','0','0','33040','63','2','256','0','0',NULL,'1','64','0','bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('2278','Mr_Smile','Mr. Smile','5','60','30','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','65','0','','',''); REPLACE INTO `item_db_re` VALUES ('2279','Bomb_Wick','Bomb Wick','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','66','0','','',''); REPLACE INTO `item_db_re` VALUES ('2280','Sahkkat','Sakkat','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','67','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2281','Phantom_Of_Opera','Opera Masque','5','20','10','200','0','0','2','0','0','4294967294','63','2','513','0','0',NULL,'0','68','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2281','Phantom_Of_Opera','Opera Masque','5','20','10','200','0','0','2','0','0','2147483647','63','2','513','0','0',NULL,'0','68','0','','',''); REPLACE INTO `item_db_re` VALUES ('2282','Spirit_Chain','Halo','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','69','0','bonus2 bSubEle,Ele_Holy,15;','',''); REPLACE INTO `item_db_re` VALUES ('2283','Ear_Mufs','Ear Muffs','5','20','10','200','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','70','0','bonus2 bResEff,Eff_Curse,1000;','',''); -REPLACE INTO `item_db_re` VALUES ('2284','Antler','Antlers','5','20','10','500','0','0','8','0','0','4294967294','63','2','256','0','0',NULL,'1','71','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2285','Apple_Of_Archer','Apple of Archer','5','20','10','200','0','0','1','0','0','4294967294','63','2','256','0','30',NULL,'1','72','0','bonus bDex,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2286','Elven_Ears','Elven Ears','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','70',NULL,'0','73','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2287','Pirate_Bandana','Pirate Bandana','5','20','10','100','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2288','Mr_Scream','Mr. Scream','5','20','10','100','0','0','1','0','0','4294967294','63','2','513','0','0',NULL,'0','75','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2284','Antler','Antlers','5','20','10','500','0','0','8','0','0','2147483647','63','2','256','0','0',NULL,'1','71','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2285','Apple_Of_Archer','Apple of Archer','5','20','10','200','0','0','1','0','0','2147483647','63','2','256','0','30',NULL,'1','72','0','bonus bDex,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2286','Elven_Ears','Elven Ears','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','70',NULL,'0','73','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2287','Pirate_Bandana','Pirate Bandana','5','20','10','100','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2288','Mr_Scream','Mr. Scream','5','20','10','100','0','0','1','0','0','2147483647','63','2','513','0','0',NULL,'0','75','0','','',''); REPLACE INTO `item_db_re` VALUES ('2289','Poo_Poo_Hat','Poo Poo Hat','5','20','10','700','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','76','0','bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('2290','Funeral_Costume','Funeral Hat','5','3000','1500','100','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'0','77','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2291','Masquerade','Masquerade','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','78','0','bonus2 bAddRace,RC_DemiHuman,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2291','Masquerade','Masquerade','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','78','0','bonus2 bAddRace,RC_DemiHuman,3;','',''); REPLACE INTO `item_db_re` VALUES ('2292','Welding_Mask','Welding Mask','5','20','10','300','0','0','2','0','0','263200','63','2','513','0','50',NULL,'0','79','0','bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db_re` VALUES ('2293','Pretend_Murdered','Pretend Murdered','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','80','0','','',''); REPLACE INTO `item_db_re` VALUES ('2294','Star_Dust','Stellar','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','81','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2295','Blinker','Blinker','5','1500','750','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','82','0','bonus2 bResEff,Eff_Blind,10000;','',''); +REPLACE INTO `item_db_re` VALUES ('2295','Blinker','Blinker','5','1500','750','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','82','0','bonus2 bResEff,Eff_Blind,10000;','',''); REPLACE INTO `item_db_re` VALUES ('2296','Binoculars','Binoculars','5','20','10','100','0','0','2','0','0','526344','63','2','512','0','50',NULL,'0','83','0','bonus bDex,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2297','Goblini_Mask','Goblin Mask','5','20','10','100','0','0','1','0','0','4294967294','63','2','513','0','0',NULL,'0','84','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2297','Goblini_Mask','Goblin Mask','5','20','10','100','0','0','1','0','0','2147483647','63','2','513','0','0',NULL,'0','84','0','','',''); REPLACE INTO `item_db_re` VALUES ('2298','Green_Feeler','Green Feeler','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'0','85','0','','',''); REPLACE INTO `item_db_re` VALUES ('2299','Viking_Helm','Orc Helm','5','20','10','500','0','0','9','0','0','414946','63','2','256','0','0',NULL,'1','86','0','','',''); REPLACE INTO `item_db_re` VALUES ('2301','Cotton_Shirt','Cotton Shirt','5','10','5','100','0','0','10','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -1342,11 +1342,11 @@ REPLACE INTO `item_db_re` VALUES ('2303','Leather_Jacket','Jacket','5','200','10 REPLACE INTO `item_db_re` VALUES ('2304','Leather_Jacket_','Jacket','5','200','100','200','0','0','15','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2305','Adventure_Suit','Adventurer\'s Suit','5','1000','500','300','0','0','20','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2306','Adventurere\'s_Suit_','Adventurer\'s Suit','5','1000','500','300','0','0','20','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2307','Mantle','Mantle','5','10000','5000','600','0','0','37','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2308','Mantle_','Mantle','5','10000','5000','600','0','0','37','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2309','Coat','Coat','5','22000','11000','1200','0','0','42','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2310','Coat_','Coat','5','22000','11000','1200','0','0','42','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2311','Mink_Coat','Mink Coat','5','20','10','2300','0','0','30','0','1','4294967294','63','2','16','0','30',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2307','Mantle','Mantle','5','10000','5000','600','0','0','37','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2308','Mantle_','Mantle','5','10000','5000','600','0','0','37','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2309','Coat','Coat','5','22000','11000','1200','0','0','42','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2310','Coat_','Coat','5','22000','11000','1200','0','0','42','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2311','Mink_Coat','Mink Coat','5','20','10','2300','0','0','30','0','1','2147483647','63','2','16','0','30',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2312','Padded_Armor','Padded Armor','5','48000','24000','2800','0','0','35','0','0','414946','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2313','Padded_Armor_','Padded Armor','5','48000','24000','2800','0','0','35','0','1','414946','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2314','Chain_Mail','Chain Mail','5','65000','32500','3300','0','0','55','0','0','414946','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -1354,8 +1354,8 @@ REPLACE INTO `item_db_re` VALUES ('2315','Chain_Mail_','Chain Mail','5','65000', REPLACE INTO `item_db_re` VALUES ('2316','Plate_Armor','Full Plate','5','80000','40000','4500','0','0','70','0','0','16514','63','2','16','0','40',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2317','Plate_Armor_','Full Plate','5','80000','40000','4500','0','0','70','0','1','16514','63','2','16','0','40',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2318','Clothes_Of_The_Lord','Lord\'s Clothes','5','20','10','2500','0','0','59','0','1','263200','63','2','16','0','70',NULL,'1','0','0','bonus bMdef,5; bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2319','Glittering_Clothes','Glittering Jacket','5','20','10','2500','0','0','58','0','1','4294967294','63','2','16','0','60',NULL,'1','0','0','bonus bMdef,5; bonus2 bAddEff,Eff_Blind,300;','',''); -REPLACE INTO `item_db_re` VALUES ('2320','Formal_Suit','Formal Suit','5','20','10','300','0','0','40','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2319','Glittering_Clothes','Glittering Jacket','5','20','10','2500','0','0','58','0','1','2147483647','63','2','16','0','60',NULL,'1','0','0','bonus bMdef,5; bonus2 bAddEff,Eff_Blind,300;','',''); +REPLACE INTO `item_db_re` VALUES ('2320','Formal_Suit','Formal Suit','5','20','10','300','0','0','40','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2321','Silk_Robe','Silk Robe','5','8000','4000','400','0','0','20','0','0','8767414','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,10;','',''); REPLACE INTO `item_db_re` VALUES ('2322','Silk_Robe_','Silk Robe','5','8000','4000','400','0','0','20','0','1','8767414','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,10;','',''); REPLACE INTO `item_db_re` VALUES ('2323','Scapulare','Scapulare','5','6500','3250','400','0','0','24','0','0','33040','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -1373,38 +1373,38 @@ REPLACE INTO `item_db_re` VALUES ('2334','Mage_Coat','Mage Coat','5','20','10',' REPLACE INTO `item_db_re` VALUES ('2335','Thief_Clothes','Thief Clothes','5','74000','37000','100','0','0','40','0','0','570560576','63','2','16','0','0',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2336','Thief_Clothes_','Thief Clothes','5','74000','37000','100','0','0','40','0','1','570560576','63','2','16','0','0',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2337','Ninja_Suit','Ninja Suit','5','20','10','1500','0','0','58','0','0','570560576','63','2','16','0','50',NULL,'1','0','0','bonus bAgi,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2338','Wedding_Dress','Wedding Dress','5','43000','21500','500','0','0','10','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('2338','Wedding_Dress','Wedding Dress','5','43000','21500','500','0','0','10','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,15;','',''); REPLACE INTO `item_db_re` VALUES ('2339','G_Strings','Pantie','5','1000','500','100','0','0','22','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2340','Novice_Breast','Novice Breastplate','5','89000','44500','500','0','0','32','0','1','1','47','2','16','0','10',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2341','Full_Plate_Armor','Legion Plate Armor','5','94000','47000','5500','0','0','79','0','0','16384','63','2','16','0','70',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2342','Full_Plate_Armor_','Legion Plate Armor','5','102500','51250','5500','0','0','79','0','1','16384','63','2','16','0','70',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2343','Robe_Of_Casting','Robe of Cast','5','124800','62400','1100','0','0','40','0','0','8454656','63','2','16','0','75',NULL,'1','0','0','bonus bVariableCastrate,-3; bonus bMdef,4;','',''); REPLACE INTO `item_db_re` VALUES ('2344','Flame_Sprits_Armor','Lucius\'s Fierce Armor of Volcano','5','136000','68000','2200','0','0','25','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Fire;','',''); -REPLACE INTO `item_db_re` VALUES ('2345','Flame_Sprits_Armor_','Lucius\'s Fierce Armor of Volcano','5','136000','68000','2200','0','0','25','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Fire;','',''); +REPLACE INTO `item_db_re` VALUES ('2345','Flame_Sprits_Armor_','Lucius\'s Fierce Armor of Volcano','5','136000','68000','2200','0','0','25','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Fire;','',''); REPLACE INTO `item_db_re` VALUES ('2346','Water_Sprits_Armor','Saphien\'s Armor of Ocean','5','136000','68000','2200','0','0','25','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Water;','',''); -REPLACE INTO `item_db_re` VALUES ('2347','Water_Sprits_Armor_','Saphien\'s Armor of Ocean','5','136000','68000','2200','0','0','25','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Water;','',''); +REPLACE INTO `item_db_re` VALUES ('2347','Water_Sprits_Armor_','Saphien\'s Armor of Ocean','5','136000','68000','2200','0','0','25','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Water;','',''); REPLACE INTO `item_db_re` VALUES ('2348','Wind_Sprits_Armor','Aebecee\'s Raging Typhoon Armor','5','136000','68000','2200','0','0','25','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Wind;','',''); -REPLACE INTO `item_db_re` VALUES ('2349','Wind_Sprits_Armor_','Aebecee\'s Raging Typhoon Armor','5','136000','68000','2200','0','0','25','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Wind;','',''); +REPLACE INTO `item_db_re` VALUES ('2349','Wind_Sprits_Armor_','Aebecee\'s Raging Typhoon Armor','5','136000','68000','2200','0','0','25','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Wind;','',''); REPLACE INTO `item_db_re` VALUES ('2350','Earth_Sprits_Armor','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','25','0','0','279714','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Earth;','',''); -REPLACE INTO `item_db_re` VALUES ('2351','Earth_Sprits_Armor_','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','25','0','1','4294967294','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Earth;','',''); +REPLACE INTO `item_db_re` VALUES ('2351','Earth_Sprits_Armor_','Claytos Cracking Earth Armor','5','136000','68000','2200','0','0','25','0','1','2147483647','63','2','16','0','45',NULL,'1','0','0','bonus bDefEle,Ele_Earth;','',''); REPLACE INTO `item_db_re` VALUES ('2352','Novice_Plate','Tattered Novice Ninja Suit','5','1','0','1','0','0','25','0','0','1','47','2','16','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2353','Odin\'s_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','53','0','1','4294967294','63','2','16','0','65',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2354','Goibne\'s_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','58','0','0','4294967294','63','2','16','0','54',NULL,'1','0','0','bonus bVit,2; bonus bMaxHPrate,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2353','Odin\'s_Blessing','Odin\'s Blessing','5','30000','15000','2500','0','0','53','0','1','2147483647','63','2','16','0','65',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2354','Goibne\'s_Armor','Goibne\'s Armor','5','50000','25000','3500','0','0','58','0','0','2147483647','63','2','16','0','54',NULL,'1','0','0','bonus bVit,2; bonus bMaxHPrate,10;','',''); REPLACE INTO `item_db_re` VALUES ('2355','Angel\'s_Protection','Angelic Protection','5','10000','5000','600','0','0','25','0','1','1','47','2','16','0','40',NULL,'1','0','0','bonus bMdef,20;','',''); REPLACE INTO `item_db_re` VALUES ('2356','Vestment_Of_Grace','Blessed Holy Robe','5','20','10','2500','0','0','45','0','1','33024','63','2','16','0','70',NULL,'1','0','0','bonus bMdef,5; bonus2 bResEff,Eff_Blind,8000;','',''); REPLACE INTO `item_db_re` VALUES ('2357','Valkyrie_Armor','Valkyrian Armor','5','0','0','2800','0','0','55','0','1','1040382','58','2','16','0','0',NULL,'1','0','0','bonus bAllStats,1; bonus bUnbreakableArmor,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000;','',''); REPLACE INTO `item_db_re` VALUES ('2358','Dress_Of_Angel','Angel\'s Dress','5','20','10','1000','0','0','5','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bLuk,4;','',''); REPLACE INTO `item_db_re` VALUES ('2359','Ninja_Suit_','Ninja Suit','5','20','10','1500','0','0','58','0','1','570560576','63','2','16','0','50',NULL,'1','0','0','bonus bAgi,1; bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('2360','Robe_Of_Casting_','Robe of Cast','5','124800','62400','1100','0','0','40','0','1','8454656','63','2','16','0','75',NULL,'1','0','0','bonus bVariableCastrate,-3; bonus bMdef,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2361','Blue_Aodai','Blue Robe','5','20','10','500','0','0','0','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bStr,5; bonus bInt,5; bonus bVit,5; bonus bDex,5; bonus bAgi,5; bonus bLuk,5; bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2362','Red_Aodai','Red Robe','5','20','10','500','0','0','0','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bStr,5; bonus bInt,5; bonus bVit,5; bonus bDex,5; bonus bAgi,5; bonus bLuk,5; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2361','Blue_Aodai','Blue Robe','5','20','10','500','0','0','0','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bStr,5; bonus bInt,5; bonus bVit,5; bonus bDex,5; bonus bAgi,5; bonus bLuk,5; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2362','Red_Aodai','Red Robe','5','20','10','500','0','0','0','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bStr,5; bonus bInt,5; bonus bVit,5; bonus bDex,5; bonus bAgi,5; bonus bLuk,5; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2363','White_Aodai','White Robe','5','20','10','500','0','0','0','0','0','1','47','2','16','0','0',NULL,'1','0','0','bonus bStr,3; bonus bInt,3; bonus bVit,3; bonus bDex,3; bonus bAgi,3; bonus bLuk,3; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2364','Meteo_Plate_Armor','Meteo Plate Armor','5','20','10','3000','0','0','85','0','1','279714','58','2','16','0','55',NULL,'1','0','0','bonus2 bResEff,Eff_Stun,3000; bonus2 bResEff,Eff_Freeze,3000;','',''); REPLACE INTO `item_db_re` VALUES ('2365','Orleans_Gown','Orleans\'s Gown','5','20','10','300','0','0','15','0','1','1040382','58','2','16','0','55',NULL,'1','0','0','bonus bVariableCastrate,15; bonus bNoCastCancel,0;','',''); REPLACE INTO `item_db_re` VALUES ('2366','Divine_Cloth','Divine Cloth','5','20','10','1500','0','0','50','0','1','1040382','58','2','16','0','55',NULL,'1','0','0','bonus2 bResEff,Eff_Curse,500; bonus2 bResEff,Eff_Silence,500; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; bonus2 bResEff,Eff_Sleep,500;','',''); REPLACE INTO `item_db_re` VALUES ('2367','Sniping_Suit','Sniping Suit','5','20','10','750','0','0','42','0','1','2048','58','2','16','0','50',NULL,'1','0','0','bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayrate,-23;','',''); REPLACE INTO `item_db_re` VALUES ('2368','Golden_Armor','Golden Armor','5','20','10','2000','0','0','4','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bMdef,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2369','Freyja_Overcoat','Freyja Overcoat','5','0','0','500','0','0','12','0','0','4294967294','63','2','16','0','0',NULL,'0','0','0','bonus bUnbreakableArmor,0; bonus2 bSubRace,RC_DemiHuman,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2369','Freyja_Overcoat','Freyja Overcoat','5','0','0','500','0','0','12','0','0','2147483647','63','2','16','0','0',NULL,'0','0','0','bonus bUnbreakableArmor,0; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('2370','Used_Mage_Coat','Used Mage Coat','5','0','0','0','0','0','15','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bAgi,1; bonus bMaxHP,300; bonus bMaxSP,30; bonus bBaseAtk,10; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2371','G_Strings_','Pantie','5','1000','500','100','0','0','22','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2372','Mage_Coat_','Mage Coat','5','20','10','600','0','0','40','0','1','8454660','63','2','16','0','50',NULL,'1','0','0','bonus bMdef,5; bonus bInt,1;','',''); @@ -1429,31 +1429,31 @@ REPLACE INTO `item_db_re` VALUES ('2390','Improved_Tights','Improved Tights','5' REPLACE INTO `item_db_re` VALUES ('2391','Life_Link','Life Link','5','20','10','3500','0','0','75','0','1','16514','58','2','16','0','82',NULL,'1','0','0','bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;','',''); REPLACE INTO `item_db_re` VALUES ('2392','Old_Pant','Old Green Pantie','5','0','0','0','0','0','60','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,MO_CALLSPIRITS,5,20; bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('2393','N_Adventurer\'s_Suit','Novice Adventurer\'s Suit','5','0','0','0','0','0','45','0','1','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2394','Krieger_Suit1','Glorious Suit','5','20','10','0','0','0','10','0','0','4294967294','63','2','16','0','81',NULL,'1','0','0','bonus bMaxHPrate,20; bonus2 bSubRace,RC_DemiHuman,7;','',''); -REPLACE INTO `item_db_re` VALUES ('2395','Krieger_Suit2','Glorious Popularized Suit','5','20','10','0','0','0','10','0','0','4294967294','63','2','16','0','61',NULL,'1','0','0','bonus bMaxHP,600; bonus bSPrecovRate,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2396','Krieger_Suit3','Glorious Mass-Production Suit','5','20','10','0','0','0','10','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHP,500;','',''); -REPLACE INTO `item_db_re` VALUES ('2397','Incredible_Coat','Incredible Event Resignation Coat','5','10','5','900','0','0','10','0','0','4294967294','63','2','16','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2394','Krieger_Suit1','Glorious Suit','5','20','10','0','0','0','10','0','0','2147483647','63','2','16','0','81',NULL,'1','0','0','bonus bMaxHPrate,20; bonus2 bSubRace,RC_DemiHuman,7;','',''); +REPLACE INTO `item_db_re` VALUES ('2395','Krieger_Suit2','Glorious Popularized Suit','5','20','10','0','0','0','10','0','0','2147483647','63','2','16','0','61',NULL,'1','0','0','bonus bMaxHP,600; bonus bSPrecovRate,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2396','Krieger_Suit3','Glorious Mass-Production Suit','5','20','10','0','0','0','10','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHP,500;','',''); +REPLACE INTO `item_db_re` VALUES ('2397','Incredible_Coat','Incredible Event Resignation Coat','5','10','5','900','0','0','10','0','0','2147483647','63','2','16','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2398','Sniping_Suit_M','Sniping Suit','5','20','10','750','0','0','5','0','1','2048','58','2','16','0','50',NULL,'1','0','0','bonus bMdef,5; bonus bCritical,6+(readparam(bLuk)/10); bonus bDelayrate,-23;','',''); REPLACE INTO `item_db_re` VALUES ('2399','Dragon_Vest','Dragon Vest','5','20','10','500','0','0','20','0','1','1040382','58','2','16','0','0',NULL,'1','0','0','bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('2401','Sandals','Sandals','5','400','200','200','0','0','5','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2402','Sandals_','Sandals','5','400','200','200','0','0','5','0','1','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2403','Shoes','Shoes','5','3500','1750','400','0','0','10','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2404','Shoes_','Shoes','5','3500','1750','400','0','0','10','0','1','4294967294','63','2','64','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2403','Shoes','Shoes','5','3500','1750','400','0','0','10','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2404','Shoes_','Shoes','5','3500','1750','400','0','0','10','0','1','2147483647','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2405','Boots','Boots','5','18000','9000','600','0','0','16','0','0','24009962','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2406','Boots_','Boots','5','18000','9000','600','0','0','16','0','1','24009962','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2407','Chrystal_Pumps','Crystal Pumps','5','20','10','100','0','0','5','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,10; bonus bLuk,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2407','Chrystal_Pumps','Crystal Pumps','5','20','10','100','0','0','5','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,10; bonus bLuk,5;','',''); REPLACE INTO `item_db_re` VALUES ('2408','Cuffs','Shackles','5','5000','2500','3000','0','0','18','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2409','Spiky_Heel','High Heels','5','8500','4250','600','0','0','10','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2409','Spiky_Heel','High Heels','5','8500','4250','600','0','0','10','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2410','Sleipnir','Sleipnir','5','20','10','3500','0','0','40','0','0','4294967295','63','2','64','0','94',NULL,'0','0','0','bonus bUnbreakableShoes,0; bonus bMdef,10; bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bSPrecovRate,25; bonus bSpeedRate,25; bonus bInt,25;','',''); REPLACE INTO `item_db_re` VALUES ('2411','Grave','Greaves','5','48000','24000','750','0','0','27','0','0','16512','63','2','64','0','65',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2412','Grave_','Greaves','5','54000','27000','750','0','0','27','0','1','16512','63','2','64','0','65',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2413','Safty_Boots','Safety Boots','5','34000','17000','350','0','0','22','0','0','16514','63','2','64','0','30',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2414','Novice_Boots','Novice Slippers','5','1','0','1','0','0','5','0','0','1','47','2','64','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2415','Slipper','Bunny Slipper','5','34000','17000','300','0','0','9','0','1','4294967294','63','2','64','0','30',NULL,'1','0','0','bonus bLuk,3; bonus bMdef,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2415','Slipper','Bunny Slipper','5','34000','17000','300','0','0','9','0','1','2147483647','63','2','64','0','30',NULL,'1','0','0','bonus bLuk,3; bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('2416','Novice_Shoes','Novice Shoes','5','35000','17500','500','0','0','8','0','1','1','47','2','64','0','40',NULL,'1','0','0','bonus bMaxHPrate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2417','Fricco_Shoes','Fricco\'s Shoes','5','30000','15000','500','0','0','12','0','0','4294967294','63','2','64','0','65',NULL,'1','0','0','bonus bAgi,2; bonus2 bAddItemHealRate,Red_Potion,20; bonus2 bAddItemHealRate,Yellow_Potion,20; bonus2 bAddItemHealRate,Orange_Potion,20; bonus2 bAddItemHealRate,White_Potion,20;','',''); -REPLACE INTO `item_db_re` VALUES ('2418','Vidar\'s_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','0','4294967294','63','2','64','0','65',NULL,'1','0','0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','',''); -REPLACE INTO `item_db_re` VALUES ('2419','Goibne\'s_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','13','0','0','4294967294','63','2','64','0','54',NULL,'1','0','0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2417','Fricco_Shoes','Fricco\'s Shoes','5','30000','15000','500','0','0','12','0','0','2147483647','63','2','64','0','65',NULL,'1','0','0','bonus bAgi,2; bonus2 bAddItemHealRate,Red_Potion,20; bonus2 bAddItemHealRate,Yellow_Potion,20; bonus2 bAddItemHealRate,Orange_Potion,20; bonus2 bAddItemHealRate,White_Potion,20;','',''); +REPLACE INTO `item_db_re` VALUES ('2418','Vidar\'s_Boots','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','0','2147483647','63','2','64','0','65',NULL,'1','0','0','bonus bMaxHPrate,9; bonus bMaxSPrate,9;','',''); +REPLACE INTO `item_db_re` VALUES ('2419','Goibne\'s_Combat_Boots','Goibne\'s Greaves','5','30000','15000','700','0','0','13','0','0','2147483647','63','2','64','0','54',NULL,'1','0','0','bonus bMdef,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); REPLACE INTO `item_db_re` VALUES ('2420','Angel\'s_Arrival','Angel\'s Reincarnation','5','10000','5000','300','0','0','8','0','1','1','47','2','64','0','25',NULL,'1','0','0','bonus bMaxHP,100;','',''); REPLACE INTO `item_db_re` VALUES ('2421','Valkyrie_Shoes','Valkyrian Shoes','5','0','0','500','0','0','13','0','1','1040382','58','2','64','0','0',NULL,'1','0','0','bonus bUnbreakableShoes,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bMaxHP,(BaseLevel*5); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bMaxSP,(JobLevel*2);','',''); REPLACE INTO `item_db_re` VALUES ('2422','High_Fashion_Sandals','High Fashion Sandals','5','24000','12000','200','0','0','7','0','1','8487700','63','2','64','0','40',NULL,'1','0','0','bonus bMdef,10;','',''); @@ -1462,11 +1462,11 @@ REPLACE INTO `item_db_re` VALUES ('2424','Tidal_Shoes','Tidal Shoes','5','20','1 REPLACE INTO `item_db_re` VALUES ('2425','Black_Leather_Boots','Black Leather Boots','5','20','10','500','0','0','16','0','0','1040382','58','2','64','0','55',NULL,'1','0','0','bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('2426','Shadow_Walk','Shadow Walk','5','20','10','2000','0','0','0','0','0','1040382','58','2','64','0','75',NULL,'1','0','0','bonus bMdef,10; if(getskilllv(AS_CLOAKING)<2) { bonus5 bAutoSpellWhenHit,AS_CLOAKING,2,100,BF_MAGIC,0; } else bonus5 bAutoSpellWhenHit,AS_CLOAKING,getskilllv(AS_CLOAKING),100,BF_MAGIC,0;','',''); REPLACE INTO `item_db_re` VALUES ('2427','Golden_Shoes','Golden Shoes','5','20','10','300','0','0','4','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','bonus bMdef,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2428','Freyja_Boots','Freyja Boots','5','0','0','300','0','0','22','0','0','4294967294','63','2','64','0','0',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2428','Freyja_Boots','Freyja Boots','5','0','0','300','0','0','22','0','0','2147483647','63','2','64','0','0',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db_re` VALUES ('2429','Iron_Boots01','Iron Boots','5','0','0','1500','0','0','5','0','0','941290','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2430','Iron_Boots02','Iron Boots','5','0','0','800','0','0','5','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2431','Valley_Shoes','Valley Shoes','5','20','10','0','0','0','10','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','bonus bMaxHPrate,7; bonus bMaxSPrate,7;','',''); -REPLACE INTO `item_db_re` VALUES ('2432','Spiky_Heel_','Highheels','5','8500','4250','600','0','0','10','0','1','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2432','Spiky_Heel_','Highheels','5','8500','4250','600','0','0','10','0','1','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2433','Diabolus_Boots','Diabolus Boots','5','20','10','250','0','0','15','0','1','1040256','58','2','64','0','0',NULL,'1','0','0','bonus bMaxHP,(BaseLevel*10);','',''); REPLACE INTO `item_db_re` VALUES ('2434','Black_Leather_Boots_','Black Leather Boots','5','20','10','500','0','0','16','0','1','1040382','58','2','64','0','55',NULL,'1','0','0','bonus bAgi,1; if(getrefine()>=9) bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('2435','Battle_Greave','Battle Greave','5','10','5','0','0','0','15','0','1','577131746','63','2','64','0','80',NULL,'1','0','0','bonus bMaxHP,100; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); @@ -1478,10 +1478,10 @@ REPLACE INTO `item_db_re` VALUES ('2440','Sprint_Shoes','Sprint Shoes','5','20', REPLACE INTO `item_db_re` VALUES ('2441','Beach_Sandal','Beach Sandals','5','20','10','200','0','0','0','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db_re` VALUES ('2442','Boots_Perforated','Red Stocking Boots','5','0','0','0','0','0','18','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','bonus bLuk,2; bonus bHPrecovRate,10; bonus bSPrecovRate,10; bonus3 bAutoSpellWhenHit,WZ_QUAGMIRE,3,30; bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('2443','Fish_Shoes','Fisher\'s Boots','5','10','5','250','0','0','0','0','0','4294967295','63','2','64','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2444','Krieger_Shoes1','Glorious Shoes','5','20','10','0','0','0','0','0','0','4294967294','63','2','64','0','81',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus3 bAutoSpellWhenHit,AL_INCAGI,1,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2445','Krieger_Shoes2','Glorious Popularized Shoes','5','20','10','0','0','0','5','0','0','4294967294','63','2','64','0','61',NULL,'1','0','0','bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2446','Krieger_Shoes3','Glorious Mass-Production Shoes','5','20','10','0','0','0','10','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2447','Military_Boots','Army Boots','5','1000','500','1000','0','0','5','0','0','4294967294','63','2','64','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2444','Krieger_Shoes1','Glorious Shoes','5','20','10','0','0','0','0','0','0','2147483647','63','2','64','0','81',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bSubRace,RC_DemiHuman,4; bonus3 bAutoSpellWhenHit,AL_INCAGI,1,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2445','Krieger_Shoes2','Glorious Popularized Shoes','5','20','10','0','0','0','5','0','0','2147483647','63','2','64','0','61',NULL,'1','0','0','bonus bMaxHPrate,5; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2446','Krieger_Shoes3','Glorious Mass-Production Shoes','5','20','10','0','0','0','10','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2447','Military_Boots','Army Boots','5','1000','500','1000','0','0','5','0','0','2147483647','63','2','64','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2448','Air_Boss','Air Boss','5','0','0','500','0','0','2','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2449','Variant_Shoes_M','Variant Shoes','5','20','10','500','0','0','3','0','0','1040382','58','2','64','0','85',NULL,'1','0','0','bonus bMaxHPrate,20-getrefine(); bonus bMaxSPrate,20-getrefine(); bonus bDef,getrefine()/2;','',''); REPLACE INTO `item_db_re` VALUES ('2450','Vital_Tree_Shoes','Vital Tree Shoes','5','20','10','500','0','0','16','0','0','1040382','58','2','64','0','60',NULL,'1','0','0','bonus bMaxHPrate,10; bonus2 bHPRegenRate,30,10000; bonus bHealPower2,5; bonus bAddItemHealRate,5; bonus bMdef,3; bonus bVit,2;','',''); @@ -1493,7 +1493,7 @@ REPLACE INTO `item_db_re` VALUES ('2455','Time_Keepr_Boots','Guardian Boots','5' REPLACE INTO `item_db_re` VALUES ('2456','Para_Team_Boots1','Eden Group Boots I','5','0','0','0','0','0','14','0','0','4294967295','63','2','64','0','12',NULL,'0','0','0','bonus bHPrecovRate,10; bonus bSPrecovRate,2;','',''); REPLACE INTO `item_db_re` VALUES ('2457','Para_Team_Boots2','Eden Group Boots II','5','0','0','0','0','0','16','0','0','4294967295','63','2','64','0','26',NULL,'0','0','0','bonus bHPrecovRate,12; bonus bSPrecovRate,4;','',''); REPLACE INTO `item_db_re` VALUES ('2458','Para_Team_Boots3','Eden Group Boots III','5','0','0','0','0','0','18','0','0','4294967295','63','2','64','0','40',NULL,'0','0','0','bonus bHPrecovRate,14; bonus bSPrecovRate,6;','',''); -REPLACE INTO `item_db_re` VALUES ('2459','Upg_Shoes','Reinforcement Shoes','5','20','10','200','0','0','15','0','1','4294967294','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2459','Upg_Shoes','Reinforcement Shoes','5','20','10','200','0','0','15','0','1','2147483647','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2460','Upg_Boots','Reinforcement Boots','5','20','10','300','0','0','21','0','1','24009962','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2461','Upg_Greave','Reinforcement Greaves','5','20','10','400','0','0','32','0','1','16512','63','2','64','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2462','Sleipnir_C','Ephemeral Sleipnir','5','20','10','0','0','0','40','0','0','4294967295','63','2','64','0','94',NULL,'0','0','0','bonus bUnbreakableShoes,0; bonus bMdef,10; bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bSPrecovRate,15; bonus bSpeedRate,25;','',''); @@ -1522,36 +1522,36 @@ REPLACE INTO `item_db_re` VALUES ('2484','Siege_Boots','WoE Boots','5','10','5', REPLACE INTO `item_db_re` VALUES ('2485','Siege_Shoes','WoE Shoes','5','10','5','350','0','0','15','0','1','8487701','63','2','64','0','95',NULL,'1','0','0','bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db_re` VALUES ('2486','Shadow_Walk_','Shadow Walker','5','20','10','2000','0','0','0','0','1','1040382','58','2','64','0','75',NULL,'1','0','0','bonus bMdef,10;','',''); REPLACE INTO `item_db_re` VALUES ('2487','Vital_Tree_Shoes_','Sephiroth\'s Shoes','5','20','10','500','0','0','16','0','1','1040382','58','2','64','0','60',NULL,'1','0','0','bonus bVit,2; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2488','Fricco_Shoes_','Freyja Boots','5','30000','15000','500','0','0','12','0','1','4294967294','63','2','64','0','65',NULL,'1','0','0','bonus bAgi,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2489','Vidar\'s_Boots_','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','1','4294967294','63','2','64','0','65',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2488','Fricco_Shoes_','Freyja Boots','5','30000','15000','500','0','0','12','0','1','2147483647','63','2','64','0','65',NULL,'1','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2489','Vidar\'s_Boots_','Vidar\'s Boots','5','30000','15000','650','0','0','13','0','1','2147483647','63','2','64','0','65',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2491','Bangungot_Boots','Bangungot Boots of Nightmare','5','20','10','600','0','0','10','0','0','4294967295','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,getrefine(); if(getrefine()>=14) { bonus bSpeedRate,25; }','',''); REPLACE INTO `item_db_re` VALUES ('2492','Bayani_Bangungot_Boots','Bangungot Boots(Bayani)','5','20','10','600','0','0','10','0','1','4294967295','63','2','64','0','0',NULL,'1','0','0','bonus bMdef,getrefine(); if(getrefine()>=12) { bonus bSpeedRate,25; }','',''); REPLACE INTO `item_db_re` VALUES ('2495','Egir_Shoes','Aegir Shoes','5','200000','100000','300','0','0','13','0','1','4294967295','63','2','64','0','110',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2501','Hood','Hood','5','1000','500','200','0','0','4','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2502','Hood_','Hood','5','1000','500','200','0','0','4','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2503','Muffler','Muffler','5','5000','2500','400','0','0','8','0','0','4294967294','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2504','Muffler_','Muffler','5','5000','2500','400','0','0','8','0','1','4294967294','63','2','4','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2503','Muffler','Muffler','5','5000','2500','400','0','0','8','0','0','2147483647','63','2','4','0','0',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2504','Muffler_','Muffler','5','5000','2500','400','0','0','8','0','1','2147483647','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2505','Manteau','Manteau','5','32000','16000','600','0','0','13','0','0','6706402','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2506','Manteau_','Manteau','5','32000','16000','600','0','0','13','0','1','6706402','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2507','Cape_Of_Ancient_Lord','Ancient Cape','5','82000','41000','600','0','0','9','0','0','4294967294','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2508','Ragamuffin_Cape','Ragamuffin Manteau','5','56000','28000','500','0','0','4','0','0','4294967294','63','2','4','0','0',NULL,'1','0','0','bonus bUnbreakableGarment,0; bonus bMdef,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2507','Cape_Of_Ancient_Lord','Ancient Cape','5','82000','41000','600','0','0','9','0','0','2147483647','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2508','Ragamuffin_Cape','Ragamuffin Manteau','5','56000','28000','500','0','0','4','0','0','2147483647','63','2','4','0','0',NULL,'1','0','0','bonus bUnbreakableGarment,0; bonus bMdef,10;','',''); REPLACE INTO `item_db_re` VALUES ('2509','Clack_Of_Servival','Survivor\'s Manteau','5','20000','10000','550','0','0','10','0','0','8454660','63','2','4','0','75',NULL,'1','0','0','bonus bMdef,5; bonus bVit,10;','',''); REPLACE INTO `item_db_re` VALUES ('2510','Novice_Hood','Somber Novice Hood','5','1','0','1','0','0','4','0','0','1','47','2','4','0','0',NULL,'0','0','0','bonus2 bSubEle,Ele_Neutral,20;','',''); -REPLACE INTO `item_db_re` VALUES ('2511','Skeleton\'s_Cape','Skeleton Manteau','5','5000','2500','700','0','0','13','0','0','4294967294','63','2','4','0','75',NULL,'1','0','0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','',''); +REPLACE INTO `item_db_re` VALUES ('2511','Skeleton\'s_Cape','Skeleton Manteau','5','5000','2500','700','0','0','13','0','0','2147483647','63','2','4','0','75',NULL,'1','0','0','bonus bStr,2; bonus bInt,-3; bonus bDex,2; bonus bVit,-3; bonus bLuk,2; bonus bAgi,-4;','',''); REPLACE INTO `item_db_re` VALUES ('2512','Novice_Manteau','Novice Manteau','5','50000','25000','500','0','0','7','0','1','1','47','2','4','0','40',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2513','Celestial_Robe','Heavenly Maiden Robe','5','20','10','500','0','0','18','0','1','4294967294','63','2','4','0','80',NULL,'1','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2513','Celestial_Robe','Heavenly Maiden Robe','5','20','10','500','0','0','18','0','1','2147483647','63','2','4','0','80',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2514','Pauldron','Pauldron','5','20','10','800','0','0','25','0','1','414946','63','2','4','0','80',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2515','Wing_Of_Eagle','Eagle Wing','5','20000','10000','300','0','0','12','0','1','8454660','63','2','4','0','85',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2516','Falcon_Robe','Falcon Muffler','5','30000','15000','400','0','0','8','0','0','4294967294','63','2','4','0','65',NULL,'1','0','0','bonus bFlee,15; bonus bFlee2,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2517','Vali\'s_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','13','0','0','4294967294','63','2','4','0','65',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,15;','',''); -REPLACE INTO `item_db_re` VALUES ('2518','Morpheus\'s_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','8','0','0','4294967294','63','2','4','0','33',NULL,'1','0','0','bonus bMaxSPrate,10; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2519','Morrigane\'s_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','9','0','0','4294967294','63','2','4','0','61',NULL,'1','0','0','bonus bLuk,2; bonus bFlee2,8;','',''); -REPLACE INTO `item_db_re` VALUES ('2520','Goibne\'s_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','11','0','0','4294967294','63','2','4','0','54',NULL,'1','0','0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2516','Falcon_Robe','Falcon Muffler','5','30000','15000','400','0','0','8','0','0','2147483647','63','2','4','0','65',NULL,'1','0','0','bonus bFlee,15; bonus bFlee2,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2517','Vali\'s_Manteau','Vali\'s Manteau','5','30000','15000','600','0','0','13','0','0','2147483647','63','2','4','0','65',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,15;','',''); +REPLACE INTO `item_db_re` VALUES ('2518','Morpheus\'s_Shawl','Morpheus\'s Shawl','5','30000','15000','600','0','0','8','0','0','2147483647','63','2','4','0','33',NULL,'1','0','0','bonus bMaxSPrate,10; bonus bMdef,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2519','Morrigane\'s_Manteau','Morrigane\'s Manteau','5','30000','15000','600','0','0','9','0','0','2147483647','63','2','4','0','61',NULL,'1','0','0','bonus bLuk,2; bonus bFlee2,8;','',''); +REPLACE INTO `item_db_re` VALUES ('2520','Goibne\'s_Shoulder_Arms','Goibne\'s Spaulders','5','30000','15000','700','0','0','11','0','0','2147483647','63','2','4','0','54',NULL,'1','0','0','bonus bLongAtkDef,10; bonus bMdef,2; bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('2521','Angel\'s_Warmth','Angelic Cardigan','5','10000','5000','400','0','0','6','0','1','1','47','2','4','0','20',NULL,'1','0','0','bonus bHPrecovRate,5;','',''); REPLACE INTO `item_db_re` VALUES ('2522','Undershirt','Undershirt','5','20000','10000','150','0','0','5','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('2523','Undershirt_','Undershirt','5','20000','10000','150','0','0','5','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('2524','Valkyrie_Manteau','Valkyrian Manteau','5','0','0','500','0','0','10','0','1','1040382','58','2','4','0','0',NULL,'1','0','0','bonus bUnbreakableGarment,0; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus bFlee2,5+(getequiprefinerycnt(EQI_GARMENT)*2); else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus bShortWeaponDamageReturn,5+(getequiprefinerycnt(EQI_GARMENT)*2);','',''); -REPLACE INTO `item_db_re` VALUES ('2525','Cape_Of_Ancient_Lord_','Ancient Cape','5','82000','41000','600','0','0','9','0','1','4294967294','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2525','Cape_Of_Ancient_Lord_','Ancient Cape','5','82000','41000','600','0','0','9','0','1','2147483647','63','2','4','0','40',NULL,'1','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2526','Dragon_Scale_Coat','Coat of Dragon Scale','5','20','10','10','0','0','14','0','0','4294967295','63','2','4','0','50',NULL,'1','0','0','bonus bMaxHP,300;','',''); REPLACE INTO `item_db_re` VALUES ('2527','Dragon_Breath','Dragon Breath','5','20','10','600','0','0','16','0','1','1040382','58','2','4','0','48',NULL,'1','0','0','bonus2 bSubRace,RC_Dragon,15;','',''); REPLACE INTO `item_db_re` VALUES ('2528','Wool_Scarf','Wool Scarf','5','20','10','500','0','0','11','0','1','1040382','58','2','4','0','55',NULL,'1','0','0','bonus bMdef,4;','',''); @@ -1559,10 +1559,10 @@ REPLACE INTO `item_db_re` VALUES ('2529','Rider_Insignia','Rider Insignia','5',' REPLACE INTO `item_db_re` VALUES ('2530','Rider_Insignia_','Rider Insignia','5','20','10','500','0','0','13','0','1','1040382','58','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('2531','Ulfhedinn','Ulfhedinn','5','20','10','700','0','0','13','0','1','414946','58','2','4','0','70',NULL,'1','0','0','bonus3 bAutoSpellWhenHit,NPC_STONESKIN,6,20;','',''); REPLACE INTO `item_db_re` VALUES ('2532','Mithril_Magic_Cape','Mithril Magic Cape','5','20','10','400','0','0','8','0','1','625436','58','2','4','0','70',NULL,'1','0','0','bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0;','',''); -REPLACE INTO `item_db_re` VALUES ('2533','Freyja_Cape','Freyja Cape','5','0','0','200','0','0','10','0','0','4294967294','63','2','4','0','0',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,15;','',''); +REPLACE INTO `item_db_re` VALUES ('2533','Freyja_Cape','Freyja Cape','5','0','0','200','0','0','10','0','0','2147483647','63','2','4','0','0',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,15;','',''); REPLACE INTO `item_db_re` VALUES ('2534','Ruffler','Ruffler','5','20','10','0','0','0','10','0','0','4294967295','63','2','4','0','0',NULL,'0','0','0','bonus2 bSubEle,Ele_Neutral,17; bonus bFlee,17;','',''); REPLACE INTO `item_db_re` VALUES ('2535','Cloak_Of_Survival_C','Cloak Of Survival','5','1','0','0','0','0','17','0','0','8454660','63','2','4','0','0',NULL,'0','0','0','bonus bVit,10; bonus bMdef,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2536','Skin_Of_Ventus','Skin of Ventus','5','20','10','250','0','0','7','0','1','4294967294','63','2','4','0','60',NULL,'1','0','0','bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2536','Skin_Of_Ventus','Skin of Ventus','5','20','10','250','0','0','7','0','1','2147483647','63','2','4','0','60',NULL,'1','0','0','bonus bMdef,2; bonus bMaxHP,200; bonus bFlee,10;','',''); REPLACE INTO `item_db_re` VALUES ('2537','Diabolus_Manteau','Diabolus Manteau','5','20','10','250','0','0','15','0','1','1040256','58','2','4','0','0',NULL,'1','0','0','bonus2 bSubEle,Ele_Neutral,5; bonus bMaxHP,100; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10;','',''); REPLACE INTO `item_db_re` VALUES ('2538','Commander_Manteau','Captain\'s Manteau','5','10','5','0','0','0','28','0','1','577131746','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); REPLACE INTO `item_db_re` VALUES ('2539','Commander_Manteau_','Commander\'s Manteau','5','10','5','0','0','0','20','0','1','9014044','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHP,50; bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,1;','',''); @@ -1575,7 +1575,7 @@ REPLACE INTO `item_db_re` VALUES ('2545','Musika','Musika','5','20','10','500',' REPLACE INTO `item_db_re` VALUES ('2546','Beach_Manteau','Beach Manteau','5','20','10','600','0','0','0','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bStr,1; bonus bInt,1; bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db_re` VALUES ('2547','Cheap_Running_Shirts','Cheap Undershirt','5','0','0','0','0','0','11','0','0','4294967295','63','2','4','0','0',NULL,'0','0','0','bonus bDex,2; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10; bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('2548','Muffler_C','Neo Muffler','5','0','0','0','0','0','22','0','0','1040382','58','2','4','0','95',NULL,'0','0','0','bonus2 bSubRace,RC_DemiHuman,10; bonus bMaxHPrate,10; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2549','Krieger_Muffler1','Glorious Muffler','5','20','10','0','0','0','3','0','0','4294967294','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHPrate,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2549','Krieger_Muffler1','Glorious Muffler','5','20','10','0','0','0','3','0','0','2147483647','63','2','4','0','80',NULL,'1','0','0','bonus bMaxHPrate,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db_re` VALUES ('2550','Fisher\'s_Muffler','Fisher\'s Muffler','5','20','10','200','0','0','0','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2551','Rider_Insignia_M','Crest of the Rider','5','20','10','500','0','0','4','0','1','1040382','58','2','4','0','55',NULL,'1','0','0','bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('2552','Mithril_Magic_Cape_M','Mithril Magic Manteau','5','20','10','400','0','0','3','0','1','625436','58','2','4','0','70',NULL,'1','0','0','bonus bMdef,3; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,1,200,BF_MAGIC,0;','',''); @@ -1588,7 +1588,7 @@ REPLACE INTO `item_db_re` VALUES ('2558','Freyja_SScarf90','Freya Soul Scarf','5 REPLACE INTO `item_db_re` VALUES ('2559','Time_Keepr_Manteau','Guardian Manteau','5','30000','15000','0','0','0','9','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bMdef,1; bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,10;','',''); REPLACE INTO `item_db_re` VALUES ('2560','Para_Team_Manteau','Eden Group Manteau','5','0','0','0','0','0','14','0','0','4294967295','63','2','4','0','12',NULL,'0','0','0','bonus2 bSubEle,Ele_Neutral,10;','',''); REPLACE INTO `item_db_re` VALUES ('2561','Upg_Hood','Reinforcement Hood','5','0','0','100','0','0','9','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2562','Upg_Muffler','Reinforcement Muffler','5','20','10','200','0','0','13','0','1','4294967294','63','2','4','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2562','Upg_Muffler','Reinforcement Muffler','5','20','10','200','0','0','13','0','1','2147483647','63','2','4','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2563','Upg_Manteau','Reinforcement Manteau','5','20','10','300','0','0','18','0','1','6706402','63','2','4','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2564','Feral_Tail','Feral Tail','5','20','10','0','0','0','16','0','0','4294967295','63','2','4','0','75',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2565','Beach_Towel','Beach Towel','5','20','10','100','0','0','2','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bMdef,3; bonus bFlee,7;','',''); @@ -1612,54 +1612,54 @@ REPLACE INTO `item_db_re` VALUES ('2582','Salvage_Cape','Salvage Cape','5','5600 REPLACE INTO `item_db_re` VALUES ('2583','Holy_Cape','Holy Cape','5','20','10','100','0','0','5','0','1','4294967295','63','2','4','0','50',NULL,'1','0','0','bonus bDex,-5; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2584','Wanderer_Outer','Coat Of Wandering','5','20','10','500','0','0','8','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2585','Muffler_Of_Valor','Muffler Of Valor','5','0','0','0','0','0','4','0','0','4294967295','63','2','4','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2586','Siege_Manteau','WoE Manteau','5','10','5','600','0','0','32','0','1','4294967294','63','2','4','0','95',NULL,'1','0','0','bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2586','Siege_Manteau','WoE Manteau','5','10','5','600','0','0','32','0','1','2147483647','63','2','4','0','95',NULL,'1','0','0','bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,2;','',''); REPLACE INTO `item_db_re` VALUES ('2587','Siege_Muffler','WoE Muffler','5','10','5','400','0','0','15','0','1','4294967295','63','2','4','0','95',NULL,'1','0','0','bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2588','Ragamuffin_Cape_','Rag mantle','5','56000','28000','500','0','0','4','0','1','4294967294','63','2','4','0','40',NULL,'1','0','0','bonus bUnbreakableGarment,0; bonus bMdef,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2588','Ragamuffin_Cape_','Rag mantle','5','56000','28000','500','0','0','4','0','1','2147483647','63','2','4','0','40',NULL,'1','0','0','bonus bUnbreakableGarment,0; bonus bMdef,10;','',''); REPLACE INTO `item_db_re` VALUES ('2589','Fallen_Angel_Wing','Fallen Angel Wing','5','0','0','200','0','0','18','0','1','4294967295','63','2','4','0','0',NULL,'1','3','0','bonus bLuk,2; bonus bMdef,18;','',''); REPLACE INTO `item_db_re` VALUES ('2590','Buwaya_Cloth','Buwaya Sack Cloth','5','20','10','200','0','0','8','0','0','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bHealPower2,getrefine()/3; bonus bAddItemHealRate,getrefine()/3; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db_re` VALUES ('2591','Bayani_Buwaya_Cloth','Buwaya Sack Cloth(Bayani)','5','20','10','200','0','0','8','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','bonus bHealPower2,getrefine(); bonus bAddItemHealRate,getrefine(); bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10;','',''); REPLACE INTO `item_db_re` VALUES ('2592','Boss_Brownie_Manteau','Cloak of Domovoi','5','20','10','100','0','0','3','0','0','4294967295','63','2','4','0','50',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2593','Flow_Manteau','Furowamanto','5','20','10','700','0','0','20','0','1','4294967295','63','2','4','0','65',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2594','Wrapping_Manteau','Furoshiki Cloak','5','20','10','100','0','0','0','0','1','4294967295','63','2','4','0','0',NULL,'1','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2601','Ring','Ring','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bStr,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2602','Earring','Earring','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bInt,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2603','Necklace','Necklace','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bVit,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2604','Glove','Glove','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bDex,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2605','Brooch','Brooch','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2601','Ring','Ring','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2602','Earring','Earring','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bInt,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2603','Necklace','Necklace','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bVit,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2604','Glove','Glove','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bDex,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2605','Brooch','Brooch','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('2607','Clip','Clip','5','30000','15000','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxSP,10; bonus bMaxHP,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2608','Rosary','Rosary','5','15000','7500','100','0','0','0','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2608','Rosary','Rosary','5','15000','7500','100','0','0','0','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,2;','',''); REPLACE INTO `item_db_re` VALUES ('2609','Skul_Ring','Skull Ring','5','10000','5000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2610','Gold_Ring','Gold Ring','5','30000','15000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2611','Silver_Ring','Silver Ring','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2612','Flower_Ring','Flower Ring','5','1500','750','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2613','Diamond_Ring','Diamond Ring','5','45000','22500','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2614','An_Eye_Of_Dullahan','Eye of Dullahan','5','90000','45000','100','0','0','0','0','0','4294967294','63','2','136','0','50',NULL,'0','0','0','bonus2 bResEff,Eff_Poison,10000; bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2615','Safety_Ring','Safety Ring','5','75000','37500','100','0','0','5','0','0','4294967294','63','2','136','0','40',NULL,'0','0','0','bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2616','Critical_Ring','Critical Ring','5','75000','37500','100','0','0','0','0','0','4294967294','63','2','136','0','40',NULL,'0','0','0','bonus bCritical,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2617','Mitten_Of_Presbyter','Celebrant\'s Mitten','5','2','1','100','0','0','1','0','0','4294967294','63','2','136','0','35',NULL,'0','0','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2618','Matyr\'s_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','4294967294','63','2','136','0','35',NULL,'0','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2614','An_Eye_Of_Dullahan','Eye of Dullahan','5','90000','45000','100','0','0','0','0','0','2147483647','63','2','136','0','50',NULL,'0','0','0','bonus2 bResEff,Eff_Poison,10000; bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2615','Safety_Ring','Safety Ring','5','75000','37500','100','0','0','5','0','0','2147483647','63','2','136','0','40',NULL,'0','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2616','Critical_Ring','Critical Ring','5','75000','37500','100','0','0','0','0','0','2147483647','63','2','136','0','40',NULL,'0','0','0','bonus bCritical,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2617','Mitten_Of_Presbyter','Celebrant\'s Mitten','5','2','1','100','0','0','1','0','0','2147483647','63','2','136','0','35',NULL,'0','0','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2618','Matyr\'s_Flea_Guard','Matyr\'s Leash','5','2','1','100','0','0','1','0','0','2147483647','63','2','136','0','35',NULL,'0','0','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2619','Thimble_Of_Archer','Bow Thimble','5','10000','5000','100','0','0','0','0','0','526344','63','2','136','0','65',NULL,'0','0','0','bonus bLongAtkRate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2620','Ring_Of_Rogue','Rogue\'s Treasure','5','10000','5000','100','0','0','0','0','0','570560576','63','2','136','0','70',NULL,'0','0','0','if(readparam(bStr)>=90) { bonus bHit,10; bonus bFlee,10; } if(readparam(bAgi)>=90) { bonus bBaseAtk,10; bonus bCritical,10; }','',''); -REPLACE INTO `item_db_re` VALUES ('2621','Ring_','Ring','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bStr,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2622','Earring_','Earring','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2623','Necklace_','Necklace','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bVit,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2624','Glove_','Glove','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bDex,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2625','Brooch_','Brooch','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2626','Rosary_','Rosary','5','15000','7500','200','0','0','0','0','1','4294967294','63','2','136','0','90',NULL,'0','0','0','bonus bMdef,3; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2621','Ring_','Ring','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2622','Earring_','Earring','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2623','Necklace_','Necklace','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2624','Glove_','Glove','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bDex,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2625','Brooch_','Brooch','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2626','Rosary_','Rosary','5','15000','7500','200','0','0','0','0','1','2147483647','63','2','136','0','90',NULL,'0','0','0','bonus bMdef,3; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('2627','Belt','Belt','5','20000','10000','1200','0','0','0','0','1','4294967295','63','2','136','0','25',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2628','Novice_Armlet','Novice Armlet','5','400','200','200','0','0','0','0','1','1','47','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2629','Magingiorde','Magingiorde','5','20','10','8000','0','0','2','0','0','4294967295','63','2','136','0','94',NULL,'0','0','0','bonus bStr,40+BaseLevel/5; bonus bMdef,7; if(readparam(bStr)==120) bonus2 bAddRace,RC_Boss,10;','',''); REPLACE INTO `item_db_re` VALUES ('2630','Brysinggamen','Brysinggamen','5','20','10','1500','0','0','1','0','0','4294967295','63','2','136','0','94',NULL,'0','0','0','bonus bDex,6; bonus bStr,6; bonus bAgi,6; bonus bVit,6; bonus bInt,10; bonus bLuk,10; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2631','First_Age_Ring','Celebration Ring','5','1','0','10','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2632','Korean_Trinket','Korean Trinket','5','125000','62500','100','0','0','1','0','0','4294967294','63','2','136','0','65',NULL,'0','0','0','bonus bVit,1; bonus bDex,1; bonus bLuk,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2633','Jade_Ring','Jade Ring','5','204000','102000','100','0','0','0','0','0','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bStr,2; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2632','Korean_Trinket','Korean Trinket','5','125000','62500','100','0','0','1','0','0','2147483647','63','2','136','0','65',NULL,'0','0','0','bonus bVit,1; bonus bDex,1; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2633','Jade_Ring','Jade Ring','5','204000','102000','100','0','0','0','0','0','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bStr,2; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('2634','Bridegroom_Ring','Wedding Ring','5','0','0','0','0','0','0','0','0','4294967295','63','1','136','0','0',NULL,'0','0','0','skill WE_MALE,1; skill WE_FEMALE,1; skill WE_CALLPARTNER,1;','',''); REPLACE INTO `item_db_re` VALUES ('2635','Bride_Ring','Wedding Ring','5','0','0','0','0','0','0','0','0','4294967295','63','0','136','0','0',NULL,'0','0','0','skill WE_MALE,1; skill WE_FEMALE,1; skill WE_CALLPARTNER,1;','',''); REPLACE INTO `item_db_re` VALUES ('2636','Gold_Ring_','Gold Christmas Ring','5','30000','15000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('2637','Silver_Ring_','Silver Christmas Ring','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('2638','Exorcize_Sachet','Sacred Incense','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('2639','Purification_Sachet','Occult Incense','5','20000','10000','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bInt,1; bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2640','Kafra_Ring','Kafra Ring','5','40000','20000','200','0','0','1','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus bLuk,1; bonus bMdef,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2640','Kafra_Ring','Kafra Ring','5','40000','20000','200','0','0','1','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bAgi,1; bonus bLuk,1; bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('2641','Fashionable_Sack','Fashion Hip Sack','5','20','10','700','0','0','0','0','0','263200','63','2','136','0','50',NULL,'0','0','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('2642','Serin\'s_Gold_Ring','Serin\'s Gold Ring','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2643','Serin\'s_Gold_Ring_','Serin\'s Gold Ring','5','45000','22500','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); @@ -1667,14 +1667,14 @@ REPLACE INTO `item_db_re` VALUES ('2644','The_Sign_','The Sign','5','2','1','0', REPLACE INTO `item_db_re` VALUES ('2645','Moonlight_Ring','Moonlight Ring','5','40000','20000','200','0','0','0','0','0','570560576','63','2','136','0','60',NULL,'0','0','0','bonus bMdef,2;','',''); REPLACE INTO `item_db_re` VALUES ('2646','Bunch_Of_Carnation','Bunch of Carnation','5','2','1','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,3;','',''); REPLACE INTO `item_db_re` VALUES ('2647','Nile_Rose','Nile Rose','5','2','1','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2648','Morpheus\'s_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2649','Morpheus\'s_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','4294967294','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2650','Morrigane\'s_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bBaseAtk,5; bonus bCritical,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2651','Morrigane\'s_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bStr,2; bonus bCritical,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2648','Morpheus\'s_Ring','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2649','Morpheus\'s_Armlet','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','0','2147483647','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2650','Morrigane\'s_Belt','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','0','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bBaseAtk,5; bonus bCritical,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2651','Morrigane\'s_Pendant','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','0','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bStr,2; bonus bCritical,3;','',''); REPLACE INTO `item_db_re` VALUES ('2652','Cursed_Lucky_Brooch','Goddess of Fortune\'s Cursed Brooch','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','40',NULL,'0','0','0','bonus bCritical,6; bonus2 bAddEff2,Eff_Curse,50;','',''); REPLACE INTO `item_db_re` VALUES ('2653','Sacrifice_Ring','Sacrifice Ring','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','90',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2654','Shinobi\'s_Sash','Shinobi Sash','5','20000','10000','300','0','0','1','0','0','570560576','63','2','136','0','30',NULL,'0','0','0','bonus bStr,1; bonus bAgi,1; bonus bMdef,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2655','Bloody_Iron_Ball','Bloodied Shackle Ball','5','50000','25000','4000','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2655','Bloody_Iron_Ball','Bloodied Shackle Ball','5','50000','25000','4000','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2656','Hyper_Changer','Armor Charm','5','20000','10000','1000','0','0','0','0','0','414946','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,50;','',''); REPLACE INTO `item_db_re` VALUES ('2657','Lab_Passport','Laboratory Permit','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2658','Nile_Rose_','Nile Rose','5','2','1','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,10;','',''); @@ -1683,16 +1683,16 @@ REPLACE INTO `item_db_re` VALUES ('2660','Vesper_Core02','Vesper Core 02','5','2 REPLACE INTO `item_db_re` VALUES ('2661','Vesper_Core03','Vesper Core 03','5','20','10','100','0','0','1','0','0','1040256','58','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bAgi,3; bonus bFlee,5;','',''); REPLACE INTO `item_db_re` VALUES ('2662','Vesper_Core04','Vesper Core 04','5','20','10','100','0','0','1','0','0','1040256','58','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bDex,3; bonus bHit,10;','',''); REPLACE INTO `item_db_re` VALUES ('2663','Gauntlet_Of_Accuracy','Gauntlet of Hit','5','20','10','900','0','0','0','0','0','4294967295','63','2','136','0','75',NULL,'0','0','0','bonus bHit,15; bonus bStr,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2664','Scarf_Belt','Belcarf','5','20','10','200','0','0','0','0','0','4294967294','63','2','136','0','75',NULL,'0','0','0','bonus bDex,2; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2664','Scarf_Belt','Belcarf','5','20','10','200','0','0','0','0','0','2147483647','63','2','136','0','75',NULL,'0','0','0','bonus bDex,2; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('2665','Ring_Of_Exorcism','Exorcising Ring','5','20','10','500','0','0','0','0','0','33040','63','2','136','0','60',NULL,'0','0','0','bonus bMdef,1; bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5;','',''); REPLACE INTO `item_db_re` VALUES ('2666','Lamp_Of_Hope','Lantern of Hope','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bStr,2; bonus2 bResEff,Eff_Blind,1000;','',''); -REPLACE INTO `item_db_re` VALUES ('2667','Glove_Of_Archer','Renown Archer\'s Gloves','5','20','10','300','0','0','0','0','0','4294967294','63','2','136','0','60',NULL,'0','0','0','bonus bHit,5; bonus bCritical,5; bonus bDex,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2667','Glove_Of_Archer','Renown Archer\'s Gloves','5','20','10','300','0','0','0','0','0','2147483647','63','2','136','0','60',NULL,'0','0','0','bonus bHit,5; bonus bCritical,5; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('2668','Women\'s_Glory','Woman Glory','5','0','0','500','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2669','Golden_Necklace_','RJC Necklace','5','30000','15000','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxSP,10;','',''); REPLACE INTO `item_db_re` VALUES ('2670','Ring_Of_Longing','Ring of Longing','5','20','10','100','0','0','1','0','0','4294967295','63','2','136','0','30',NULL,'0','0','0','bonus bFlee,5;','',''); REPLACE INTO `item_db_re` VALUES ('2671','Thimble_Of_Archer_','Bow Thimble','5','10000','5000','100','0','0','0','0','1','526344','63','2','136','0','65',NULL,'0','0','0','bonus bLongAtkRate,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2672','Anniversary_Ring','3rd Anniversary Celebration Ring','5','20','10','100','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2673','Shining_Ring','Warrior\'s Shining Ring','5','0','0','100','0','0','0','0','0','4294967294','63','2','136','0','48',NULL,'0','0','0','bonus bBaseAtk,10; bonus bSPrecovRate,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2672','Anniversary_Ring','3rd Anniversary Celebration Ring','5','20','10','100','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2673','Shining_Ring','Warrior\'s Shining Ring','5','0','0','100','0','0','0','0','0','2147483647','63','2','136','0','48',NULL,'0','0','0','bonus bBaseAtk,10; bonus bSPrecovRate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2674','Honor_Ring','Ring of Honor','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2675','Lord_Ring','Lord Ring','5','0','0','10','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,3;','',''); REPLACE INTO `item_db_re` VALUES ('2676','Hunter_Earring','Hunter\'s Earring','5','20','10','300','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddMonsterDropItem,7618,100;','',''); @@ -1701,24 +1701,24 @@ REPLACE INTO `item_db_re` VALUES ('2678','Ring_Of_Flame_Lord','Ring Of Flame Lor REPLACE INTO `item_db_re` VALUES ('2679','Ring_Of_Resonance','Ring Of Resonance','5','20','10','100','0','0','2','0','0','1040256','58','2','136','0','0',NULL,'0','0','0','bonus bAgi,2; bonus bVit,1; bonus bMdef,2; bonus4 bAutoSpellWhenHit,WZ_QUAGMIRE,1,50,0; bonus3 bAutoSpellWhenHit,AS_SPLASHER,10,20; bonus3 bAutoSpellWhenHit,AL_HEAL,10,30; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,3,20; bonus3 bAutoSpellWhenHit,CG_TAROTCARD,5,20;','',''); REPLACE INTO `item_db_re` VALUES ('2680','Lesser_Elemental_Ring','Lesser Elemental Ring','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1; bonus3 bAutoSpell,WZ_ESTIMATION,1,80; bonus3 bAutoSpell,MC_IDENTIFY,1,50; bonus3 bAutoSpell,TF_PICKSTONE,1,100; bonus3 bAutoSpell,BS_GREED,1,10; bonus3 bAutoSpellWhenHit,TK_RUN,5,20; bonus3 bAutoSpellWhenHit,TK_HIGHJUMP,3,30; bonus3 bAutoSpellWhenHit,NV_FIRSTAID,1,100; bonus3 bAutoSpellWhenHit,TF_BACKSLIDING,1,50;','',''); REPLACE INTO `item_db_re` VALUES ('2681','Republic_Ring','Republic Anniversary Ring','5','20','10','1000','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2682','Ring_Of_Water','Ring of Water','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Water,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2683','Ring_Of_Fire','Ring of Fire','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Fire,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2684','Ring_Of_Wind','Ring of Wind','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Wind,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2685','Ring_Of_Earth','Ring of Earth','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Earth,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2686','Elven_Ears_C','Rental Elven Ears','5','1','0','0','0','0','2','0','0','4294967294','63','2','512','0','0',NULL,'0','73','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2687','Steel_Flower_C','Rental Steel Flower','5','1','0','0','0','0','1','0','0','4294967294','63','2','1','0','0',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2688','Critical_Ring_C','Rental Critical Ring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bCritical,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2689','Earring_C','Rental Earring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bInt,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2690','Ring_C','Rental Ring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bStr,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2691','Necklace_C','Rental Necklace','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bVit,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2692','Glove_C','Glove','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bDex,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2693','Brooch_C','Rental Brooch','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2694','Rosary_C','Rental Rosary','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2695','Safety_Ring_C','Rental Safety Ring','5','1','0','0','0','0','8','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,8;','',''); -REPLACE INTO `item_db_re` VALUES ('2696','Vesper_Core01_C','Vesper Core 01','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bInt,2; bonus bMaxSPrate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2697','Vesper_Core02_C','Vesper Core 02','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bStr,3; bonus bBaseAtk,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2698','Vesper_Core03_C','Vesper Core 03','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bAgi,3; bonus bFlee,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2699','Vesper_Core04_C','Vesper Core 04','5','1','0','0','0','0','1','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bDex,3; bonus bHit,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2682','Ring_Of_Water','Ring of Water','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Water,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2683','Ring_Of_Fire','Ring of Fire','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Fire,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2684','Ring_Of_Wind','Ring of Wind','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Wind,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2685','Ring_Of_Earth','Ring of Earth','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','20',NULL,'0','0','0','bonus2 bSubEle,Ele_Earth,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2686','Elven_Ears_C','Rental Elven Ears','5','1','0','0','0','0','2','0','0','2147483647','63','2','512','0','0',NULL,'0','73','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2687','Steel_Flower_C','Rental Steel Flower','5','1','0','0','0','0','1','0','0','2147483647','63','2','1','0','0',NULL,'0','56','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2688','Critical_Ring_C','Rental Critical Ring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bCritical,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2689','Earring_C','Rental Earring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bInt,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2690','Ring_C','Rental Ring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bStr,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2691','Necklace_C','Rental Necklace','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bVit,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2692','Glove_C','Glove','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bDex,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2693','Brooch_C','Rental Brooch','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2694','Rosary_C','Rental Rosary','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,5; bonus bLuk,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2695','Safety_Ring_C','Rental Safety Ring','5','1','0','0','0','0','8','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,8;','',''); +REPLACE INTO `item_db_re` VALUES ('2696','Vesper_Core01_C','Vesper Core 01','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bInt,2; bonus bMaxSPrate,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2697','Vesper_Core02_C','Vesper Core 02','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bStr,3; bonus bBaseAtk,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2698','Vesper_Core03_C','Vesper Core 03','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bAgi,3; bonus bFlee,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2699','Vesper_Core04_C','Vesper Core 04','5','1','0','0','0','0','1','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,3; bonus bDex,3; bonus bHit,10;','',''); REPLACE INTO `item_db_re` VALUES ('2700','Red_Silk_Seal','Red Silk Seal','5','20','10','100','0','0','0','0','0','16514','58','2','136','0','60',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2701','Orleans_Glove','Orleans\'s Glove','5','20','10','100','0','0','0','0','1','1040382','58','2','136','0','90',NULL,'0','0','0','bonus bDex,2; bonus bMatkRate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2702','Bison_Horn','Bison Horn','5','20','10','100','0','0','0','0','1','1040382','58','2','136','0','90',NULL,'0','0','0','bonus bAgi,2;','',''); @@ -1729,7 +1729,7 @@ REPLACE INTO `item_db_re` VALUES ('2706','Handcuff','Arrest Handcuffs','5','0',' REPLACE INTO `item_db_re` VALUES ('2707','GUSLI','Gusli','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2708','Chinese_Handicraft','Chinese Handicraft','5','0','0','50','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus3 bAutoSpell,MG_FIREBOLT,5,300;','',''); REPLACE INTO `item_db_re` VALUES ('2709','5_Anniversary_Coin','5th Anniversary Coin','5','2','1','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAtkRate,5; bonus bMatkRate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2710','Bloody_Iron_Ball_C','Bloody Iron Ball','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bBaseAtk,30;','',''); +REPLACE INTO `item_db_re` VALUES ('2710','Bloody_Iron_Ball_C','Bloody Iron Ball','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bBaseAtk,30;','',''); REPLACE INTO `item_db_re` VALUES ('2711','Spiritual_Ring_C','Spiritual Ring','5','1','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bInt,2; bonus bDex,2;','',''); REPLACE INTO `item_db_re` VALUES ('2712','Ragnarok_Limited_Ed','Ragnarok Limited Edition','5','0','0','300','0','0','0','0','0','4294967295','63','2','136','0','30',NULL,'0','0','0','bonus bVit,3; bonus bAgi,3; bonus bLuk,3;','',''); REPLACE INTO `item_db_re` VALUES ('2713','Certificate_TW','Certificate','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); @@ -1747,16 +1747,16 @@ REPLACE INTO `item_db_re` VALUES ('2724','Medal_Archer','Medal of Honor','5','20 REPLACE INTO `item_db_re` VALUES ('2725','Medal_Merchant','Medal of Honor','5','20','10','0','0','0','1','0','0','263200','63','2','136','0','70',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5; bonus bAspdRate,10; bonus bMaxHP,500; bonus bMaxSP,50; bonus3 bAddEff,Eff_Curse,100,ATF_SHORT;','',''); REPLACE INTO `item_db_re` VALUES ('2726','Icarus_Wing','Icarus Wings','5','20','10','100','0','0','0','0','0','2048','58','2','136','0','70',NULL,'0','0','0','bonus bMaxSP,50; bonus bDex,3;','',''); REPLACE INTO `item_db_re` VALUES ('2727','Bowman_Scarf','Bowman Scarf','5','20','10','200','0','0','0','0','0','2048','58','2','136','0','70',NULL,'0','0','0','bonus bMaxSP,50; bonus bDex,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2728','Cursed_Hand','Cursed Hand','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus3 bAutoSpell,NPC_CRITICALWOUND,1,30; bonus bHit,10; bonus bHPrecovRate,20;','',''); +REPLACE INTO `item_db_re` VALUES ('2728','Cursed_Hand','Cursed Hand','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus3 bAutoSpell,NPC_CRITICALWOUND,1,30; bonus bHit,10; bonus bHPrecovRate,20;','',''); REPLACE INTO `item_db_re` VALUES ('2729','Diabolus_Ring','Diabolus Ring','5','20','10','50','0','0','0','0','1','1040256','58','2','136','0','0',NULL,'0','0','0','bonus bMaxHP,100; bonus bMaxSP,100; bonus bHealPower,5; bonus2 bAddDamageClass,1916,10; bonus2 bAddDamageClass,1917,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2730','Morroc_Seal','Seal of Continental Guard','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bMaxHP,50; bonus bAspdRate,3;','',''); -REPLACE INTO `item_db_re` VALUES ('2731','Morroc_Charm_Stone','Rune Spellstone','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bMaxSP,50; bonus bVariableCastrate,-1;','',''); -REPLACE INTO `item_db_re` VALUES ('2732','Morroc_Ring','Death Loop','5','20','10','50','0','0','0','0','1','4294967294','63','2','136','0','80',NULL,'0','0','0','bonus bCritical,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2730','Morroc_Seal','Seal of Continental Guard','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bMaxHP,50; bonus bAspdRate,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2731','Morroc_Charm_Stone','Rune Spellstone','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bMaxSP,50; bonus bVariableCastrate,-1;','',''); +REPLACE INTO `item_db_re` VALUES ('2732','Morroc_Ring','Death Loop','5','20','10','50','0','0','0','0','1','2147483647','63','2','136','0','80',NULL,'0','0','0','bonus bCritical,5;','',''); REPLACE INTO `item_db_re` VALUES ('2733','Medal_Gunner','Sheriff Badge','5','20','10','0','0','0','1','0','0','16777216','1','2','136','0','70',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5; bonus bCritical,10; bonus bMaxHP,300; bonus bMaxSP,80; bonus3 bAddEff,Eff_Blind,100,ATF_LONG;','',''); REPLACE INTO `item_db_re` VALUES ('2734','Directive_A','Directive','5','0','0','0','0','0','0','0','0','1','47','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2735','Directive_B','Directive','5','0','0','0','0','0','0','0','0','1','47','2','136','0','0',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2736','Navel_Ring','Navel Ring','5','20','10','100','0','0','0','0','0','4294967294','63','2','136','0','75',NULL,'0','0','0','bonus bDex,3; bonus bLuk,3; bonus bMdef,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2737','Foot_Ring','Foot Ring','5','20','10','150','0','0','0','0','0','4294967294','63','2','136','0','75',NULL,'0','0','0','bonus bVit,3; bonus bMaxHPrate,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2736','Navel_Ring','Navel Ring','5','20','10','100','0','0','0','0','0','2147483647','63','2','136','0','75',NULL,'0','0','0','bonus bDex,3; bonus bLuk,3; bonus bMdef,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2737','Foot_Ring','Foot Ring','5','20','10','150','0','0','0','0','0','2147483647','63','2','136','0','75',NULL,'0','0','0','bonus bVit,3; bonus bMaxHPrate,10;','',''); REPLACE INTO `item_db_re` VALUES ('2738','Shiny_Coin','Shiny Coin','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,6; bonus2 bAddRace,RC_Boss,6; bonus bMatkRate,6;','',''); REPLACE INTO `item_db_re` VALUES ('2739','Ordinary_Coin','Ordinary Coin','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5;','',''); REPLACE INTO `item_db_re` VALUES ('2740','Rusty_Coin','Rusty Coin','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus2 bAddRace,RC_NonBoss,3; bonus2 bAddRace,RC_Boss,3; bonus bMatkRate,3;','',''); @@ -1791,9 +1791,9 @@ REPLACE INTO `item_db_re` VALUES ('2768','Mage_Figure','Mage Figure','5','0','0' REPLACE INTO `item_db_re` VALUES ('2769','Archer_Figure','Archer Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bDex,1; if(Class==Job_Archer) bonus bBaseAtk,10;','',''); REPLACE INTO `item_db_re` VALUES ('2770','Thief_Figure','Thief Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,1; if(Class==Job_Thief) bonus bAspdRate,3;','',''); REPLACE INTO `item_db_re` VALUES ('2771','Merchant_Figure','Merchant Figure','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bStr,1; if(Class==Job_Merchant) bonus bCritical,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2772','Krieger_Ring1','Glorious Ring','5','20','10','0','0','0','0','0','0','4294967294','63','2','136','0','81',NULL,'0','0','0','bonus bMaxHP,300; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus bAspdRate,5; bonus bVariableCastrate,-3; bonus bHealPower,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2773','Krieger_Ring2','Glorious Popularized Ring','5','20','10','0','0','0','0','0','0','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bAllStats,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2774','Krieger_Ring3','Glorious Mass-Production Ring','5','20','10','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2772','Krieger_Ring1','Glorious Ring','5','20','10','0','0','0','0','0','0','2147483647','63','2','136','0','81',NULL,'0','0','0','bonus bMaxHP,300; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Wind,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus bAspdRate,5; bonus bVariableCastrate,-3; bonus bHealPower,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2773','Krieger_Ring2','Glorious Popularized Ring','5','20','10','0','0','0','0','0','0','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bAllStats,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2774','Krieger_Ring3','Glorious Mass-Production Ring','5','20','10','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1;','',''); REPLACE INTO `item_db_re` VALUES ('2775','Lure','Lure','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2776','Cool_Towel','Adventurer\'s Trusty Towel','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','','sc_start SC_SUMMER,-1,0;','sc_end SC_SUMMER;'); REPLACE INTO `item_db_re` VALUES ('2777','Shaman_Ring','Shaman Ring','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bUseSPrate,-5;','',''); @@ -1848,30 +1848,30 @@ REPLACE INTO `item_db_re` VALUES ('2825','Shaman_EaringB','Shaman Earrings','5', REPLACE INTO `item_db_re` VALUES ('2826','Dark_Knight_BeltB','Dark Knight Belt','5','20','10','500','0','0','1','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bDex,2; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('2827','Dark_Knight_GloveB','Dark Knight Glove','5','20','10','500','0','0','1','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','autobonus \"{ bonus bMaxHPrate,10; }\",10,10000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\";','',''); REPLACE INTO `item_db_re` VALUES ('2828','Upg_Clip','Upg Clip','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMaxHPrate,3; bonus bMaxSP,30;','',''); -REPLACE INTO `item_db_re` VALUES ('2829','Greed_Clip','Greed Clip','5','0','0','0','0','0','0','0','0','4294967294','63','2','136','0','10',NULL,'0','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2829','Greed_Clip','Greed Clip','5','0','0','0','0','0','0','0','0','2147483647','63','2','136','0','10',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2830','Magingiorde_C','Ephemeral Magingiorde','5','20','10','0','0','0','2','0','0','4294967295','63','2','136','0','94',NULL,'0','0','0','bonus bStr,40; bonus bMdef,7;','',''); REPLACE INTO `item_db_re` VALUES ('2831','Brysinggamen_C','Ephemeral Brysinggamen','5','20','10','0','0','0','1','0','0','4294967295','63','2','136','0','94',NULL,'0','0','0','bonus bStr,6; bonus bInt,6; bonus bVit,6; bonus bAgi,6; bonus bLuk,10; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2832','Freyja_Ring','Freya Ring R','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2833','Odin\'s_Recall','Odin Recall R','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1;','',''); REPLACE INTO `item_db_re` VALUES ('2834','F_All_In_One_Ring','All In One Ring','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1; bonus bNoCastCancel,0; bonus bVariableCastrate,10; skill AL_HEAL,1; skill AL_TELEPORT,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2835','F_Critical_Ring_C','Critical Ring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bCritical,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2836','F_Glove_C','Rental Glove','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bDex,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2837','F_Safety_Ring_C','Safety Ring','5','1','0','0','0','0','5','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2838','F_Necklace_C','Necklace','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bVit,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2839','F_Ring_C','Ring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bStr,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2840','F_Rosary_C','Rosary','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,4; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2835','F_Critical_Ring_C','Critical Ring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bCritical,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2836','F_Glove_C','Rental Glove','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bDex,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2837','F_Safety_Ring_C','Safety Ring','5','1','0','0','0','0','5','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2838','F_Necklace_C','Necklace','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bVit,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2839','F_Ring_C','Ring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bStr,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2840','F_Rosary_C','Rosary','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,4; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2841','Caracas_Ring','Caracas Ring','5','0','0','0','0','0','2','0','0','327680','56','2','136','0','99',NULL,'0','0','0','bonus bInt,2; bonus bDex,2; bonus bMdef,2; bonus2 bExpAddRace,RC_Boss,10; bonus2 bExpAddRace,RC_NonBoss,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2842','F_Earing_C','Earring','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bInt,3;','',''); +REPLACE INTO `item_db_re` VALUES ('2842','F_Earing_C','Earring','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bInt,3;','',''); REPLACE INTO `item_db_re` VALUES ('2843','Gold_Trickle','Golden Bell','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','75',NULL,'0','0','0','bonus bMaxSP,50;','',''); REPLACE INTO `item_db_re` VALUES ('2844','El_Dicastes_Light','Light of El Dicastes','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','80',NULL,'0','0','0','skill RETURN_TO_ELDICASTES,1;','',''); REPLACE INTO `item_db_re` VALUES ('2845','No_Fear_Belt','NoFear Belts','5','0','0','0','0','0','2','0','0','4294967295','63','2','136','0','20',NULL,'0','0','0','bonus bMdef,2;','',''); REPLACE INTO `item_db_re` VALUES ('2846','E_All_In_One_Ring','E All In One Ring','5','20','10','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bAllStats,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2847','E_Critical_Ring_C','E Critical Ring C','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bCritical,10;','',''); -REPLACE INTO `item_db_re` VALUES ('2848','E_Glove_C','E Glove C','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bDex,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2849','E_Safety_Ring_C','E Safety Ring C','5','1','0','0','0','0','5','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('2850','E_Ring_C','E Ring C','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bVit,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2851','E_Necklace_C','E Necklace C','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bStr,4;','',''); -REPLACE INTO `item_db_re` VALUES ('2852','E_Rosary_C','E Rosary C','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,4; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2847','E_Critical_Ring_C','E Critical Ring C','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bCritical,10;','',''); +REPLACE INTO `item_db_re` VALUES ('2848','E_Glove_C','E Glove C','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bDex,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2849','E_Safety_Ring_C','E Safety Ring C','5','1','0','0','0','0','5','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('2850','E_Ring_C','E Ring C','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bVit,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2851','E_Necklace_C','E Necklace C','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bStr,4;','',''); +REPLACE INTO `item_db_re` VALUES ('2852','E_Rosary_C','E Rosary C','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bLuk,4; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('2853','Telekinetic_Orb','Telekinetic Orb','5','20','10','200','0','0','2','0','0','1040256','56','2','136','0','110',NULL,'0','0','0','bonus bMdef,1; bonus bInt,3; bonus bMaxSP,30; bonus2 bSkillAtk,WL_SOULEXPANSION,10; bonus2 bSkillAtk,SO_PSYCHIC_WAVE,10; bonus2 bSkillUseSP,WL_SOULEXPANSION,-50; bonus2 bSkillUseSP,SO_PSYCHIC_WAVE,-50;','',''); REPLACE INTO `item_db_re` VALUES ('2854','Alchemy_Glove','Alchemy Glove','5','20','10','100','0','0','1','0','1','1040256','56','2','136','0','125',NULL,'0','0','0','bonus bMdef,2; bonus bInt,1; bonus3 bAutoSpell,MG_FIREBALL,5,10; bonus5 bAutoSpell,MG_FIREBOLT,5,10,BF_MAGIC,1; bonus2 bSubEle,Ele_Water,-30;','',''); REPLACE INTO `item_db_re` VALUES ('2855','Whike_Black_Tail','Whikebain\'s Black Tail','5','20','10','100','0','0','0','0','0','4294967295','63','2','136','0','45',NULL,'0','0','0','bonus bCritical,70; bonus bAspdRate,3;','',''); @@ -1887,8 +1887,8 @@ REPLACE INTO `item_db_re` VALUES ('2864','Light_Of_Cure','Light Of Cure','5','20 REPLACE INTO `item_db_re` VALUES ('2865','Seal_Of_Cathedral','Seal Of Cathedral','5','20','10','0','0','0','0','0','0','256','56','2','136','0','110',NULL,'0','0','0','bonus bInt,2; bonus bHealPower,2;','',''); REPLACE INTO `item_db_re` VALUES ('2866','Ring_Of_Archbishop','Ring Of Archbishop','5','20','10','0','0','0','0','0','0','256','56','2','136','0','110',NULL,'0','0','0','bonus bDex,2; bonus bHealPower,2;','',''); REPLACE INTO `item_db_re` VALUES ('2867','Broken_Bamboo_Piece','Broken Bamboo Piece','5','20','10','100','0','0','2','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bMdef,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2868','Green_Batik','Green Batik','5','20','10','100','0','0','1','0','0','4294967294','63','2','136','0','45',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bDex,1; bonus bMdef,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2869','Colorful_Ketupat','Colorful Ketupat','5','20','10','100','0','0','0','0','0','4294967294','63','2','136','0','45',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bDex,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2868','Green_Batik','Green Batik','5','20','10','100','0','0','1','0','0','2147483647','63','2','136','0','45',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bDex,1; bonus bMdef,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2869','Colorful_Ketupat','Colorful Ketupat','5','20','10','100','0','0','0','0','0','2147483647','63','2','136','0','45',NULL,'0','0','0','bonus bStr,1; bonus bInt,1; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('2870','Tw_8th_Anni_Ring','Tw 8th Anni Ring','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','bonus bStr,5; bonus bInt,5; bonus bVit,5; bonus bDex,5; bonus bAgi,5; bonus bLuk,5;','',''); REPLACE INTO `item_db_re` VALUES ('2871','Brazilian_Emblem','Symbol Of Brazil','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','60',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2872','G_Honor_Certificate','G Honor Certificate','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); @@ -1919,10 +1919,10 @@ REPLACE INTO `item_db_re` VALUES ('2896','Medal_Of_Valor2','Medal Of Valor2','5' REPLACE INTO `item_db_re` VALUES ('2897','2011RWC_Necklace_J','RWC Necklace','5','0','0','100','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2898','Black_Rosary','Black Rosary','5','20','10','100','0','0','0','0','1','4294967295','63','2','136','0','90',NULL,'0','0','0','bonus bMdef,15;','',''); REPLACE INTO `item_db_re` VALUES ('2899','Sound_Amplifier','Sound Amplifier','5','20','10','100','0','0','0','0','1','526336','63','2','136','0','90',NULL,'0','0','0','bonus2 bSkillAtk,WM_METALICSOUND,25; bonus bVariableCastrate,-50;','',''); -REPLACE INTO `item_db_re` VALUES ('2900','Morrigane\'s_Belt_','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','61',NULL,'0','0','0','','',''); -REPLACE INTO `item_db_re` VALUES ('2901','Morrigane\'s_Pendant_','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','1','4294967294','63','2','136','0','61',NULL,'0','0','0','bonus bStr,2;','',''); -REPLACE INTO `item_db_re` VALUES ('2902','Morpheus\'s_Ring_','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','1','4294967294','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('2903','Morpheus\'s_Armlet_','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','1','4294967294','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2900','Morrigane\'s_Belt_','Morrigane\'s Belt','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','61',NULL,'0','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('2901','Morrigane\'s_Pendant_','Morrigane\'s Pendant','5','30000','15000','200','0','0','0','0','1','2147483647','63','2','136','0','61',NULL,'0','0','0','bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('2902','Morpheus\'s_Ring_','Morpheus\'s Ring','5','30000','15000','100','0','0','0','0','1','2147483647','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('2903','Morpheus\'s_Armlet_','Morpheus\'s Bracelet','5','30000','15000','100','0','0','0','0','1','2147483647','63','2','136','0','33',NULL,'0','0','0','bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('2904','Naqsh','At Lorient','5','0','0','0','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2905','Super_Ora_Ora','Ora Ora Very Strong','5','0','0','1000','0','0','0','0','0','4294967295','63','2','136','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('2906','Happy_Gauntlet','Gloves of Fortune','5','20','10','1000','0','0','3','0','1','4294967295','63','2','136','0','70',NULL,'0','0','0','bonus bMdef,3;','',''); @@ -2677,53 +2677,53 @@ REPLACE INTO `item_db_re` VALUES ('4867','MHP3','MHP+3%','6','0','0','0','0','0' REPLACE INTO `item_db_re` VALUES ('4868','MHP4','MHP+4%','6','0','0','0','0','0','0','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bMaxHPrate,4;','',''); REPLACE INTO `item_db_re` VALUES ('4870','SP25','SP+25','6','0','0','0','0','0','0','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bMaxSP,25;','',''); REPLACE INTO `item_db_re` VALUES ('4871','SP75','SP+75','6','0','0','0','0','0','0','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','bonus bMaxSP,75;','',''); -REPLACE INTO `item_db_re` VALUES ('5001','Headset','Headset','5','20','10','200','0','0','6','0','0','4294967294','63','2','256','0','0',NULL,'1','87','0','bonus2 bResEff,Eff_Curse,1000;','',''); +REPLACE INTO `item_db_re` VALUES ('5001','Headset','Headset','5','20','10','200','0','0','6','0','0','2147483647','63','2','256','0','0',NULL,'1','87','0','bonus2 bResEff,Eff_Curse,1000;','',''); REPLACE INTO `item_db_re` VALUES ('5002','Gemmed_Crown','Jewel Crown','5','20','10','600','0','0','9','0','0','414946','63','2','256','0','60',NULL,'1','88','0','bonus bInt,2; bonus bLuk,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5003','Joker_Jester','Joker Jester','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','89','0','bonus bLuk,2; bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5004','Oxygen_Mask','Oxygen Mask','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','90','0','bonus2 bResEff,Eff_Poison,2000;','',''); -REPLACE INTO `item_db_re` VALUES ('5005','Gas_Mask','Gas Mask','5','20','10','100','0','0','1','0','0','4294967294','63','2','513','0','0',NULL,'0','91','0','bonus2 bResEff,Eff_Poison,3000;','',''); -REPLACE INTO `item_db_re` VALUES ('5006','Machoman_Glasses','Machoman\'s Glasses','5','36000','18000','100','0','0','1','0','0','4294967294','63','2','512','0','0',NULL,'0','92','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5007','Loard_Circlet','Grand Circlet','5','20','10','200','0','0','7','0','0','4294967294','63','2','256','0','55',NULL,'1','93','0','bonus bStr,1; bonus bInt,1; bonus bLuk,1; bonus bMdef,4;','',''); -REPLACE INTO `item_db_re` VALUES ('5008','Puppy_Love','Puppy Love','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','94','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5009','Safety_Helmet','Safety Helmet','5','20','10','500','0','0','7','0','0','4294967294','63','2','256','0','0',NULL,'1','95','0','bonus bMdef,3; bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db_re` VALUES ('5003','Joker_Jester','Joker Jester','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','89','0','bonus bLuk,2; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5004','Oxygen_Mask','Oxygen Mask','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','90','0','bonus2 bResEff,Eff_Poison,2000;','',''); +REPLACE INTO `item_db_re` VALUES ('5005','Gas_Mask','Gas Mask','5','20','10','100','0','0','1','0','0','2147483647','63','2','513','0','0',NULL,'0','91','0','bonus2 bResEff,Eff_Poison,3000;','',''); +REPLACE INTO `item_db_re` VALUES ('5006','Machoman_Glasses','Machoman\'s Glasses','5','36000','18000','100','0','0','1','0','0','2147483647','63','2','512','0','0',NULL,'0','92','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5007','Loard_Circlet','Grand Circlet','5','20','10','200','0','0','7','0','0','2147483647','63','2','256','0','55',NULL,'1','93','0','bonus bStr,1; bonus bInt,1; bonus bLuk,1; bonus bMdef,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5008','Puppy_Love','Puppy Love','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','94','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5009','Safety_Helmet','Safety Helmet','5','20','10','500','0','0','7','0','0','2147483647','63','2','256','0','0',NULL,'1','95','0','bonus bMdef,3; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('5010','Indian_Hair_Piece','Indian Fillet','5','20','10','100','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','96','0','','',''); REPLACE INTO `item_db_re` VALUES ('5011','Antenna','Aerial','5','20','10','100','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','97','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5012','Ph.D_Hat','Ph.D Hat','5','20','10','200','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','98','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5012','Ph.D_Hat','Ph.D Hat','5','20','10','200','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','98','0','','',''); REPLACE INTO `item_db_re` VALUES ('5013','Horn_Of_Lord_Kaho','Lord Kaho\'s Horn','5','20','10','100','0','0','30','0','0','4294967295','63','2','256','0','0',NULL,'1','99','0','bonus bMdef,10; bonus bStr,5; bonus bAgi,10; bonus bVit,10; bonus bInt,5; bonus bLuk,20;','',''); REPLACE INTO `item_db_re` VALUES ('5014','Fin_Helm','Fin Helm','5','20','10','300','0','0','5','0','0','16514','63','2','512','0','65',NULL,'0','100','0','','',''); REPLACE INTO `item_db_re` VALUES ('5015','Egg_Shell','Egg Shell','5','20','10','200','0','0','6','0','0','4294967295','63','2','256','0','0',NULL,'0','101','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5016','Boy\'s_Cap','Boy\'s Cap','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','102','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5016','Boy\'s_Cap','Boy\'s Cap','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','102','0','','',''); REPLACE INTO `item_db_re` VALUES ('5017','Bone_Helm','Bone Helm','5','20','10','800','0','0','15','0','0','279714','63','2','256','0','70',NULL,'1','103','0','bonus2 bSubEle,Ele_Dark,-15;','',''); REPLACE INTO `item_db_re` VALUES ('5018','Feather_Bonnet','Feather Bonnet','5','20','10','300','0','0','8','0','0','526344','63','2','256','0','0',NULL,'1','104','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5019','Corsair','Corsair','5','20','10','500','0','0','11','0','0','4294967294','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5019','Corsair','Corsair','5','20','10','500','0','0','11','0','0','2147483647','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('5020','Kafra_Band','Kafra Band','5','20','10','500','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','106','0','bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('5021','Bankruptcy_Of_Heart','Grief for Greed','5','20','10','1200','0','0','8','0','0','263200','63','2','256','0','38',NULL,'1','107','0','bonus bInt,1; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('5022','Helm_Of_Sun','Hat of the Sun God','5','20','10','2400','0','0','4','0','0','1040256','63','2','768','0','0',NULL,'1','138','0','bonus bStr,3; bonus bInt,2;','',''); REPLACE INTO `item_db_re` VALUES ('5023','Hat_Of_Bundle','Parcel Hat','5','20','10','1000','0','0','0','0','0','263200','63','2','256','0','0',NULL,'1','108','0','','',''); REPLACE INTO `item_db_re` VALUES ('5024','Hat_Of_Cake','Cake Hat','5','20','10','1000','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','109','0','','',''); REPLACE INTO `item_db_re` VALUES ('5025','Helm_Of_Angel','Helm of Angel','5','20','10','1600','0','0','10','0','0','1040256','63','2','256','0','74',NULL,'1','110','0','bonus bAgi,1; bonus bLuk,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5026','Hat_Of_Cook','Chef Hat','5','20','10','300','0','0','3','0','0','4294967294','63','2','256','0','50',NULL,'1','111','0','bonus bDex,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5026','Hat_Of_Cook','Chef Hat','5','20','10','300','0','0','3','0','0','2147483647','63','2','256','0','50',NULL,'1','111','0','bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('5027','Wizardry_Hat','Mage Hat','5','20','10','300','0','0','2','0','0','8454660','63','2','256','0','0',NULL,'1','112','0','bonus bInt,2; bonus bMaxSP,150;','',''); REPLACE INTO `item_db_re` VALUES ('5028','Candle','Candle','5','20','10','150','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','113','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5029','Spore_Hat','Spore Hat','5','20','10','900','0','0','6','0','0','4294967294','63','2','256','0','20',NULL,'1','114','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5030','Panda_Cap','Panda Hat','5','20','10','800','0','0','6','0','0','4294967294','63','2','256','0','40',NULL,'1','115','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5029','Spore_Hat','Spore Hat','5','20','10','900','0','0','6','0','0','2147483647','63','2','256','0','20',NULL,'1','114','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5030','Panda_Cap','Panda Hat','5','20','10','800','0','0','6','0','0','2147483647','63','2','256','0','40',NULL,'1','115','0','','',''); REPLACE INTO `item_db_re` VALUES ('5031','Mine_Helm','Mine Hat','5','20','10','1500','0','0','9','0','0','447986','63','2','256','0','55',NULL,'1','116','0','bonus bDex,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5032','Picnic_Hat','Sunday Hat','5','20','10','800','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','117','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5033','Smokie_Hat','Raccoon Hat','5','20','10','900','0','0','6','0','0','4294967294','63','2','256','0','50',NULL,'1','118','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5034','Light_Bulb_Band','Bulb Band','5','20','10','500','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'1','119','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5035','Poring_Hat','Poring Hat','5','20','10','700','0','0','3','0','0','4294967294','63','2','256','0','38',NULL,'1','120','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5036','Cross_Band','Cross Hat','5','20','10','250','0','0','2','0','0','4294967294','63','2','256','0','10',NULL,'1','121','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5032','Picnic_Hat','Sunday Hat','5','20','10','800','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','117','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5033','Smokie_Hat','Raccoon Hat','5','20','10','900','0','0','6','0','0','2147483647','63','2','256','0','50',NULL,'1','118','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5034','Light_Bulb_Band','Bulb Band','5','20','10','500','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'1','119','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5035','Poring_Hat','Poring Hat','5','20','10','700','0','0','3','0','0','2147483647','63','2','256','0','38',NULL,'1','120','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5036','Cross_Band','Cross Hat','5','20','10','250','0','0','2','0','0','2147483647','63','2','256','0','10',NULL,'1','121','0','','',''); REPLACE INTO `item_db_re` VALUES ('5037','Fruit_Shell','Nut Shell','5','20','10','150','0','0','8','0','0','4294967295','63','2','256','0','5',NULL,'0','122','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5038','Deviruchi_Cap','Deviruchi Hat','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','64',NULL,'1','123','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5038','Deviruchi_Cap','Deviruchi Hat','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','64',NULL,'1','123','0','bonus bStr,1; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5039','Mottled_Egg_Shell','Rainbow Eggshell','5','20','10','400','0','0','8','0','0','4294967295','63','2','256','0','19',NULL,'0','124','0','','',''); REPLACE INTO `item_db_re` VALUES ('5040','Blush','Blush','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','125','0','','',''); REPLACE INTO `item_db_re` VALUES ('5041','Heart_Hair_Pin','Heart Hairpin','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','126','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5042','Hair_Protector','Bao Bao','5','20','10','150','0','0','0','0','0','4294967294','63','2','256','0','14',NULL,'1','127','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5043','Opera_Ghost_Mask','Opera Phantom Mask','5','20','10','200','0','0','2','0','0','4294967294','63','2','512','0','20',NULL,'0','128','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5042','Hair_Protector','Bao Bao','5','20','10','150','0','0','0','0','0','2147483647','63','2','256','0','14',NULL,'1','127','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5043','Opera_Ghost_Mask','Opera Phantom Mask','5','20','10','200','0','0','2','0','0','2147483647','63','2','512','0','20',NULL,'0','128','0','','',''); REPLACE INTO `item_db_re` VALUES ('5044','Devil\'s_Wing','Evil Wing Ears','5','20','10','350','0','0','4','0','0','4294967295','63','2','256','0','45',NULL,'1','129','0','bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('5045','Magician_Hat','Magician Hat','5','20','10','500','0','0','6','0','0','8487700','63','2','256','0','50',NULL,'1','130','0','bonus bDex,1; bonus bAgi,1; bonus bMaxSP,50;','',''); REPLACE INTO `item_db_re` VALUES ('5046','Bongun_Hat','Bongun Hat','5','20','10','300','0','0','5','0','0','4294967295','63','2','769','0','0',NULL,'0','139','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5047','Fashion_Sunglass','Fashionable Glasses','5','20','10','100','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'1','131','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5047','Fashion_Sunglass','Fashionable Glasses','5','20','10','100','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'1','131','0','','',''); REPLACE INTO `item_db_re` VALUES ('5048','First_Moon_Hair_Pin','Cresent Hairpin','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','132','0','','',''); REPLACE INTO `item_db_re` VALUES ('5049','Stripe_Band','Striped Hairband','5','20','10','150','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','133','0','','',''); REPLACE INTO `item_db_re` VALUES ('5050','Mystery_Fruit_Shell','Wonder Nutshell','5','20','10','300','0','0','10','0','0','4294967295','63','2','256','0','30',NULL,'0','134','0','','',''); @@ -2734,22 +2734,22 @@ REPLACE INTO `item_db_re` VALUES ('5054','Assasin_Mask','Assassin Mask','5','20' REPLACE INTO `item_db_re` VALUES ('5055','Novice_Egg_Cap','Novice False Eggshell','5','1','0','1','0','0','6','0','0','1','47','2','256','0','0',NULL,'0','101','0','','',''); REPLACE INTO `item_db_re` VALUES ('5056','Love_Berry','Fruit of Love','5','1','0','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','140','0','','',''); REPLACE INTO `item_db_re` VALUES ('5057','Ear_Of_Black_Cat','Black Cat Ears','5','16000','8000','200','0','0','4','0','0','4294967295','63','2','256','0','45',NULL,'1','141','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5058','Drooping_Kitty','Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); +REPLACE INTO `item_db_re` VALUES ('5058','Drooping_Kitty','Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); REPLACE INTO `item_db_re` VALUES ('5059','Brown_Bear_Cap','Teddybear Hat','5','20','10','800','0','0','6','0','0','4294967295','63','2','256','0','50',NULL,'1','143','0','','',''); REPLACE INTO `item_db_re` VALUES ('5060','Party_Hat','Party Hat','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','144','0','bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('5061','Flower_Hairpin','Flower Hairpin','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','145','0','','',''); REPLACE INTO `item_db_re` VALUES ('5062','Straw_Hat','Straw Hat','5','20','10','200','0','0','6','0','0','4294967295','63','2','256','0','50',NULL,'1','146','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5063','Plaster','Giant Band Aid','5','20','10','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','147','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5063','Plaster','Giant Band Aid','5','20','10','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','147','0','','',''); REPLACE INTO `item_db_re` VALUES ('5064','Leaf_Headgear','Smokie Leaf','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','148','0','','',''); REPLACE INTO `item_db_re` VALUES ('5065','Fish_On_Head','Blue Fish','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','50',NULL,'1','149','0','bonus2 bAddRace,RC_Fish,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5066','Horn_Of_Succubus','Succubus Horn','5','20','10','800','0','0','7','0','0','4294967294','63','2','256','0','70',NULL,'1','150','0','bonus bInt,1; bonus bMdef,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5067','Sombrero','Sombrero','5','20','10','350','0','0','8','0','0','4294967294','63','2','256','0','0',NULL,'1','151','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5066','Horn_Of_Succubus','Succubus Horn','5','20','10','800','0','0','7','0','0','2147483647','63','2','256','0','70',NULL,'1','150','0','bonus bInt,1; bonus bMdef,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5067','Sombrero','Sombrero','5','20','10','350','0','0','8','0','0','2147483647','63','2','256','0','0',NULL,'1','151','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('5068','Ear_Of_Devil\'s_Wing','Evil Wing Ears','5','20','10','100','0','0','3','0','0','4294967295','63','2','512','0','70',NULL,'0','152','0','bonus bStr,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5069','Mask_Of_Fox','Kitsune Mask','5','20','10','300','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','153','0','bonus bAgi,1; bonus bLuk,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5070','Headband_Of_Power','Hot-blooded Headband','5','20','10','100','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','154','0','bonus bStr,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5071','Indian_Headband','Indian Headband','5','20','10','200','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','155','0','bonus bDex,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5072','Inccubus_Horn','Incubus Horn','5','20','10','800','0','0','7','0','0','4294967294','63','2','256','0','70',NULL,'1','156','0','bonus bAgi,1; bonus bMdef,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5073','Cap_Of_Concentration','Model Training Hat','5','20','10','700','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','157','0','bonus bDex,2;','',''); +REPLACE INTO `item_db_re` VALUES ('5069','Mask_Of_Fox','Kitsune Mask','5','20','10','300','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','153','0','bonus bAgi,1; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5070','Headband_Of_Power','Hot-blooded Headband','5','20','10','100','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','154','0','bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('5071','Indian_Headband','Indian Headband','5','20','10','200','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','155','0','bonus bDex,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5072','Inccubus_Horn','Incubus Horn','5','20','10','800','0','0','7','0','0','2147483647','63','2','256','0','70',NULL,'1','156','0','bonus bAgi,1; bonus bMdef,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5073','Cap_Of_Concentration','Model Training Hat','5','20','10','700','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','157','0','bonus bDex,2;','',''); REPLACE INTO `item_db_re` VALUES ('5074','Ear_Of_Angel\'s_Wing','Angel Wing Ears','5','20','10','100','0','0','3','0','0','4294967295','63','2','512','0','70',NULL,'0','158','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5075','Cowboy_Hat','Cowboy Hat','5','20','10','500','0','0','8','0','0','4294967295','63','2','256','0','0',NULL,'1','159','0','','',''); REPLACE INTO `item_db_re` VALUES ('5076','Fur_Hat','Beanie','5','20','10','350','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','160','0','bonus bLuk,1;','',''); @@ -2757,21 +2757,21 @@ REPLACE INTO `item_db_re` VALUES ('5077','Tulip_Hairpin','Tulip Hairpin','5','20 REPLACE INTO `item_db_re` VALUES ('5078','Sea_Otter_Cap','Sea-Otter Hat','5','20','10','800','0','0','6','0','0','4294967295','63','2','256','0','50',NULL,'1','162','0','bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('5079','Crossed_Hair_Band','X Hairpin','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','163','0','','',''); REPLACE INTO `item_db_re` VALUES ('5080','Headgear_Of_Queen','Crown of Ancient Queen','5','20','10','400','0','0','8','0','0','4294967295','63','2','256','0','45',NULL,'1','164','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5081','Mistress_Crown','Crown of Mistress','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','75',NULL,'1','165','0','bonus bMaxSP,100; bonus bInt,2; bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db_re` VALUES ('5081','Mistress_Crown','Crown of Mistress','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','75',NULL,'1','165','0','bonus bMaxSP,100; bonus bInt,2; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('5082','Mushroom_Band','Decorative Mushroom','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','166','0','','',''); REPLACE INTO `item_db_re` VALUES ('5083','Red_Tailed_Ribbon','Red Ribbon','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','45',NULL,'1','167','0','bonus bMdef,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5084','Lazy_Raccoon','Lazy Smokie','5','20','10','500','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','168','0','bonus2 bResEff,Eff_Sleep,2000;','',''); +REPLACE INTO `item_db_re` VALUES ('5084','Lazy_Raccoon','Lazy Smokie','5','20','10','500','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','168','0','bonus2 bResEff,Eff_Sleep,2000;','',''); REPLACE INTO `item_db_re` VALUES ('5085','Pair_Of_Red_Ribbon','Small Ribbons','5','20','10','100','0','0','2','0','0','4294967295','63','2','512','0','45',NULL,'0','169','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5086','Alarm_Mask','Alarm Mask','5','20','10','100','0','0','2','0','0','4294967294','63','2','513','0','0',NULL,'0','170','0','bonus2 bResEff,Eff_Blind,5000;','',''); +REPLACE INTO `item_db_re` VALUES ('5086','Alarm_Mask','Alarm Mask','5','20','10','100','0','0','2','0','0','2147483647','63','2','513','0','0',NULL,'0','170','0','bonus2 bResEff,Eff_Blind,5000;','',''); REPLACE INTO `item_db_re` VALUES ('5087','Goblin_Mask_01','Poker Face','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','171','0','','',''); REPLACE INTO `item_db_re` VALUES ('5088','Goblin_Mask_02','Surprised Mask','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','172','0','','',''); REPLACE INTO `item_db_re` VALUES ('5089','Goblin_Mask_03','Annoyed Mask','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','0',NULL,'0','173','0','','',''); REPLACE INTO `item_db_re` VALUES ('5090','Goblin_Mask_04','Goblin Leader Mask','5','20','10','100','0','0','2','0','0','4294967295','63','2','513','0','0',NULL,'0','174','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5091','Big_Golden_Bell','Decorative Golden Bell','5','20','10','200','0','0','2','0','0','4294967294','63','2','768','0','35',NULL,'1','175','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5091','Big_Golden_Bell','Decorative Golden Bell','5','20','10','200','0','0','2','0','0','2147483647','63','2','768','0','35',NULL,'1','175','0','','',''); REPLACE INTO `item_db_re` VALUES ('5092','Blue_Coif','Coif','5','150000','75000','300','0','0','5','0','0','4352','63','2','768','0','65',NULL,'1','176','0','','',''); REPLACE INTO `item_db_re` VALUES ('5093','Blue_Coif_','Coif','5','150000','75000','300','0','0','5','0','1','4352','63','2','768','0','65',NULL,'1','177','0','bonus bMaxSP,100;','',''); -REPLACE INTO `item_db_re` VALUES ('5094','Orc_Hero_Helm','Helmet of Orc Hero','5','500000','250000','900','0','0','5','0','0','4294967294','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5095','Orc_Hero_Helm_','Helmet of Orc Hero','5','800000','400000','1000','0','0','5','0','1','4294967294','63','2','768','0','55',NULL,'1','179','0','bonus bStr,2; bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5094','Orc_Hero_Helm','Helmet of Orc Hero','5','500000','250000','900','0','0','5','0','0','2147483647','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5095','Orc_Hero_Helm_','Helmet of Orc Hero','5','800000','400000','1000','0','0','5','0','1','2147483647','63','2','768','0','55',NULL,'1','179','0','bonus bStr,2; bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('5096','Assassin_Mask_','Assassin Mask','5','20','10','100','0','0','1','0','0','4352','63','2','1','0','70',NULL,'0','180','0','','',''); REPLACE INTO `item_db_re` VALUES ('5097','Cone_Hat_','Holiday Hat','5','0','0','400','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','144','0','','',''); REPLACE INTO `item_db_re` VALUES ('5098','Tiger_Mask','Tiger Mask','5','20','10','400','0','0','2','0','0','4294967295','63','2','768','0','50',NULL,'0','181','0','bonus bStr,3; bonus bMaxHP,100;','',''); @@ -2779,8 +2779,8 @@ REPLACE INTO `item_db_re` VALUES ('5099','Cat_Hat','Neko Mimi','5','20','10','30 REPLACE INTO `item_db_re` VALUES ('5100','Sales_Signboard','Sales Banner','5','20','10','800','0','0','0','0','0','4294967295','63','2','256','0','75',NULL,'1','183','0','bonus bStr,1; bonus bAgi,1; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('5101','Takius_Blindfold','Takius Blindfold','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','184','0','','',''); REPLACE INTO `item_db_re` VALUES ('5102','Round_Eyes','Blank Eyes','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','185','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5103','Sunflower_Hairpin','Sunflower Hairpin','5','20','10','600','0','0','2','0','0','4294967294','63','2','256','0','30',NULL,'0','186','0','bonus bAgi,2; bonus bCritical,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5104','Dark_Blindfold','Dark Blinder','5','20','10','100','0','0','0','0','0','4294967294','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,200;','',''); +REPLACE INTO `item_db_re` VALUES ('5103','Sunflower_Hairpin','Sunflower Hairpin','5','20','10','600','0','0','2','0','0','2147483647','63','2','256','0','30',NULL,'0','186','0','bonus bAgi,2; bonus bCritical,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5104','Dark_Blindfold','Dark Blinder','5','20','10','100','0','0','0','0','0','2147483647','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,200;','',''); REPLACE INTO `item_db_re` VALUES ('5105','Hat_Of_Cake_','2nd Anniversary Hat','5','20','10','1000','0','0','2','0','0','4294967295','63','2','256','0','24',NULL,'1','109','0','bonus bDex,1; bonus bMaxSP,80; bonus3 bAddMonsterDropItem,7864,7,50;','',''); REPLACE INTO `item_db_re` VALUES ('5106','Cone_Hat_INA','2nd Anniversary Hat','5','20','10','300','0','0','10','0','0','4294967295','63','2','256','0','0',NULL,'0','144','0','bonus bUnbreakableHelm,0; bonus bMdef,10; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('5107','Well_Baked_Toast','Crunch Toast','5','20','10','50','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','188','0','','',''); @@ -2797,29 +2797,29 @@ REPLACE INTO `item_db_re` VALUES ('5117','Mistic_Rose','Mystic Rose','5','20','1 REPLACE INTO `item_db_re` VALUES ('5118','Ear_Of_Puppy','Puppy Headband','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','199','0','','',''); REPLACE INTO `item_db_re` VALUES ('5119','Super_Novice_Hat_','Super Novice Hat','5','8500','4250','400','0','0','8','0','1','1','47','2','256','0','40',NULL,'1','193','0','bonus bAllStats,1;','',''); REPLACE INTO `item_db_re` VALUES ('5120','Fedora_','Bucket Hat','5','6000','3000','300','0','0','6','0','1','4294967295','63','2','256','0','0',NULL,'1','195','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5121','Zherlthsh_Mask','Zealotus Mask','5','20','10','400','0','0','3','0','0','4294967294','63','2','768','0','70',NULL,'1','200','0','bonus2 bAddRace,RC_DemiHuman,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5122','Magni_Cap','Magni\'s Cap','5','30000','15000','1000','0','0','9','0','0','4294967294','63','2','256','0','65',NULL,'1','250','0','bonus bStr,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5123','Ulle_Cap','Ulle\'s Cap','5','30000','15000','500','0','0','6','0','1','4294967294','63','2','256','0','65',NULL,'1','254','0','bonus bDex,2; bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5124','Fricca_Circlet','Fricca\'s Circlet','5','30000','15000','300','0','0','6','0','0','4294967294','63','2','256','0','65',NULL,'1','251','0','bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;','',''); +REPLACE INTO `item_db_re` VALUES ('5121','Zherlthsh_Mask','Zealotus Mask','5','20','10','400','0','0','3','0','0','2147483647','63','2','768','0','70',NULL,'1','200','0','bonus2 bAddRace,RC_DemiHuman,5; bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5122','Magni_Cap','Magni\'s Cap','5','30000','15000','1000','0','0','9','0','0','2147483647','63','2','256','0','65',NULL,'1','250','0','bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('5123','Ulle_Cap','Ulle\'s Cap','5','30000','15000','500','0','0','6','0','1','2147483647','63','2','256','0','65',NULL,'1','254','0','bonus bDex,2; bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5124','Fricca_Circlet','Fricca\'s Circlet','5','30000','15000','300','0','0','6','0','0','2147483647','63','2','256','0','65',NULL,'1','251','0','bonus bMdef,10; bonus bInt,2; bonus bMaxSP,50;','',''); REPLACE INTO `item_db_re` VALUES ('5125','Kiss_Of_Angel','Angel\'s Kiss','5','10000','5000','300','0','0','6','0','1','1','47','2','256','0','50',NULL,'1','255','0','bonus bSPrecovRate,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5126','Morpheus\'s_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','3','0','0','4294967294','63','2','256','0','33',NULL,'1','256','0','bonus bInt,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5127','Morrigane\'s_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','8','0','0','4294967294','63','2','256','0','61',NULL,'1','257','0','bonus bLuk,2; bonus bBaseAtk,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5128','Goibne\'s_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','10','0','0','4294967294','63','2','256','0','54',NULL,'1','258','0','bonus bVit,3; bonus bMdef,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5126','Morpheus\'s_Hood','Morpheus\'s Hood','5','30000','15000','200','0','0','3','0','0','2147483647','63','2','256','0','33',NULL,'1','256','0','bonus bInt,2;','',''); +REPLACE INTO `item_db_re` VALUES ('5127','Morrigane\'s_Helm','Morrigane\'s Helm','5','30000','15000','500','0','0','8','0','0','2147483647','63','2','256','0','61',NULL,'1','257','0','bonus bLuk,2; bonus bBaseAtk,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5128','Goibne\'s_Helmet','Goibne\'s Helm','5','30000','15000','500','0','0','10','0','0','2147483647','63','2','256','0','54',NULL,'1','258','0','bonus bVit,3; bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('5129','Bird_Nest','Bird Nest','5','20','10','400','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'0','201','0','bonus bAgi,2; bonus2 bSubRace,RC_Brute,10;','',''); REPLACE INTO `item_db_re` VALUES ('5130','Lion_Mask','Lion Mask','5','20','10','700','0','0','0','0','0','1040256','63','2','768','0','75',NULL,'1','202','0','bonus2 bAddEffWhenHit,Eff_Silence,500; bonus bMdef,1;','',''); REPLACE INTO `item_db_re` VALUES ('5131','Close_Helmet','Close Helmet','5','20','10','1200','0','0','8','0','0','16514','63','2','769','0','75',NULL,'1','203','0','bonus bVit,3; bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('5132','Angeling_Hat','Angeling Hat','5','20','10','700','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'0','204','0','bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('5133','Sheep_Hat','Sheep Hat','5','20','10','150','0','0','3','0','0','33040','63','2','256','0','0',NULL,'0','205','0','bonus bShortWeaponDamageReturn,5;','',''); REPLACE INTO `item_db_re` VALUES ('5134','Pumpkin_Hat','Pumpkin-Head','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','206','0','bonus2 bSubRace,RC_Demon,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5135','Cyclops_Visor','Cyclop\'s Eye','5','0','0','200','0','0','0','0','0','4294967294','63','2','512','0','75',NULL,'0','207','0','bonus bMaxSP,50;','',''); +REPLACE INTO `item_db_re` VALUES ('5135','Cyclops_Visor','Cyclop\'s Eye','5','0','0','200','0','0','0','0','0','2147483647','63','2','512','0','75',NULL,'0','207','0','bonus bMaxSP,50;','',''); REPLACE INTO `item_db_re` VALUES ('5136','Santa\'s_Hat_','Antonio\'s Santa Hat','5','20','10','100','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','20','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5137','Alice_Doll','Alice Doll','5','20','10','500','0','0','1','0','1','4294967294','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddEff2,Eff_Sleep,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5137','Alice_Doll','Alice Doll','5','20','10','500','0','0','1','0','1','2147483647','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1; bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddEff2,Eff_Sleep,10;','',''); REPLACE INTO `item_db_re` VALUES ('5138','Magic_Eyes','Magic Eyes','5','20','10','300','0','0','3','0','0','8454660','63','2','256','0','30',NULL,'1','209','0','bonus bMdef,5; bonus bVariableCastrate,-10; bonus bUseSPrate,20;','',''); REPLACE INTO `item_db_re` VALUES ('5139','Hibiscus','Hibiscus','5','20','10','200','0','0','0','0','0','4294967295','63','2','256','0','10',NULL,'0','210','0','bonus bDex,1; bonus bInt,1; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('5140','Charming_Ribbon','Charming Ribbon','5','20','10','400','0','0','2','0','1','4294967295','63','2','256','0','10',NULL,'1','211','0','bonus2 bSubRace,RC_Undead,5; bonus2 bSubRace,RC_Demon,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5141','Marionette_Doll','Marionette Doll','5','20','10','400','0','0','1','0','1','4294967294','63','2','256','0','30',NULL,'1','212','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5141','Marionette_Doll','Marionette Doll','5','20','10','400','0','0','1','0','1','2147483647','63','2','256','0','30',NULL,'1','212','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5142','Crescent_Helm','Crescent Helm','5','20','10','3000','0','0','8','0','0','279714','63','2','768','0','50',NULL,'1','213','0','bonus bVit,1; bonus2 bSubRace,RC_DemiHuman,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5143','Kabuki_Mask','Kabuki Mask','5','20','10','1000','0','0','5','0','1','4294967294','63','1','769','0','30',NULL,'1','214','0','bonus2 bResEff,Eff_Silence,3000;','',''); +REPLACE INTO `item_db_re` VALUES ('5143','Kabuki_Mask','Kabuki Mask','5','20','10','1000','0','0','5','0','1','2147483647','63','1','769','0','30',NULL,'1','214','0','bonus2 bResEff,Eff_Silence,3000;','',''); REPLACE INTO `item_db_re` VALUES ('5144','Gambler_Hat','Gamble Hat','5','20','10','200','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','16','0','bonus bLuk,5;','',''); REPLACE INTO `item_db_re` VALUES ('5145','Carnival_Joker_Jester','Carnival Joker Jester','5','10','5','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','89','0','','',''); REPLACE INTO `item_db_re` VALUES ('5146','Elephant_Hat','Elephant Hat','5','0','0','500','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','215','0','bonus bVit,1; bonus2 bSubRace,RC_Brute,7; skill WZ_WATERBALL,1;','',''); @@ -2835,18 +2835,18 @@ REPLACE INTO `item_db_re` VALUES ('5155','Granpa_Beard_F','Father\'s White Moust REPLACE INTO `item_db_re` VALUES ('5156','Flu_Mask_F','Father\'s Mask','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','8','0','bonus bMatkRate,1;','',''); REPLACE INTO `item_db_re` VALUES ('5157','Viking_Helm_','Orc Helm','5','20','10','500','0','0','9','0','1','414946','63','2','256','0','0',NULL,'1','86','0','','',''); REPLACE INTO `item_db_re` VALUES ('5158','Holy_Bonnet_','Monk Hat','5','30000','15000','100','0','0','10','0','1','33040','63','2','256','0','0',NULL,'1','35','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5159','Golden_Gear_','Golden Gear','5','20','10','900','0','0','9','0','1','4294967294','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db_re` VALUES ('5159','Golden_Gear_','Golden Gear','5','20','10','900','0','0','9','0','1','2147483647','63','2','256','0','40',NULL,'1','30','0','bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('5160','Magestic_Goat_','Magestic Goat','5','20','10','800','0','0','9','0','1','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5161','Sharp_Gear_','Spiky Band','5','20','10','1000','0','0','12','0','1','6739442','63','2','256','0','50',NULL,'1','43','0','','',''); REPLACE INTO `item_db_re` VALUES ('5162','Bone_Helm_','Bone Helm','5','20','10','800','0','0','15','0','1','279714','63','2','256','0','70',NULL,'1','103','0','bonus2 bSubEle,Ele_Dark,-15;','',''); -REPLACE INTO `item_db_re` VALUES ('5163','Corsair_','Corsair','5','20','10','500','0','0','10','0','1','4294967294','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5164','Tiara_','Tiara','5','20','10','400','0','0','7','0','1','4294967294','63','2','256','0','45',NULL,'1','19','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5165','Crown_','Crown','5','20','10','400','0','0','7','0','1','4294967294','63','1','256','0','45',NULL,'1','45','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5163','Corsair_','Corsair','5','20','10','500','0','0','10','0','1','2147483647','63','2','256','0','0',NULL,'1','105','0','bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5164','Tiara_','Tiara','5','20','10','400','0','0','7','0','1','2147483647','63','2','256','0','45',NULL,'1','19','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5165','Crown_','Crown','5','20','10','400','0','0','7','0','1','2147483647','63','1','256','0','45',NULL,'1','45','0','bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5166','Spinx_Helm_','Sphinx Hat','5','20','10','3000','0','0','5','0','1','16514','63','2','257','0','65',NULL,'0','137','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('5167','Munak_Turban_','Munak Hat','5','20','10','300','0','0','5','0','1','4294967295','63','2','769','0','0',NULL,'0','51','0','bonus2 bSubRace,RC_Undead,10;','',''); REPLACE INTO `item_db_re` VALUES ('5168','Bongun_Hat_','Bongun Hat','5','20','10','300','0','0','5','0','1','4294967295','63','2','769','0','0',NULL,'0','139','0','','',''); REPLACE INTO `item_db_re` VALUES ('5169','Bride_Mask','Bride Mask','5','30000','15000','500','0','0','4','0','1','4294967295','63','2','768','0','40',NULL,'1','223','0','if(BaseClass==Job_Taekwon) { bonus bLuk,2; bonus bCritical,5; }','',''); -REPLACE INTO `item_db_re` VALUES ('5170','Feather_Beret','Feather Beret','5','30000','15000','600','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','224','0','bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5170','Feather_Beret','Feather Beret','5','30000','15000','600','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','224','0','bonus bMdef,1; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('5171','Valkyrie_Helm','Valkyrie Helm','5','100000','50000','1000','0','0','10','0','1','1040382','58','2','256','0','0',NULL,'1','225','0','bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('5172','Beret','Beret','5','30000','15000','700','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','226','0','bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('5173','Satto_Hat','Magistrate Hat','5','30000','15000','400','0','0','6','0','1','4294967295','63','2','256','0','60',NULL,'1','227','0','if(BaseClass==Job_Taekwon) { bonus bAgi,1; bonus bHPrecovRate,3; }','',''); @@ -2860,7 +2860,7 @@ REPLACE INTO `item_db_re` VALUES ('5180','Phrygian_Cap_','France Holiday Hat','5 REPLACE INTO `item_db_re` VALUES ('5181','Helm_Of_Darkness','Helm of Darkness','5','20','10','500','0','0','3','0','1','414946','63','2','768','0','50',NULL,'1','233','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('5182','Puppy_Hat','Puppy Hat','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','30',NULL,'0','234','0','bonus bAgi,1; bonus3 bAutoSpell,PR_GLORIA,1,10+20*(readparam(bAgi)>=77);','',''); REPLACE INTO `item_db_re` VALUES ('5183','Bird_Nest_Hat','Bird Nest Hat','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','10',NULL,'1','235','0','bonus bDex,1; bonus bAgi,1; bonus2 bResEff,Eff_Stun,1000;','',''); -REPLACE INTO `item_db_re` VALUES ('5184','Captain_Hat','Captain\'s Hat','5','20','10','500','0','0','8','0','0','4294967294','63','2','256','0','30',NULL,'1','236','0','bonus2 bSubEle,Ele_Water,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5184','Captain_Hat','Captain\'s Hat','5','20','10','500','0','0','8','0','0','2147483647','63','2','256','0','30',NULL,'1','236','0','bonus2 bSubEle,Ele_Water,5;','',''); REPLACE INTO `item_db_re` VALUES ('5185','Laurel_Wreath','Laurel Wreath','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','10',NULL,'1','237','0','bonus bLuk,3; bonus2 bResEff,Eff_Blind,500; bonus2 bResEff,Eff_Curse,500;','',''); REPLACE INTO `item_db_re` VALUES ('5186','Geographer_Band','Geographer Band','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','30',NULL,'0','238','0','bonus bInt,1; bonus3 bAutoSpellWhenHit,AL_HEAL,1,50;','',''); REPLACE INTO `item_db_re` VALUES ('5187','Twin_Ribbon','Twin Red Ribbon','5','20','10','200','0','0','6','0','1','4294967295','63','2','256','0','30',NULL,'1','239','0','bonus bMaxSP,30; bonus bMdef,3; bonus3 bAutoSpellWhenHit,NPC_STONESKIN,6,10; bonus5 bAutoSpellWhenHit,NPC_ANTIMAGIC,6,120,BF_MAGIC,0;','',''); @@ -2882,35 +2882,35 @@ REPLACE INTO `item_db_re` VALUES ('5202','Pumpkin_Hat_','Fantastic Pumpkin-Head' REPLACE INTO `item_db_re` VALUES ('5203','Tongue_Mask','Smiling Mask','5','20','10','200','0','0','2','0','0','4294967295','63','2','513','0','0',NULL,'0','253','0','bonus bSpeedRate,25;','',''); REPLACE INTO `item_db_re` VALUES ('5204','Event_Pierrot_Nose','Rudolph\'s Nose','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','49','0','bonus2 bResEff,Eff_Blind,3000; bonus2 bAddMonsterDropItem,12130,30;','',''); REPLACE INTO `item_db_re` VALUES ('5205','Wreath','Emperor\'s Laurel Crown','5','20','10','1000','0','0','3','0','0','4294967295','63','2','768','0','0',NULL,'1','261','0','bonus bAllStats,1; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5206','Romantic_White_Flower','Romantic White Flower','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','259','0','bonus2 bSubRace,RC_Plant,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5206','Romantic_White_Flower','Romantic White Flower','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','259','0','bonus2 bSubRace,RC_Plant,3;','',''); REPLACE INTO `item_db_re` VALUES ('5207','Gold_Spirit_Chain','Angel Blessing','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','260','0','bonus bLuk,1; bonus2 bSubEle,Ele_Holy,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5208','Rideword_Hat','Rideword Hat','5','20','10','300','0','0','3','0','1','4294967294','63','2','256','0','40',NULL,'1','262','0','bonus2 bHPDrainRate,50,8; bonus2 bSPDrainRate,10,4; bonus2 bHPLossRate,10,5000;','',''); +REPLACE INTO `item_db_re` VALUES ('5208','Rideword_Hat','Rideword Hat','5','20','10','300','0','0','3','0','1','2147483647','63','2','256','0','40',NULL,'1','262','0','bonus2 bHPDrainRate,50,8; bonus2 bSPDrainRate,10,4; bonus2 bHPLossRate,10,5000;','',''); REPLACE INTO `item_db_re` VALUES ('5209','Yellow_Baseball_Cap','Love Dad Cap','5','20','10','300','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','263','0','','',''); REPLACE INTO `item_db_re` VALUES ('5210','Flying_Angel','Flapping Angel Wing','5','20','10','300','0','0','3','0','0','4294967295','63','2','256','0','10',NULL,'1','264','0','bonus bVariableCastrate,-3; bonus bAspdRate,3; bonus bInt,1; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('5211','Dress_Hat','Dress Hat','5','0','0','200','0','0','3','0','1','4294967295','63','2','256','0','20',NULL,'1','265','0','bonus bMdef,7; bonus bStr,1; bonus bInt,1; bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bMatkRate,2; bonus bHealPower,5; if(getrefine()>=7) { bonus2 bAddRace,RC_NonBoss,1; bonus2 bAddRace,RC_Boss,1; bonus bMatkRate,1; bonus bHealPower,1; }','',''); REPLACE INTO `item_db_re` VALUES ('5212','Satellite_Hairband','Satellite Hairband','5','0','0','1000','0','0','6','0','1','4294967295','63','2','256','0','30',NULL,'1','266','0','bonus bMaxHP,50; bonus bMaxSP,10; skill AL_RUWACH,1;','','sc_end SC_RUWACH;'); REPLACE INTO `item_db_re` VALUES ('5213','Black_Bunny_Band','Sheila Hairnet','5','0','0','200','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','267','0','bonus bAgi,2; bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('5214','Moonlight_Flower_Hat','Moonlight Flower Hat','5','0','0','200','0','0','3','0','0','4294967295','63','2','768','0','0',NULL,'1','268','0','bonus bDex,2; bonus3 bAutoSpell,AL_INCAGI,1,50;','',''); -REPLACE INTO `item_db_re` VALUES ('5215','Angelic_Chain_','Evolved Angel Wing','5','20','10','100','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bDex,1; bonus bInt,1; bonus2 bSubRace,RC_Demon,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5216','Satanic_Chain_','Evolved Evil Wing','5','20','10','100','0','0','6','0','0','4294967294','63','2','256','0','0',NULL,'1','39','0','bonus bStr,1; bonus bAgi,1; bonus bFlee,3; bonus2 bSubRace,RC_Angel,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5215','Angelic_Chain_','Evolved Angel Wing','5','20','10','100','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'1','38','0','bonus bMdef,3; bonus bDex,1; bonus bInt,1; bonus2 bSubRace,RC_Demon,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5216','Satanic_Chain_','Evolved Evil Wing','5','20','10','100','0','0','6','0','0','2147483647','63','2','256','0','0',NULL,'1','39','0','bonus bStr,1; bonus bAgi,1; bonus bFlee,3; bonus2 bSubRace,RC_Angel,3;','',''); REPLACE INTO `item_db_re` VALUES ('5217','Magestic_Goat_TW','Evolved Magestic Goat','5','20','10','800','0','0','10','0','0','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('5218','Bunny_Band_','Evolved Bunny Band','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','15','0','bonus bInt,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5219','Drooping_Kitty_','Evolved Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,18; bonus bFlee,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5220','Smoking_Pipe_','Evolved Pipe','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1; bonus2 bSubRace,RC_Brute,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5219','Drooping_Kitty_','Evolved Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','142','0','bonus bMdef,18; bonus bFlee,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5220','Smoking_Pipe_','Evolved Pipe','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1; bonus2 bSubRace,RC_Brute,5;','',''); REPLACE INTO `item_db_re` VALUES ('5221','Pair_Of_Red_Ribbon_','Evolved Pair of Red Ribbon','5','20','10','100','0','0','2','0','0','4294967295','63','2','512','0','45',NULL,'0','169','0','bonus bFlee,5;','',''); REPLACE INTO `item_db_re` VALUES ('5222','Fish_On_Head_','Evolved Blue Fish','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','50',NULL,'1','149','0','bonus bAgi,1; bonus bDex,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5223','Big_Golden_Bell_','Evolved Big Golden Bell','5','20','10','200','0','0','2','0','0','4294967294','63','2','768','0','35',NULL,'1','175','0','bonus bAgi,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5224','Orc_Hero_Helm_TW','Evolved Orc Hero Helm','5','500000','250000','900','0','0','5','0','0','4294967294','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1; bonus bMaxHPrate,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5223','Big_Golden_Bell_','Evolved Big Golden Bell','5','20','10','200','0','0','2','0','0','2147483647','63','2','768','0','35',NULL,'1','175','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db_re` VALUES ('5224','Orc_Hero_Helm_TW','Evolved Orc Hero Helm','5','500000','250000','900','0','0','5','0','0','2147483647','63','2','768','0','55',NULL,'1','178','0','bonus bStr,2; bonus bVit,1; bonus bMaxHPrate,10;','',''); REPLACE INTO `item_db_re` VALUES ('5225','Marcher_Hat','Parade Hat','5','20','10','200','0','0','4','0','1','4294967295','63','2','256','0','10',NULL,'1','269','0','bonus bMdef,2; bonus bStr,2; bonus4 bAutoSpellWhenHit,AL_ANGELUS,5,30,0; bonus4 bAutoSpellWhenHit,HP_ASSUMPTIO,1,1,0; bonus2 bResEff,Eff_Stun,1000; if(BaseClass==Job_Acolyte) bonus4 bAutoSpellOnSkill,AL_HEAL,PR_LEXAETERNA,1,1000;','',''); REPLACE INTO `item_db_re` VALUES ('5226','Mini_Propeller_','Mini Propeller','5','20','10','200','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','270','0','bonus bAgi,2; bonus bDex,1; bonus bFlee,10; bonus bVariableCastrate,-getrefine();','',''); -REPLACE INTO `item_db_re` VALUES ('5227','Red_Deviruchi_Cap','Red Deviruchi Hat','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','64',NULL,'1','271','0','bonus bStr,1; bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5228','White_Deviruchi_Cap','Gray Deviruchi Hat','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5229','Gray_Deviruchi_Cap','Brown Deviruchi Hat','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','64',NULL,'1','273','0','bonus bStr,1; bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5230','White_Drooping_Kitty','Gray Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','274','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db_re` VALUES ('5231','Gray_Drooping_Kitty','Brown Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','275','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db_re` VALUES ('5232','Pink_Drooping_Kitty','Pink Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','276','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db_re` VALUES ('5233','Blue_Drooping_Kitty','Blue Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','277','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); -REPLACE INTO `item_db_re` VALUES ('5234','Yellow_Drooping_Kitty','Yellow Drooping Cat','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','278','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('5227','Red_Deviruchi_Cap','Red Deviruchi Hat','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','64',NULL,'1','271','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5228','White_Deviruchi_Cap','Gray Deviruchi Hat','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5229','Gray_Deviruchi_Cap','Brown Deviruchi Hat','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','64',NULL,'1','273','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5230','White_Drooping_Kitty','Gray Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','274','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('5231','Gray_Drooping_Kitty','Brown Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','275','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('5232','Pink_Drooping_Kitty','Pink Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','276','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('5233','Blue_Drooping_Kitty','Blue Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','277','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('5234','Yellow_Drooping_Kitty','Yellow Drooping Cat','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','278','0','bonus2 bResEff,Eff_Curse,3000; bonus bMdef,15;','',''); REPLACE INTO `item_db_re` VALUES ('5235','Gray_Fur_Hat','Brown Beanie','5','20','10','350','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','279','0','bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('5236','Blue_Fur_Hat','Blue Beanie','5','20','10','350','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','280','0','bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('5237','Pink_Fur_Hat','Pink Beanie','5','20','10','350','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','281','0','bonus bLuk,1;','',''); @@ -2933,18 +2933,18 @@ REPLACE INTO `item_db_re` VALUES ('5253','Lif_Doll_Hat','Lif Doll Hat','5','20', REPLACE INTO `item_db_re` VALUES ('5254','Deviling_Hat','Deviling Hat','5','20','10','500','0','0','6','0','1','4294967295','63','2','256','0','0',NULL,'1','298','0','bonus bStr,1; bonus bCritical,3; bonus2 bSubRace,RC_Angel,-20; if(getrefine()>=6) { bonus bCritical,getrefine()-5; }','',''); REPLACE INTO `item_db_re` VALUES ('5255','Triple_Poring_Hat','Triple Poring Hat','5','20','10','600','0','0','6','0','0','4294967295','63','2','256','0','20',NULL,'0','299','0','bonus bLuk,3; bonus3 bAutoSpell,BS_GREED,1,50;','',''); REPLACE INTO `item_db_re` VALUES ('5256','Valkyrie_Feather_Band','Valkyrie Feather Band','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','20',NULL,'1','300','0','bonus bInt,1; bonus3 bAutoSpellWhenHit,AL_HEAL,1,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5257','Soulless_Wing','Soul Ring','5','20','10','300','0','0','3','0','0','4294967294','63','2','256','0','20',NULL,'1','301','0','bonus bMdef,2; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,1,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5257','Soulless_Wing','Soul Ring','5','20','10','300','0','0','3','0','0','2147483647','63','2','256','0','20',NULL,'1','301','0','bonus bMdef,2; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,1,10;','',''); REPLACE INTO `item_db_re` VALUES ('5258','Afro_Wig','Afro Wig','5','20','10','100','0','0','0','0','1','4294967295','63','2','768','0','10',NULL,'1','302','0','bonus3 bAutoSpellWhenHit,NV_FIRSTAID,1,300; bonus2 bSubEle,Ele_Neutral,1;','',''); REPLACE INTO `item_db_re` VALUES ('5259','Elephant_Hat_','Elephant Hat','5','20','10','500','0','0','6','0','0','4294967295','63','2','256','0','0',NULL,'1','215','0','bonus bVit,1; bonus3 bAutoSpell,WZ_WATERBALL,3,10; skill AL_HOLYWATER,1;','',''); REPLACE INTO `item_db_re` VALUES ('5260','Cookie_Hat','Cookie Hat','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','217','0','bonus bAgi,1; bonus bFlee2,5; bonus bCritAtkRate,5;','',''); REPLACE INTO `item_db_re` VALUES ('5261','Silver_Tiara_','Silver Tiara','5','20','10','500','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','218','0','bonus bInt,2; if(BaseClass==Job_Mage) bonus bMatkRate,(JobLevel/20); if(BaseClass==Job_Acolyte) bonus bUseSPrate,-(JobLevel/10); if(BaseClass==Job_Archer) bonus bMaxSP,(JobLevel*2);','',''); REPLACE INTO `item_db_re` VALUES ('5262','Gold_Tiara_','Golden Tiara','5','20','10','500','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','232','0','bonus bStr,2; bonus bUnbreakableHelm,0; if((readparam(bDex)<56)&&(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief)) bonus bDex,JobLevel/7;','',''); -REPLACE INTO `item_db_re` VALUES ('5263','Ati_Atihan_Hat','Pagdayaw','5','20','10','100','0','0','1','0','0','4294967294','63','2','769','0','20',NULL,'1','303','0','bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5263','Ati_Atihan_Hat','Pagdayaw','5','20','10','100','0','0','1','0','0','2147483647','63','2','769','0','20',NULL,'1','303','0','bonus2 bSubEle,Ele_Water,1; bonus2 bSubEle,Ele_Earth,1; bonus2 bSubEle,Ele_Fire,1; bonus2 bSubEle,Ele_Wind,1; bonus2 bAddEff,Eff_Curse,3;','',''); REPLACE INTO `item_db_re` VALUES ('5264','Aussie_Flag_Hat','Australian Flag Hat','5','20','10','500','0','0','8','0','0','4294967295','63','2','256','0','0',NULL,'1','304','0','bonus bAllStats,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5265','Apple_Of_Archer_C','Rental Apple of Archer','5','1','0','0','0','0','12','0','0','4294967294','63','2','256','0','0',NULL,'0','72','0','bonus bDex,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5265','Apple_Of_Archer_C','Rental Apple of Archer','5','1','0','0','0','0','12','0','0','2147483647','63','2','256','0','0',NULL,'0','72','0','bonus bDex,4;','',''); REPLACE INTO `item_db_re` VALUES ('5266','Bunny_Band_C','Rental Bunny Band','5','1','0','0','0','0','10','0','0','4294967295','63','2','256','0','0',NULL,'0','15','0','bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('5267','Sahkkat_C','Sahkkat C','5','1','0','0','0','0','10','0','0','4294967295','63','2','256','0','0',NULL,'0','67','0','bonus bAgi,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5268','Lord_Circlet_C','Grand Circlet','5','1','0','0','0','0','12','0','0','4294967294','63','2','256','0','0',NULL,'0','93','0','bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5268','Lord_Circlet_C','Grand Circlet','5','1','0','0','0','0','12','0','0','2147483647','63','2','256','0','0',NULL,'0','93','0','bonus bStr,3; bonus bInt,3; bonus bLuk,3; bonus bMdef,4;','',''); REPLACE INTO `item_db_re` VALUES ('5269','Flying_Angel_','Flapping Angel Wing','5','20','10','300','0','0','3','0','0','4294967295','63','2','256','0','10',NULL,'1','264','0','bonus bInt,1; bonus bAgi,1; bonus bAspdRate,3; bonus bSpeedRate,25;','',''); REPLACE INTO `item_db_re` VALUES ('5270','Fallen_Leaves_','Autumn Leaves','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','241','0','bonus bFlee2,5;','',''); REPLACE INTO `item_db_re` VALUES ('5271','Chinese_Crown_','Phoenix Crown','5','20','10','500','0','0','4','0','1','4294967295','63','2','768','0','0',NULL,'1','221','0','bonus bMdef,3; bonus2 bSubRace,RC_Boss,getrefine();','',''); @@ -2953,11 +2953,11 @@ REPLACE INTO `item_db_re` VALUES ('5273','Happy_Wig','Happy Wig','5','20','10',' REPLACE INTO `item_db_re` VALUES ('5274','Shiny_Wig','Shiny Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','306','0','bonus bSpeedRate,25; bonus bDef,4; skill TF_HIDING,1;','','sc_end SC_HIDING;'); REPLACE INTO `item_db_re` VALUES ('5275','Marvelous_Wig','Marvelous Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','307','0','bonus bSpeedRate,25; bonus bDef,4; skill TF_HIDING,1;','','sc_end SC_HIDING;'); REPLACE INTO `item_db_re` VALUES ('5276','Fantastic_Wig','Fantastic Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','308','0','bonus bSpeedRate,25; bonus bDef,4; skill TF_HIDING,1;','','sc_end SC_HIDING;'); -REPLACE INTO `item_db_re` VALUES ('5277','Yellow_Bandana','Air Pirate\'s Bandana','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','20',NULL,'1','309','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5278','Yellow_Ribbon','Yellow Ribbon','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','20',NULL,'1','310','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5279','Drooping_Kitty_C','Refined Drooping Cat','5','2','1','0','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); -REPLACE INTO `item_db_re` VALUES ('5280','Magestic_Goat_C','Baphomet Horns','5','2','1','0','0','0','10','0','0','4294967294','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5281','Deviruchi_Cap_C','Refined Deviruchi Hat','5','2','1','0','0','0','4','0','0','4294967294','63','2','256','0','0',NULL,'0','123','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5277','Yellow_Bandana','Air Pirate\'s Bandana','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','20',NULL,'1','309','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5278','Yellow_Ribbon','Yellow Ribbon','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','20',NULL,'1','310','0','bonus bLuk,2; bonus bVit,2; bonus bLongAtkDef,10;','',''); +REPLACE INTO `item_db_re` VALUES ('5279','Drooping_Kitty_C','Refined Drooping Cat','5','2','1','0','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,3000;','',''); +REPLACE INTO `item_db_re` VALUES ('5280','Magestic_Goat_C','Baphomet Horns','5','2','1','0','0','0','10','0','0','2147483647','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5281','Deviruchi_Cap_C','Refined Deviruchi Hat','5','2','1','0','0','0','4','0','0','2147483647','63','2','256','0','0',NULL,'0','123','0','bonus bStr,1; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5282','euRO_Baseball_Cap','Europe Baseball Cap','5','0','0','200','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','216','0','','',''); REPLACE INTO `item_db_re` VALUES ('5283','Chick_Hat','Chick Hat','5','20','10','100','0','0','2','0','0','4294967295','63','2','256','0','10',NULL,'0','311','0','bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill TF_DOUBLE,2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3;','',''); REPLACE INTO `item_db_re` VALUES ('5284','Water_Lily_Crown','Water Lily Crown','5','20','10','200','0','0','0','0','1','4294967295','63','2','256','0','30',NULL,'0','312','0','bonus bDex,1; bonus bAgi,1; bonus bMdef,3; bonus bHPrecovRate,5; bonus bSPrecovRate,3;','',''); @@ -2976,13 +2976,13 @@ REPLACE INTO `item_db_re` VALUES ('5296','Drooping_Nine_Tail_','Drooping Nine Ta REPLACE INTO `item_db_re` VALUES ('5297','Soulless_Wing_','Soul Wing','5','20','10','300','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','301','0','bonus bAllStats,1; bonus2 bSPRegenRate,2,10000;','',''); REPLACE INTO `item_db_re` VALUES ('5298','Marvelous_Wig_','Dokebi\'s Wig','5','20','10','100','0','0','1','0','1','4294967295','63','2','768','0','0',NULL,'1','307','0','bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Fire,-5; bonus2 bSubEle,Ele_Water,-5;','',''); REPLACE INTO `item_db_re` VALUES ('5299','Ati_Atihan_Hat_','Pagdayaw','5','20','10','100','0','0','1','0','1','4294967295','63','2','769','0','0',NULL,'1','303','0','bonus3 bAutoSpell,DC_SCREAM,1,50;','',''); -REPLACE INTO `item_db_re` VALUES ('5300','Bullock_Helm','Bullock Helm','5','20','10','800','0','0','4','0','0','4294967294','63','2','256','0','45',NULL,'1','322','0','bonus bMaxHP,100;','',''); +REPLACE INTO `item_db_re` VALUES ('5300','Bullock_Helm','Bullock Helm','5','20','10','800','0','0','4','0','0','2147483647','63','2','256','0','45',NULL,'1','322','0','bonus bMaxHP,100;','',''); REPLACE INTO `item_db_re` VALUES ('5301','Russian_Ribbon','Victory Hairband','5','0','0','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','323','0','','',''); REPLACE INTO `item_db_re` VALUES ('5302','Lotus_Flower_Hat','Water Lily Hat','5','0','0','100','0','0','2','0','0','4294967295','63','2','256','0','30',NULL,'1','324','0','','',''); REPLACE INTO `item_db_re` VALUES ('5303','Flower_Coronet','Flower Crown','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','325','0','bonus bMdef,5; bonus bMaxHP,50;','',''); REPLACE INTO `item_db_re` VALUES ('5304','Cap_Of_Blindness','Cap Of Blindness','5','20','10','800','0','0','4','0','1','4294967295','63','2','769','0','30',NULL,'1','326','0','bonus2 bResEff,Eff_Curse,700; bonus2 bResEff,Eff_Blind,10000;','',''); REPLACE INTO `item_db_re` VALUES ('5305','Pirate_Dagger','Pirate Dagger','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','327','0','bonus bBaseAtk,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5306','Freyja_Crown','Freyja Crown','5','0','0','500','0','0','20','0','0','4294967294','63','2','256','0','0',NULL,'0','328','0','bonus2 bSubRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5306','Freyja_Crown','Freyja Crown','5','0','0','500','0','0','20','0','0','2147483647','63','2','256','0','0',NULL,'0','328','0','bonus2 bSubRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db_re` VALUES ('5307','Carmen_Miranda\'s_Hat','Carmen Miranda\'s Hat','5','20','10','400','0','0','5','0','0','4294967295','63','2','256','0','0',NULL,'1','329','0','bonus bMdef,3; bonus3 bAutoSpellWhenHit,DC_WINKCHARM,1,50;','',''); REPLACE INTO `item_db_re` VALUES ('5308','Brazilian_Flag_Hat','Brazilian Flag Hat','5','20','10','300','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','330','0','bonus bSpeedAddRate,25;','',''); REPLACE INTO `item_db_re` VALUES ('5309','Mahican','Wool Mask','5','20','10','200','0','0','1','0','0','4294967295','63','2','769','0','0',NULL,'1','331','0','skill RG_GRAFFITI,1;','',''); @@ -2996,18 +2996,18 @@ REPLACE INTO `item_db_re` VALUES ('5316','Umbrella_Hat','Umbrella Hat','5','20', REPLACE INTO `item_db_re` VALUES ('5317','Fisherman_Hat','Fisherman Hat','5','20','10','100','0','0','4','0','0','4294967295','63','2','256','0','50',NULL,'1','339','0','bonus3 bAutoSpell,WZ_WATERBALL,3,50;','',''); REPLACE INTO `item_db_re` VALUES ('5318','Poring_Party_Hat','Poring Party Hat','5','20','10','0','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','340','0','bonus bAllStats,3;','',''); REPLACE INTO `item_db_re` VALUES ('5319','Hellomother_Hat','Arc Angeling Hat','5','20','10','200','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','341','0','bonus bLuk,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5320','Champion_Wreath','Champion Wreath','5','20','10','500','0','0','8','0','0','4294967294','63','2','256','0','0',NULL,'1','261','0','bonus bAllStats,2; bonus4 bAutoSpellWhenHit,AL_HEAL,1,50,0;','',''); +REPLACE INTO `item_db_re` VALUES ('5320','Champion_Wreath','Champion Wreath','5','20','10','500','0','0','8','0','0','2147483647','63','2','256','0','0',NULL,'1','261','0','bonus bAllStats,2; bonus4 bAutoSpellWhenHit,AL_HEAL,1,50,0;','',''); REPLACE INTO `item_db_re` VALUES ('5321','Indonesian_Bandana','Indonesian Bandana','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','342','0','','',''); REPLACE INTO `item_db_re` VALUES ('5322','Scarf','Scarf','5','20','10','100','0','0','4','0','0','4294967295','63','2','256','0','24',NULL,'1','343','0','bonus bMdef,2; bonus bFlee,5;','',''); REPLACE INTO `item_db_re` VALUES ('5323','Misstrance_Crown','Misstrance Crown','5','20','10','0','0','0','14','0','0','4294967295','63','2','256','0','0',NULL,'0','165','0','bonus bAllStats,2;','',''); REPLACE INTO `item_db_re` VALUES ('5324','Little_Angel_Doll','Little Angel Doll','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','10',NULL,'1','344','0','bonus bDex,3; bonus4 bAutoSpellWhenHit,CR_GRANDCROSS,3,30,0;','',''); REPLACE INTO `item_db_re` VALUES ('5325','Robo_Eye','Robo Eye','5','20','10','200','0','0','2','0','0','4294967295','63','2','512','0','10',NULL,'0','345','0','bonus bUnbreakableHelm,0; bonus2 bAddRace,RC_NonBoss,2; bonus2 bAddRace,RC_Boss,2; bonus bMatkRate,2; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('5326','Masquerade_C','Masquerade C','5','1','0','0','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','78','0','bonus2 bAddRace,RC_DemiHuman,7;','',''); -REPLACE INTO `item_db_re` VALUES ('5327','Orc_Hero_Helm_C','Refined Helmet of Orc Hero','5','1','0','0','0','0','10','0','0','4294967294','63','2','768','0','0',NULL,'0','178','0','bonus bStr,5; bonus bVit,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5327','Orc_Hero_Helm_C','Refined Helmet of Orc Hero','5','1','0','0','0','0','10','0','0','2147483647','63','2','768','0','0',NULL,'0','178','0','bonus bStr,5; bonus bVit,3;','',''); REPLACE INTO `item_db_re` VALUES ('5328','Evil_Wing_Ears_C','Evil Wing Ears C','5','1','0','0','0','0','4','0','0','4294967295','63','2','512','0','0',NULL,'0','152','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5329','Dark_Blindfold_C','Costume: Dark Blindfold','5','1','0','0','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500;','',''); -REPLACE INTO `item_db_re` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','1','0','0','0','0','9','0','0','4294967294','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Curse,1000;','',''); -REPLACE INTO `item_db_re` VALUES ('5331','Corsair_C','Corsair C','5','1','0','0','0','0','14','0','0','4294967294','63','2','256','0','0',NULL,'0','105','0','bonus bVit,3; bonus bInt,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','1','0','0','0','0','9','0','0','2147483647','63','2','256','0','0',NULL,'0','142','0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Curse,1000;','',''); +REPLACE INTO `item_db_re` VALUES ('5331','Corsair_C','Corsair C','5','1','0','0','0','0','14','0','0','2147483647','63','2','256','0','0',NULL,'0','105','0','bonus bVit,3; bonus bInt,3;','',''); REPLACE INTO `item_db_re` VALUES ('5332','Loki_Mask','Loki Mask','5','0','0','200','0','0','2','0','0','4294967295','63','2','513','0','20',NULL,'0','346','0','bonus bFlee2,3;','',''); REPLACE INTO `item_db_re` VALUES ('5333','Radio_Antenna','Radio Antenna','5','0','0','1500','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','347','0','bonus bMdef,5; bonus bCritical,5; bonus bFlee,5; skill MG_LIGHTNINGBOLT,1; bonus4 bAutoSpellWhenHit,MG_THUNDERSTORM,5,30,1;','',''); REPLACE INTO `item_db_re` VALUES ('5334','Angeling_Wanna_Fly','Flapping Angeling','5','0','0','700','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','348','0','bonus bDex,1; bonus bLuk,2; bonus bMdef,2;','',''); @@ -3023,12 +3023,12 @@ REPLACE INTO `item_db_re` VALUES ('5343','Tayelin_Doll_Hat','Telling Doll Hat',' REPLACE INTO `item_db_re` VALUES ('5344','Binit_Doll_Hat','Bennit Doll Hat','5','0','0','500','0','0','1','0','1','4294967295','63','2','256','0','60',NULL,'0','358','0','bonus2 bSubRace,RC_DemiHuman,5; autobonus \"{ bonus bAspdRate,5; }\",20,30000,0,\"{ specialeffect2 EF_HASTEUP; }\";','',''); REPLACE INTO `item_db_re` VALUES ('5345','Debril_Doll_Hat','W Doll Hat','5','0','0','500','0','0','1','0','1','4294967295','63','2','256','0','60',NULL,'0','359','0','bonus2 bSubRace,RC_DemiHuman,5; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5;','',''); REPLACE INTO `item_db_re` VALUES ('5346','Gf_Recruiter_Hat','Gf Recruiter Hat','5','0','0','0','0','0','4','0','0','4294967295','63','2','256','0','10',NULL,'1','360','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5347','Ph.D_Hat_','Ph.D Hat','5','20','10','200','0','0','5','0','1','4294967294','63','2','256','0','0',NULL,'1','98','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5348','Big_Sis\'_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('5349','Boy\'s_Cap_','Boy\'s Cap','5','20','10','100','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','102','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5350','Pirate_Bandana_','Pirate Bandana','5','20','10','100','0','0','4','0','1','4294967294','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5347','Ph.D_Hat_','Ph.D Hat','5','20','10','200','0','0','5','0','1','2147483647','63','2','256','0','0',NULL,'1','98','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5348','Big_Sis\'_Ribbon_','Big Ribbon','5','15000','7500','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','28','0','bonus bMdef,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5349','Boy\'s_Cap_','Boy\'s Cap','5','20','10','100','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','102','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5350','Pirate_Bandana_','Pirate Bandana','5','20','10','100','0','0','4','0','1','2147483647','63','2','256','0','0',NULL,'1','74','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5351','Sunflower_','Sunflower','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'0','37','0','bonus2 bSubRace,RC_Insect,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5352','Poporing_Cap','Poporing Cap','5','20','10','700','0','0','4','0','0','4294967294','63','2','256','0','38',NULL,'1','361','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5352','Poporing_Cap','Poporing Cap','5','20','10','700','0','0','4','0','0','2147483647','63','2','256','0','38',NULL,'1','361','0','','',''); REPLACE INTO `item_db_re` VALUES ('5353','Helm_Of_Sun_','Hat of the Sun God','5','20','10','2400','0','0','4','0','1','1040256','63','2','768','0','0',NULL,'1','138','0','bonus bStr,3; bonus bInt,2; bonus5 bAutoSpellWhenHit,HP_ASSUMPTIO,1,1,BF_WEAPON|BF_MAGIC,0;','',''); REPLACE INTO `item_db_re` VALUES ('5354','Muslim_Hat_M','Muslim Hat M','5','0','0','100','0','0','4','0','0','4294967295','63','1','256','0','0',NULL,'0','362','0','bonus bVariableCastrate,-5;','',''); REPLACE INTO `item_db_re` VALUES ('5355','Muslim_Hat_F','Selendang','5','0','0','100','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'0','363','0','bonus bVariableCastrate,-5;','',''); @@ -3059,7 +3059,7 @@ REPLACE INTO `item_db_re` VALUES ('5379','Balloon_Hat','Tam','5','0','0','800',' REPLACE INTO `item_db_re` VALUES ('5380','Fish_Head_Hat','Fish Head Hat','5','20','10','400','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','386','0','bonus3 bAutoSpell,SA_FROSTWEAPON,1,5;','',''); REPLACE INTO `item_db_re` VALUES ('5381','Santa_Poring_Hat','Santa Poring Hat','5','20','10','100','0','0','4','0','1','4294967295','63','2','256','0','0',NULL,'0','387','0','bonus bMdef,2; bonus2 bAddEle,Ele_Dark,3; bonus2 bSubEle,Ele_Dark,3;','',''); REPLACE INTO `item_db_re` VALUES ('5382','Bell_Ribbon','Bell Ribbon','5','20','10','200','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','388','0','bonus bVit,1; skill AL_ANGELUS,1;','','sc_end SC_ANGELUS;'); -REPLACE INTO `item_db_re` VALUES ('5383','Hunting_Cap','Hunting Cap','5','20','10','250','0','0','6','0','1','4294967294','63','2','256','0','50',NULL,'1','389','0','bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5383','Hunting_Cap','Hunting Cap','5','20','10','250','0','0','6','0','1','2147483647','63','2','256','0','50',NULL,'1','389','0','bonus bLuk,1; bonus2 bAddRace,RC_Brute,10; bonus2 bAddRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db_re` VALUES ('5384','Santa_Hat_1','Twin Pom Santa','5','20','10','200','0','0','4','0','1','4294967295','63','2','256','0','20',NULL,'1','390','0','bonus bLuk,3; skill WZ_ESTIMATION,1; bonus3 bAutoSpell,AL_INCAGI,1,500;','',''); REPLACE INTO `item_db_re` VALUES ('5385','Yoyo_Hat','Yoyo Hat','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','20',NULL,'1','391','0','skill TF_HIDING,1;','','sc_end SC_HIDING;'); REPLACE INTO `item_db_re` VALUES ('5386','Ayam_','New Year\'s Hat','5','0','0','70','0','0','7','0','0','4294967295','63','2','256','0','0',NULL,'0','228','0','bonus bMdef,7; bonus bFlee,7; bonus2 bAddMonsterDropItem,12198,200;','',''); @@ -3092,12 +3092,12 @@ REPLACE INTO `item_db_re` VALUES ('5412','Sweet_Candy','Lollipop','5','20','10', REPLACE INTO `item_db_re` VALUES ('5413','Popcorn_Hat','Popcorn Hat','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'0','415','0','bonus2 bSubEle,Ele_Wind,10;','',''); REPLACE INTO `item_db_re` VALUES ('5414','Campfire_Hat','Campfire Hat','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'0','416','0','bonus2 bSubEle,Ele_Fire,10; bonus4 bAutoSpellWhenHit,MG_FIREBALL,5,100,1;','',''); REPLACE INTO `item_db_re` VALUES ('5415','Poring_Cake_Cap','Poring Cake Hat','5','20','10','1000','0','0','10','0','0','4294967295','63','2','256','0','40',NULL,'1','417','0','bonus bMdef,5; bonus bCritical,5; bonus bFlee,5; bonus bFlee2,5; bonus bAspdRate,5; bonus bVariableCastrate,-5; bonus bDelayrate,-5;','',''); -REPLACE INTO `item_db_re` VALUES ('5416','Beer_Cap','Beer Hat','5','20','10','600','0','0','4','0','0','4294967294','63','2','256','0','18',NULL,'1','418','0','bonus bFlee2,5; skill SM_RECOVERY,3; skill MG_SRECOVERY,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5416','Beer_Cap','Beer Hat','5','20','10','600','0','0','4','0','0','2147483647','63','2','256','0','18',NULL,'1','418','0','bonus bFlee2,5; skill SM_RECOVERY,3; skill MG_SRECOVERY,3;','',''); REPLACE INTO `item_db_re` VALUES ('5417','Crown_Parrot','Crown Parrots','5','20','10','200','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'0','419','0','bonus bInt,1; bonus2 bResEff,Eff_Silence,10000; bonus3 bAutoSpell,DC_SCREAM,1,50;','',''); REPLACE INTO `item_db_re` VALUES ('5418','Soldier_Hat','Soldier Hat','5','20','10','400','0','0','8','0','1','4294967295','63','2','256','0','0',NULL,'1','420','0','bonus bStr,1; bonus2 bAddRace,RC_NonBoss,3; bonus2 bAddRace,RC_Boss,3; bonus bUseSPrate,10;','',''); REPLACE INTO `item_db_re` VALUES ('5419','Evolved_Leaf','Leaves Of Grass','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','57','0','bonus bUnbreakableHelm,0; bonus bVit,1; bonus2 bSubRace,RC_Plant,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5420','Mask_Of_Ifrit','Ifrit Mask','5','20','10','800','0','0','12','0','1','4294967294','63','2','769','0','50',NULL,'0','421','0','bonus bStr,2; bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill MG_SIGHT,1; bonus3 bAutoSpellWhenHit,WZ_METEOR,3,50; bonus3 bAutoSpell,MG_FIREBOLT,3,50;','','sc_end SC_SIGHT;'); -REPLACE INTO `item_db_re` VALUES ('5421','Ifrit\'s_Ear','Ifrit\'s Ears','5','20','10','300','0','0','0','0','0','4294967294','63','2','512','0','50',NULL,'0','422','0','bonus bUnbreakableHelm,0; bonus bInt,1; bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','',''); +REPLACE INTO `item_db_re` VALUES ('5420','Mask_Of_Ifrit','Ifrit Mask','5','20','10','800','0','0','12','0','1','2147483647','63','2','769','0','50',NULL,'0','421','0','bonus bStr,2; bonus bInt,2; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Water,-10; skill MG_SIGHT,1; bonus3 bAutoSpellWhenHit,WZ_METEOR,3,50; bonus3 bAutoSpell,MG_FIREBOLT,3,50;','','sc_end SC_SIGHT;'); +REPLACE INTO `item_db_re` VALUES ('5421','Ifrit\'s_Ear','Ifrit\'s Ears','5','20','10','300','0','0','0','0','0','2147483647','63','2','512','0','50',NULL,'0','422','0','bonus bUnbreakableHelm,0; bonus bInt,1; bonus bStr,1; bonus bMdef,3; bonus2 bSkillAtk,MG_FIREBOLT,2; bonus2 bSkillAtk,WZ_FIREPILLAR,2; bonus2 bSkillAtk,WZ_METEOR,2; bonus2 bSkillAtk,SM_BASH,2; bonus2 bSkillAtk,SM_MAGNUM,2; bonus2 bSkillAtk,KN_PIERCE,2; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,-5;','',''); REPLACE INTO `item_db_re` VALUES ('5422','Linguistic_Book_Cap','Linguistic Book Hat','5','20','10','70','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','423','0','bonus bInt,1; bonus bMdef,2;','',''); REPLACE INTO `item_db_re` VALUES ('5423','Lovecap_China','I LOVE CHINA','5','20','10','250','0','0','10','0','0','4294967295','63','2','256','0','0',NULL,'0','424','0','bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10;','',''); REPLACE INTO `item_db_re` VALUES ('5424','Fanta_Orange_Can','Fanta Orange Can Hat','5','20','10','100','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','425','0','','',''); @@ -3114,10 +3114,10 @@ REPLACE INTO `item_db_re` VALUES ('5434','Cola_Can','Coca-Cola Bottle','5','20', REPLACE INTO `item_db_re` VALUES ('5435','Coke_Hat','Coca-Cola Hat','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','40',NULL,'1','436','0','bonus bInt,1; bonus bMaxSP,80; bonus bMdef,3; if(getrefine()>5) { bonus bMdef,getrefine()-5; bonus bMaxSP,(getrefine()-5)*10; }','',''); REPLACE INTO `item_db_re` VALUES ('5436','Bride\'s_Corolla','Bride\'s Corolla','5','20','10','200','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','437','0','bonus bLuk,3; bonus bMdef,2;','',''); REPLACE INTO `item_db_re` VALUES ('5437','Flower_Of_Fairy','Fairy Flower','5','20','10','200','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','438','0','bonus bInt,1; bonus bMdef,1; bonus2 bSubRace,RC_Insect,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5438','Fillet_Green','Cute Green Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','439','0','bonus bMaxSP,20;','',''); -REPLACE INTO `item_db_re` VALUES ('5439','Fillet_Red','Cute Red Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','440','0','bonus bMaxSP,20;','',''); -REPLACE INTO `item_db_re` VALUES ('5440','Fillet_Blue','Cute Blue Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','441','0','bonus bMaxSP,20;','',''); -REPLACE INTO `item_db_re` VALUES ('5441','Fillet_White','Cute White Ribbon','5','500','250','100','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'0','442','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db_re` VALUES ('5438','Fillet_Green','Cute Green Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','439','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db_re` VALUES ('5439','Fillet_Red','Cute Red Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','440','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db_re` VALUES ('5440','Fillet_Blue','Cute Blue Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','441','0','bonus bMaxSP,20;','',''); +REPLACE INTO `item_db_re` VALUES ('5441','Fillet_White','Cute White Ribbon','5','500','250','100','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'0','442','0','bonus bMaxSP,20;','',''); REPLACE INTO `item_db_re` VALUES ('5442','Necktie','Necktie','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','70',NULL,'1','443','0','bonus bVit,1; bonus bHit,-5; bonus bUseSPrate,5;','',''); REPLACE INTO `item_db_re` VALUES ('5443','Status_Of_Baby_Angel','Statue Of Baby Angel','5','20','10','600','0','0','6','0','1','4294967295','63','2','256','0','70',NULL,'1','444','0','bonus bMdef,2; bonus4 bAutoSpellWhenHit,PR_STRECOVERY,1,20,0;','',''); REPLACE INTO `item_db_re` VALUES ('5444','Hair_Brush','Hair Brush','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','445','0','bonus bCritical,6;','',''); @@ -3126,7 +3126,7 @@ REPLACE INTO `item_db_re` VALUES ('5446','Cat_Foot_Hairpin','Catfoot Hairpin','5 REPLACE INTO `item_db_re` VALUES ('5447','Frog_Cap','Frog Hat','5','20','10','500','0','0','6','0','0','4294967295','63','2','256','0','70',NULL,'1','448','0','bonus bMdef,1; bonus2 bAddRace,RC_Insect,12; bonus2 bMagicAddRace,RC_Insect,12;','',''); REPLACE INTO `item_db_re` VALUES ('5448','Solo_Play_Box1','Indifferent Solo Hat','5','20','10','300','0','0','0','0','1','4294967295','63','2','769','0','0',NULL,'1','449','0','skill RG_GRAFFITI,1;','',''); REPLACE INTO `item_db_re` VALUES ('5449','Solo_Play_Box2','Angry Solo Hat','5','20','10','300','0','0','0','0','1','4294967295','63','2','769','0','0',NULL,'1','450','0','skill RG_GRAFFITI,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5450','Sun_Cap','Solar Hat','5','20','10','1000','0','0','0','0','0','4294967294','63','2','256','0','20',NULL,'1','451','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5450','Sun_Cap','Solar Hat','5','20','10','1000','0','0','0','0','0','2147483647','63','2','256','0','20',NULL,'1','451','0','','',''); REPLACE INTO `item_db_re` VALUES ('5451','Dragonhelm_Gold','Gold Dragonhelm','5','20','10','1500','0','0','14','0','1','4294967295','63','2','256','0','0',NULL,'0','452','0','bonus bAspdRate,10; bonus bAllStats,3; bonus2 bAddRace,RC_DemiHuman,5;','',''); REPLACE INTO `item_db_re` VALUES ('5452','Dragonhelm_Silver','Silver Dragonhelm','5','20','10','1500','0','0','10','0','1','4294967295','63','2','256','0','0',NULL,'0','453','0','bonus bAspdRate,7; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,3;','',''); REPLACE INTO `item_db_re` VALUES ('5453','Dragonhelm_Copper','Copper Dragonhelm','5','20','10','1500','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'0','454','0','bonus bAspdRate,5; bonus bAllStats,2; bonus2 bAddRace,RC_DemiHuman,1;','',''); @@ -3168,12 +3168,12 @@ REPLACE INTO `item_db_re` VALUES ('5488','J_Twin_Santahat','Cute Santa Hat','5', REPLACE INTO `item_db_re` VALUES ('5489','Love_Daddy','Love Daddy Hat','5','20','10','100','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','484','0','bonus bDex,2;','',''); REPLACE INTO `item_db_re` VALUES ('5490','Anubis_Helm','Anubis Helm','5','20','10','0','0','0','8','0','0','4294967295','63','2','768','0','65',NULL,'0','485','0','bonus bUnbreakableHelm,0; bonus bMdef,5; bonus2 bSubRace,RC_Boss,10; bonus bHealPower2,10; bonus bAddItemHealRate,10;','',''); REPLACE INTO `item_db_re` VALUES ('5491','Hat_Of_Outlaw','Bandit Hat','5','20','10','800','0','0','6','0','1','4294967295','63','2','256','0','0',NULL,'1','486','0','bonus bStr,2; bonus2 bSubEle,Ele_Fire,10;','',''); -REPLACE INTO `item_db_re` VALUES ('5492','Boy\'s_Cap_I','Student Cap','5','0','0','0','0','0','10','0','0','4294967294','63','2','256','0','0',NULL,'0','102','0','bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5493','Ulle_Cap_I','Ulle\'s Cap','5','0','0','0','0','0','12','0','0','4294967294','63','2','256','0','0',NULL,'0','254','0','bonus bDex,2; bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5492','Boy\'s_Cap_I','Student Cap','5','0','0','0','0','0','10','0','0','2147483647','63','2','256','0','0',NULL,'0','102','0','bonus bMdef,3; bonus2 bAddRace,RC_DemiHuman,5;','',''); +REPLACE INTO `item_db_re` VALUES ('5493','Ulle_Cap_I','Ulle\'s Cap','5','0','0','0','0','0','12','0','0','2147483647','63','2','256','0','0',NULL,'0','254','0','bonus bDex,2; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('5494','Spinx_Helm_I','Sphinx Hat','5','0','0','0','0','0','10','0','0','16514','63','2','257','0','0',NULL,'0','137','0','bonus bStr,5;','',''); REPLACE INTO `item_db_re` VALUES ('5495','Power_Of_Thor','Power Of Thor','5','20','10','100','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','493','0','bonus bLuk,1; bonus bAgi,1; bonus bVit,1; bonus bStr,1; bonus bInt,1; bonus bDex,1; bonus bMdef,3; bonus bFlee,5;','',''); REPLACE INTO `item_db_re` VALUES ('5496','Dice_Hat','Dice Hat','5','20','10','300','0','0','6','0','0','4294967295','63','2','256','0','50',NULL,'0','494','0','bonus bLuk,4;','',''); -REPLACE INTO `item_db_re` VALUES ('5497','King_Tiger_Doll_Hat','Edgga Doll','5','20','10','400','0','0','6','0','1','4294967294','63','2','256','0','0',NULL,'1','495','0','bonus bDex,2; bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('5497','King_Tiger_Doll_Hat','Edgga Doll','5','20','10','400','0','0','6','0','1','2147483647','63','2','256','0','0',NULL,'1','495','0','bonus bDex,2; bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('5498','Wondering_Wolf_Helm','Vagabond Wolf Hat','5','20','10','600','0','0','5','0','0','4294967295','63','2','768','0','20',NULL,'0','490','0','bonus bVit,5; bonus bFlee,10;','',''); REPLACE INTO `item_db_re` VALUES ('5499','Pizza_Hat','Pizza Pie of Plenty','5','20','10','600','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','487','0','skill SM_PROVOKE,1;','',''); REPLACE INTO `item_db_re` VALUES ('5500','Icecream_Hat','Ice Cream Hat','5','20','10','300','0','0','6','0','0','4294967295','63','2','256','0','30',NULL,'1','488','0','bonus bMdef,3; skill MG_FROSTDIVER,3;','',''); @@ -3204,7 +3204,7 @@ REPLACE INTO `item_db_re` VALUES ('5524','Sakura_Milk_Tea_Hat','Sakura Milk Tea REPLACE INTO `item_db_re` VALUES ('5525','First_Leaf_Tea_Hat','First Leaf Tea Hat','5','20','10','100','0','0','4','0','1','4294967295','63','2','256','0','0',NULL,'1','519','0','bonus bMaxHP,80; bonus bMaxSP,20;','',''); REPLACE INTO `item_db_re` VALUES ('5526','Lady_Tanee_Doll','Lady Tanee Doll','5','20','10','300','0','0','4','0','0','4294967295','63','2','256','0','60',NULL,'0','520','0','bonus bAgi,2; bonus bFlee,3; bonus2 bSubEle,Ele_Wind,5; bonus2 bAddMonsterDropItem,513,200;','',''); REPLACE INTO `item_db_re` VALUES ('5527','Lunatic_Hat','Lunatic Hat','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','521','0','bonus bLuk,3; bonus bMdef,2; bonus bFlee2,5; bonus2 bAddMonsterDropItem,622,50;','',''); -REPLACE INTO `item_db_re` VALUES ('5528','King_Frog_Hat','Frog King Hat','5','20','10','500','0','0','4','0','1','4294967294','63','2','256','0','30',NULL,'0','522','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5528','King_Frog_Hat','Frog King Hat','5','20','10','500','0','0','4','0','1','2147483647','63','2','256','0','30',NULL,'0','522','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('5529','Evil\'s_Bone_Hat','Frost Giant\'s Skull','5','20','10','600','0','0','12','0','1','4294967295','63','2','768','0','0',NULL,'1','523','0','bonus bMdef,2; bonus bInt,2; bonus bStr,2; bonus bDex,3; bonus2 bSubEle,Ele_Neutral,5; skill WZ_FROSTNOVA,1;','',''); REPLACE INTO `item_db_re` VALUES ('5530','Raven_Cap','Raven Cap','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','30',NULL,'1','524','0','','',''); REPLACE INTO `item_db_re` VALUES ('5531','B_Dragon_Hat','Baby Dragon Hat','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','0',NULL,'1','525','0','','',''); @@ -3233,7 +3233,7 @@ REPLACE INTO `item_db_re` VALUES ('5553','Fest_Bunny_Band','Festival Bunny Band' REPLACE INTO `item_db_re` VALUES ('5554','Octopus_Hat','Octopus Hat','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','538','0','bonus bMdef,3; bonus3 bAutoSpell,SM_PROVOKE,5,10; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('5555','Leaf_Cat_Hat','Leaf Cat Hat','5','20','10','100','0','0','6','0','0','4294967295','63','2','256','0','0',NULL,'1','539','0','bonus bAgi,2; bonus3 bAutoSpellWhenHit,AL_HEAL,3,10;','',''); REPLACE INTO `item_db_re` VALUES ('5556','Fur_Seal_Hat','Seal Hat','5','20','10','500','0','0','5','0','0','4294967295','63','2','768','0','0',NULL,'1','540','0','bonus bInt,1; bonus3 bAutoSpell,WZ_FROSTNOVA,1,30;','',''); -REPLACE INTO `item_db_re` VALUES ('5557','Wild_Rose_Hat','Wild Rose Hat','5','20','10','500','0','0','6','0','1','4294967294','63','2','256','0','20',NULL,'1','541','0','bonus bAgi,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5557','Wild_Rose_Hat','Wild Rose Hat','5','20','10','500','0','0','6','0','1','2147483647','63','2','256','0','20',NULL,'1','541','0','bonus bAgi,3;','',''); REPLACE INTO `item_db_re` VALUES ('5558','Saci_Hat','Luxury Hat','5','20','10','100','0','0','6','0','1','4294967295','63','2','256','0','30',NULL,'1','542','0','bonus3 bAddMonsterDropItem,510,RC_Plant,500;','',''); REPLACE INTO `item_db_re` VALUES ('5559','Piece_Of_White_Cloth_E','Piece Of White Cloth','5','0','0','0','0','0','5','0','0','4294967295','63','2','768','0','0',NULL,'1','543','0','','',''); REPLACE INTO `item_db_re` VALUES ('5560','Bullock_Helm_J','Horned Helm','5','20','10','3000','0','0','6','0','0','4294967295','63','2','256','0','75',NULL,'1','322','0','bonus bMaxHP,100; bonus bNoKnockback,0; bonus2 bSubEle,Ele_Neutral,-20; bonus2 bSubEle,Ele_Fire,-20; bonus2 bSubEle,Ele_Water,-20; bonus2 bSubEle,Ele_Wind,-20; bonus2 bSubEle,Ele_Earth,-20; bonus2 bSubEle,Ele_Dark,-20; bonus2 bSubEle,Ele_Holy,-20; bonus2 bSubEle,Ele_Ghost,-20;','',''); @@ -3288,9 +3288,9 @@ REPLACE INTO `item_db_re` VALUES ('5608','Dorothy_Doll_Hat','Dorothy Doll Hat',' REPLACE INTO `item_db_re` VALUES ('5609','Chung_Hairband','Chung Hairpin','5','0','0','500','0','0','5','0','1','4294967295','63','2','256','0','60',NULL,'0','583','0','bonus bLuk,3; bonus bMdef,4; bonus3 bAutoSpellWhenHit,MC_MAMMONITE,5,5;','',''); REPLACE INTO `item_db_re` VALUES ('5610','Ice_Wing_Ear','Ice Ear Wing','5','0','0','100','0','0','0','0','0','4294967295','63','2','512','0','10',NULL,'0','584','0','bonus bUnbreakableHelm,0; bonus bLuk,1; bonus3 bAutoSpellWhenHit,MG_COLDBOLT,5,5;','',''); REPLACE INTO `item_db_re` VALUES ('5611','Turtle_Hat','Turtle Hat','5','0','0','300','0','0','0','0','0','4294967295','63','2','256','0','10',NULL,'1','585','0','bonus bAgi,1; bonus3 bAutoSpellWhenHit,AL_DECAGI,3,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5612','F_Blue_Drooping_Kitty','Blue Drooping Cat','5','250000','125000','500','0','0','1','0','0','4294967294','63','2','256','0','0',NULL,'1','277','0','bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('5612','F_Blue_Drooping_Kitty','Blue Drooping Cat','5','250000','125000','500','0','0','1','0','0','2147483647','63','2','256','0','0',NULL,'1','277','0','bonus bMdef,15;','',''); REPLACE INTO `item_db_re` VALUES ('5613','F_Flying_Angel','Flapping Angel Wing','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'1','264','0','bonus bInt,1; bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5614','F_Smoking_Pipe_','Evolved Pipe','5','20','10','100','0','0','0','0','0','4294967294','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5614','F_Smoking_Pipe_','Evolved Pipe','5','20','10','100','0','0','0','0','0','2147483647','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('5615','F_Pair_Of_Red_Ribbon_','Evolved Pair of Red Ribbon','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','45',NULL,'0','169','0','','',''); REPLACE INTO `item_db_re` VALUES ('5616','F_Fish_On_Head_','Evolved Blue Fish','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','50',NULL,'1','149','0','bonus bDex,1; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('5617','F_Hibiscus','Hibiscus','5','20','10','200','0','0','0','0','0','4294967295','63','2','256','0','10',NULL,'0','210','0','bonus bInt,1; bonus bDex,1; bonus bMdef,5;','',''); @@ -3299,10 +3299,10 @@ REPLACE INTO `item_db_re` VALUES ('5619','F_Bunny_Band_','Evolved Bunny Band','5 REPLACE INTO `item_db_re` VALUES ('5620','F_Magestic_Goat_TW','Evolved Magestic Goat','5','20','10','800','0','0','5','0','0','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('5621','F_Sheep_Hat','Sheep Hat','5','20','10','150','0','0','1','0','0','33040','63','2','256','0','0',NULL,'0','205','0','','',''); REPLACE INTO `item_db_re` VALUES ('5622','F_Mini_Propeller_','Mini Propeller','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','270','0','bonus bDex,1; bonus bAgi,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5623','F_Alice_Doll','Alice Doll','5','20','10','500','0','0','0','0','1','4294967294','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5623','F_Alice_Doll','Alice Doll','5','20','10','500','0','0','0','0','1','2147483647','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5624','F_Red_Glasses','Red Glasses','5','20','10','0','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','316','0','bonus bUnbreakableHelm,0; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5625','F_Chick_Hat','Chick Hat','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'0','311','0','bonus bLuk,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5626','F_White_Deviruchi_Cap','Gray Deviruchi Hat','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5626','F_White_Deviruchi_Cap','Gray Deviruchi Hat','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5627','F_Vane_Hairpin','Vane Hairpin','5','20','10','300','0','0','2','0','1','4294967295','63','2','256','0','30',NULL,'0','313','0','bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('5628','F_Pecopeco_Hairband','Pecopeco Hairband','5','20','10','0','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'0','314','0','','',''); REPLACE INTO `item_db_re` VALUES ('5629','F_Vacation_Hat','Vacation Hat','5','20','10','200','0','0','1','0','1','4294967295','63','2','256','0','30',NULL,'0','315','0','bonus bVit,1;','',''); @@ -3324,11 +3324,11 @@ REPLACE INTO `item_db_re` VALUES ('5644','F_Tiger_Mask','Tiger Mask','5','20','1 REPLACE INTO `item_db_re` VALUES ('5645','F_Fantastic_Wig','Fantastic Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','308','0','','',''); REPLACE INTO `item_db_re` VALUES ('5646','F_Whisper_Mask','Whisper Mask','5','20','10','0','0','0','0','0','0','4294967295','63','2','769','0','0',NULL,'0','321','0','bonus bUnbreakableHelm,0; bonus bAgi,3;','',''); REPLACE INTO `item_db_re` VALUES ('5647','F_Bunny_Band_C','Bunny Band','5','1','0','0','0','0','9','0','0','4294967295','63','2','256','0','0',NULL,'0','15','0','bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5648','F_Centimental_Flower_C','Centimental Flower','5','1','0','0','0','0','1','0','0','4294967294','63','2','1','0','0',NULL,'0','56','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5649','F_Apple_Of_Archer_C','Apple Of Archer','5','1','0','0','0','0','7','0','0','4294967294','63','2','256','0','0',NULL,'0','72','0','bonus bDex,4;','',''); -REPLACE INTO `item_db_re` VALUES ('5650','F_Elven_Ears_C','Elven Ears','5','1','0','0','0','0','2','0','0','4294967294','63','2','512','0','0',NULL,'0','73','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5651','F_Brooch_C','Brooch','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,4;','',''); -REPLACE INTO `item_db_re` VALUES ('5652','F_Magestic_Goat_C','Magestic Goat','5','2','1','0','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5648','F_Centimental_Flower_C','Centimental Flower','5','1','0','0','0','0','1','0','0','2147483647','63','2','1','0','0',NULL,'0','56','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5649','F_Apple_Of_Archer_C','Apple Of Archer','5','1','0','0','0','0','7','0','0','2147483647','63','2','256','0','0',NULL,'0','72','0','bonus bDex,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5650','F_Elven_Ears_C','Elven Ears','5','1','0','0','0','0','2','0','0','2147483647','63','2','512','0','0',NULL,'0','73','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5651','F_Brooch_C','Brooch','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5652','F_Magestic_Goat_C','Magestic Goat','5','2','1','0','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5653','Darkness_Helm_J','Darkness Helm','5','20','10','500','0','0','3','0','1','4294967295','63','2','256','0','70',NULL,'1','586','0','','',''); REPLACE INTO `item_db_re` VALUES ('5654','Holy_Marching_Hat_J','Holy Marching Hat','5','20','10','200','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','587','0','bonus bMdef,5; bonus bDex,1; bonus bInt,1; bonus bStr,2; bonus3 bAutoSpell,PR_ASPERSIO,2,30;','',''); REPLACE INTO `item_db_re` VALUES ('5655','Dark_Snake_Lord_Hat_J','Dark Snake Lord Hat','5','20','10','500','0','0','2','0','0','4294967295','63','2','256','0','60',NULL,'1','372','0','bonus bInt,2; bonus bAgi,2; bonus bDex,-2; autobonus \"{ bonus bVariableCastrate,-50; bonus bFlee,30; }\",50,5000,BF_MAGIC,\"{ specialeffect2 EF_SUFFRAGIUM; }\";','',''); @@ -3370,7 +3370,7 @@ REPLACE INTO `item_db_re` VALUES ('5690','Red_Wing_Hat','Red Wing Hat','5','20', REPLACE INTO `item_db_re` VALUES ('5691','Catain_Bandanna','Sailor\'s Bandana','5','20','10','10','0','0','1','0','1','4294967295','63','2','256','0','0',NULL,'1','542','0','bonus bUnbreakableHelm,0; bonus bDex,1; bonus2 bSubEle,Ele_Poison,20;','',''); REPLACE INTO `item_db_re` VALUES ('5692','Sea_Cat_Hat','Sea Cat Hat','5','20','10','10','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','539','0','bonus bUnbreakableHelm,0; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('5693','No_Fear_Underware','NoFear Underwear','5','0','0','0','0','0','10','0','0','4294967295','63','2','256','0','20',NULL,'0','30','0','bonus bStr,1; bonus bInt,1; bonus bDex,1; bonus bUnbreakableHelm,0;','',''); -REPLACE INTO `item_db_re` VALUES ('5694','No_Fear_P_Headgear','NoFear Headband','5','0','0','0','0','0','1','0','1','4294967294','63','2','256','0','20',NULL,'0','614','0','bonus bVit,1; bonus bUnbreakableHelm,0;','',''); +REPLACE INTO `item_db_re` VALUES ('5694','No_Fear_P_Headgear','NoFear Headband','5','0','0','0','0','0','1','0','1','2147483647','63','2','256','0','20',NULL,'0','614','0','bonus bVit,1; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('5695','E_Blue_Drooping_Kitty','E Blue Drooping Kitty','5','250000','125000','500','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','277','0','bonus bMdef,15;','',''); REPLACE INTO `item_db_re` VALUES ('5696','E_Flying_Angel','E Flying Angel','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'1','264','0','bonus bInt,1; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('5697','E_Smoking_Pipe_','E Smoking Pipe ','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','55','0','bonus bVit,1;','',''); @@ -3382,10 +3382,10 @@ REPLACE INTO `item_db_re` VALUES ('5702','E_Bunny_Band_','E Bunny Band ','5','20 REPLACE INTO `item_db_re` VALUES ('5703','E_Magestic_Goat_TW','E Magestic Goat TW','5','20','10','800','0','0','5','0','0','6571170','63','2','256','0','0',NULL,'1','41','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('5704','E_Sheep_Hat','E Sheep Hat','5','20','10','150','0','0','1','0','0','33040','63','2','256','0','0',NULL,'0','205','0','','',''); REPLACE INTO `item_db_re` VALUES ('5705','E_Mini_Propeller_','E Mini Propeller ','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','270','0','bonus bDex,1; bonus bAgi,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5706','E_Alice_Doll','E Alice Doll','5','20','10','500','0','0','0','0','1','4294967294','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5706','E_Alice_Doll','E Alice Doll','5','20','10','500','0','0','0','0','1','2147483647','63','2','256','0','30',NULL,'0','208','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5707','E_Red_Glasses','E Red Glasses','5','20','10','0','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'0','316','0','bonus bUnbreakableHelm,0; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5708','E_Chick_Hat','E Chick Hat','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','10',NULL,'0','311','0','bonus bLuk,2;','',''); -REPLACE INTO `item_db_re` VALUES ('5709','E_White_Deviruchi_Cap','E White Deviruchi Cap','5','20','10','800','0','0','2','0','0','4294967294','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5709','E_White_Deviruchi_Cap','E White Deviruchi Cap','5','20','10','800','0','0','2','0','0','2147483647','63','2','256','0','64',NULL,'1','272','0','bonus bStr,1; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('5710','E_Vane_Hairpin','E Vane Hairpin','5','20','10','300','0','0','2','0','1','4294967295','63','2','256','0','30',NULL,'0','313','0','bonus bAgi,2;','',''); REPLACE INTO `item_db_re` VALUES ('5711','E_Pecopeco_Hairband','E Pecopeco Hairband','5','20','10','0','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'0','314','0','','',''); REPLACE INTO `item_db_re` VALUES ('5712','E_Vacation_Hat','E Vacation Hat','5','20','10','200','0','0','1','0','1','4294967295','63','2','256','0','30',NULL,'0','315','0','bonus bVit,1;','',''); @@ -3406,11 +3406,11 @@ REPLACE INTO `item_db_re` VALUES ('5726','E_Crescent_Helm','E Crescent Helm','5' REPLACE INTO `item_db_re` VALUES ('5727','E_Tiger_Mask','E Tiger Mask','5','20','10','400','0','0','2','0','0','4294967295','63','2','768','0','50',NULL,'0','181','0','bonus bStr,3;','',''); REPLACE INTO `item_db_re` VALUES ('5728','E_Fantastic_Wig','E Fantastic Wig','5','20','10','100','0','0','1','0','0','4294967295','63','2','768','0','0',NULL,'1','308','0','','',''); REPLACE INTO `item_db_re` VALUES ('5729','E_Bunny_Band_C','E Bunny Band C','5','1','0','0','0','0','9','0','0','4294967295','63','2','256','0','0',NULL,'0','15','0','bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('5730','E_Centimental_Flower_C','E Centimental Flower C','5','1','0','0','0','0','1','0','0','4294967294','63','2','1','0','0',NULL,'0','56','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5731','E_Apple_OE_Archer_C','E Apple OE Archer C','5','1','0','0','0','0','7','0','0','4294967294','63','2','256','0','0',NULL,'0','72','0','bonus bDex,4;','',''); -REPLACE INTO `item_db_re` VALUES ('5732','E_Elven_Ears_C','E Elven Ears C','5','1','0','0','0','0','2','0','0','4294967294','63','2','512','0','0',NULL,'0','73','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('5733','E_Brooch_C','E Brooch C','5','1','0','0','0','0','0','0','0','4294967294','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,4;','',''); -REPLACE INTO `item_db_re` VALUES ('5734','E_Magestic_Goat_C','E Magestic Goat C','5','2','1','0','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5730','E_Centimental_Flower_C','E Centimental Flower C','5','1','0','0','0','0','1','0','0','2147483647','63','2','1','0','0',NULL,'0','56','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5731','E_Apple_OE_Archer_C','E Apple OE Archer C','5','1','0','0','0','0','7','0','0','2147483647','63','2','256','0','0',NULL,'0','72','0','bonus bDex,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5732','E_Elven_Ears_C','E Elven Ears C','5','1','0','0','0','0','2','0','0','2147483647','63','2','512','0','0',NULL,'0','73','0','bonus bInt,1;','',''); +REPLACE INTO `item_db_re` VALUES ('5733','E_Brooch_C','E Brooch C','5','1','0','0','0','0','0','0','0','2147483647','63','2','136','0','0',NULL,'0','0','0','bonus bAgi,4;','',''); +REPLACE INTO `item_db_re` VALUES ('5734','E_Magestic_Goat_C','E Magestic Goat C','5','2','1','0','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'0','41','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('5735','E_Ribbon_Green','E Ribbon Green','5','800','400','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','244','0','bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('5736','EF_Whisper_Mask','EF Whisper Mask','5','20','10','0','0','0','0','0','0','4294967295','63','2','769','0','0',NULL,'0','321','0','bonus bUnbreakableHelm,0; bonus bAgi,3; bonus2 bSubEle,Ele_Ghost,-10;','',''); REPLACE INTO `item_db_re` VALUES ('5737','Cactus_Hat','Potted Muka Hat','5','20','10','300','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'0','615','0','','',''); @@ -3483,10 +3483,10 @@ REPLACE INTO `item_db_re` VALUES ('5803','Flower_Love_Hat','Love Flower Hat','5' REPLACE INTO `item_db_re` VALUES ('5804','Pirate_Eyepatch','Pirate Eye Bandage','5','1000','500','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','13','0','','',''); REPLACE INTO `item_db_re` VALUES ('5805','Victorious_Coronet','Victorious Coronet','5','0','0','150','0','0','2','0','0','4294967295','63','2','256','0','70',NULL,'0','43','0','bonus bMaxHPrate,15; bonus bSPrecovRate,5;','',''); REPLACE INTO `item_db_re` VALUES ('5806','Poem_Natalia_Hat','Poem Natalia Hat','5','20','10','300','0','0','9','0','0','4294967295','63','2','256','0','0',NULL,'0','67','0','','',''); -REPLACE INTO `item_db_re` VALUES ('5807','October_Fest_Cap','October Fest Cap','5','20','10','100','0','0','2','0','0','4294967294','63','2','256','0','50',NULL,'1','104','0','','',''); +REPLACE INTO `item_db_re` VALUES ('5807','October_Fest_Cap','October Fest Cap','5','20','10','100','0','0','2','0','0','2147483647','63','2','256','0','50',NULL,'1','104','0','','',''); REPLACE INTO `item_db_re` VALUES ('5808','Diabolus_Helmet','Dark Bacilium','5','20','10','250','0','0','5','0','1','1040256','58','2','769','0','0',NULL,'1','364','0','bonus2 bResEff,Eff_Stone,2000+(getrefine()*200); bonus2 bResEff,Eff_Freeze,2000+(getrefine()*200); bonus2 bResEff,Eff_Stun,2000+(getrefine()*200);','',''); REPLACE INTO `item_db_re` VALUES ('5809','Boom_Boom_Hat','Boom Boom Hat','5','0','0','100','0','0','6','0','0','4294967295','63','2','256','0','0',NULL,'0','216','0','bonus bAllStats,5; bonus bSpeedRate,25;','',''); -REPLACE INTO `item_db_re` VALUES ('5810','Ph.D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','5','0','0','4294967294','63','2','256','0','0',NULL,'1','98','0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','',''); +REPLACE INTO `item_db_re` VALUES ('5810','Ph.D_Hat_V','Ph.D Hat V','5','20','10','100','0','0','5','0','0','2147483647','63','2','256','0','0',NULL,'1','98','0','bonus bInt,5; bonus bVit,3; bonus bDex,3;','',''); REPLACE INTO `item_db_re` VALUES ('5811','Santa_Beard','Santa\'s Beard','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','25','0','bonus2 bSubRace,RC_Brute,5;','',''); REPLACE INTO `item_db_re` VALUES ('5812','Hat_Of_Expert','Hat Of Expert','5','0','0','0','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','16','0','bonus3 bAddEffWhenHit,Eff_Bleeding,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Silence,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Confusion,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Curse,500,ATF_TARGET|ATF_SELF; bonus3 bAddEffWhenHit,Eff_Blind,500,ATF_TARGET|ATF_SELF;','',''); REPLACE INTO `item_db_re` VALUES ('5813','Red_Ph.D_Hat','Red Scholar Hat','5','1000','500','500','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','481','0','bonus bInt,1;','',''); @@ -7250,7 +7250,7 @@ REPLACE INTO `item_db_re` VALUES ('14489','Pink_Pajamas_Hat_Box','Pink Pajamas H REPLACE INTO `item_db_re` VALUES ('14500','Insurance60','Life Insurrance Certificate','2','2','1','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_CASH_DEATHPENALTY,3600000,0;','',''); REPLACE INTO `item_db_re` VALUES ('14508','Zeny_Scroll','Zeny Pet Egg Scroll','2','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('14509','Light_Center_Pot','Light Concentration Potion','2','800','400','20','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION1,1800000,0;','',''); -REPLACE INTO `item_db_re` VALUES ('14510','Light_Awakening_Pot','Light Awakening Potion','2','1500','750','20','0','0','0','0','0','4294442735','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,0;','',''); +REPLACE INTO `item_db_re` VALUES ('14510','Light_Awakening_Pot','Light Awakening Potion','2','1500','750','20','0','0','0','0','0','2147483647','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION2,1800000,0;','',''); REPLACE INTO `item_db_re` VALUES ('14511','Light_Berserk_Pot','Light Berserk Potion','2','3000','1500','20','0','0','0','0','0','31868582','63','2','0','0','0',NULL,'0','0','0','sc_start SC_ATTHASTE_POTION3,1800000,0;','',''); REPLACE INTO `item_db_re` VALUES ('14512','Meteor_10_Scroll','Meteor Storm Scroll','11','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','itemskill WZ_METEOR,10;','',''); REPLACE INTO `item_db_re` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','11','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','itemskill WZ_STORMGUST,10;','',''); @@ -7358,7 +7358,7 @@ REPLACE INTO `item_db_re` VALUES ('14616','STR_Biscuit_Stick','Bar of Strength', REPLACE INTO `item_db_re` VALUES ('14617','VIT_Biscuit_Stick','Bar of Fitness','11','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('14618','AGI_Biscuit_Stick','Bar of Agility','11','0','0','10','0','0','0','0','0','4294967295','63','2','0','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15000','Bone_Plate','Bone Plate','5','20','10','1000','0','0','60','0','1','414946','58','2','16','0','0',NULL,'1','0','0','bonus bStr,1; bonus bMdef,3; bonus2 bIgnoreDefRate,RC_DemiHuman,10; bonus2 bIgnoreDefRate,RC_Brute,10; bonus3 bAutoSpellWhenHit,NPC_WIDEBLEEDING,1,10;','',''); -REPLACE INTO `item_db_re` VALUES ('15001','Odin\'s_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','4294967294','63','2','16','0','0',NULL,'0','0','0','','',''); +REPLACE INTO `item_db_re` VALUES ('15001','Odin\'s_Blessing_I','Odin\'s Blessing','5','0','0','0','0','0','10','0','0','2147483647','63','2','16','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15002','Rune_Plate','Rune Plate','5','0','0','0','0','0','95','0','1','16512','56','2','16','0','99',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15003','Freyja_SRobe7','Freya Soul Robe','5','0','0','300','0','0','7','0','0','4294967295','63','2','16','0','20',NULL,'0','0','0','bonus bMaxHP,700;','',''); REPLACE INTO `item_db_re` VALUES ('15004','Freyja_SRobe30','Freya Soul Robe','5','0','0','300','0','0','7','0','0','4294967295','63','2','16','0','20',NULL,'0','0','0','bonus bMaxHP,700;','',''); @@ -7373,12 +7373,12 @@ REPLACE INTO `item_db_re` VALUES ('15012','Puente_Robe','Puente Robe','5','12000 REPLACE INTO `item_db_re` VALUES ('15013','Claire_Suits','Claire Suits','5','28000','14000','2800','0','0','58','0','1','1040382','58','2','16','0','22',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15014','Ebone_Armor','Ebone Armor','5','40000','20000','4500','0','0','93','0','1','16512','56','2','16','0','100',NULL,'1','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15015','Upg_Adv_Suit','Reinforcement Adventure Suit','5','20','10','150','0','0','25','0','1','4294967295','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); -REPLACE INTO `item_db_re` VALUES ('15016','Upg_Coat','Reinforcement Coat','5','20','10','600','0','0','47','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); +REPLACE INTO `item_db_re` VALUES ('15016','Upg_Coat','Reinforcement Coat','5','20','10','600','0','0','47','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('15017','Upg_Saint_Robe','Reinforcement Saint Robe','5','20','10','300','0','0','55','0','1','296240','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,5; bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('15018','Upg_Tights','Reinforcement Tight','5','20','10','250','0','0','32','0','1','526344','63','2','16','0','0',NULL,'1','0','0','bonus bDex,1; bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('15019','Upg_Thief_Cloth','Reinforcement Thief Clothes','5','20','10','100','0','0','45','0','1','570560576','63','2','16','0','0',NULL,'1','0','0','bonus bAgi,1; bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('15020','Upg_Mail','Reinforcement Mail','5','20','10','1650','0','0','60','0','1','414946','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); -REPLACE INTO `item_db_re` VALUES ('15021','Upg_Formal_Dress','Reinforcement Formal Suit','5','20','10','150','0','0','45','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); +REPLACE INTO `item_db_re` VALUES ('15021','Upg_Formal_Dress','Reinforcement Formal Suit','5','20','10','150','0','0','45','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db_re` VALUES ('15022','Brazil_Swimsuit','Swimming Suit','5','20','10','100','0','0','1','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','bonus bStr,4; bonus bInt,4; bonus bMdef,3;','',''); REPLACE INTO `item_db_re` VALUES ('15023','Half_Brynhild','Brynhild (Trial Version)','5','20','10','0','0','0','60','0','0','4294967295','63','2','16','0','47',NULL,'0','0','0','bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddRace,RC_NonBoss,5; bonus2 bAddRace,RC_Boss,5; bonus bMatkRate,5; bonus bUnbreakableArmor,0; bonus bNoKnockback,0;','',''); REPLACE INTO `item_db_re` VALUES ('15024','Army_Padding','Army Padding','5','0','0','10','0','0','10','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','','',''); @@ -7389,7 +7389,7 @@ REPLACE INTO `item_db_re` VALUES ('15028','Forest_Robe','Forest Robe','5','20',' REPLACE INTO `item_db_re` VALUES ('15029','Robe_Of_Affection','Robe Of Affection','5','20','10','300','0','0','22','0','0','256','56','2','16','0','100',NULL,'1','0','0','bonus bDefEle,Ele_Holy; bonus bMdef,10; bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('15030','Robe_Of_Judgement','Robe Of Judgement','5','20','10','300','0','0','22','0','0','256','56','2','16','0','100',NULL,'1','0','0','bonus bDefEle,Ele_Dark; bonus bMdef,10; bonus bStr,1; bonus bInt,1; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; bonus2 bSubRace,RC_Formless,-10; bonus2 bSubRace,RC_Brute,-10; bonus2 bSubRace,RC_DemiHuman,-10; bonus2 bSubRace,RC_Plant,-10; bonus2 bSubRace,RC_Insect,-10; bonus2 bSubRace,RC_Fish,-10; bonus2 bSubRace,RC_Angel,-10; bonus2 bSubRace,RC_Dragon,-10;','',''); REPLACE INTO `item_db_re` VALUES ('15031','Para_Team_Armor','Eden Group Armor','5','0','0','0','0','0','70','0','0','4294967295','63','2','16','0','60',NULL,'0','0','0','bonus bMdef,5; bonus bMaxHP,500; bonus bMaxSP,50; bonus bStr,1; bonus bInt,1; bonus bDex,1;','',''); -REPLACE INTO `item_db_re` VALUES ('15032','Tidung','Tidung','5','10','5','500','0','0','2','0','1','4294967294','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,10; bonus2 bResEff,Eff_Stun,1500; bonus2 bResEff,Eff_Freeze,1500; bonus2 bSubRace,RC_NonBoss,5; bonus2 bSubRace,RC_Boss,5;','',''); +REPLACE INTO `item_db_re` VALUES ('15032','Tidung','Tidung','5','10','5','500','0','0','2','0','1','2147483647','63','2','16','0','0',NULL,'1','0','0','bonus bMdef,10; bonus2 bResEff,Eff_Stun,1500; bonus2 bResEff,Eff_Freeze,1500; bonus2 bSubRace,RC_NonBoss,5; bonus2 bSubRace,RC_Boss,5;','',''); REPLACE INTO `item_db_re` VALUES ('15033','Tutorial_Mattle','Tutorial Mantle','5','0','0','600','0','0','37','0','0','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15034','Tutorial_Mattle_','Tutorial Mantle','5','0','0','600','0','0','37','0','1','4294967295','63','2','16','0','0',NULL,'0','0','0','','',''); REPLACE INTO `item_db_re` VALUES ('15035','2010Love_Daddy','2010 Love Daddy Shirt','5','10','5','100','0','0','6','0','0','4294967295','63','2','16','0','0',NULL,'1','0','0','bonus bAllStats,1; bonus bMaxHP,150; bonus bMaxSP,150; bonus2 bResEff,Eff_Stone,9000; bonus2 bResEff,Eff_Freeze,9000; bonus2 bResEff,Eff_Stun,9000; bonus2 bResEff,Eff_Sleep,9000; bonus2 bResEff,Eff_Silence,9000; bonus2 bResEff,Eff_Curse,9000; bonus2 bResEff,Eff_Confusion,9000; bonus2 bResEff,Eff_Blind,9000; bonus2 bResEff,Eff_Poison,9000; bonus2 bResEff,Eff_Bleeding,9000;','',''); @@ -7803,17 +7803,17 @@ REPLACE INTO `item_db_re` VALUES ('18503','Small_Horn_Of_Devil','Small Devil Hor REPLACE INTO `item_db_re` VALUES ('18504','Anubis_Helm_J','Anubis Helm J','5','20','10','1000','0','0','0','0','0','4294967295','63','2','769','0','70',NULL,'0','485','0','','',''); REPLACE INTO `item_db_re` VALUES ('18505','Umbala_Spirit','Umbala Spirit','5','0','0','0','0','0','1','0','0','4294967295','63','2','1','0','0',NULL,'0','675','0','bonus bVit,1; bonus bMaxHPrate,1; bonus2 bAddMonsterDropItem,517,500;','',''); REPLACE INTO `item_db_re` VALUES ('18506','Hattah_Black','Hata Black','5','12000','6000','4000','0','0','2','0','1','4294967295','63','2','769','0','0',NULL,'1','676','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18507','Elven_Ears_','Elven Ears','5','20','10','100','0','0','0','0','1','4294967294','63','2','512','0','70',NULL,'0','73','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18508','Garuda_Hat','Garuda Hat','5','20','10','100','0','0','4','0','1','4294967294','63','2','256','0','30',NULL,'1','677','0','bonus bLuk,5; bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18509','RWC2010_Indonesia','RWC 2010 Indonesia','5','20','10','100','0','0','6','0','1','4294967294','63','2','256','0','15',NULL,'1','678','0','bonus bLuk,5;','',''); +REPLACE INTO `item_db_re` VALUES ('18507','Elven_Ears_','Elven Ears','5','20','10','100','0','0','0','0','1','2147483647','63','2','512','0','70',NULL,'0','73','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18508','Garuda_Hat','Garuda Hat','5','20','10','100','0','0','4','0','1','2147483647','63','2','256','0','30',NULL,'1','677','0','bonus bLuk,5; bonus bMdef,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18509','RWC2010_Indonesia','RWC 2010 Indonesia','5','20','10','100','0','0','6','0','1','2147483647','63','2','256','0','15',NULL,'1','678','0','bonus bLuk,5;','',''); REPLACE INTO `item_db_re` VALUES ('18510','Blood_Angel_Hair_Band','Bloody Angel Wings','5','0','0','0','0','0','1','0','0','4294967295','63','2','256','0','60',NULL,'0','679','0','','',''); REPLACE INTO `item_db_re` VALUES ('18511','Blood_Angel_Wing_Ear','Bloody Angel Wing Ears','5','0','0','0','0','0','1','0','0','4294967295','63','2','512','0','60',NULL,'0','680','0','','',''); REPLACE INTO `item_db_re` VALUES ('18512','Juho_Necktie','Necktie of Drunkard','5','0','0','0','0','0','1','0','1','4294967295','63','2','256','0','20',NULL,'1','443','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18513','Shining_Sunflower','Shining Sunflower','5','20','10','300','0','0','0','0','0','4294967294','63','2','256','0','0',NULL,'0','681','0','bonus bLuk,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18513','Shining_Sunflower','Shining Sunflower','5','20','10','300','0','0','0','0','0','2147483647','63','2','256','0','0',NULL,'0','681','0','bonus bLuk,2;','',''); REPLACE INTO `item_db_re` VALUES ('18514','Para_Team_Hat2','Eden Group Hat II','5','0','0','0','0','0','5','0','1','4294967295','63','2','256','0','60',NULL,'1','682','0','autobonus \"{ bonus bBaseAtk,10; }\",50,5000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\"; autobonus \"{ bonus bMatk,10; }\",50,5000,BF_MAGIC,\"{ specialeffect2 EF_MAGICALATTHIT; }\";','',''); -REPLACE INTO `item_db_re` VALUES ('18515','RTC_1st_Helm','RTC winners Pitching','5','6000','3000','2500','0','0','0','0','1','4294967294','63','2','769','0','90',NULL,'0','683','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18516','RTC_2nd_Helm','RTC Second Pitching','5','6000','3000','2500','0','0','0','0','1','4294967294','63','2','769','0','90',NULL,'0','684','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18517','RTC_3rd_Helm','RTC 3rd Winner Hat','5','6000','3000','2500','0','0','0','0','1','4294967294','63','2','769','0','90',NULL,'0','685','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18515','RTC_1st_Helm','RTC winners Pitching','5','6000','3000','2500','0','0','0','0','1','2147483647','63','2','769','0','90',NULL,'0','683','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18516','RTC_2nd_Helm','RTC Second Pitching','5','6000','3000','2500','0','0','0','0','1','2147483647','63','2','769','0','90',NULL,'0','684','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18517','RTC_3rd_Helm','RTC 3rd Winner Hat','5','6000','3000','2500','0','0','0','0','1','2147483647','63','2','769','0','90',NULL,'0','685','0','','',''); REPLACE INTO `item_db_re` VALUES ('18518','Ear_Of_Angel\'s_Wing_','Angel Wing Ears','5','20','10','100','0','0','3','0','1','4294967295','63','2','512','0','70',NULL,'0','158','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('18519','Ear_Of_Devil\'s_Wing_','Wing of Diablo','5','20','10','100','0','0','3','0','1','4294967295','63','2','512','0','70',NULL,'0','152','0','bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('18520','Jaty_C','Jaty Crown','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','686','0','bonus2 bSubRace,RC_Plant,5; bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Plant,5; bonus2 bAddRace,RC_Brute,5;','',''); @@ -7879,18 +7879,18 @@ REPLACE INTO `item_db_re` VALUES ('18579','9th_Anni_Hat','kRO 9 Anniversary Hat' REPLACE INTO `item_db_re` VALUES ('18580','Yggdrasil_Crown','Yggdrasil Crown','5','20','10','200','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','724','0','bonus bVit,2; bonus bInt,2; bonus bMdef,3; bonus bHealPower,2; bonus bHealPower2,10; if(getrefine() >= 7) { bonus bHealPower,5; } if(getrefine() >= 9) { bonus bHealPower,3; }','',''); REPLACE INTO `item_db_re` VALUES ('18581','Red_Tiger_Mask','Red Tiger Mask','5','20','10','400','0','0','2','0','0','4294967295','63','2','768','0','50',NULL,'0','747','0','bonus bStr,3;','',''); REPLACE INTO `item_db_re` VALUES ('18582','Blue_Tiger_Mask','Blue Tiger Mask','5','20','10','400','0','0','2','0','0','4294967295','63','2','768','0','50',NULL,'0','748','0','bonus bStr,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18583','Navy_Drooping_Kitty','Navy Drooping Kitty','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','749','0','bonus bMdef,15;','',''); -REPLACE INTO `item_db_re` VALUES ('18584','Brown_Drooping_Kitty','Brown Drooping Kitty','5','250000','125000','500','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','750','0','bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('18583','Navy_Drooping_Kitty','Navy Drooping Kitty','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','749','0','bonus bMdef,15;','',''); +REPLACE INTO `item_db_re` VALUES ('18584','Brown_Drooping_Kitty','Brown Drooping Kitty','5','250000','125000','500','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','750','0','bonus bMdef,15;','',''); REPLACE INTO `item_db_re` VALUES ('18585','Orange_Bunny_Hairband','Orange Bunny Band','5','20','10','10','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','751','0','bonus bStr,1; bonus bInt,2; bonus bVit,3;','',''); REPLACE INTO `item_db_re` VALUES ('18586','Violet_Bunny_Hairband','Violet Bunny Band','5','20','10','10','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','752','0','bonus bStr,1; bonus bInt,3; bonus bVit,2; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('18587','Blue_Bunny_Hairband','Blue Bunny Band','5','20','10','10','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','753','0','bonus bStr,3; bonus bInt,1; bonus bVit,2; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('18588','Silver_Bunny_Hairband','Silvah Bunny Band','5','20','10','10','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'1','754','0','bonus bStr,2; bonus bInt,3; bonus bVit,1; bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('18589','Strawberry_Hat','Strawberry Hat','5','20','10','100','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','755','0','','',''); REPLACE INTO `item_db_re` VALUES ('18590','Gemma_Hairband','Demon Hair Band','5','20','10','200','0','0','3','0','1','4294967295','63','2','256','0','10',NULL,'1','564','0','bonus bMdef,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18591','Mini_Glasses_','Mini Glasses','5','20','10','100','0','0','2','0','1','4294967294','63','2','512','0','0',NULL,'0','47','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18591','Mini_Glasses_','Mini Glasses','5','20','10','100','0','0','2','0','1','2147483647','63','2','512','0','0',NULL,'0','47','0','','',''); REPLACE INTO `item_db_re` VALUES ('18592','Nestea_Hat','Nestea Hat','5','20','10','200','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','756','0','bonus bUnbreakableHelm,0; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('18593','Fancy_Mini_Crown','Fancy Mini Crown','5','20','10','100','0','0','2','0','1','4294967295','63','2','256','0','30',NULL,'1','707','0','bonus bInt,1; bonus bMdef,5;','',''); -REPLACE INTO `item_db_re` VALUES ('18594','Magni_Cap_','Magni Cap','5','30000','15000','1000','0','0','9','0','1','4294967294','63','2','256','0','0',NULL,'1','250','0','bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18594','Magni_Cap_','Magni Cap','5','30000','15000','1000','0','0','9','0','1','2147483647','63','2','256','0','0',NULL,'1','250','0','bonus bStr,2;','',''); REPLACE INTO `item_db_re` VALUES ('18595','Horn_Of_Ancient','Ancient Horns','5','20','10','400','0','0','8','0','1','4294967295','63','2','256','0','50',NULL,'1','757','0','autobonus \"{ bonus bBaseAtk,100; }\",5,10000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\";','',''); REPLACE INTO `item_db_re` VALUES ('18596','Sprout_Hat','Sprout Hat','5','20','10','200','0','0','4','0','0','4294967295','63','2','256','0','70',NULL,'1','758','0','skill WZ_HEAVENDRIVE,3;','',''); REPLACE INTO `item_db_re` VALUES ('18597','Mercury_Helm','Mercury Riser','5','20','10','400','0','0','10','0','1','4294967295','63','2','256','0','70',NULL,'1','759','0','bonus bAspdRate,3; bonus bCritical,3; if(getrefine() >= 7) { bonus bAspdRate,2; bonus bCritical,2; } if(getrefine() >= 9) { bonus bAspdRate,2; bonus bCritical,2; }','',''); @@ -7905,17 +7905,17 @@ REPLACE INTO `item_db_re` VALUES ('18605','Dark_Age','Dark Age','5','20','10','2 REPLACE INTO `item_db_re` VALUES ('18606','Tear_Drop','Tear drop','5','20','10','100','0','0','1','0','0','4294967295','63','2','513','0','30',NULL,'0','767','0','','',''); REPLACE INTO `item_db_re` VALUES ('18607','Blush_','Blush','5','20','10','100','0','0','0','0','1','4294967295','63','2','512','0','0',NULL,'0','125','0','','',''); REPLACE INTO `item_db_re` VALUES ('18608','Pair_Of_Red_Ribbon2','Small Ribbons','5','20','10','100','0','0','2','0','1','4294967295','63','2','512','0','45',NULL,'0','169','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18609','Dark_Blindfold_','Dark Blinder','5','20','10','100','0','0','0','0','1','4294967294','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,200;','',''); +REPLACE INTO `item_db_re` VALUES ('18609','Dark_Blindfold_','Dark Blinder','5','20','10','100','0','0','0','0','1','2147483647','63','2','512','0','0',NULL,'0','187','0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,200;','',''); REPLACE INTO `item_db_re` VALUES ('18610','7th_Anni_Hat_B','7th Anni Hat B','5','20','10','500','0','0','4','0','0','4294967295','63','2','256','0','0',NULL,'1','778','0','bonus bAllStats,5; bonus bMdef,4;','',''); REPLACE INTO `item_db_re` VALUES ('18611','Black_Glasses_','Black Frame Glasses','5','20','10','200','0','0','2','0','1','4294967295','63','2','512','0','0',NULL,'0','404','0','bonus bUnbreakableHelm,0; bonus bInt,1; bonus bMdef,2;','',''); REPLACE INTO `item_db_re` VALUES ('18612','White_Musang_Hat','White Musang Hat','5','20','10','400','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','770','0','bonus bStr,2; bonus bVit,2; bonus bLuk,1; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18613','Black_Musang_Hat','Black Musang Hat','5','20','10','400','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','771','0','bonus bInt,2; bonus bDex,2; bonus bAgi,1; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18614','Grim_Reaper_Hat','Grim Reaper','5','20','10','200','0','0','2','0','1','4294967295','63','2','256','0','20',NULL,'1','732','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18615','Injured_Eyepatch','Injured Eyepatch','5','20','10','200','0','0','2','0','0','4294967294','63','2','512','0','20',NULL,'0','772','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18616','Long_Tongue','Long Tongue','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','773','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18617','Onigiri_In_Mouth','Onigiri','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','774','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18618','Airplane_Hat','Rockabilly Hair','5','20','10','200','0','0','8','0','1','4294967294','63','2','256','0','20',NULL,'1','775','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18619','Thief_Bandana','Thief Bandana','5','20','10','200','0','0','1','0','0','4294967294','63','2','256','0','20',NULL,'1','776','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18615','Injured_Eyepatch','Injured Eyepatch','5','20','10','200','0','0','2','0','0','2147483647','63','2','512','0','20',NULL,'0','772','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18616','Long_Tongue','Long Tongue','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','773','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18617','Onigiri_In_Mouth','Onigiri','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','774','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18618','Airplane_Hat','Rockabilly Hair','5','20','10','200','0','0','8','0','1','2147483647','63','2','256','0','20',NULL,'1','775','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18619','Thief_Bandana','Thief Bandana','5','20','10','200','0','0','1','0','0','2147483647','63','2','256','0','20',NULL,'1','776','0','','',''); REPLACE INTO `item_db_re` VALUES ('18620','Heart_Eyepatch','Heart Eyepatch','5','20','10','50','0','0','2','0','0','4294967295','63','2','512','0','20',NULL,'0','779','0','','',''); REPLACE INTO `item_db_re` VALUES ('18621','Gangster_Mask_A','Mobster\'s Disguise','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','52','0','','',''); REPLACE INTO `item_db_re` VALUES ('18622','Rocket_Helm1','Rocket Helm1','5','20','10','1000','0','0','20','0','1','4294967295','63','2','256','0','95',NULL,'1','764','0','bonus bMdef,5; bonus bAllStats,5; bonus bUnbreakableHelm,0;','',''); @@ -7926,7 +7926,7 @@ REPLACE INTO `item_db_re` VALUES ('18626','Gelato_Hat','Gelato Hat','5','20','10 REPLACE INTO `item_db_re` VALUES ('18627','Dried_Leaf','Dried Leaf','5','20','10','50','0','0','0','0','0','4294967295','63','2','1','0','10',NULL,'0','711','0','bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18628','Tare_Brownie','Tare Brownie','5','20','10','500','0','0','5','0','1','4294967295','63','2','256','0','50',NULL,'0','781','0','','',''); REPLACE INTO `item_db_re` VALUES ('18629','B_Desert_Wolf_Hat','B Desert Wolf Hat','5','10','5','300','0','0','0','0','1','4294967295','63','2','256','0','0',NULL,'1','392','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18630','Droopy_Alice_Doll','Drooping Alicel','5','20','10','500','0','0','6','0','0','4294967294','63','2','256','0','70',NULL,'1','784','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18630','Droopy_Alice_Doll','Drooping Alicel','5','20','10','500','0','0','6','0','0','2147483647','63','2','256','0','70',NULL,'1','784','0','','',''); REPLACE INTO `item_db_re` VALUES ('18631','Ribbon_Chef_Hat','Ribbon Chef hat','5','20','10','300','0','0','5','0','0','4294967295','63','2','256','0','70',NULL,'1','785','0','bonus bDex,3; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('18632','Yellow_Poring_Pin','Yellow Poring Hairpin','5','20','10','100','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','786','0','','',''); REPLACE INTO `item_db_re` VALUES ('18633','Pink_Poring_Pin','Pink Poring Hairpin','5','20','10','100','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','787','0','','',''); @@ -7934,13 +7934,13 @@ REPLACE INTO `item_db_re` VALUES ('18634','Green_Poring_Pin','Green Poring Hairp REPLACE INTO `item_db_re` VALUES ('18635','Blue_Poring_Pin','Blue Poring Hairpin','5','20','10','100','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','789','0','','',''); REPLACE INTO `item_db_re` VALUES ('18636','Bridal_Ribbon','Ribbon of bride','5','20','10','200','0','0','6','0','0','4294967295','63','2','256','0','30',NULL,'1','790','0','bonus bDex,1;','',''); REPLACE INTO `item_db_re` VALUES ('18637','Ancient_Admiral_Helm','Ancient Admiral Helm','5','20','10','700','0','0','4','0','1','4294967295','63','2','768','0','0',NULL,'1','660','0','bonus bStr,2; bonus bVit,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18638','Citron_Hat','Citron Hat','5','20','10','400','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','791','0','bonus bLuk,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18639','Naval_Officer_Hat','Naval Officer Hat','5','20','10','200','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','792','0','bonus bLuk,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18640','Starfish_Headband','Starfish Headband','5','20','10','200','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','793','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18641','Ribbon_Magic_Hat','Ribbon Magic Hat','5','20','10','200','0','0','2','0','0','4294967294','63','2','256','0','0',NULL,'1','794','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18642','hand_Scissorhand_Model','Scissorhand Model','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','795','0','bonus bAgi,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18643','Rockhand_Model','Rockhand Model','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','796','0','bonus bStr,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18644','Paperhand_Model','Paperhand Model','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','797','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18638','Citron_Hat','Citron Hat','5','20','10','400','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','791','0','bonus bLuk,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18639','Naval_Officer_Hat','Naval Officer Hat','5','20','10','200','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','792','0','bonus bLuk,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18640','Starfish_Headband','Starfish Headband','5','20','10','200','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','793','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18641','Ribbon_Magic_Hat','Ribbon Magic Hat','5','20','10','200','0','0','2','0','0','2147483647','63','2','256','0','0',NULL,'1','794','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18642','hand_Scissorhand_Model','Scissorhand Model','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','795','0','bonus bAgi,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18643','Rockhand_Model','Rockhand Model','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','796','0','bonus bStr,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18644','Paperhand_Model','Paperhand Model','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','797','0','','',''); REPLACE INTO `item_db_re` VALUES ('18645','Sailor_Hat','Sailor Hat','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','798','0','bonus bInt,1;','',''); REPLACE INTO `item_db_re` VALUES ('18646','Cow_Hat','Cow Hat','5','20','10','300','0','0','4','0','1','4294967295','63','2','256','0','0',NULL,'1','799','0','bonus bDex,2;','',''); REPLACE INTO `item_db_re` VALUES ('18647','Star_Eyepatch','Stunning Star Eyepatch','5','20','10','100','0','0','0','0','0','4294967295','63','2','512','0','0',NULL,'0','800','0','','',''); @@ -7955,31 +7955,31 @@ REPLACE INTO `item_db_re` VALUES ('18656','Wit_Pumpkin_Hat','Witch\'s Pumpkin Ha REPLACE INTO `item_db_re` VALUES ('18657','Pegasus_Wing_Ears','Pegasus Ear Wing','5','20','10','500','0','0','1','0','0','4294967295','63','2','512','0','80',NULL,'0','568','0','bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18658','Holy_Santa_Beard','Santa\'s Beard Holy','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','25','0','','',''); REPLACE INTO `item_db_re` VALUES ('18659','Boitata_Hat','Boitata Hat','5','20','10','0','0','0','5','0','1','4294967295','63','2','768','0','0',NULL,'1','808','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18660','Indi_Feather_Band','Indian Feather Headband','5','20','10','400','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','809','0','bonus bAgi,2;','',''); -REPLACE INTO `item_db_re` VALUES ('18661','Trident_Helmet','Trident Helmet','5','20','10','400','0','0','3','0','1','4294967294','63','2','256','0','20',NULL,'1','810','0','bonus bStr,2;','',''); -REPLACE INTO `item_db_re` VALUES ('18662','Antler_Fedora','Antler Fedora','5','20','10','400','0','0','3','0','0','4294967294','63','2','256','0','0',NULL,'1','811','0','bonus bInt,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18663','Sunglasses_Bball_Hat','Sunglasses Baseball Hat','5','20','10','200','0','0','2','0','1','4294967294','63','2','256','0','20',NULL,'1','812','0','bonus bInt,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18664','Blind_Glasses','Stunner Shades','5','20','10','400','0','0','3','0','0','4294967294','63','2','512','0','20',NULL,'1','813','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18665','Orange_In_Mouth','Orange In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','814','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18666','CD_In_Mouth','CD In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','815','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18667','Cat_Lace_Hairband','Cat Lace Hairband','5','20','10','500','0','0','2','0','0','4294967294','63','2','256','0','60',NULL,'0','816','0','bonus bDex,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18660','Indi_Feather_Band','Indian Feather Headband','5','20','10','400','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','809','0','bonus bAgi,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18661','Trident_Helmet','Trident Helmet','5','20','10','400','0','0','3','0','1','2147483647','63','2','256','0','20',NULL,'1','810','0','bonus bStr,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18662','Antler_Fedora','Antler Fedora','5','20','10','400','0','0','3','0','0','2147483647','63','2','256','0','0',NULL,'1','811','0','bonus bInt,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18663','Sunglasses_Bball_Hat','Sunglasses Baseball Hat','5','20','10','200','0','0','2','0','1','2147483647','63','2','256','0','20',NULL,'1','812','0','bonus bInt,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18664','Blind_Glasses','Stunner Shades','5','20','10','400','0','0','3','0','0','2147483647','63','2','512','0','20',NULL,'1','813','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18665','Orange_In_Mouth','Orange In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','814','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18666','CD_In_Mouth','CD In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','815','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18667','Cat_Lace_Hairband','Cat Lace Hairband','5','20','10','500','0','0','2','0','0','2147483647','63','2','256','0','60',NULL,'0','816','0','bonus bDex,3;','',''); REPLACE INTO `item_db_re` VALUES ('18668','Droopy_Turtle_Hat','Droopy Turtle Hat','5','20','10','300','0','0','1','0','1','4294967295','63','2','256','0','0',NULL,'1','694','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18669','Cowhide_Hat','Cowhide Hat','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','11','0','bonus bDex,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18669','Cowhide_Hat','Cowhide Hat','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','11','0','bonus bDex,2;','',''); REPLACE INTO `item_db_re` VALUES ('18670','Hankie_In_Mouth','Handkerchief In Mouth','5','20','10','100','0','0','1','0','0','4294967295','63','2','1','0','12',NULL,'0','818','0','','',''); REPLACE INTO `item_db_re` VALUES ('18671','Rudolf_Hairband','Rudolf Hairband','5','20','10','200','0','0','5','0','0','4294967295','63','2','256','0','30',NULL,'1','836','0','','',''); REPLACE INTO `item_db_re` VALUES ('18672','Tare_Pope','Flap Pope','5','20','10','300','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','817','0','bonus bMdef,1; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18673','Tare_Pope_','Chibi Pope','5','20','10','300','0','0','0','0','1','4294967295','63','2','256','0','0',NULL,'0','817','0','bonus bMdef,1; bonus bUnbreakableHelm,0;','',''); -REPLACE INTO `item_db_re` VALUES ('18674','Planewing_Hat','Planewing Hat','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','11','0','bonus bAgi,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18675','Green_Apple_Hat','Green Apple Hat','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','20',NULL,'1','11','0','bonus bDex,2;','',''); -REPLACE INTO `item_db_re` VALUES ('18676','Hexagon_Spectacles','Hexagon Spectacles','5','20','10','400','0','0','3','0','0','4294967294','63','2','512','0','20',NULL,'0','822','0','bonus bFlee,2;','',''); -REPLACE INTO `item_db_re` VALUES ('18677','Cherry_Twig_In_Mouth','Cherry Twig In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','823','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18678','Leek_In_Mouth','Leek In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','824','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18679','Abacus_In_Mouth','Abacus In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','825','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18674','Planewing_Hat','Planewing Hat','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','11','0','bonus bAgi,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18675','Green_Apple_Hat','Green Apple Hat','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','20',NULL,'1','11','0','bonus bDex,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18676','Hexagon_Spectacles','Hexagon Spectacles','5','20','10','400','0','0','3','0','0','2147483647','63','2','512','0','20',NULL,'0','822','0','bonus bFlee,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18677','Cherry_Twig_In_Mouth','Cherry Twig In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','823','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18678','Leek_In_Mouth','Leek In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','824','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18679','Abacus_In_Mouth','Abacus In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','825','0','','',''); REPLACE INTO `item_db_re` VALUES ('18680','Tw_Frog_Hat','Tw Frog Hat','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','35',NULL,'0','11','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('18681','Puppy_Ears_Hat','Puppy Ears Hat','5','20','10','200','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','11','0','bonus bVit,2;','',''); REPLACE INTO `item_db_re` VALUES ('18682','Teardrop','Teardrop','5','20','10','100','0','0','1','0','0','4294967295','63','2','512','0','0',NULL,'1','828','0','bonus bMaxSP,15;','',''); REPLACE INTO `item_db_re` VALUES ('18683','Carrot_In_Mouth','Carrot In Mouth','5','20','10','200','0','0','1','0','0','4294967295','63','2','1','0','0',NULL,'0','829','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18684','Showy_High_Cap','Showy High Cap','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','11','0','bonus bStr,3; bonus bInt,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18684','Showy_High_Cap','Showy High Cap','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','11','0','bonus bStr,3; bonus bInt,2;','',''); REPLACE INTO `item_db_re` VALUES ('18685','Stardust_Hairband','Stardust Hairband','5','20','10','1000','0','0','0','0','0','4294967295','63','2','256','0','10',NULL,'0','831','0','','',''); REPLACE INTO `item_db_re` VALUES ('18686','2011_RMSC_1','2011 RMSC 1','5','20','10','2500','0','0','20','0','1','4294967295','63','2','256','0','0',NULL,'0','832','0','bonus bUnbreakableHelm,0; bonus bAllStats,5;','',''); REPLACE INTO `item_db_re` VALUES ('18687','2011_RMSC_2','2011 RMSC 2','5','20','10','2500','0','0','20','0','1','4294967295','63','2','256','0','0',NULL,'0','832','0','bonus bUnbreakableHelm,0; bonus bAllStats,3;','',''); @@ -7987,29 +7987,29 @@ REPLACE INTO `item_db_re` VALUES ('18688','2011_RMSC_3','2011 RMSC 3','5','20',' REPLACE INTO `item_db_re` VALUES ('18689','2011_RMSC_4','2011 RMSC 4','5','20','10','10','0','0','0','0','0','4294967295','63','2','256','0','0',NULL,'0','832','0','bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18690','Sirt_Evil_Eye','Sirt Evil Eye','5','20','10','400','0','0','0','0','0','4294967295','63','2','512','0','50',NULL,'0','345','0','bonus bUnbreakableHelm,0; bonus bStr,1;','',''); REPLACE INTO `item_db_re` VALUES ('18691','Rising_Black_Dragon','Ascension Black Dragon','5','20','10','100','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'1','166','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18692','Mike_Hat','Mike Hat','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','837','0','bonus bDex,2; bonus bLuk,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18693','Sleeping_Kitty_Cat','Sleeping Kitty Cat','5','20','10','200','0','0','4','0','1','4294967294','63','2','256','0','20',NULL,'1','838','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18694','Red_Hood','Red Hood','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','20',NULL,'1','839','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18695','Phoenix_Crown','Phoenix Crown','5','20','10','400','0','0','3','0','1','4294967294','63','2','256','0','20',NULL,'1','840','0','bonus bInt,2;','',''); -REPLACE INTO `item_db_re` VALUES ('18696','Orange_Hat','Orange Hat','5','20','10','200','0','0','3','0','0','4294967294','63','2','256','0','20',NULL,'1','841','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18697','Syringe_In_Mouth','Syringe In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','842','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18698','Cheesy_Snack_In_Mouth','Cheesy Snack In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','843','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18692','Mike_Hat','Mike Hat','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','837','0','bonus bDex,2; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18693','Sleeping_Kitty_Cat','Sleeping Kitty Cat','5','20','10','200','0','0','4','0','1','2147483647','63','2','256','0','20',NULL,'1','838','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18694','Red_Hood','Red Hood','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','20',NULL,'1','839','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18695','Phoenix_Crown','Phoenix Crown','5','20','10','400','0','0','3','0','1','2147483647','63','2','256','0','20',NULL,'1','840','0','bonus bInt,2;','',''); +REPLACE INTO `item_db_re` VALUES ('18696','Orange_Hat','Orange Hat','5','20','10','200','0','0','3','0','0','2147483647','63','2','256','0','20',NULL,'1','841','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18697','Syringe_In_Mouth','Syringe In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','842','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18698','Cheesy_Snack_In_Mouth','Cheesy Snack In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','843','0','','',''); REPLACE INTO `item_db_re` VALUES ('18699','Starving_Fish_Hat','Starving Fish Hat','5','20','10','1200','0','0','3','0','0','4294967295','63','2','256','0','0',NULL,'0','844','0','','',''); REPLACE INTO `item_db_re` VALUES ('18700','Rabbit_Ribbon','Rabbit Ribbon Hat','5','20','10','500','0','0','3','0','1','4294967295','63','2','256','0','50',NULL,'1','845','0','bonus bInt,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18701','Ancient_Civil_Man','Ancient Civil Man Hat','5','20','10','500','0','0','2','0','0','4294967294','63','2','256','0','70',NULL,'0','846','0','bonus bInt,3; bonus bDex,2; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18701','Ancient_Civil_Man','Ancient Civil Man Hat','5','20','10','500','0','0','2','0','0','2147483647','63','2','256','0','70',NULL,'0','846','0','bonus bInt,3; bonus bDex,2; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('18702','Shaving_Cream','Shaving Cream','5','20','10','50','0','0','1','0','0','4294967295','63','2','1','0','10',NULL,'0','847','0','','',''); REPLACE INTO `item_db_re` VALUES ('18703','Stem_In_Mouth','Stem In Mouth','5','20','10','50','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','848','0','','',''); REPLACE INTO `item_db_re` VALUES ('18704','Drosera_Hairpin','Drosera Hairpin','5','20','10','640','0','0','6','0','1','4294967295','63','2','256','0','64',NULL,'1','850','0','bonus bMdef,4;','',''); -REPLACE INTO `item_db_re` VALUES ('18706','Can_Hat','Can Hat','5','20','10','400','0','0','3','0','0','4294967294','63','2','256','0','20',NULL,'1','851','0','bonus bLuk,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18707','Maneater_Flower_Hat','Maneater Flower Hat','5','20','10','500','0','0','3','0','0','4294967294','63','2','256','0','20',NULL,'1','852','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18708','Candy_Hat','Candy Hat','5','20','10','200','0','0','3','0','0','4294967294','63','2','256','0','20',NULL,'1','853','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18709','Black_Knitted_Hat','Black Knitted Hat','5','20','10','200','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','854','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18710','Sugared_Fruit_Stick','Sugared Fruit Stick','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','855','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18711','Electric_Sunglass','Electric Sunglass','5','20','10','400','0','0','3','0','0','4294967294','63','2','512','0','20',NULL,'0','856','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18712','Fan_In_Mouth','Fan In Mouth','5','20','10','200','0','0','0','0','0','4294967294','63','2','1','0','20',NULL,'0','857','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18706','Can_Hat','Can Hat','5','20','10','400','0','0','3','0','0','2147483647','63','2','256','0','20',NULL,'1','851','0','bonus bLuk,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18707','Maneater_Flower_Hat','Maneater Flower Hat','5','20','10','500','0','0','3','0','0','2147483647','63','2','256','0','20',NULL,'1','852','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18708','Candy_Hat','Candy Hat','5','20','10','200','0','0','3','0','0','2147483647','63','2','256','0','20',NULL,'1','853','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18709','Black_Knitted_Hat','Black Knitted Hat','5','20','10','200','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','854','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18710','Sugared_Fruit_Stick','Sugared Fruit Stick','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','855','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18711','Electric_Sunglass','Electric Sunglass','5','20','10','400','0','0','3','0','0','2147483647','63','2','512','0','20',NULL,'0','856','0','','',''); +REPLACE INTO `item_db_re` VALUES ('18712','Fan_In_Mouth','Fan In Mouth','5','20','10','200','0','0','0','0','0','2147483647','63','2','1','0','20',NULL,'0','857','0','','',''); REPLACE INTO `item_db_re` VALUES ('18713','Monkey_On_Fur_Hat','Monkey Fur Hat','5','20','10','300','0','0','6','0','1','4294967295','63','2','256','0','20',NULL,'1','858','0','bonus bDex,1; bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('18714','Hippo_Hat','Hippo Hat','5','20','10','500','0','0','5','0','1','4294967295','63','2','256','0','10',NULL,'1','859','0','','',''); -REPLACE INTO `item_db_re` VALUES ('18715','Helm_Of_Thoth','Helm Of Thoth','5','20','10','2500','0','0','2','0','1','4294967294','63','2','768','0','80',NULL,'0','860','0','bonus bInt,2; bonus bMdef,5;','',''); +REPLACE INTO `item_db_re` VALUES ('18715','Helm_Of_Thoth','Helm Of Thoth','5','20','10','2500','0','0','2','0','1','2147483647','63','2','768','0','80',NULL,'0','860','0','bonus bInt,2; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('18716','Strawberry_In_Mouth','Strawberry In Mouth','5','20','10','50','0','0','2','0','0','4294967295','63','2','1','0','10',NULL,'0','861','0','','',''); REPLACE INTO `item_db_re` VALUES ('18718','Rose_Hairband','Rose Hairband','5','20','10','200','0','0','3','0','0','4294967295','63','2','256','0','30',NULL,'0','864','0','bonus bInt,1; bonus bVit,1;','',''); REPLACE INTO `item_db_re` VALUES ('18727','Sedora_Hat','Sedora Hat','5','20','10','300','0','0','13','0','1','4294967295','63','2','256','0','10',NULL,'1','869','0','','',''); @@ -8039,13 +8039,13 @@ REPLACE INTO `item_db_re` VALUES ('18786','Anemos_Mask','Anemos Mask','5','20',' REPLACE INTO `item_db_re` VALUES ('18790','Rainbow_Poring_Hat','Rainbow Poring Hat','5','20','10','100','0','0','3','0','1','4294967295','63','2','256','0','0',NULL,'1','900','0','','',''); REPLACE INTO `item_db_re` VALUES ('18805','Eclipse_Hat','Eclipse Hat','5','20','10','300','0','0','2','0','0','4294967295','63','2','256','0','0',NULL,'1','922','0','bonus bLuk,3; bonus bMdef,5;','',''); REPLACE INTO `item_db_re` VALUES ('18806','Black_Rabbit_Hat','Black Rabbit Hat','5','20','10','300','0','0','2','0','1','4294967295','63','2','256','0','0',NULL,'1','923','0','bonus bDex,2; bonus bAgi,3;','',''); -REPLACE INTO `item_db_re` VALUES ('18807','Yellow_Yuzu_Hat','White Citron Hat','5','20','10','400','0','0','3','0','1','4294967294','63','2','256','0','0',NULL,'1','924','0','bonus bVit,2; bonus bLuk,3;','',''); +REPLACE INTO `item_db_re` VALUES ('18807','Yellow_Yuzu_Hat','White Citron Hat','5','20','10','400','0','0','3','0','1','2147483647','63','2','256','0','0',NULL,'1','924','0','bonus bVit,2; bonus bLuk,3;','',''); REPLACE INTO `item_db_re` VALUES ('18808','Wing_Form_Spectacle','Wing Style Spectacle','5','20','10','100','0','0','1','0','0','4294967295','63','2','256','0','0',NULL,'1','925','0','bonus bAgi,1;','',''); REPLACE INTO `item_db_re` VALUES ('18810','Hell_Pumpkin_Hat','Hell Pumpkin Hat','5','20','10','500','0','0','12','0','0','4294967295','63','2','256','0','0',NULL,'1','717','0','bonus bMdef,12;','',''); -REPLACE INTO `item_db_re` VALUES ('18814','Angel_School_Cap','Angel School Cap','5','20','10','100','0','0','4','0','1','4294967294','63','2','256','0','0',NULL,'1','927','0','bonus bInt,2; bonus bVit,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18815','Devil_School_Cap','Devil School Cap','5','20','10','100','0','0','4','0','1','4294967294','63','2','256','0','0',NULL,'1','928','0','bonus bStr,2; bonus bVit,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18816','Adv_Angel_School_Cap','Evoked Angel School Cap','5','20','10','100','0','0','4','0','1','4294967294','63','2','256','0','0',NULL,'1','929','0','bonus bInt,2; bonus bVit,2; bonus bLuk,1;','',''); -REPLACE INTO `item_db_re` VALUES ('18817','Adv_Devil_School_Cap','Evoked Devil School Cap','5','20','10','100','0','0','4','0','1','4294967294','63','2','256','0','0',NULL,'1','930','0','bonus bStr,2; bonus bVit,2; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18814','Angel_School_Cap','Angel School Cap','5','20','10','100','0','0','4','0','1','2147483647','63','2','256','0','0',NULL,'1','927','0','bonus bInt,2; bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18815','Devil_School_Cap','Devil School Cap','5','20','10','100','0','0','4','0','1','2147483647','63','2','256','0','0',NULL,'1','928','0','bonus bStr,2; bonus bVit,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18816','Adv_Angel_School_Cap','Evoked Angel School Cap','5','20','10','100','0','0','4','0','1','2147483647','63','2','256','0','0',NULL,'1','929','0','bonus bInt,2; bonus bVit,2; bonus bLuk,1;','',''); +REPLACE INTO `item_db_re` VALUES ('18817','Adv_Devil_School_Cap','Evoked Devil School Cap','5','20','10','100','0','0','4','0','1','2147483647','63','2','256','0','0',NULL,'1','930','0','bonus bStr,2; bonus bVit,2; bonus bLuk,1;','',''); REPLACE INTO `item_db_re` VALUES ('18818','Red_Pencil_In_Mouth','Red Pencil In Mouth','5','20','10','100','0','0','0','0','0','4294967295','63','2','1','0','0',NULL,'0','931','0','bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db_re` VALUES ('18821','Rainbow_Feather_Deco','RWC Commemorative Pin','5','20','10','300','0','0','5','0','1','4294967295','63','2','256','0','0',NULL,'1','934','0','','',''); REPLACE INTO `item_db_re` VALUES ('18828','2012RMSCNO1','RMSC2012 Champion Headgear','5','0','0','1000','0','0','20','0','1','4294967295','63','2','256','0','95',NULL,'0','942','0','bonus bUnbreakableHelm,0; bonus bAllStats,5; bonus bMdef,5;','',''); diff --git a/src/char/char.c b/src/char/char.c index 6534f484c..8d7ff1ab4 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -331,15 +331,15 @@ void set_char_offline(int char_id, int account_id) static int char_db_setoffline(DBKey key, DBData *data, va_list ap) { struct online_char_data* character = (struct online_char_data*)DB->data2ptr(data); - int server = va_arg(ap, int); - if (server == -1) { + int server_id = va_arg(ap, int); + if (server_id == -1) { character->char_id = -1; character->server = -1; if(character->waiting_disconnect != INVALID_TIMER){ timer->delete(character->waiting_disconnect, chardb_waiting_disconnect); character->waiting_disconnect = INVALID_TIMER; } - } else if (character->server == server) + } else if (character->server == server_id) character->server = -2; //In some map server that we aren't connected to. return 0; } @@ -2209,7 +2209,6 @@ void loginif_on_ready(void) int parse_fromlogin(int fd) { struct char_session_data* sd = NULL; - int i; // only process data from the login-server if( fd != login_fd ) { @@ -2242,10 +2241,9 @@ int parse_fromlogin(int fd) { uint16 command = RFIFOW(fd,0); if( HPM->packetsc[hpParse_FromLogin] ) { - if( (i = HPM->parse_packets(fd,hpParse_FromLogin)) ) { - if( i == 1 ) continue; - if( i == 2 ) return 0; - } + int success = HPM->parse_packets(fd,hpParse_FromLogin); + if( success == 1 ) continue; + else if( success == 2 ) return 0; } switch( command ) { @@ -2316,6 +2314,8 @@ int parse_fromlogin(int fd) { break; case 0x2717: // account data + { + int i; if (RFIFOREST(fd) < 72) return 0; @@ -2358,6 +2358,7 @@ int parse_fromlogin(int fd) { } } RFIFOSKIP(fd,72); + } break; // login-server alive packet @@ -2385,6 +2386,7 @@ int parse_fromlogin(int fd) { int class_[MAX_CHARS]; int guild_id[MAX_CHARS]; int num; + int i; char* data; struct auth_node* node = (struct auth_node*)idb_get(auth_db, acc); @@ -3209,7 +3211,7 @@ int parse_frommap(int fd) SQL->EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH)); - if( SQL_ERROR == SQL->Query(sql_handle, "SELECT `account_id`,`name`,`char_id`,`unban_time` FROM `%s` WHERE `name` = '%s'", char_db, esc_name) ) + if( SQL_ERROR == SQL->Query(sql_handle, "SELECT `account_id`,`char_id`,`unban_time` FROM `%s` WHERE `name` = '%s'", char_db, esc_name) ) Sql_ShowDebug(sql_handle); else if( SQL->NumRows(sql_handle) == 0 ) { result = 1; // 1-player not found @@ -3217,15 +3219,13 @@ int parse_frommap(int fd) Sql_ShowDebug(sql_handle); result = 1; // 1-player not found } else { - char name[NAME_LENGTH]; int account_id, char_id; char* data; time_t unban_time; SQL->GetData(sql_handle, 0, &data, NULL); account_id = atoi(data); - SQL->GetData(sql_handle, 1, &data, NULL); safestrncpy(name, data, sizeof(name)); - SQL->GetData(sql_handle, 2, &data, NULL); char_id = atoi(data); - SQL->GetData(sql_handle, 3, &data, NULL); unban_time = atol(data); + SQL->GetData(sql_handle, 1, &data, NULL); char_id = atoi(data); + SQL->GetData(sql_handle, 2, &data, NULL); unban_time = atol(data); if( login_fd <= 0 ) result = 3; // 3-login-server offline @@ -3465,7 +3465,6 @@ int parse_frommap(int fd) { struct status_change_data data; StringBuf buf; - int i; StrBuf->Init(&buf); StrBuf->Printf(&buf, "INSERT INTO `%s` (`account_id`, `char_id`, `type`, `tick`, `val1`, `val2`, `val3`, `val4`) VALUES ", scdata_db); @@ -3905,7 +3904,6 @@ static void char_delete2_cancel(int fd, struct char_session_data* sd) int parse_char(int fd) { - int i; char email[40]; unsigned short cmd; int map_fd; @@ -3937,10 +3935,9 @@ int parse_char(int fd) #define FIFOSD_CHECK(rest) do { if(RFIFOREST(fd) < (rest)) return 0; if (sd==NULL || !sd->auth) { RFIFOSKIP(fd,(rest)); return 0; } } while (0) if( HPM->packetsc[hpParse_Char] ) { - if( (i = HPM->parse_packets(fd,hpParse_Char)) ) { - if( i == 1 ) continue; - if( i == 2 ) return 0; - } + int success = HPM->parse_packets(fd,hpParse_Char); + if( success == 1 ) continue; + else if( success == 2 ) return 0; } cmd = RFIFOW(fd,0); @@ -4043,6 +4040,7 @@ int parse_char(int fd) uint32 subnet_map_ip; struct auth_node* node; int server_id = 0; + int i; int slot = RFIFOB(fd,2); RFIFOSKIP(fd,3); @@ -4214,31 +4212,35 @@ int parse_char(int fd) #if PACKETVER >= 20120307 // S 0970 <name>.24B <slot>.B <hair color>.W <hair style>.W case 0x970: + { + int result; FIFOSD_CHECK(31); #else // S 0067 <name>.24B <str>.B <agi>.B <vit>.B <int>.B <dex>.B <luk>.B <slot>.B <hair color>.W <hair style>.W case 0x67: + { + int result; FIFOSD_CHECK(37); #endif if( !char_new ) //turn character creation on/off [Kevin] - i = -2; + result = -2; else #if PACKETVER >= 20120307 - i = make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29)); + result = make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29)); #else - i = make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOB(fd,27),RFIFOB(fd,28),RFIFOB(fd,29),RFIFOB(fd,30),RFIFOB(fd,31),RFIFOB(fd,32),RFIFOW(fd,33),RFIFOW(fd,35)); + result = make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOB(fd,27),RFIFOB(fd,28),RFIFOB(fd,29),RFIFOB(fd,30),RFIFOB(fd,31),RFIFOB(fd,32),RFIFOW(fd,33),RFIFOW(fd,35)); #endif //'Charname already exists' (-1), 'Char creation denied' (-2) and 'You are underaged' (-3) - if (i < 0) { + if (result < 0) { WFIFOHEAD(fd,3); WFIFOW(fd,0) = 0x6e; /* Others I found [Ind] */ /* 0x02 = Symbols in Character Names are forbidden */ /* 0x03 = You are not elegible to open the Character Slot. */ /* 0x0B = This service is only available for premium users. */ - switch (i) { + switch (result) { case -1: WFIFOB(fd,2) = 0x00; break; case -2: WFIFOB(fd,2) = 0xFF; break; case -3: WFIFOB(fd,2) = 0x01; break; @@ -4249,7 +4251,7 @@ int parse_char(int fd) int len; // retrieve data struct mmo_charstatus char_dat; - mmo_char_fromsql(i, &char_dat, false); //Only the short data is needed. + mmo_char_fromsql(result, &char_dat, false); //Only the short data is needed. // send to player WFIFOHEAD(fd,2+MAX_CHAR_BUF); @@ -4258,13 +4260,14 @@ int parse_char(int fd) WFIFOSET(fd,len); // add new entry to the chars list - sd->found_char[char_dat.slot] = i; // the char_id of the new char + sd->found_char[char_dat.slot] = result; // the char_id of the new char } #if PACKETVER >= 20120307 RFIFOSKIP(fd,31); #else RFIFOSKIP(fd,37); #endif + } break; // delete char @@ -4275,6 +4278,7 @@ int parse_char(int fd) if (cmd == 0x1fb) FIFOSD_CHECK(56); { int cid = RFIFOL(fd,2); + int i; #if PACKETVER >= 20110309 if( *pincode->enabled ){ // hack check struct online_char_data* character; @@ -4483,6 +4487,7 @@ int parse_char(int fd) { char* l_user = (char*)RFIFOP(fd,2); char* l_pass = (char*)RFIFOP(fd,26); + int i; l_user[23] = '\0'; l_pass[23] = '\0'; ARR_FIND( 0, ARRAYLENGTH(server), i, server[i].fd <= 0 ); diff --git a/src/char/int_guild.c b/src/char/int_guild.c index 5f033f4d7..6bd8ca568 100644 --- a/src/char/int_guild.c +++ b/src/char/int_guild.c @@ -447,16 +447,16 @@ struct guild * inter_guild_fromsql(int guild_id) while( SQL_SUCCESS == SQL->NextRow(sql_handle) ) { int position; - struct guild_position* p; + struct guild_position *pos; SQL->GetData(sql_handle, 0, &data, NULL); position = atoi(data); if( position < 0 || position >= MAX_GUILDPOSITION ) continue;// invalid position - p = &g->position[position]; - SQL->GetData(sql_handle, 1, &data, &len); memcpy(p->name, data, min(len, NAME_LENGTH)); - SQL->GetData(sql_handle, 2, &data, NULL); p->mode = atoi(data); - SQL->GetData(sql_handle, 3, &data, NULL); p->exp_mode = atoi(data); - p->modified = GS_POSITION_UNMODIFIED; + pos = &g->position[position]; + SQL->GetData(sql_handle, 1, &data, &len); memcpy(pos->name, data, min(len, NAME_LENGTH)); + SQL->GetData(sql_handle, 2, &data, NULL); pos->mode = atoi(data); + SQL->GetData(sql_handle, 3, &data, NULL); pos->exp_mode = atoi(data); + pos->modified = GS_POSITION_UNMODIFIED; } //printf("- Read guild_alliance %d from sql \n",guild_id); @@ -1664,7 +1664,7 @@ static int mapif_parse_GuildDeleteAlliance(struct guild *g, int guild_id, int ac int mapif_parse_GuildAlliance(int fd,int guild_id1,int guild_id2,int account_id1,int account_id2,int flag) { // Could speed up - struct guild *g[2]; + struct guild *g[2] = { NULL }; int j,i; g[0] = inter_guild_fromsql(guild_id1); g[1] = inter_guild_fromsql(guild_id2); @@ -1675,25 +1675,19 @@ int mapif_parse_GuildAlliance(int fd,int guild_id1,int guild_id2,int account_id1 if(g[0]==NULL || g[1]==NULL) return 0; - if(flag&GUILD_ALLIANCE_REMOVE) - { + if( flag&GUILD_ALLIANCE_REMOVE ) { // Remove alliance/opposition, in case of alliance, remove on both side - for(i=0;i<2-(flag&GUILD_ALLIANCE_TYPE_MASK);i++) - { + for( i = 0; i < ((flag&GUILD_ALLIANCE_TYPE_MASK) ? 1 : 2); i++ ) { ARR_FIND( 0, MAX_GUILDALLIANCE, j, g[i]->alliance[j].guild_id == g[1-i]->guild_id && g[i]->alliance[j].opposition == (flag&GUILD_ALLIANCE_TYPE_MASK) ); if( j < MAX_GUILDALLIANCE ) g[i]->alliance[j].guild_id = 0; } - } - else - { + } else { // Add alliance, in case of alliance, add on both side - for(i=0;i<2-(flag&GUILD_ALLIANCE_TYPE_MASK);i++) - { + for( i = 0; i < ((flag&GUILD_ALLIANCE_TYPE_MASK) ? 1 : 2); i++ ) { // Search an empty slot ARR_FIND( 0, MAX_GUILDALLIANCE, j, g[i]->alliance[j].guild_id == 0 ); - if( j < MAX_GUILDALLIANCE ) - { + if( j < MAX_GUILDALLIANCE ) { g[i]->alliance[j].guild_id=g[1-i]->guild_id; memcpy(g[i]->alliance[j].name,g[1-i]->name,NAME_LENGTH); // Set alliance type diff --git a/src/char/int_quest.c b/src/char/int_quest.c index ce63a5581..f8a05bc8f 100644 --- a/src/char/int_quest.c +++ b/src/char/int_quest.c @@ -38,6 +38,7 @@ struct quest *mapif_quests_fromsql(int char_id, int *count) { stmt = SQL->StmtMalloc(sql_handle); if (stmt == NULL) { SqlStmt_ShowDebug(stmt); + *count = 0; return NULL; } diff --git a/src/char/inter.c b/src/char/inter.c index 771b51602..63e1564ff 100644 --- a/src/char/inter.c +++ b/src/char/inter.c @@ -872,7 +872,7 @@ int inter_mapif_init(int fd) //-------------------------------------------------------- // broadcast sending -int mapif_broadcast(unsigned char *mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd) +int mapif_broadcast(unsigned char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd) { unsigned char *buf = (unsigned char*)aMalloc((len)*sizeof(unsigned char)); diff --git a/src/common/HPM.c b/src/common/HPM.c index 005bc2ddc..426fac94a 100644 --- a/src/common/HPM.c +++ b/src/common/HPM.c @@ -215,6 +215,7 @@ struct hplugin *hplugin_load(const char* filename) { plugin->hpi->HookStop = HPM->import_symbol("HookStop",plugin->idx); plugin->hpi->HookStopped = HPM->import_symbol("HookStopped",plugin->idx); plugin->hpi->addArg = HPM->import_symbol("addArg",plugin->idx); + plugin->hpi->addConf = HPM->import_symbol("addConf",plugin->idx); /* server specific */ if( HPM->load_sub ) HPM->load_sub(plugin); @@ -532,6 +533,9 @@ void* HPM_calloc(size_t num, size_t size, const char *file, int line, const char void* HPM_realloc(void *p, size_t size, const char *file, int line, const char *func) { return iMalloc->realloc(p,size,HPM_file2ptr(file),line,func); } +void* HPM_reallocz(void *p, size_t size, const char *file, int line, const char *func) { + return iMalloc->reallocz(p,size,HPM_file2ptr(file),line,func); +} char* HPM_astrdup(const char *p, const char *file, int line, const char *func) { return iMalloc->astrdup(p,HPM_file2ptr(file),line,func); } @@ -602,6 +606,48 @@ bool hpm_add_arg(unsigned int pluginID, char *name, bool has_param, void (*func) return true; } +bool hplugins_addconf(unsigned int pluginID, enum HPluginConfType type, char *name, void (*func) (const char *val)) { + struct HPConfListenStorage *conf; + unsigned int i; + + if( type >= HPCT_MAX ) { + ShowError("HPM->addConf:%s: unknown point '%u' specified for config '%s'\n",HPM->pid2name(pluginID),type,name); + return false; + } + + for(i = 0; i < HPM->confsc[type]; i++) { + if( !strcmpi(name,HPM->confs[type][i].key) ) { + ShowError("HPM->addConf:%s: duplicate '%s', already in use by '%s'!",HPM->pid2name(pluginID),name,HPM->pid2name(HPM->confs[type][i].pluginID)); + return false; + } + } + + RECREATE(HPM->confs[type], struct HPConfListenStorage, ++HPM->confsc[type]); + conf = &HPM->confs[type][HPM->confsc[type] - 1]; + + conf->pluginID = pluginID; + safestrncpy(conf->key, name, HPM_ADDCONF_LENGTH); + conf->func = func; + + return true; +} +bool hplugins_parse_conf(const char *w1, const char *w2, enum HPluginConfType point) { + unsigned int i; + + /* exists? */ + for(i = 0; i < HPM->confsc[point]; i++) { + if( !strcmpi(w1,HPM->confs[point][i].key) ) + break; + } + + /* trigger and we're set! */ + if( i != HPM->confsc[point] ) { + HPM->confs[point][i].func(w2); + return true; + } + + return false; +} void hplugins_share_defaults(void) { /* console */ @@ -617,6 +663,7 @@ void hplugins_share_defaults(void) { HPM->share(HPM_HookStop,"HookStop"); HPM->share(HPM_HookStopped,"HookStopped"); HPM->share(hpm_add_arg,"addArg"); + HPM->share(hplugins_addconf,"addConf"); /* core */ HPM->share(&runflag,"runflag"); HPM->share(arg_v,"arg_v"); @@ -661,6 +708,7 @@ void hpm_init(void) { HPMiMalloc->malloc = HPM_mmalloc; HPMiMalloc->calloc = HPM_calloc; HPMiMalloc->realloc = HPM_realloc; + HPMiMalloc->reallocz = HPM_reallocz; HPMiMalloc->astrdup = HPM_astrdup; sscanf(HPM_VERSION, "%u.%u", &HPM->version[0], &HPM->version[1]); @@ -728,6 +776,11 @@ void hpm_final(void) { aFree(HPM->packets[i]); } + for( i = 0; i < HPCT_MAX; i++ ) { + if( HPM->confsc[i] ) + aFree(HPM->confs[i]); + } + HPM->arg_db->destroy(HPM->arg_db,HPM->arg_db_clear_sub); /* HPM->fnames is cleared after the memory manager goes down */ @@ -736,13 +789,26 @@ void hpm_final(void) { return; } void hpm_defaults(void) { + unsigned int i; HPM = &HPM_s; HPM->fnames = NULL; HPM->fnamec = 0; HPM->force_return = false; HPM->hooking = false; - + /* */ + HPM->fnames = NULL; + HPM->fnamec = 0; + for(i = 0; i < hpPHP_MAX; i++) { + HPM->packets[i] = NULL; + HPM->packetsc[i] = 0; + } + for(i = 0; i < HPCT_MAX; i++) { + HPM->confs[i] = NULL; + HPM->confsc[i] = 0; + } + HPM->arg_db = NULL; + /* */ HPM->init = hpm_init; HPM->final = hpm_final; @@ -767,4 +833,5 @@ void hpm_defaults(void) { HPM->arg_help = hpm_arg_help; HPM->grabHPData = hplugins_grabHPData; HPM->grabHPDataSub = NULL; + HPM->parseConf = hplugins_parse_conf; } diff --git a/src/common/HPM.h b/src/common/HPM.h index 5466693ab..1f2ba4648 100644 --- a/src/common/HPM.h +++ b/src/common/HPM.h @@ -28,8 +28,10 @@ #define plugin_import(x,y,z) (z)dlsym((x),(y)) #define plugin_close(x) dlclose(x) - #ifdef CYGWIN + #if defined CYGWIN #define DLL_EXT ".dll" + #elif defined __DARWIN__ + #define DLL_EXT ".dylib" #else #define DLL_EXT ".so" #endif @@ -86,6 +88,12 @@ struct HPDataOperationStorage { void **HPDataSRCPtr; unsigned int *hdatac; }; +/* */ +struct HPConfListenStorage { + unsigned int pluginID; + char key[HPM_ADDCONF_LENGTH]; + void (*func) (const char *val); +}; /* Hercules Plugin Manager Interface */ struct HPM_interface { @@ -106,6 +114,9 @@ struct HPM_interface { /* plugin file ptr caching */ struct HPMFileNameCache *fnames; unsigned int fnamec; + /* config listen */ + struct HPConfListenStorage *confs[HPCT_MAX]; + unsigned int confsc[HPCT_MAX]; /* --command-line */ DBMap *arg_db; /* funcs */ @@ -133,6 +144,8 @@ struct HPM_interface { void (*grabHPData) (struct HPDataOperationStorage *ret, enum HPluginDataTypes type, void *ptr); /* for server-specific HPData e.g. map_session_data */ void (*grabHPDataSub) (struct HPDataOperationStorage *ret, enum HPluginDataTypes type, void *ptr); + /* for custom config parsing */ + bool (*parseConf) (const char *w1, const char *w2, enum HPluginConfType point); } HPM_s; struct HPM_interface *HPM; diff --git a/src/common/HPMi.h b/src/common/HPMi.h index 2cd1075c4..742132cde 100644 --- a/src/common/HPMi.h +++ b/src/common/HPMi.h @@ -36,6 +36,7 @@ struct map_session_data; #include "../common/showmsg.h" #define HPM_VERSION "1.0" +#define HPM_ADDCONF_LENGTH 40 struct hplugin_info { char* name; @@ -83,6 +84,12 @@ enum HPluginDataTypes { HPDT_NPCD, }; +/* used in macros and conf storage */ +enum HPluginConfType { + HPCT_BATTLE, /* battle-conf (map-server */ + HPCT_MAX, +}; + #define addHookPre(tname,hook) (HPMi->AddHook(HOOK_TYPE_PRE,(tname),(hook),HPMi->pid)) #define addHookPost(tname,hook) (HPMi->AddHook(HOOK_TYPE_POST,(tname),(hook),HPMi->pid)) /* need better names ;/ */ @@ -128,6 +135,8 @@ enum HPluginDataTypes { } /* HPMi->addPacket */ #define addPacket(cmd,len,receive,point) HPMi->addPacket(cmd,len,receive,point,HPMi->pid) +/* HPMi->addBattleConf */ +#define addBattleConf(bcname,funcname) HPMi->addConf(HPMi->pid,HPCT_BATTLE,bcname,funcname) /* Hercules Plugin Mananger Include Interface */ HPExport struct HPMi_interface { @@ -150,6 +159,8 @@ HPExport struct HPMi_interface { bool (*HookStopped) (void); /* program --arg/-a */ bool (*addArg) (unsigned int pluginID, char *name, bool has_param,void (*func) (char *param),void (*help) (void)); + /* battle-config recv param */ + bool (*addConf) (unsigned int pluginID, enum HPluginConfType type, char *name, void (*func) (const char *val)); } HPMi_s; #ifndef _HPM_H_ HPExport struct HPMi_interface *HPMi; diff --git a/src/common/Makefile.in b/src/common/Makefile.in index 1e23ab5e8..7bb9ae630 100644 --- a/src/common/Makefile.in +++ b/src/common/Makefile.in @@ -15,8 +15,8 @@ MT19937AR_H = $(MT19937AR_D)/mt19937ar.h MT19937AR_INCLUDE = -I$(MT19937AR_D) COMMON_SHARED_C = conf.c db.c des.c ers.c grfio.c HPM.c mapindex.c md5calc.c \ - mempool.c mutex.c nullpo.c raconf.c random.c showmsg.c strlib.c \ - thread.c timer.c utils.c + mutex.c nullpo.c random.c showmsg.c strlib.c thread.c \ + timer.c utils.c COMMON_C = $(COMMON_SHARED_C) COMMON_SHARED_OBJ = $(patsubst %.c,%.o,$(COMMON_SHARED_C)) COMMON_OBJ = $(addprefix obj_all/, $(COMMON_SHARED_OBJ) \ @@ -25,9 +25,8 @@ COMMON_MINI_OBJ = $(addprefix obj_all/, $(COMMON_SHARED_OBJ) \ miniconsole.o minicore.o minimalloc.o minisocket.o) COMMON_C += console.c core.c malloc.c socket.c COMMON_H = atomic.h cbasetypes.h conf.h console.h core.h db.h des.h ers.h \ - evdp.h grfio.h HPM.h HPMi.h malloc.h mapindex.h md5calc.h \ - mempool.h mmo.h mutex.h netbuffer.h network.h nullpo.h raconf.h \ - random.h showmsg.h socket.h spinlock.h sql.h strlib.h \ + grfio.h HPM.h HPMi.h malloc.h mapindex.h md5calc.h mmo.h mutex.h \ + nullpo.h random.h showmsg.h socket.h spinlock.h sql.h strlib.h \ thread.h timer.h utils.h winapi.h COMMON_SQL_OBJ = obj_sql/sql.o diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h index 6de2ace01..120f4f861 100644 --- a/src/common/cbasetypes.h +++ b/src/common/cbasetypes.h @@ -255,6 +255,13 @@ typedef uintptr_t uintptr; #define ra_align(n) __attribute__(( aligned(n) )) #endif +// Directives for the (clang) static analyzer +#ifdef __clang__ +#define analyzer_noreturn __attribute__((analyzer_noreturn)) +#else +#define analyzer_noreturn +#endif + ///////////////////////////// // for those still not building c++ @@ -353,23 +360,6 @@ typedef char bool; #endif ////////////////////////////////////////////////////////////////////////// -// Assert - -#if ! defined(Assert) -#if defined(RELEASE) -#define Assert(EX) -#else -// extern "C" { -#include <assert.h> -// } -#if !defined(DEFCPP) && defined(WIN32) && !defined(MINGW) -#include <crtdbg.h> -#endif -#define Assert(EX) assert(EX) -#endif -#endif /* ! defined(Assert) */ - -////////////////////////////////////////////////////////////////////////// // Has to be unsigned to avoid problems in some systems // Problems arise when these functions expect an argument in the range [0,256[ and are fed a signed char. #include <ctype.h> @@ -405,7 +395,7 @@ typedef char bool; ////////////////////////////////////////////////////////////////////////// -// Use the preprocessor to 'stringify' stuff (concert to a string). +// Use the preprocessor to 'stringify' stuff (convert to a string). // example: // #define TESTE blabla // QUOTE(TESTE) -> "TESTE" diff --git a/src/common/core.c b/src/common/core.c index dd839b372..8178a48a5 100644 --- a/src/common/core.c +++ b/src/common/core.c @@ -15,7 +15,6 @@ #include "../common/socket.h" #include "../common/timer.h" #include "../common/thread.h" - #include "../common/mempool.h" #include "../common/sql.h" #include "../config/core.h" #include "../common/HPM.h" @@ -328,7 +327,6 @@ int main (int argc, char **argv) { Sql_Init(); rathread_init(); - mempool_init(); DB->init(); signals_init(); @@ -370,7 +368,6 @@ int main (int argc, char **argv) { timer->final(); socket_final(); DB->final(); - mempool_final(); rathread_final(); #endif diff --git a/src/common/db.c b/src/common/db.c index ba3fef97b..efe7ca8b2 100644 --- a/src/common/db.c +++ b/src/common/db.c @@ -2446,7 +2446,7 @@ DBMap* db_alloc(const char *file, const char *func, int line, DBType type, DBOpt db->free_lock = 0; /* Other */ snprintf(ers_name, 50, "db_alloc:nodes:%s:%s:%d",func,file,line); - db->nodes = ers_new(sizeof(struct dbn),ers_name,ERS_OPT_WAIT|ERS_OPT_FREE_NAME); + db->nodes = ers_new(sizeof(struct dbn),ers_name,ERS_OPT_WAIT|ERS_OPT_FREE_NAME|ERS_OPT_CLEAN); db->cmp = DB->default_cmp(type); db->hash = DB->default_hash(type); db->release = DB->default_release(type, options); @@ -2609,8 +2609,8 @@ void* db_data2ptr(DBData *data) * @see #db_final(void) */ void db_init(void) { - db_iterator_ers = ers_new(sizeof(struct DBIterator_impl),"db.c::db_iterator_ers",ERS_OPT_NONE); - db_alloc_ers = ers_new(sizeof(struct DBMap_impl),"db.c::db_alloc_ers",ERS_OPT_NONE); + db_iterator_ers = ers_new(sizeof(struct DBIterator_impl),"db.c::db_iterator_ers",ERS_OPT_CLEAN); + db_alloc_ers = ers_new(sizeof(struct DBMap_impl),"db.c::db_alloc_ers",ERS_OPT_CLEAN); ers_chunk_size(db_alloc_ers, 50); DB_COUNTSTAT(db_init); } diff --git a/src/common/db.h b/src/common/db.h index b9d6af382..5f4478909 100644 --- a/src/common/db.h +++ b/src/common/db.h @@ -1121,8 +1121,10 @@ void linkdb_foreach (struct linkdb_node** head, LinkDBFunc func, ...); #define VECTOR_ENSURE(__vec,__n,__step) \ do{ \ size_t _empty_ = VECTOR_CAPACITY(__vec)-VECTOR_LENGTH(__vec); \ - while( (__n) > _empty_ ) _empty_ += (__step); \ - if( _empty_ != VECTOR_CAPACITY(__vec)-VECTOR_LENGTH(__vec) ) VECTOR_RESIZE(__vec,_empty_+VECTOR_LENGTH(__vec)); \ + if( (__n) > _empty_ ) { \ + while( (__n) > _empty_ ) _empty_ += (__step); \ + VECTOR_RESIZE(__vec,_empty_+VECTOR_LENGTH(__vec)); \ + } \ }while(0) diff --git a/src/common/ers.c b/src/common/ers.c index 22269a51f..a7dad49ab 100644 --- a/src/common/ers.c +++ b/src/common/ers.c @@ -40,6 +40,7 @@ * @see common#ers.h * \*****************************************************************************/ #include <stdlib.h> +#include <string.h> #include "../common/cbasetypes.h" #include "../common/malloc.h" // CREATE, RECREATE, aMalloc, aFree @@ -238,6 +239,9 @@ static void ers_obj_free_entry(ERS self, void *entry) return; } + if( instance->Options & ERS_OPT_CLEAN ) + memset((unsigned char*)reuse + sizeof(struct ers_list), 0, instance->Cache->ObjectSize - sizeof(struct ers_list)); + reuse->Next = instance->Cache->ReuseList; instance->Cache->ReuseList = reuse; instance->Count--; diff --git a/src/common/ers.h b/src/common/ers.h index 4ff2a6230..e63711b81 100644 --- a/src/common/ers.h +++ b/src/common/ers.h @@ -71,10 +71,11 @@ #endif /* not ERS_ALIGN_ENTRY */ enum ERSOptions { - ERS_OPT_NONE = 0x0, - ERS_OPT_CLEAR = 0x1,/* silently clears any entries left in the manager upon destruction */ - ERS_OPT_WAIT = 0x2,/* wait for entries to come in order to list! */ - ERS_OPT_FREE_NAME = 0x4,/* name is dynamic memory, and should be freed */ + ERS_OPT_NONE = 0x0, + ERS_OPT_CLEAR = 0x1,/* silently clears any entries left in the manager upon destruction */ + ERS_OPT_WAIT = 0x2,/* wait for entries to come in order to list! */ + ERS_OPT_FREE_NAME = 0x4,/* name is dynamic memory, and should be freed */ + ERS_OPT_CLEAN = 0x8,/* clears used memory upon ers_free so that its all new to be reused on the next alloc */ }; /** diff --git a/src/common/grfio.c b/src/common/grfio.c index 77b976926..57e8a5187 100644 --- a/src/common/grfio.c +++ b/src/common/grfio.c @@ -8,6 +8,7 @@ #include "../common/showmsg.h" #include "../common/strlib.h" #include "../common/utils.h" +#include "../common/nullpo.h" #include "grfio.h" #include <stdio.h> @@ -305,17 +306,21 @@ static FILELIST* filelist_find(const char* fname) // returns the original file name char* grfio_find_file(const char* fname) { - FILELIST *filelist = filelist_find(fname); - if (!filelist) return NULL; - return (!filelist->fnd ? filelist->fn : filelist->fnd); + FILELIST *flist = filelist_find(fname); + if (!flist) return NULL; + return (!flist->fnd ? flist->fn : flist->fnd); } // adds a FILELIST entry into the list of loaded files -static FILELIST* filelist_add(FILELIST* entry) -{ +static FILELIST* filelist_add(FILELIST* entry) { int hash; + nullpo_ret(entry); +#ifdef __clang_analyzer__ + // Make clang's static analyzer shut up about a possible NULL pointer in &filelist[filelist_entrys] + nullpo_ret(&filelist[filelist_entrys]); +#endif // __clang_analyzer__ - #define FILELIST_ADDS 1024 // number increment of file lists ` +#define FILELIST_ADDS 1024 // number increment of file lists ` if (filelist_entrys >= filelist_maxentry) { filelist = (FILELIST *)aRealloc(filelist, (filelist_maxentry + FILELIST_ADDS) * sizeof(FILELIST)); @@ -323,7 +328,9 @@ static FILELIST* filelist_add(FILELIST* entry) filelist_maxentry += FILELIST_ADDS; } - memcpy (&filelist[filelist_entrys], entry, sizeof(FILELIST)); +#undef FILELIST_ADDS + + memcpy(&filelist[filelist_entrys], entry, sizeof(FILELIST)); hash = filehash(entry->fn); filelist[filelist_entrys].next = filelist_hash[hash]; @@ -405,7 +412,7 @@ void* grfio_reads(const char* fname, int* size) if( in != NULL ) { int declen; fseek(in,0,SEEK_END); - declen = ftell(in); + declen = (int)ftell(in); fseek(in,0,SEEK_SET); buf2 = (unsigned char *)aMalloc(declen+1); // +1 for resnametable zero-termination if(fread(buf2, 1, declen, in) != (size_t)declen) ShowError("An error occured in fread grfio_reads, fname=%s \n",fname); diff --git a/src/common/malloc.c b/src/common/malloc.c index 1cb7836ab..f7f108304 100644 --- a/src/common/malloc.c +++ b/src/common/malloc.c @@ -369,6 +369,37 @@ void* _mrealloc(void *memblock, size_t size, const char *file, int line, const c } } +/* a _mrealloc clone with the difference it 'z'eroes the newly created memory */ +void* _mreallocz(void *memblock, size_t size, const char *file, int line, const char *func ) { + size_t old_size; + void *p = NULL; + + if(memblock == NULL) { + p = iMalloc->malloc(size,file,line,func); + memset(p,0,size); + return p; + } + + old_size = ((struct unit_head *)((char *)memblock - sizeof(struct unit_head) + sizeof(long)))->size; + if( old_size == 0 ) { + old_size = ((struct unit_head_large *)((char *)memblock - sizeof(struct unit_head_large) + sizeof(long)))->size; + } + if(old_size > size) { + // Size reduction - return> as it is (negligence) + return memblock; + } else { + // Size Large + p = iMalloc->malloc(size,file,line,func); + if(p != NULL) { + memcpy(p,memblock,old_size); + memset((char*)p+old_size,0,size-old_size); + } + iMalloc->free(memblock,file,line,func); + return p; + } +} + + char* _mstrdup(const char *p, const char *file, int line, const char *func ) { if(p == NULL) { @@ -669,7 +700,7 @@ void memmgr_report (int extra) { struct { const char *file; unsigned short line; - unsigned int size; + size_t size; unsigned int count; } data[100]; memset(&data, 0, sizeof(data)); @@ -822,12 +853,14 @@ void malloc_defaults(void) { iMalloc->malloc = _mmalloc; iMalloc->calloc = _mcalloc; iMalloc->realloc = _mrealloc; + iMalloc->reallocz= _mreallocz; iMalloc->astrdup = _mstrdup; iMalloc->free = _mfree; #else iMalloc->malloc = aMalloc_; iMalloc->calloc = aCalloc_; iMalloc->realloc = aRealloc_; + iMalloc->reallocz= aRealloc_;/* not using memory manager huhum o.o perhaps we could still do something about */ iMalloc->astrdup = aStrdup_; iMalloc->free = aFree_; #endif diff --git a/src/common/malloc.h b/src/common/malloc.h index cd0ef238b..19b5213bb 100644 --- a/src/common/malloc.h +++ b/src/common/malloc.h @@ -33,6 +33,7 @@ # define aMalloc(n) (iMalloc->malloc((n),ALC_MARK)) # define aCalloc(m,n) (iMalloc->calloc((m),(n),ALC_MARK)) # define aRealloc(p,n) (iMalloc->realloc((p),(n),ALC_MARK)) +# define aReallocz(p,n) (iMalloc->reallocz((p),(n),ALC_MARK)) # define aStrdup(p) (iMalloc->astrdup((p),ALC_MARK)) # define aFree(p) (iMalloc->free((p),ALC_MARK)) @@ -54,7 +55,7 @@ ////////////// Others ////////////////////////// // should be merged with any of above later #define CREATE(result, type, number) ((result) = (type *) aCalloc((number), sizeof(type))) -#define RECREATE(result, type, number) ((result) = (type *) aRealloc((result), sizeof(type) * (number))) +#define RECREATE(result, type, number) ((result) = (type *) aReallocz((result), sizeof(type) * (number))) //////////////////////////////////////////////// @@ -73,6 +74,7 @@ struct malloc_interface { void* (*malloc )(size_t size, const char *file, int line, const char *func); void* (*calloc )(size_t num, size_t size, const char *file, int line, const char *func); void* (*realloc )(void *p, size_t size, const char *file, int line, const char *func); + void* (*reallocz)(void *p, size_t size, const char *file, int line, const char *func); char* (*astrdup )(const char *p, const char *file, int line, const char *func); void (*free )(void *p, const char *file, int line, const char *func); /* */ diff --git a/src/common/mmo.h b/src/common/mmo.h index 47257265f..b33b01fa7 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -284,7 +284,8 @@ struct accreg { // For saving status changes across sessions. [Skotlex] struct status_change_data { unsigned short type; //SC_type - long val1, val2, val3, val4, tick; //Remaining duration. + int val1, val2, val3, val4; + unsigned int tick; //Remaining duration. }; struct storage_data { diff --git a/src/common/nullpo.c b/src/common/nullpo.c index 4383109a7..20180dd3b 100644 --- a/src/common/nullpo.c +++ b/src/common/nullpo.c @@ -4,88 +4,26 @@ #include <stdio.h> #include <stdarg.h> #include <string.h> -#include "nullpo.h" +#include "../common/nullpo.h" #include "../common/showmsg.h" -// #include "logs.h" // •z΂µ‚Ä‚Ý‚é -static void nullpo_info_core(const char *file, int line, const char *func, - const char *fmt, va_list ap); - -/*====================================== - * Nullƒ`ƒFƒbƒN ‹y‚Ñ î•ño—Í - *--------------------------------------*/ -int nullpo_chk_f(const char *file, int line, const char *func, const void *target, - const char *fmt, ...) -{ - va_list ap; - - if (target != NULL) - return 0; - - va_start(ap, fmt); - nullpo_info_core(file, line, func, fmt, ap); - va_end(ap); - return 1; -} - -int nullpo_chk(const char *file, int line, const char *func, const void *target) -{ - if (target != NULL) - return 0; - - nullpo_info_core(file, line, func, NULL, NULL); - return 1; -} - - -/*====================================== - * nullpoî•ño—Í(ŠO•”ŒÄo‚µŒü‚¯ƒ‰ƒbƒp) - *--------------------------------------*/ -void nullpo_info_f(const char *file, int line, const char *func, - const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - nullpo_info_core(file, line, func, fmt, ap); - va_end(ap); -} - -void nullpo_info(const char *file, int line, const char *func) -{ - nullpo_info_core(file, line, func, NULL, NULL); -} - - -/*====================================== - * nullpoî•ño—Í(Main) - *--------------------------------------*/ -static void nullpo_info_core(const char *file, int line, const char *func, - const char *fmt, va_list ap) -{ +/** + * Reports failed assertions or NULL pointers + * + * @param file Source file where the error was detected + * @param line Line + * @param func Function + * @param targetname Name of the checked symbol + * @param title Message title to display (i.e. failed assertion or nullpo info) + */ +void assert_report(const char *file, int line, const char *func, const char *targetname, const char *title) { if (file == NULL) file = "??"; - func = - func == NULL ? "unknown": - func[0] == '\0' ? "unknown": - func; - - ShowMessage("--- nullpo info --------------------------------------------\n"); - ShowMessage("%s:%d: in func `%s'\n", file, line, func); - if (fmt != NULL) - { - if (fmt[0] != '\0') - { - vprintf(fmt, ap); - - // ÅŒã‚ɉüs‚µ‚½‚©Šm”F - if (fmt[strlen(fmt)-1] != '\n') - ShowMessage("\n"); - } - } - ShowMessage("--- end nullpo info ----------------------------------------\n"); + if (func == NULL || *func == '\0') + func = "unknown"; - // ‚±‚±‚ç‚ÅnullpoƒƒO‚ðƒtƒ@ƒCƒ‹‚É‘‚«o‚¹‚½‚ç - // ‚Ü‚Æ‚ß‚Ä’ño‚Å‚«‚é‚È‚ÆŽv‚Á‚Ä‚¢‚½‚èB + ShowError("--- %s --------------------------------------------\n", title); + ShowError("%s:%d: '%s' in function `%s'\n", file, line, targetname, func); + ShowError("--- end %s ----------------------------------------\n", title); } diff --git a/src/common/nullpo.h b/src/common/nullpo.h index 8ee86a782..05484135c 100644 --- a/src/common/nullpo.h +++ b/src/common/nullpo.h @@ -1,225 +1,127 @@ // Copyright (c) Athena Dev Teams - Licensed under GNU GPL // For more information, see LICENCE in the main folder -#ifndef _NULLPO_H_ -#define _NULLPO_H_ - +#ifndef COMMON_NULLPO_H +#define COMMON_NULLPO_H #include "../common/cbasetypes.h" -#define NLP_MARK __FILE__, __LINE__, __func__ - // enabled by default on debug builds #if defined(DEBUG) && !defined(NULLPO_CHECK) #define NULLPO_CHECK #endif -/*---------------------------------------------------------------------------- - * Macros - *---------------------------------------------------------------------------- - */ -/*====================================== - * Nullƒ`ƒFƒbƒN ‹y‚Ñ î•ño—ÍŒã return - *E“WŠJ‚·‚é‚Æif‚Æ‚©return“™‚ªo‚é‚Ì‚Å - * ˆês’P‘Ì‚ÅŽg‚Á‚Ä‚‚¾‚³‚¢B - *Enullpo_ret(x = func()); - * ‚̂悤‚ÈŽg—p–@‚à‘z’肵‚Ä‚¢‚Ü‚·B - *-------------------------------------- - * nullpo_ret(t) - * –ß‚è’l 0ŒÅ’è - * [ˆø”] - * t ƒ`ƒFƒbƒN‘ÎÛ - *-------------------------------------- - * nullpo_retv(t) - * –ß‚è’l ‚È‚µ - * [ˆø”] - * t ƒ`ƒFƒbƒN‘ÎÛ - *-------------------------------------- - * nullpo_retr(ret, t) - * –ß‚è’l Žw’è - * [ˆø”] - * ret return(ret); - * t ƒ`ƒFƒbƒN‘ÎÛ - *-------------------------------------- - * nullpo_ret_f(t, fmt, ...) - * Ú×î•ño—Í—p - * –ß‚è’l 0 - * [ˆø”] - * t ƒ`ƒFƒbƒN‘ÎÛ - * fmt ... vprintf‚É“n‚³‚ê‚é - * ”õl‚âŠÖŒW•Ï”‚Ì‘‚«o‚µ‚È‚Ç‚É - *-------------------------------------- - * nullpo_retv_f(t, fmt, ...) - * Ú×î•ño—Í—p - * –ß‚è’l ‚È‚µ - * [ˆø”] - * t ƒ`ƒFƒbƒN‘ÎÛ - * fmt ... vprintf‚É“n‚³‚ê‚é - * ”õl‚âŠÖŒW•Ï”‚Ì‘‚«o‚µ‚È‚Ç‚É - *-------------------------------------- - * nullpo_retr_f(ret, t, fmt, ...) - * Ú×î•ño—Í—p - * –ß‚è’l Žw’è - * [ˆø”] - * ret return(ret); - * t ƒ`ƒFƒbƒN‘ÎÛ - * fmt ... vprintf‚É“n‚³‚ê‚é - * ”õl‚âŠÖŒW•Ï”‚Ì‘‚«o‚µ‚È‚Ç‚É - *-------------------------------------- - */ +// Skip assert checks on release builds +#if !defined(RELEASE) && !defined(ASSERT_CHECK) +#define ASSERT_CHECK +#endif + +/** Assert */ + +#if defined(ASSERT_CHECK) +// extern "C" { +#include <assert.h> +// } +#if !defined(DEFCPP) && defined(WIN32) && !defined(MINGW) +#include <crtdbg.h> +#endif // !DEFCPP && WIN && !MINGW +#define Assert(EX) assert(EX) +#define Assert_chk(EX) ( (EX) ? false : (assert_report(__FILE__, __LINE__, __func__, #EX, "failed assertion"), true) ) +#else // ! ASSERT_CHECK +#define Assert(EX) (EX) +#define Assert_chk(EX) ((EX), false) +#endif // ASSERT_CHECK #if defined(NULLPO_CHECK) +/** + * Reports NULL pointer information if the passed pointer is NULL + * + * @param t pointer to check + * @return true if the passed pointer is NULL, false otherwise + */ +#define nullpo_chk(t) ( (t) != NULL ? false : (assert_report(__FILE__, __LINE__, __func__, #t, "nullpo info"), true) ) +#else // ! NULLPO_CHECK +#define nullpo_chk(t) ((void)(t), false) +#endif // NULLPO_CHECK + +/** + * The following macros check for NULL pointers and return from the current + * function or block in case one is found. + * + * It is guaranteed that the argument is evaluated once and only once, so it + * is safe to call them as: + * nullpo_ret(x = func()); + * The macros can be used safely in any context, as they expand to a do/while + * construct, except nullpo_retb, which expands to an if/else construct. + */ +/** + * Returns 0 if a NULL pointer is found. + * + * @param t pointer to check + */ #define nullpo_ret(t) \ - if (nullpo_chk(NLP_MARK, (void *)(t))) {return(0);} - -#define nullpo_retv(t) \ - if (nullpo_chk(NLP_MARK, (void *)(t))) {return;} - -#define nullpo_retr(ret, t) \ - if (nullpo_chk(NLP_MARK, (void *)(t))) {return(ret);} - -#define nullpo_retb(t) \ - if (nullpo_chk(NLP_MARK, (void *)(t))) {break;} - -// ‰Â•Ïˆø”ƒ}ƒNƒ‚ÉŠÖ‚·‚éðŒƒRƒ“ƒpƒCƒ‹ -#if __STDC_VERSION__ >= 199901L -/* C99‚ɑΉž */ -#define nullpo_ret_f(t, fmt, ...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), __VA_ARGS__)) {return(0);} - -#define nullpo_retv_f(t, fmt, ...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), __VA_ARGS__)) {return;} - -#define nullpo_retr_f(ret, t, fmt, ...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), __VA_ARGS__)) {return(ret);} - -#define nullpo_retb_f(t, fmt, ...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), __VA_ARGS__)) {break;} + do { if (nullpo_chk(t)) return(0); } while(0) -#elif __GNUC__ >= 2 -/* GCC—p */ -#define nullpo_ret_f(t, fmt, args...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), ## args)) {return(0);} - -#define nullpo_retv_f(t, fmt, args...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), ## args)) {return;} - -#define nullpo_retr_f(ret, t, fmt, args...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), ## args)) {return(ret);} - -#define nullpo_retb_f(t, fmt, args...) \ - if (nullpo_chk_f(NLP_MARK, (void *)(t), (fmt), ## args)) {break;} - -#else - -/* ‚»‚Ì‘¼‚Ìê‡EEE orz */ - -#endif - -#else /* NULLPO_CHECK */ -/* No Nullpo check */ - -// if((t)){;} -// —Ç‚¢•û–@‚ªŽv‚¢‚‚©‚È‚©‚Á‚½‚Ì‚ÅEEE‹ê“÷‚Ìô‚Å‚·B -// ˆê‰žƒ[ƒjƒ“ƒO‚Ío‚È‚¢‚Í‚¸ - -#define nullpo_ret(t) (void)(t) -#define nullpo_retv(t) (void)(t) -#define nullpo_retr(ret, t) (void)(t) -#define nullpo_retb(t) (void)(t) - -// ‰Â•Ïˆø”ƒ}ƒNƒ‚ÉŠÖ‚·‚éðŒƒRƒ“ƒpƒCƒ‹ -#if __STDC_VERSION__ >= 199901L -/* C99‚ɑΉž */ -#define nullpo_ret_f(t, fmt, ...) (void)(t) -#define nullpo_retv_f(t, fmt, ...) (void)(t) -#define nullpo_retr_f(ret, t, fmt, ...) (void)(t) -#define nullpo_retb_f(t, fmt, ...) (void)(t) - -#elif __GNUC__ >= 2 -/* GCC—p */ -#define nullpo_ret_f(t, fmt, args...) (void)(t) -#define nullpo_retv_f(t, fmt, args...) (void)(t) -#define nullpo_retr_f(ret, t, fmt, args...) (void)(t) -#define nullpo_retb_f(t, fmt, args...) (void)(t) - -#else -/* ‚»‚Ì‘¼‚Ìê‡EEE orz */ -#endif +/** + * Returns 0 if the given assertion fails. + * + * @param t statement to check + */ +#define Assert_ret(t) \ + do { if (Assert_chk(t)) return(0); } while(0) -#endif /* NULLPO_CHECK */ +/** + * Returns void if a NULL pointer is found. + * + * @param t pointer to check + */ +#define nullpo_retv(t) \ + do { if (nullpo_chk(t)) return; } while(0) -/*---------------------------------------------------------------------------- - * Functions - *---------------------------------------------------------------------------- +/** + * Returns void if the given assertion fails. + * + * @param t statement to check */ -/*====================================== - * nullpo_chk - * Nullƒ`ƒFƒbƒN ‹y‚Ñ î•ño—Í - * [ˆø”] - * file __FILE__ - * line __LINE__ - * func __func__ (ŠÖ”–¼) - * ‚±‚ê‚ç‚É‚Í NLP_MARK ‚ðŽg‚¤‚Æ‚æ‚¢ - * target ƒ`ƒFƒbƒN‘ÎÛ - * [•Ô‚è’l] - * 0 OK - * 1 NULL - *-------------------------------------- +#define Assert_retv(t) \ + do { if (Assert_chk(t)) return; } while(0) + +/** + * Returns the given value if a NULL pointer is found. + * + * @param ret value to return + * @param t pointer to check */ -int nullpo_chk(const char *file, int line, const char *func, const void *target); - - -/*====================================== - * nullpo_chk_f - * Nullƒ`ƒFƒbƒN ‹y‚Ñ ÚׂÈî•ño—Í - * [ˆø”] - * file __FILE__ - * line __LINE__ - * func __func__ (ŠÖ”–¼) - * ‚±‚ê‚ç‚É‚Í NLP_MARK ‚ðŽg‚¤‚Æ‚æ‚¢ - * target ƒ`ƒFƒbƒN‘ÎÛ - * fmt ... vprintf‚É“n‚³‚ê‚é - * ”õl‚âŠÖŒW•Ï”‚Ì‘‚«o‚µ‚È‚Ç‚É - * [•Ô‚è’l] - * 0 OK - * 1 NULL - *-------------------------------------- +#define nullpo_retr(ret, t) \ + do { if (nullpo_chk(t)) return(ret); } while(0) + +/** + * Returns the given value if the given assertion fails. + * + * @param ret value to return + * @param t statement to check */ -int nullpo_chk_f(const char *file, int line, const char *func, const void *target, - const char *fmt, ...) - __attribute__((format(printf,5,6))); - - -/*====================================== - * nullpo_info - * nullpoî•ño—Í - * [ˆø”] - * file __FILE__ - * line __LINE__ - * func __func__ (ŠÖ”–¼) - * ‚±‚ê‚ç‚É‚Í NLP_MARK ‚ðŽg‚¤‚Æ‚æ‚¢ - *-------------------------------------- +#define Assert_retr(ret, t) \ + do { if (Assert_chk(t)) return(ret); } while(0) + +/** + * Breaks from the current loop/switch if a NULL pointer is found. + * + * @param t pointer to check */ -void nullpo_info(const char *file, int line, const char *func); - - -/*====================================== - * nullpo_info_f - * nullpoÚ×î•ño—Í - * [ˆø”] - * file __FILE__ - * line __LINE__ - * func __func__ (ŠÖ”–¼) - * ‚±‚ê‚ç‚É‚Í NLP_MARK ‚ðŽg‚¤‚Æ‚æ‚¢ - * fmt ... vprintf‚É“n‚³‚ê‚é - * ”õl‚âŠÖŒW•Ï”‚Ì‘‚«o‚µ‚È‚Ç‚É - *-------------------------------------- +#define nullpo_retb(t) \ + if (nullpo_chk(t)) break; else (void)0 + +/** + * Breaks from the current loop/switch if the given assertion fails. + * + * @param t statement to check */ -void nullpo_info_f(const char *file, int line, const char *func, - const char *fmt, ...) - __attribute__((format(printf,4,5))); +#define Assert_retb(t) \ + if (Assert_chk(t)) break; else (void)0 + +void assert_report(const char *file, int line, const char *func, const char *targetname, const char *title); -#endif /* _NULLPO_H_ */ +#endif /* COMMON_NULLPO_H */ diff --git a/src/common/socket.c b/src/common/socket.c index 2ae9d44b3..9c6938008 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -340,7 +340,7 @@ void set_eof(int fd) int recv_to_fifo(int fd) { - int len; + ssize_t len; if( !session_isActive(fd) ) return -1; @@ -377,7 +377,7 @@ int recv_to_fifo(int fd) int send_from_fifo(int fd) { - int len; + ssize_t len; if( !session_isValid(fd) ) return -1; @@ -855,6 +855,10 @@ int do_sockets(int next) } } +#ifdef __clang_analyzer__ + // Let Clang's static analyzer know this never happens (it thinks it might because of a NULL check in session_isValid) + if (!session[i]) continue; +#endif // __clang_analyzer__ session[i]->func_parse(i); if(!session[i]) @@ -1330,7 +1334,7 @@ int socket_getips(uint32* ips, int max) void socket_init(void) { char *SOCKET_CONF_FILENAME = "conf/packet.conf"; - unsigned int rlim_cur = FD_SETSIZE; + uint64 rlim_cur = FD_SETSIZE; #ifdef WIN32 {// Start up windows networking @@ -1403,7 +1407,7 @@ void socket_init(void) timer->add_interval(timer->gettick()+1000, connect_check_clear, 0, 0, 5*60*1000); #endif - ShowInfo("Server supports up to '"CL_WHITE"%u"CL_RESET"' concurrent connections.\n", rlim_cur); + ShowInfo("Server supports up to '"CL_WHITE"%lld"CL_RESET"' concurrent connections.\n", rlim_cur); /* Hercules Plugin Manager */ HPM->share(session,"session"); diff --git a/src/common/sql.c b/src/common/sql.c index 0e06d6d18..79ccc8e92 100644 --- a/src/common/sql.c +++ b/src/common/sql.c @@ -1036,7 +1036,7 @@ void Sql_HerculesUpdateCheck(Sql* self) { fseek (ufp,1,SEEK_SET);/* woo. skip the # */ if( fgets(timestamp,sizeof(timestamp),ufp) ) { - unsigned int timestampui = atol(timestamp); + unsigned int timestampui = (unsigned int)atol(timestamp); if( SQL_ERROR == SQL->Query(self, "SELECT 1 FROM `sql_updates` WHERE `timestamp` = '%u' LIMIT 1", timestampui) ) Sql_ShowDebug(self); if( Sql_NumRows(self) != 1 ) { @@ -1079,7 +1079,7 @@ void Sql_HerculesUpdateSkip(Sql* self,const char *filename) { fseek (ifp,1,SEEK_SET);/* woo. skip the # */ if( fgets(timestamp,sizeof(timestamp),ifp) ) { - unsigned int timestampui = atol(timestamp); + unsigned int timestampui = (unsigned int)atol(timestamp); if( SQL_ERROR == SQL->Query(self, "SELECT 1 FROM `sql_updates` WHERE `timestamp` = '%u' LIMIT 1", timestampui) ) Sql_ShowDebug(self); else if( Sql_NumRows(self) == 1 ) { diff --git a/src/common/strlib.c b/src/common/strlib.c index e45cb0789..0f68eb206 100644 --- a/src/common/strlib.c +++ b/src/common/strlib.c @@ -952,7 +952,7 @@ bool sv_readdb(const char* directory, const char* filename, char delim, int minc if( line[0] == '\0' || line[0] == '\n' || line[0] == '\r') continue; - columns = sv_split(line, strlen(line), 0, delim, fields, fields_length, (e_svopt)(SV_TERMINATE_LF|SV_TERMINATE_CRLF)); + columns = sv_split(line, (int)strlen(line), 0, delim, fields, fields_length, (e_svopt)(SV_TERMINATE_LF|SV_TERMINATE_CRLF)); if( columns < mincols ) { ShowError("sv_readdb: Insufficient columns in line %d of \"%s\" (found %d, need at least %d).\n", lines, path, columns, mincols); @@ -1018,7 +1018,8 @@ int StringBuf_Printf(StringBuf* self, const char* fmt, ...) { /// Appends the result of vprintf to the StringBuf int StringBuf_Vprintf(StringBuf* self, const char* fmt, va_list ap) { - int n, size, off; + int n, off; + size_t size; for(;;) { va_list apcopy; @@ -1028,7 +1029,7 @@ int StringBuf_Vprintf(StringBuf* self, const char* fmt, va_list ap) { n = vsnprintf(self->ptr_, size, fmt, apcopy); va_end(apcopy); /* If that worked, return the length. */ - if( n > -1 && n < size ) { + if( n > -1 && (size_t)n < size ) { self->ptr_ += n; return (int)(self->ptr_ - self->buf_); } @@ -1042,11 +1043,11 @@ int StringBuf_Vprintf(StringBuf* self, const char* fmt, va_list ap) { /// Appends the contents of another StringBuf to the StringBuf int StringBuf_Append(StringBuf* self, const StringBuf* sbuf) { - int available = self->max_ - (self->ptr_ - self->buf_); - int needed = (int)(sbuf->ptr_ - sbuf->buf_); + size_t available = self->max_ - (self->ptr_ - self->buf_); + size_t needed = sbuf->ptr_ - sbuf->buf_; if( needed >= available ) { - int off = (int)(self->ptr_ - self->buf_); + size_t off = (self->ptr_ - self->buf_); self->max_ += needed; self->buf_ = (char*)aRealloc(self->buf_, self->max_ + 1); self->ptr_ = self->buf_ + off; @@ -1059,12 +1060,12 @@ int StringBuf_Append(StringBuf* self, const StringBuf* sbuf) { // Appends str to the StringBuf int StringBuf_AppendStr(StringBuf* self, const char* str) { - int available = self->max_ - (self->ptr_ - self->buf_); - int needed = (int)strlen(str); + size_t available = self->max_ - (self->ptr_ - self->buf_); + size_t needed = strlen(str); if( needed >= available ) { // not enough space, expand the buffer (minimum expansion = 1024) - int off = (int)(self->ptr_ - self->buf_); + size_t off = (self->ptr_ - self->buf_); self->max_ += max(needed, 1024); self->buf_ = (char*)aRealloc(self->buf_, self->max_ + 1); self->ptr_ = self->buf_ + off; diff --git a/src/common/timer.c b/src/common/timer.c index e5cf5df2a..7f9e20dad 100644 --- a/src/common/timer.c +++ b/src/common/timer.c @@ -142,7 +142,7 @@ static void rdtsc_calibrate(){ * platform-abstracted tick retrieval * @return server's current tick */ -static int64 tick(void) { +static int64 sys_tick(void) { #if defined(WIN32) // Windows: GetTickCount/GetTickCount64: Return the number of // milliseconds that have elapsed since the system was started. @@ -206,7 +206,7 @@ static int gettick_count = 1; int64 timer_gettick_nocache(void) { gettick_count = TICK_CACHE; - gettick_cache = tick(); + gettick_cache = sys_tick(); return gettick_cache; } @@ -219,11 +219,11 @@ int64 timer_gettick(void) { // tick doesn't get cached int64 timer_gettick_nocache(void) { - return tick(); + return sys_tick(); } int64 timer_gettick(void) { - return tick(); + return sys_tick(); } ////////////////////////////////////////////////////////////////////////// #endif diff --git a/src/config/renewal.h b/src/config/renewal.h index a7fd22c37..3b11aff74 100644 --- a/src/config/renewal.h +++ b/src/config/renewal.h @@ -13,6 +13,7 @@ * @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/config/classes folder **/ +//#define DISABLE_RENEWAL #ifndef DISABLE_RENEWAL /// game renewal server mode diff --git a/src/login/account_sql.c b/src/login/account_sql.c index 533b3d860..283eb3a0d 100644 --- a/src/login/account_sql.c +++ b/src/login/account_sql.c @@ -543,16 +543,16 @@ static bool mmo_auth_fromsql(AccountDB_SQL* db, struct mmo_account* acc, int acc SQL->GetData(sql_handle, 3, &data, NULL); acc->sex = data[0]; SQL->GetData(sql_handle, 4, &data, NULL); safestrncpy(acc->email, data, sizeof(acc->email)); SQL->GetData(sql_handle, 5, &data, NULL); acc->group_id = atoi(data); - SQL->GetData(sql_handle, 6, &data, NULL); acc->state = strtoul(data, NULL, 10); + SQL->GetData(sql_handle, 6, &data, NULL); acc->state = (unsigned int)strtoul(data, NULL, 10); SQL->GetData(sql_handle, 7, &data, NULL); acc->unban_time = atol(data); SQL->GetData(sql_handle, 8, &data, NULL); acc->expiration_time = atol(data); - SQL->GetData(sql_handle, 9, &data, NULL); acc->logincount = strtoul(data, NULL, 10); + SQL->GetData(sql_handle, 9, &data, NULL); acc->logincount = (unsigned int)strtoul(data, NULL, 10); SQL->GetData(sql_handle, 10, &data, NULL); safestrncpy(acc->lastlogin, data, sizeof(acc->lastlogin)); SQL->GetData(sql_handle, 11, &data, NULL); safestrncpy(acc->last_ip, data, sizeof(acc->last_ip)); SQL->GetData(sql_handle, 12, &data, NULL); safestrncpy(acc->birthdate, data, sizeof(acc->birthdate)); SQL->GetData(sql_handle, 13, &data, NULL); acc->char_slots = (uint8)atoi(data); SQL->GetData(sql_handle, 14, &data, NULL); safestrncpy(acc->pincode, data, sizeof(acc->pincode)); - SQL->GetData(sql_handle, 15, &data, NULL); acc->pincode_change = atol(data); + SQL->GetData(sql_handle, 15, &data, NULL); acc->pincode_change = (unsigned int)atol(data); SQL->FreeResult(sql_handle); @@ -568,7 +568,6 @@ static bool mmo_auth_fromsql(AccountDB_SQL* db, struct mmo_account* acc, int acc while( SQL_SUCCESS == SQL->NextRow(sql_handle) ) { - char* data; SQL->GetData(sql_handle, 0, &data, NULL); safestrncpy(acc->account_reg2[i].str, data, sizeof(acc->account_reg2[i].str)); SQL->GetData(sql_handle, 1, &data, NULL); safestrncpy(acc->account_reg2[i].value, data, sizeof(acc->account_reg2[i].value)); ++i; diff --git a/src/login/login.c b/src/login/login.c index 75247845d..feed7239b 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -140,8 +140,8 @@ static int waiting_disconnect_timer(int tid, int64 tick, int id, intptr_t data) static int online_db_setoffline(DBKey key, DBData *data, va_list ap) { struct online_login_data* p = DB->data2ptr(data); - int server = va_arg(ap, int); - if( server == -1 ) + int server_id = va_arg(ap, int); + if( server_id == -1 ) { p->char_server = -1; if( p->waiting_disconnect != INVALID_TIMER ) @@ -150,7 +150,7 @@ static int online_db_setoffline(DBKey key, DBData *data, va_list ap) p->waiting_disconnect = INVALID_TIMER; } } - else if( p->char_server == server ) + else if( p->char_server == server_id ) p->char_server = -2; //Char server disconnected. return 0; } @@ -948,7 +948,7 @@ int mmo_auth_new(const char* userid, const char* pass, const char sex, const cha //----------------------------------------------------- int mmo_auth(struct login_session_data* sd, bool isServer) { struct mmo_account acc; - int len; + size_t len; char ip[16]; ip2str(session[sd->fd]->client_addr, ip); @@ -1615,7 +1615,7 @@ int login_config_read(const char* cfgName) else if(!strcmpi(w1, "check_client_version")) login_config.check_client_version = (bool)config_switch(w2); else if(!strcmpi(w1, "client_version_to_connect")) - login_config.client_version_to_connect = strtoul(w2, NULL, 10); + login_config.client_version_to_connect = (unsigned int)strtoul(w2, NULL, 10); else if(!strcmpi(w1, "use_MD5_passwords")) login_config.use_md5_passwds = (bool)config_switch(w2); else if(!strcmpi(w1, "group_id_to_connect")) diff --git a/src/login/login.h b/src/login/login.h index 15edb14dc..494912698 100644 --- a/src/login/login.h +++ b/src/login/login.h @@ -23,8 +23,8 @@ enum E_LOGINSERVER_ST struct login_session_data { int account_id; - long login_id1; - long login_id2; + int login_id1; + int login_id2; char sex;// 'F','M','S' char userid[NAME_LENGTH]; diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 9d01b2b37..953f1a0dc 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -398,17 +398,17 @@ ACMD(mapmove) { return false; } - if ((x || y) && map->getcell(m, x, y, CELL_CHKNOPASS) && pc->get_group_level(sd) < battle_config.gm_ignore_warpable_area) { + if ((x || y) && map->getcell(m, x, y, CELL_CHKNOPASS) && pc_get_group_level(sd) < battle_config.gm_ignore_warpable_area) { //This is to prevent the pc->setpos call from printing an error. clif->message(fd, msg_txt(2)); if (!map->search_freecell(NULL, m, &x, &y, 10, 10, 1)) x = y = 0; //Invalid cell, use random spot. } - if (map->list[m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (map->list[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(247)); return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(248)); return false; } @@ -437,7 +437,7 @@ ACMD(where) { pl_sd = map->nick2sd(atcmd_player_name); if (pl_sd == NULL || strncmp(pl_sd->status.name, atcmd_player_name, NAME_LENGTH) != 0 || - (pc->has_permission(pl_sd, PC_PERM_HIDE_SESSION) && pc->get_group_level(pl_sd) > pc->get_group_level(sd) && !pc->has_permission(sd, PC_PERM_WHO_DISPLAY_AID)) + (pc_has_permission(pl_sd, PC_PERM_HIDE_SESSION) && pc_get_group_level(pl_sd) > pc_get_group_level(sd) && !pc_has_permission(sd, PC_PERM_WHO_DISPLAY_AID)) ) { clif->message(fd, msg_txt(3)); // Character not found. return false; @@ -465,12 +465,12 @@ ACMD(jumpto) { return false; } - if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(247)); // You are not authorized to warp to this map. return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(248)); // You are not authorized to warp from your current map. return false; } @@ -498,7 +498,7 @@ ACMD(jump) sscanf(message, "%hd %hd", &x, &y); - if (map->list[sd->bl.m].flag.noteleport && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (map->list[sd->bl.m].flag.noteleport && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(248)); // You are not authorized to warp from your current map. return false; } @@ -554,12 +554,12 @@ ACMD(who) { else if (stristr(info->command, "3") != NULL) display_type = 3; - level = pc->get_group_level(sd); + level = pc_get_group_level(sd); StrBuf->Init(&buf); iter = mapit_getallusers(); for (pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter)) { - if (!((pc->has_permission(pl_sd, PC_PERM_HIDE_SESSION) || (pl_sd->sc.option & OPTION_INVISIBLE)) && pc->get_group_level(pl_sd) > level)) { // you can look only lower or same level + if (!((pc_has_permission(pl_sd, PC_PERM_HIDE_SESSION) || (pl_sd->sc.option & OPTION_INVISIBLE)) && pc_get_group_level(pl_sd) > level)) { // you can look only lower or same level if (stristr(pl_sd->status.name, player_name) == NULL // search with no case sensitive || (map_id >= 0 && pl_sd->bl.m != map_id)) continue; @@ -573,7 +573,7 @@ ACMD(who) { break; } case 3: { - if (pc->has_permission(sd, PC_PERM_WHO_DISPLAY_AID)) + if (pc_has_permission(sd, PC_PERM_WHO_DISPLAY_AID)) StrBuf->Printf(&buf, msg_txt(912), pl_sd->status.char_id, pl_sd->status.account_id); // "(CID:%d/AID:%d) " StrBuf->Printf(&buf, msg_txt(343), pl_sd->status.name); // "Name: %s " if (pc_get_group_id(pl_sd) > 0) // Player title, if exists @@ -646,12 +646,12 @@ ACMD(whogm) match_text[j] = TOLOWER(match_text[j]); count = 0; - level = pc->get_group_level(sd); + level = pc_get_group_level(sd); iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - pl_level = pc->get_group_level(pl_sd); + pl_level = pc_get_group_level(pl_sd); if (!pl_level) continue; @@ -729,11 +729,11 @@ ACMD(load) { int16 m; m = map->mapindex2mapid(sd->status.save_point.map); - if (m >= 0 && map->list[m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (m >= 0 && map->list[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(249)); // You are not authorized to warp to your save map. return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(248)); // You are not authorized to warp from your current map. return false; } @@ -993,7 +993,7 @@ ACMD(alive) *------------------------------------------*/ ACMD(kami) { - unsigned long color=0; + unsigned int color=0; memset(atcmd_output, '\0', sizeof(atcmd_output)); @@ -1009,7 +1009,7 @@ ACMD(kami) else intif->broadcast(atcmd_output, strlen(atcmd_output) + 1, (*(info->command + 4) == 'b' || *(info->command + 4) == 'B') ? BC_BLUE : BC_YELLOW); } else { - if(!message || !*message || (sscanf(message, "%lx %199[^\n]", &color, atcmd_output) < 2)) { + if(!message || !*message || (sscanf(message, "%u %199[^\n]", &color, atcmd_output) < 2)) { clif->message(fd, msg_txt(981)); // Please enter color and message (usage: @kamic <color> <message>). return false; } @@ -1859,11 +1859,11 @@ ACMD(go) if (town >= 0 && town < ARRAYLENGTH(data)) { m = map->mapname2mapid(data[town].map); - if (m >= 0 && map->list[m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (m >= 0 && map->list[m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(247)); return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(248)); return false; } @@ -2674,17 +2674,17 @@ ACMD(recall) { return false; } - if ( pc->get_group_level(sd) < pc->get_group_level(pl_sd) ) + if ( pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) { clif->message(fd, msg_txt(81)); // Your GM level doesn't authorize you to preform this action on the specified player. return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(1019)); // You are not authorized to warp someone to this map. return false; } - if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(1020)); // You are not authorized to warp this player from their map. return false; } @@ -2895,7 +2895,7 @@ ACMD(doom) iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - if (pl_sd->fd != fd && pc->get_group_level(sd) >= pc->get_group_level(pl_sd)) + if (pl_sd->fd != fd && pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { status_kill(&pl_sd->bl); clif->specialeffect(&pl_sd->bl,450,AREA); @@ -2920,7 +2920,7 @@ ACMD(doommap) iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - if (pl_sd->fd != fd && sd->bl.m == pl_sd->bl.m && pc->get_group_level(sd) >= pc->get_group_level(pl_sd)) + if (pl_sd->fd != fd && sd->bl.m == pl_sd->bl.m && pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { status_kill(&pl_sd->bl); clif->specialeffect(&pl_sd->bl,450,AREA); @@ -3002,7 +3002,7 @@ ACMD(kick) return false; } - if ( pc->get_group_level(sd) < pc->get_group_level(pl_sd) ) + if ( pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) { clif->message(fd, msg_txt(81)); // Your GM level don't authorise you to do this action on this player. return false; @@ -3024,7 +3024,7 @@ ACMD(kickall) iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - if (pc->get_group_level(sd) >= pc->get_group_level(pl_sd)) { // you can kick only lower or same gm level + if (pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { // you can kick only lower or same gm level if (sd->status.account_id != pl_sd->status.account_id) clif->GM_kick(NULL, pl_sd); } @@ -3352,7 +3352,7 @@ ACMD(recallall) memset(atcmd_output, '\0', sizeof(atcmd_output)); - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(1032)); // You are not authorized to warp somenone to your current map. return false; } @@ -3360,10 +3360,10 @@ ACMD(recallall) count = 0; iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - if (sd->status.account_id != pl_sd->status.account_id && pc->get_group_level(sd) >= pc->get_group_level(pl_sd)) { + if (sd->status.account_id != pl_sd->status.account_id && pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { if (pl_sd->bl.m == sd->bl.m && pl_sd->bl.x == sd->bl.x && pl_sd->bl.y == sd->bl.y) continue; // Don't waste time warping the character to the same place. - if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) + if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) count++; else { if (pc_isdead(pl_sd)) { //Wake them up @@ -3404,7 +3404,7 @@ ACMD(guildrecall) return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(1032)); // You are not authorized to warp somenone to your current map. return false; } @@ -3422,9 +3422,9 @@ ACMD(guildrecall) for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { if (sd->status.account_id != pl_sd->status.account_id && pl_sd->status.guild_id == g->guild_id) { - if (pc->get_group_level(pl_sd) > pc->get_group_level(sd) || (pl_sd->bl.m == sd->bl.m && pl_sd->bl.x == sd->bl.x && pl_sd->bl.y == sd->bl.y)) + if (pc_get_group_level(pl_sd) > pc_get_group_level(sd) || (pl_sd->bl.m == sd->bl.m && pl_sd->bl.x == sd->bl.x && pl_sd->bl.y == sd->bl.y)) continue; // Skip GMs greater than you... or chars already on the cell - if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) + if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) count++; else pc->setpos(pl_sd, sd->mapindex, sd->bl.x, sd->bl.y, CLR_RESPAWN); @@ -3461,7 +3461,7 @@ ACMD(partyrecall) return false; } - if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) { + if (sd->bl.m >= 0 && map->list[sd->bl.m].flag.nowarpto && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) { clif->message(fd, msg_txt(1032)); // You are not authorized to warp somenone to your current map. return false; } @@ -3478,9 +3478,9 @@ ACMD(partyrecall) iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { if (sd->status.account_id != pl_sd->status.account_id && pl_sd->status.party_id == p->party.party_id) { - if (pc->get_group_level(pl_sd) > pc->get_group_level(sd) || (pl_sd->bl.m == sd->bl.m && pl_sd->bl.x == sd->bl.x && pl_sd->bl.y == sd->bl.y)) + if (pc_get_group_level(pl_sd) > pc_get_group_level(sd) || (pl_sd->bl.m == sd->bl.m && pl_sd->bl.x == sd->bl.x && pl_sd->bl.y == sd->bl.y)) continue; // Skip GMs greater than you... or chars already on the cell - if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE)) + if (pl_sd->bl.m >= 0 && map->list[pl_sd->bl.m].flag.nowarp && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE)) count++; else pc->setpos(pl_sd, sd->mapindex, sd->bl.x, sd->bl.y, CLR_RESPAWN); @@ -4106,7 +4106,7 @@ ACMD(nuke) { } if ((pl_sd = map->nick2sd(atcmd_player_name)) != NULL) { - if (pc->get_group_level(sd) >= pc->get_group_level(pl_sd)) { // you can kill only lower or same GM level + if (pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { // you can kill only lower or same GM level skill->castend_nodamage_id(&pl_sd->bl, &pl_sd->bl, NPC_SELFDESTRUCTION, 99, timer->gettick(), 0); clif->message(fd, msg_txt(109)); // Player has been nuked! } else { @@ -4278,9 +4278,9 @@ char* txt_time(unsigned int duration) else tlen += sprintf(tlen + temp1, msg_txt(224), minutes); // %d minutes if (seconds == 1) - tlen += sprintf(tlen + temp1, msg_txt(225), seconds); // and %d second + sprintf(tlen + temp1, msg_txt(225), seconds); // and %d second else if (seconds > 1) - tlen += sprintf(tlen + temp1, msg_txt(226), seconds); // and %d seconds + sprintf(tlen + temp1, msg_txt(226), seconds); // and %d seconds return temp1; } @@ -4390,7 +4390,7 @@ ACMD(jail) { return false; } - if (pc->get_group_level(sd) < pc->get_group_level(pl_sd)) + if (pc_get_group_level(sd) < pc_get_group_level(pl_sd)) { // you can jail only lower or same GM clif->message(fd, msg_txt(81)); // Your GM level don't authorise you to do this action on this player. return false; @@ -4441,7 +4441,7 @@ ACMD(unjail) { return false; } - if (pc->get_group_level(sd) < pc->get_group_level(pl_sd)) { // you can jail only lower or same GM + if (pc_get_group_level(sd) < pc_get_group_level(pl_sd)) { // you can jail only lower or same GM clif->message(fd, msg_txt(81)); // Your GM level don't authorise you to do this action on this player. return false; @@ -4519,7 +4519,7 @@ ACMD(jailfor) { return false; } - if (pc->get_group_level(pl_sd) > pc->get_group_level(sd)) { + if (pc_get_group_level(pl_sd) > pc_get_group_level(sd)) { clif->message(fd, msg_txt(81)); // Your GM level don't authorise you to do this action on this player. return false; } @@ -5200,7 +5200,8 @@ ACMD(clearcart) #define MAX_SKILLID_PARTIAL_RESULTS 5 #define MAX_SKILLID_PARTIAL_RESULTS_LEN 74 /* "skill " (6) + "%d:" (up to 5) + "%s" (up to 30) + " (%s)" (up to 33) */ ACMD(skillid) { - int skillen, idx, i, found = 0; + int idx, i, found = 0; + size_t skillen; DBIterator* iter; DBKey key; DBData *data; @@ -5262,7 +5263,7 @@ ACMD(useskill) { return false; } - if ( pc->get_group_level(sd) < pc->get_group_level(pl_sd) ) + if ( pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) { clif->message(fd, msg_txt(81)); // Your GM level don't authorise you to do this action on this player. return false; @@ -6061,7 +6062,7 @@ ACMD(npctalk) char name[NAME_LENGTH],mes[100],temp[100]; struct npc_data *nd; bool ifcolor=(*(info->command + 7) != 'c' && *(info->command + 7) != 'C')?0:1; - unsigned long color=0; + unsigned int color = 0; if (sd->sc.count && //no "chatting" while muted. (sd->sc.data[SC_BERSERK] || sd->sc.data[SC_DEEP_SLEEP] || @@ -6075,7 +6076,7 @@ ACMD(npctalk) } } else { - if (!message || !*message || sscanf(message, "%lx %23[^,], %99[^\n]", &color, name, mes) < 3) { + if (!message || !*message || sscanf(message, "%u %23[^,], %99[^\n]", &color, name, mes) < 3) { clif->message(fd, msg_txt(1223)); // Please enter the correct parameters (usage: @npctalkc <color> <npc name>, <message>). return false; } @@ -6414,7 +6415,7 @@ ACMD(mute) { return false; } - if ( pc->get_group_level(sd) < pc->get_group_level(pl_sd) ) + if ( pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) { clif->message(fd, msg_txt(81)); // Your GM level don't authorise you to do this action on this player. return false; @@ -6664,7 +6665,7 @@ ACMD(showmobs) return true; } - if(mob->db(mob_id)->status.mode&MD_BOSS && !pc->has_permission(sd, PC_PERM_SHOW_BOSS)){ // If player group does not have access to boss mobs. + if(mob->db(mob_id)->status.mode&MD_BOSS && !pc_has_permission(sd, PC_PERM_SHOW_BOSS)){ // If player group does not have access to boss mobs. clif->message(fd, msg_txt(1251)); // Can't show boss mobs! return true; } @@ -7217,7 +7218,7 @@ int atcommand_mutearea_sub(struct block_list *bl,va_list ap) id = va_arg(ap, int); time = va_arg(ap, int); - if (id != bl->id && !pc->get_group_level(pl_sd)) { + if (id != bl->id && !pc_get_group_level(pl_sd)) { pl_sd->status.manner -= time; if (pl_sd->status.manner < 0) sc_start(&pl_sd->bl,SC_NOCHAT,100,0,0); @@ -7800,7 +7801,7 @@ ACMD(clone) { return true; } - if(pc->get_group_level(pl_sd) > pc->get_group_level(sd)) { + if(pc_get_group_level(pl_sd) > pc_get_group_level(sd)) { clif->message(fd, msg_txt(126)); // Cannot clone a player of higher GM level than yourself. return true; } @@ -8286,7 +8287,7 @@ void atcommand_commands_sub(struct map_session_data* sd, const int fd, AtCommand clif->message(fd, msg_txt(273)); // "Commands available:" for (cmd = dbi_first(iter); dbi_exists(iter); cmd = dbi_next(iter)) { - unsigned int slen = 0; + size_t slen; switch( type ) { case COMMAND_CHARCOMMAND: @@ -8375,7 +8376,7 @@ ACMD(accinfo) { //remove const type safestrncpy(query, message, NAME_LENGTH); - intif->request_accinfo( sd->fd, sd->bl.id, pc->get_group_level(sd), query ); + intif->request_accinfo( sd->fd, sd->bl.id, pc_get_group_level(sd), query ); return true; } @@ -8384,8 +8385,9 @@ ACMD(accinfo) { ACMD(set) { char reg[32], val[128]; struct script_data* data; - int toset = 0, len; + int toset = 0; bool is_str = false; + size_t len; if( !message || !*message || (toset = sscanf(message, "%31s %128[^\n]s", reg, val)) < 1 ) { clif->message(fd, msg_txt(1367)); // Usage: @set <variable name> <value> @@ -8658,7 +8660,7 @@ ACMD(join) { return false; } if( channel->pass[0] != '\0' && strcmp(channel->pass,pass) != 0 ) { - if( pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { sd->stealth = true; } else { sprintf(atcmd_output, msg_txt(1401),name,command); // '%s' Channel is password protected (usage: %s <#channel_name> <password>) @@ -8746,16 +8748,16 @@ static inline void atcmd_channel_help(int fd, const char *command, bool can_crea /* [Ind/Hercules] */ ACMD(channel) { struct hChSysCh *channel; - char key[HCHSYS_NAME_LENGTH], sub1[HCHSYS_NAME_LENGTH], sub2[HCHSYS_NAME_LENGTH], sub3[HCHSYS_NAME_LENGTH]; + char subcmd[HCHSYS_NAME_LENGTH], sub1[HCHSYS_NAME_LENGTH], sub2[HCHSYS_NAME_LENGTH], sub3[HCHSYS_NAME_LENGTH]; unsigned char k = 0; sub1[0] = sub2[0] = sub3[0] = '\0'; - if( !message || !*message || sscanf(message, "%s %s %s %s", key, sub1, sub2, sub3) < 1 ) { - atcmd_channel_help(fd,command,( hChSys.allow_user_channel_creation || pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) )); + if( !message || !*message || sscanf(message, "%s %s %s %s", subcmd, sub1, sub2, sub3) < 1 ) { + atcmd_channel_help(fd,command,( hChSys.allow_user_channel_creation || pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) )); return true; } - if( strcmpi(key,"create") == 0 && ( hChSys.allow_user_channel_creation || pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) ) { + if( strcmpi(subcmd,"create") == 0 && ( hChSys.allow_user_channel_creation || pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) ) { if( sub1[0] != '#' ) { clif->message(fd, msg_txt(1405));// Channel name must start with a '#' return false; @@ -8787,7 +8789,7 @@ ACMD(channel) { clif->chsys_join(channel,sd); - } else if ( strcmpi(key,"list") == 0 ) { + } else if ( strcmpi(subcmd,"list") == 0 ) { if( sub1[0] != '\0' && strcmpi(sub1,"colors") == 0 ) { char mout[40]; for( k = 0; k < hChSys.colors_count; k++ ) { @@ -8804,7 +8806,7 @@ ACMD(channel) { } } else { DBIterator *iter = db_iterator(clif->channel_db); - bool show_all = pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ? true : false; + bool show_all = pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ? true : false; clif->message(fd, msg_txt(1410)); // -- Public Channels if( hChSys.local ) { sprintf(atcmd_output, msg_txt(1409), hChSys.local_name, map->list[sd->bl.m].channel ? db_size(map->list[sd->bl.m].channel->users) : 0);// - #%s ( %d users ) @@ -8824,7 +8826,7 @@ ACMD(channel) { } dbi_destroy(iter); } - } else if ( strcmpi(key,"setcolor") == 0 ) { + } else if ( strcmpi(subcmd,"setcolor") == 0 ) { if( sub1[0] != '#' ) { clif->message(fd, msg_txt(1405));// Channel name must start with a '#' @@ -8837,7 +8839,7 @@ ACMD(channel) { return false; } - if( channel->owner != sd->status.char_id && !pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { sprintf(atcmd_output, msg_txt(1412), sub1);// You're not the owner of channel '%s' clif->message(fd, atcmd_output); return false; @@ -8855,7 +8857,7 @@ ACMD(channel) { channel->color = k; sprintf(atcmd_output, msg_txt(1413),sub1,hChSys.colors_name[k]);// '%s' channel color updated to '%s' clif->message(fd, atcmd_output); - } else if ( strcmpi(key,"leave") == 0 ) { + } else if ( strcmpi(subcmd,"leave") == 0 ) { if( sub1[0] != '#' ) { clif->message(fd, msg_txt(1405));// Channel name must start with a '#' @@ -8883,7 +8885,7 @@ ACMD(channel) { clif->chsys_left(sd->channels[k],sd); sprintf(atcmd_output, msg_txt(1426),sub1); // You've left the '%s' channel clif->message(fd, atcmd_output); - } else if ( strcmpi(key,"bindto") == 0 ) { + } else if ( strcmpi(subcmd,"bindto") == 0 ) { if( sub1[0] != '#' ) { clif->message(fd, msg_txt(1405));// Channel name must start with a '#' @@ -8903,7 +8905,7 @@ ACMD(channel) { sd->gcbind = sd->channels[k]; sprintf(atcmd_output, msg_txt(1431),sub1); // Your global chat is now binded to the '%s' channel clif->message(fd, atcmd_output); - } else if ( strcmpi(key,"unbind") == 0 ) { + } else if ( strcmpi(subcmd,"unbind") == 0 ) { if( sd->gcbind == NULL ) { clif->message(fd, msg_txt(1432));// Your global chat is not binded to any channel @@ -8914,7 +8916,7 @@ ACMD(channel) { clif->message(fd, atcmd_output); sd->gcbind = NULL; - } else if ( strcmpi(key,"ban") == 0 ) { + } else if ( strcmpi(subcmd,"ban") == 0 ) { struct map_session_data *pl_sd = NULL; struct hChSysBanEntry *entry = NULL; @@ -8929,13 +8931,13 @@ ACMD(channel) { return false; } - if( channel->owner != sd->status.char_id && !pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { sprintf(atcmd_output, msg_txt(1412), sub1);// You're not the owner of channel '%s' clif->message(fd, atcmd_output); return false; } - if (!message || !*message || sscanf(message, "%s %s %24[^\n]", key, sub1, sub2) < 1) { + if (!message || !*message || sscanf(message, "%s %s %24[^\n]", subcmd, sub1, sub2) < 1) { sprintf(atcmd_output, msg_txt(1434), sub2);// Player '%s' was not found clif->message(fd, atcmd_output); return false; @@ -8947,7 +8949,7 @@ ACMD(channel) { return false; } - if( pc->has_permission(pl_sd, PC_PERM_HCHSYS_ADMIN) ) { + if( pc_has_permission(pl_sd, PC_PERM_HCHSYS_ADMIN) ) { clif->message(fd, msg_txt(1464)); // Ban failed, not possible to ban this user. return false; } @@ -8971,7 +8973,7 @@ ACMD(channel) { sprintf(atcmd_output, msg_txt(1437),pl_sd->status.name,sub1); // Player '%s' has now been banned from '%s' channel clif->message(fd, atcmd_output); - } else if ( strcmpi(key,"unban") == 0 ) { + } else if ( strcmpi(subcmd,"unban") == 0 ) { struct map_session_data *pl_sd = NULL; if( sub1[0] != '#' ) { @@ -8985,7 +8987,7 @@ ACMD(channel) { return false; } - if( channel->owner != sd->status.char_id && !pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { sprintf(atcmd_output, msg_txt(1412), sub1);// You're not the owner of channel '%s' clif->message(fd, atcmd_output); return false; @@ -9018,7 +9020,7 @@ ACMD(channel) { sprintf(atcmd_output, msg_txt(1441),pl_sd->status.name,sub1); // Player '%s' has now been unbanned from the '%s' channel clif->message(fd, atcmd_output); - } else if ( strcmpi(key,"unbanall") == 0 ) { + } else if ( strcmpi(subcmd,"unbanall") == 0 ) { if( sub1[0] != '#' ) { clif->message(fd, msg_txt(1405));// Channel name must start with a '#' return false; @@ -9030,7 +9032,7 @@ ACMD(channel) { return false; } - if( channel->owner != sd->status.char_id && !pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { sprintf(atcmd_output, msg_txt(1412), sub1);// You're not the owner of channel '%s' clif->message(fd, atcmd_output); return false; @@ -9047,11 +9049,11 @@ ACMD(channel) { sprintf(atcmd_output, msg_txt(1442),sub1); // Removed all bans from '%s' channel clif->message(fd, atcmd_output); - } else if ( strcmpi(key,"banlist") == 0 ) { + } else if ( strcmpi(subcmd,"banlist") == 0 ) { DBIterator *iter = NULL; DBKey key; DBData *data; - bool isA = pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN)?true:false; + bool isA = pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN)?true:false; if( sub1[0] != '#' ) { clif->message(fd, msg_txt(1405));// Channel name must start with a '#' return false; @@ -9092,7 +9094,7 @@ ACMD(channel) { dbi_destroy(iter); - } else if ( strcmpi(key,"setopt") == 0 ) { + } else if ( strcmpi(subcmd,"setopt") == 0 ) { const char* opt_str[3] = { "None", "JoinAnnounce", @@ -9110,7 +9112,7 @@ ACMD(channel) { return false; } - if( channel->owner != sd->status.char_id && !pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( channel->owner != sd->status.char_id && !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { sprintf(atcmd_output, msg_txt(1412), sub1);// You're not the owner of channel '%s' clif->message(fd, atcmd_output); return false; @@ -9201,7 +9203,7 @@ ACMD(channel) { } } else { - atcmd_channel_help(fd,command,( hChSys.allow_user_channel_creation || pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) )); + atcmd_channel_help(fd,command,( hChSys.allow_user_channel_creation || pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) )); } return true; @@ -9768,7 +9770,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message // 1 = player invoked if ( type == 1) { //Commands are disabled on maps flagged as 'nocommand' - if ( map->list[sd->bl.m].nocommand && pc->get_group_level(sd) < map->list[sd->bl.m].nocommand ) { + if ( map->list[sd->bl.m].nocommand && pc_get_group_level(sd) < map->list[sd->bl.m].nocommand ) { clif->message(fd, msg_txt(143)); return false; } @@ -9803,7 +9805,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message break; } - if( !pc->get_group_level(sd) ) { + if( !pc_get_group_level(sd) ) { if( x >= 1 || y >= 1 ) { /* we have command */ info = atcommand->get_info_byname(atcommand->check_alias(command + 1)); if( !info || info->char_groups[pcg->get_idx(sd->group)] == 0 ) /* if we can't use or doesn't exist: don't even display the command failed message */ @@ -9817,7 +9819,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message return true; } while(0); } - else if (*message == atcommand->at_symbol) { + else /*if (*message == atcommand->at_symbol)*/ { //atcmd_msg is constructed above differently for charcommands //it's copied from message if not a charcommand so it can //pass through the rest of the code compatible with both symbols @@ -9846,8 +9848,8 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message if( binding != NULL && binding->npc_event[0] && ( - (*atcmd_msg == atcommand->at_symbol && pc->get_group_level(sd) >= binding->group_lv) - || (*atcmd_msg == atcommand->char_symbol && pc->get_group_level(sd) >= binding->group_lv_char) + (*atcmd_msg == atcommand->at_symbol && pc_get_group_level(sd) >= binding->group_lv) + || (*atcmd_msg == atcommand->char_symbol && pc_get_group_level(sd) >= binding->group_lv_char) ) ) { // Check if self or character invoking; if self == character invoked, then self invoke. @@ -9874,7 +9876,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message //Grab the command information and check for the proper GM level required to use it or if the command exists info = atcommand->get_info_byname(atcommand->check_alias(command + 1)); if (info == NULL) { - if( pc->get_group_level(sd) ) { // TODO: remove or replace with proper permission + if( pc_get_group_level(sd) ) { // TODO: remove or replace with proper permission sprintf(output, msg_txt(153), command); // "%s is Unknown Command." clif->message(fd, output); atcommand->get_suggestions(sd, command + 1, *message == atcommand->at_symbol); @@ -9890,13 +9892,13 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message (*command == atcommand->char_symbol && info->char_groups[pcg->get_idx(sd->group)] == 0) ) { return false; } - if( pc_isdead(sd) && pc->has_permission(sd,PC_PERM_DISABLE_CMD_DEAD) ) { + if( pc_isdead(sd) && pc_has_permission(sd,PC_PERM_DISABLE_CMD_DEAD) ) { clif->message(fd, msg_txt(1393)); // You can't use commands while dead return true; } for(i = 0; i < map->list[sd->bl.m].zone->disabled_commands_count; i++) { if( info->func == map->list[sd->bl.m].zone->disabled_commands[i]->cmd ) { - if( pc->get_group_level(sd) < map->list[sd->bl.m].zone->disabled_commands[i]->group_lv ) { + if( pc_get_group_level(sd) < map->list[sd->bl.m].zone->disabled_commands[i]->group_lv ) { clif->colormes(sd->fd,COLOR_RED,"This command is disabled in this area"); return true; } else @@ -10037,7 +10039,7 @@ void atcommand_config_read(const char* config_filename) { else { if( commandinfo->help == NULL ) { const char *str = config_setting_get_string(command); - int len = strlen(str); + size_t len = strlen(str); commandinfo->help = aMalloc( len * sizeof(char) ); safestrncpy(commandinfo->help, str, len); } diff --git a/src/map/battle.c b/src/map/battle.c index b3e7e6dc2..b8143213a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -12,6 +12,7 @@ #include "../common/socket.h" #include "../common/strlib.h" #include "../common/utils.h" +#include "../common/HPM.h" #include "map.h" #include "path.h" @@ -335,11 +336,11 @@ int64 battle_attr_fix(struct block_list *src, struct block_list *target, int64 d if( atk_elem == ELE_FIRE && battle->get_current_skill(target) == GN_WALLOFTHORN ) { struct skill_unit *su = (struct skill_unit*)target; struct skill_unit_group *sg; - struct block_list *src; + struct block_list *sgsrc; if( !su || !su->alive || (sg = su->group) == NULL || sg->val3 == -1 - || (src = map->id2bl(sg->src_id)) == NULL || status->isdead(src) + || (sgsrc = map->id2bl(sg->src_id)) == NULL || status->isdead(sgsrc) ) return 0; @@ -347,7 +348,7 @@ int64 battle_attr_fix(struct block_list *src, struct block_list *target, int64 d int x,y; x = sg->val3 >> 16; y = sg->val3 & 0xffff; - skill->unitsetting(src,su->group->skill_id,su->group->skill_lv,x,y,1); + skill->unitsetting(sgsrc,su->group->skill_id,su->group->skill_lv,x,y,1); sg->val3 = -1; sg->limit = DIFF_TICK32(timer->gettick(),sg->tick)+300; } @@ -2332,11 +2333,12 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block break; case SR_RAMPAGEBLASTER: skillratio += 20 * skill_lv * (sd?sd->spiritball_old:5) - 100; - if( sc && sc->data[SC_EXPLOSIONSPIRITS] ){ + if( sc && sc->data[SC_EXPLOSIONSPIRITS] ) { skillratio += sc->data[SC_EXPLOSIONSPIRITS]->val1 * 20; RE_LVL_DMOD(120); - }else + } else { RE_LVL_DMOD(150); + } break; case SR_KNUCKLEARROW: if( flag&4 ){ // ATK [(Skill Level x 150) + (1000 x Target current weight / Maximum weight) + (Target Base Level x 5) x (Caster Base Level / 150)] % @@ -2600,10 +2602,10 @@ int64 battle_calc_damage(struct block_list *src,struct block_list *bl,struct Dam if( sc->data[SC_SAFETYWALL] && (flag&(BF_SHORT|BF_MAGIC))==BF_SHORT ) { struct skill_unit_group* group = skill->id2group(sc->data[SC_SAFETYWALL]->val3); - uint16 skill_id = sc->data[SC_SAFETYWALL]->val2; + uint16 src_skill_id = sc->data[SC_SAFETYWALL]->val2; if (group) { d->dmg_lv = ATK_BLOCK; - if(skill_id == MH_STEINWAND){ + if(src_skill_id == MH_STEINWAND){ if (--group->val2<=0) skill->del_unitgroup(group,ALC_MARK); return 0; @@ -3209,11 +3211,9 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list memset(&ad,0,sizeof(ad)); memset(&flag,0,sizeof(flag)); - if(src==NULL || target==NULL) - { - nullpo_info(NLP_MARK); - return ad; - } + nullpo_retr(ad, src); + nullpo_retr(ad, target); + //Initial Values ad.damage = 1; ad.div_=skill->get_num(skill_id,skill_lv); @@ -3521,10 +3521,8 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * memset(&md,0,sizeof(md)); - if( src == NULL || target == NULL ){ - nullpo_info(NLP_MARK); - return md; - } + nullpo_retr(md, src); + nullpo_retr(md, target); //Some initial values md.amotion=skill->get_inf(skill_id)&INF_GROUND_SKILL?0:sstatus->amotion; @@ -3642,12 +3640,12 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list * md.damage = 7 * md.damage / 20; }*/ }else{ - float vitfactor = 0.0f, temp; + float vitfactor = 0.0f, ftemp; if( (vitfactor=(status_get_vit(target)-120.0f)) > 0) vitfactor = (vitfactor * (matk + atk) / 10) / status_get_vit(target); - temp = max(0, vitfactor) + (targetVit * (matk + atk)) / 10; - md.damage = (int64)(temp * 70 * skill_lv / 100); + ftemp = max(0, vitfactor) + (targetVit * (matk + atk)) / 10; + md.damage = (int64)(ftemp * 70 * skill_lv / 100); } md.damage -= totaldef; } @@ -3947,11 +3945,9 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list memset(&wd,0,sizeof(wd)); memset(&flag,0,sizeof(flag)); - if(src==NULL || target==NULL) - { - nullpo_info(NLP_MARK); - return wd; - } + nullpo_retr(wd, src); + nullpo_retr(wd, target); + //Initial flag flag.rh=1; flag.weapon=1; @@ -4559,7 +4555,7 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list short index = sd?sd->equip_index[EQI_HAND_R]:0; GET_NORMAL_ATTACK( (sc && sc->data[SC_MAXIMIZEPOWER]?1:0)|(sc && sc->data[SC_WEAPONPERFECT]?8:0) ); wd.damage = wd.damage * 70 / 100; - n_ele = true; + //n_ele = true; // FIXME: This is has no effect if it's after GET_NORMAL_ATTACK (was this intended, or was it supposed to be put above?) if (sd && index >= 0 && sd->inventory_data[index] && @@ -5267,6 +5263,11 @@ void battle_reflect_damage(struct block_list *target, struct block_list *src, st delay += 100;/* gradual increase so the numbers don't clip in the client */ } } + +#ifdef __clang_analyzer__ + // Tell Clang's static analyzer that we want to += it even the value is currently unused (it'd be used if we added new checks) + (void)delay; +#endif // __clang_analyzer /* something caused reflect */ if( trdamage ) { @@ -5830,11 +5831,11 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f if ( s_bl->type == BL_PC ) { switch( t_bl->type ) { case BL_MOB: // Source => PC, Target => MOB - if (pc->has_permission((TBL_PC*)s_bl, PC_PERM_DISABLE_PVM) ) + if (pc_has_permission((TBL_PC*)s_bl, PC_PERM_DISABLE_PVM) ) return 0; break; case BL_PC: - if (pc->has_permission((TBL_PC*)s_bl, PC_PERM_DISABLE_PVP)) + if (pc_has_permission((TBL_PC*)s_bl, PC_PERM_DISABLE_PVP)) return 0; break; default:/* anything else goes */ @@ -6708,8 +6709,11 @@ int battle_set_value(const char* w1, const char* w2) int i; ARR_FIND(0, ARRAYLENGTH(battle_data), i, strcmpi(w1, battle_data[i].str) == 0); - if (i == ARRAYLENGTH(battle_data)) + if (i == ARRAYLENGTH(battle_data)) { + if( HPM->parseConf(w1,w2,HPCT_BATTLE) ) /* if plugin-owned, succeed */ + return 1; return 0; // not found + } if (val < battle_data[i].min || val > battle_data[i].max) { diff --git a/src/map/buyingstore.c b/src/map/buyingstore.c index a9f1412ed..2a15e66fc 100644 --- a/src/map/buyingstore.c +++ b/src/map/buyingstore.c @@ -76,7 +76,7 @@ void buyingstore_create(struct map_session_data* sd, int zenylimit, unsigned cha return; } - if( !pc->can_give_items(sd) ) + if( !pc_can_give_items(sd) ) {// custom: GM is not allowed to buy (give zeny) sd->buyingstore.slots = 0; clif->message(sd->fd, msg_txt(246)); @@ -123,7 +123,7 @@ void buyingstore_create(struct map_session_data* sd, int zenylimit, unsigned cha break; } - if( !id->flag.buyingstore || !itemdb->cantrade_sub(id, pc->get_group_level(sd), pc->get_group_level(sd)) || ( idx = pc->search_inventory(sd, nameid) ) == -1 ) + if( !id->flag.buyingstore || !itemdb->cantrade_sub(id, pc_get_group_level(sd), pc_get_group_level(sd)) || ( idx = pc->search_inventory(sd, nameid) ) == -1 ) {// restrictions: allowed, no character-bound items and at least one must be owned break; } @@ -197,7 +197,7 @@ void buyingstore_open(struct map_session_data* sd, int account_id) return; } - if( !pc->can_give_items(sd) ) + if( !pc_can_give_items(sd) ) {// custom: GM is not allowed to sell clif->message(sd->fd, msg_txt(246)); return; @@ -235,7 +235,7 @@ void buyingstore_trade(struct map_session_data* sd, int account_id, unsigned int return; } - if( !pc->can_give_items(sd) ) + if( !pc_can_give_items(sd) ) {// custom: GM is not allowed to sell clif->message(sd->fd, msg_txt(246)); clif->buyingstore_trade_failed_seller(sd, BUYINGSTORE_TRADE_SELLER_FAILED, 0); @@ -290,7 +290,7 @@ void buyingstore_trade(struct map_session_data* sd, int account_id, unsigned int return; } - if( sd->status.inventory[index].expire_time || (sd->status.inventory[index].bound && !pc->can_give_bound_items(sd)) || !itemdb_cantrade(&sd->status.inventory[index], pc->get_group_level(sd), pc->get_group_level(pl_sd)) || memcmp(sd->status.inventory[index].card, buyingstore->blankslots, sizeof(buyingstore->blankslots)) ) + if( sd->status.inventory[index].expire_time || (sd->status.inventory[index].bound && !pc_can_give_bound_items(sd)) || !itemdb_cantrade(&sd->status.inventory[index], pc_get_group_level(sd), pc_get_group_level(pl_sd)) || memcmp(sd->status.inventory[index].card, buyingstore->blankslots, sizeof(buyingstore->blankslots)) ) {// non-tradable item clif->buyingstore_trade_failed_seller(sd, BUYINGSTORE_TRADE_SELLER_FAILED, nameid); return; diff --git a/src/map/chat.c b/src/map/chat.c index 858878430..52d7f246a 100644 --- a/src/map/chat.c +++ b/src/map/chat.c @@ -121,7 +121,7 @@ int chat_joinchat(struct map_session_data* sd, int chatid, const char* pass) { return 0; } - if( !cd->pub && strncmp(pass, cd->pass, sizeof(cd->pass)) != 0 && !pc->has_permission(sd, PC_PERM_JOIN_ALL_CHAT) ) + if( !cd->pub && strncmp(pass, cd->pass, sizeof(cd->pass)) != 0 && !pc_has_permission(sd, PC_PERM_JOIN_ALL_CHAT) ) { clif->joinchatfail(sd,1); return 0; @@ -315,7 +315,7 @@ int chat_kickchat(struct map_session_data* sd, const char* kickusername) { if( i == cd->users ) return -1; - if (pc->has_permission(cd->usersd[i], PC_PERM_NO_CHAT_KICK)) + if (pc_has_permission(cd->usersd[i], PC_PERM_NO_CHAT_KICK)) return 0; //gm kick protection [Valaris] idb_put(cd->kick_list,cd->usersd[i]->status.char_id,(void*)1); diff --git a/src/map/clif.c b/src/map/clif.c index a04ac0e27..6a55ad344 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -578,12 +578,12 @@ int clif_send(const void* buf, int len, struct block_list* bl, enum send_target struct hQueue *queue = &script->hq[sd->bg_queue.arena->queue_id]; for( i = 0; i < queue->size; i++ ) { - struct map_session_data * sd = NULL; + struct map_session_data *qsd = NULL; - if( queue->item[i] > 0 && ( sd = map->id2sd(queue->item[i]) ) ) { - WFIFOHEAD(sd->fd,len); - memcpy(WFIFOP(sd->fd,0), buf, len); - WFIFOSET(sd->fd,len); + if( queue->item[i] > 0 && ( qsd = map->id2sd(queue->item[i]) ) ) { + WFIFOHEAD(qsd->fd,len); + memcpy(WFIFOP(qsd->fd,0), buf, len); + WFIFOSET(qsd->fd,len); } } } @@ -930,6 +930,8 @@ void clif_set_unit_idle(struct block_list* bl, struct map_session_data *tsd, enu struct view_data* vd = status->get_viewdata(bl); struct packet_idle_unit p; int g_id = status->get_guild_id(bl); + + nullpo_retv(bl); #if PACKETVER < 20091103 if( !pcdb_checkid(vd->class_) ) { @@ -1060,6 +1062,8 @@ void clif_spawn_unit(struct block_list* bl, enum send_target target) { struct packet_spawn_unit p; int g_id = status->get_guild_id(bl); + nullpo_retv(bl); + #if PACKETVER < 20091103 if( !pcdb_checkid(vd->class_) ) { clif->spawn_unit2(bl,target); @@ -1123,6 +1127,7 @@ void clif_spawn_unit(struct block_list* bl, enum send_target target) { } #endif if( disguised(bl) ) { + nullpo_retv(sd); if( sd->status.class_ != sd->disguise ) clif->send(&p,sizeof(p),bl,target); #if PACKETVER >= 20091103 @@ -1146,6 +1151,8 @@ void clif_set_unit_walking(struct block_list* bl, struct map_session_data *tsd, struct view_data* vd = status->get_viewdata(bl); struct packet_unit_walking p; int g_id = status->get_guild_id(bl); + + nullpo_retv(bl); sd = BL_CAST(BL_PC, bl); @@ -1798,13 +1805,13 @@ void clif_selllist(struct map_session_data *sd) { if( sd->status.inventory[i].nameid > 0 && sd->inventory_data[i] ) { - if( !itemdb_cansell(&sd->status.inventory[i], pc->get_group_level(sd)) ) + if( !itemdb_cansell(&sd->status.inventory[i], pc_get_group_level(sd)) ) continue; if( sd->status.inventory[i].expire_time ) continue; // Cannot Sell Rental Items - if( sd->status.inventory[i].bound && !pc->can_give_bound_items(sd)) + if( sd->status.inventory[i].bound && !pc_can_give_bound_items(sd)) continue; // Don't allow sale of bound items val=sd->inventory_data[i]->value_sell; @@ -1831,7 +1838,7 @@ void clif_selllist(struct map_session_data *sd) /// - append this text void clif_scriptmes(struct map_session_data *sd, int npcid, const char *mes) { int fd = sd->fd; - int slen = strlen(mes) + 9; + size_t slen = strlen(mes) + 9; sd->state.dialog = 1; @@ -1943,7 +1950,7 @@ void clif_sendfakenpc(struct map_session_data *sd, int npcid) { /// TODO investigate behavior of other windows [FlavioJS] void clif_scriptmenu(struct map_session_data* sd, int npcid, const char* mes) { int fd = sd->fd; - int slen = strlen(mes) + 9; + size_t slen = strlen(mes) + 9; struct block_list *bl = NULL; if (!sd->state.using_fake_npc && (npcid == npc->fake_nd->bl.id || ((bl = map->id2bl(npcid)) && (bl->m!=sd->bl.m || @@ -2714,7 +2721,7 @@ void read_channels_config(void) { if( (colors = config_setting_get_member(settings, "colors")) != NULL ) { int color_count = config_setting_length(colors); - CREATE( hChSys.colors, unsigned long, color_count ); + CREATE( hChSys.colors, unsigned int, color_count ); CREATE( hChSys.colors_name, char *, color_count ); for(i = 0; i < color_count; i++) { config_setting_t *color = config_setting_get_elem(colors, i); @@ -2723,7 +2730,7 @@ void read_channels_config(void) { safestrncpy(hChSys.colors_name[i], config_setting_name(color), HCHSYS_NAME_LENGTH); - hChSys.colors[i] = strtoul(config_setting_get_string_elem(colors,i),NULL,0); + hChSys.colors[i] = (unsigned int)strtoul(config_setting_get_string_elem(colors,i),NULL,0); hChSys.colors[i] = (hChSys.colors[i] & 0x0000FF) << 16 | (hChSys.colors[i] & 0x00FF00) | (hChSys.colors[i] & 0xFF0000) >> 16;//RGB to BGR } hChSys.colors_count = color_count; @@ -2839,7 +2846,7 @@ int clif_hpmeter_sub(struct block_list *bl, va_list ap) { if( !tsd->fd || tsd == sd ) return 0; - if( !pc->has_permission(tsd, PC_PERM_VIEW_HPMETER) ) + if( !pc_has_permission(tsd, PC_PERM_VIEW_HPMETER) ) return 0; WFIFOHEAD(tsd->fd,packet_len(cmd)); WFIFOW(tsd->fd,0) = cmd; @@ -3141,7 +3148,7 @@ void clif_changelook(struct block_list *bl,int type,int val) sd = BL_CAST(BL_PC, bl); sc = status->get_sc(bl); vd = status->get_viewdata(bl); - //nullpo_ret(vd); + if( vd ) //temp hack to let Warp Portal change appearance switch(type) { case LOOK_WEAPON: @@ -3250,6 +3257,7 @@ void clif_changelook(struct block_list *bl,int type,int val) WBUFW(buf,0)=0x1d7; WBUFL(buf,2)=bl->id; if(type == LOOK_WEAPON || type == LOOK_SHIELD) { + nullpo_retv(vd); WBUFB(buf,6)=LOOK_WEAPON; WBUFW(buf,7)=vd->weapon; WBUFW(buf,9)=vd->shield; @@ -3258,7 +3266,7 @@ void clif_changelook(struct block_list *bl,int type,int val) WBUFL(buf,7)=val; } clif->send(buf,packet_len(0x1d7),bl,target); - if( disguised(bl) && ((TBL_PC*)sd)->fontcolor ) { + if( disguised(bl) && sd && sd->fontcolor ) { WBUFL(buf,2)=-bl->id; clif->send(buf,packet_len(0x1d7),bl,SELF); } @@ -3655,7 +3663,7 @@ void clif_useitemack(struct map_session_data *sd,int index,int amount,bool ok) } void clif_hercules_chsys_send(struct hChSysCh *channel, struct map_session_data *sd, const char *msg) { - if( channel->msg_delay != 0 && DIFF_TICK(sd->hchsysch_tick + ( channel->msg_delay * 1000 ), timer->gettick()) > 0 && !pc->has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { + if( channel->msg_delay != 0 && DIFF_TICK(sd->hchsysch_tick + ( channel->msg_delay * 1000 ), timer->gettick()) > 0 && !pc_has_permission(sd, PC_PERM_HCHSYS_ADMIN) ) { clif->colormes(sd->fd,COLOR_RED,msg_txt(1455)); return; } else { @@ -4224,7 +4232,7 @@ void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* ds } if( (sd->status.party_id && dstsd->status.party_id == sd->status.party_id) || //Party-mate, or hpdisp setting. (sd->bg_id && sd->bg_id == dstsd->bg_id) || //BattleGround - pc->has_permission(sd, PC_PERM_VIEW_HPMETER) + pc_has_permission(sd, PC_PERM_VIEW_HPMETER) ) clif->hpmeter_single(sd->fd, dstsd->bl.id, dstsd->battle_status.hp, dstsd->battle_status.max_hp); @@ -4696,6 +4704,7 @@ int clif_outsight(struct block_list *bl,va_list ap) tsd = BL_CAST(BL_PC, tbl); if (tsd && tsd->fd) { //tsd has lost sight of the bl object. + nullpo_ret(bl); switch(bl->type){ case BL_PC: if (sd->vd.class_ != INVISIBLE_CLASS) @@ -4728,6 +4737,7 @@ int clif_outsight(struct block_list *bl,va_list ap) } } if (sd && sd->fd) { //sd is watching tbl go out of view. + nullpo_ret(tbl); if (((vd=status->get_viewdata(tbl)) && vd->class_ != INVISIBLE_CLASS) && !(tbl->type == BL_NPC && (((TBL_NPC*)tbl)->option&OPTION_INVISIBLE))) clif->clearunit_single(tbl->id,CLR_OUTSIGHT,sd->fd); @@ -4750,6 +4760,7 @@ int clif_insight(struct block_list *bl,va_list ap) tsd = BL_CAST(BL_PC, tbl); if (tsd && tsd->fd) { //Tell tsd that bl entered into his view + nullpo_ret(bl); switch(bl->type) { case BL_ITEM: clif->getareachar_item(tsd,(struct flooritem_data*)bl); @@ -5528,7 +5539,7 @@ void clif_displaymessage(const int fd, const char* mes) { if( fd == -2 ) { ShowInfo("HCP: %s\n",mes); } else if ( fd > 0 ) { - int len; + size_t len; if ( ( len = strnlen(mes, 255) ) > 0 ) { // don't send a void message (it's not displaying on the client chat). @help can send void line. WFIFOHEAD(fd, 5 + len); @@ -5554,7 +5565,7 @@ void clif_displaymessage2(const int fd, const char* mes) { line = strtok(message, "\n"); while(line != NULL) { // Limit message to 255+1 characters (otherwise it causes a buffer overflow in the client) - int len = strnlen(line, 255); + size_t len = strnlen(line, 255); if (len > 0) { // don't send a void message (it's not displaying on the client chat). @help can send void line. if( fd == -2 ) { @@ -5606,7 +5617,7 @@ void clif_displaymessage_sprintf(const int fd, const char* mes, ...) { } /// Send broadcast message in yellow or blue without font formatting (ZC_BROADCAST). /// 009a <packet len>.W <message>.?B -void clif_broadcast(struct block_list* bl, const char* mes, int len, int type, enum send_target target) +void clif_broadcast(struct block_list* bl, const char* mes, size_t len, int type, enum send_target target) { int lp = (type&BC_COLOR_MASK) ? 4 : 0; unsigned char *buf = (unsigned char*)aMalloc((4 + lp + len)*sizeof(unsigned char)); @@ -5630,7 +5641,7 @@ void clif_broadcast(struct block_list* bl, const char* mes, int len, int type, e *------------------------------------------*/ void clif_GlobalMessage(struct block_list* bl, const char* message) { char buf[256]; - int len; + size_t len; nullpo_retv(bl); if(!message) @@ -5653,7 +5664,7 @@ void clif_GlobalMessage(struct block_list* bl, const char* message) { /// Send broadcast message with font formatting (ZC_BROADCAST2). /// 01c3 <packet len>.W <fontColor>.L <fontType>.W <fontSize>.W <fontAlign>.W <fontY>.W <message>.?B -void clif_broadcast2(struct block_list* bl, const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target) +void clif_broadcast2(struct block_list* bl, const char* mes, size_t len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target) { unsigned char *buf = (unsigned char*)aMalloc((16 + len)*sizeof(unsigned char)); @@ -5829,7 +5840,7 @@ void clif_upgrademessage(int fd, int result, int item_id) /// Whisper is transmitted to the destination player (ZC_WHISPER). /// 0097 <packet len>.W <nick>.24B <message>.?B /// 0097 <packet len>.W <nick>.24B <isAdmin>.L <message>.?B (PACKETVER >= 20091104) -void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len) { +void clif_wis_message(int fd, const char* nick, const char* mes, size_t mes_len) { #if PACKETVER < 20091104 WFIFOHEAD(fd, mes_len + NAME_LENGTH + 4); WFIFOW(fd,0) = 0x97; @@ -5844,7 +5855,7 @@ void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len) { WFIFOW(fd,0) = 0x97; WFIFOW(fd,2) = mes_len + NAME_LENGTH + 8; safestrncpy((char*)WFIFOP(fd,4), nick, NAME_LENGTH); - WFIFOL(fd,28) = (ssd && pc->get_group_level(ssd) == 99) ? 1 : 0; // isAdmin; if nonzero, also displays text above char + WFIFOL(fd,28) = (ssd && pc_get_group_level(ssd) == 99) ? 1 : 0; // isAdmin; if nonzero, also displays text above char safestrncpy((char*)WFIFOP(fd,32), mes, mes_len); WFIFOSET(fd,WFIFOW(fd,2)); #endif @@ -8053,14 +8064,14 @@ void clif_marriage_proposal(int fd, struct map_session_data *sd, struct map_sess /*========================================== * *------------------------------------------*/ -void clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len) { +void clif_disp_onlyself(struct map_session_data *sd, const char *mes, size_t len) { clif->disp_message(&sd->bl, mes, len, SELF); } /*========================================== * Displays a message using the guild-chat colors to the specified targets. [Skotlex] *------------------------------------------*/ -void clif_disp_message(struct block_list* src, const char* mes, int len, enum send_target target) +void clif_disp_message(struct block_list* src, const char* mes, size_t len, enum send_target target) { unsigned char buf[256]; @@ -8317,7 +8328,7 @@ void clif_specialeffect_value(struct block_list* bl, int effect_id, int num, sen // Modification of clif_messagecolor to send colored messages to players to chat log only (doesn't display overhead) /// 02c1 <packet len>.W <id>.L <color>.L <message>.?B int clif_colormes(int fd, enum clif_colors color, const char* msg) { - unsigned short msg_len = strlen(msg) + 1; + size_t msg_len = strlen(msg) + 1; WFIFOHEAD(fd,msg_len + 12); WFIFOW(fd,0) = 0x2C1; @@ -8332,8 +8343,8 @@ int clif_colormes(int fd, enum clif_colors color, const char* msg) { /// Monster/NPC color chat [SnakeDrak] (ZC_NPC_CHAT). /// 02c1 <packet len>.W <id>.L <color>.L <message>.?B -void clif_messagecolor(struct block_list* bl, unsigned long color, const char* msg) { - unsigned short msg_len = strlen(msg) + 1; +void clif_messagecolor(struct block_list* bl, unsigned int color, const char* msg) { + size_t msg_len = strlen(msg) + 1; uint8 buf[256]; color = (color & 0x0000FF) << 16 | (color & 0x00FF00) | (color & 0xFF0000) >> 16; // RGB to BGR @@ -8657,7 +8668,7 @@ void clif_slide(struct block_list *bl, int x, int y) void clif_disp_overhead(struct block_list *bl, const char* mes) { unsigned char buf[256]; //This should be more than sufficient, the theorical max is CHAT_SIZE + 8 (pads and extra inserted crap) - int len_mes = strlen(mes)+1; //Account for \0 + size_t len_mes = strlen(mes)+1; //Account for \0 if (len_mes > sizeof(buf)-8) { ShowError("clif_disp_overhead: Message too long (length %d)\n", len_mes); @@ -8946,9 +8957,10 @@ void clif_viewequip_fail(struct map_session_data* sd) /// Returns true if the packet was parsed successfully. /// Formats: 0 - <packet id>.w <packet len>.w (<name> : <message>).?B 00 /// 1 - <packet id>.w <packet len>.w <name>.24B <message>.?B 00 -bool clif_process_message(struct map_session_data* sd, int format, char** name_, int* namelen_, char** message_, int* messagelen_) { +bool clif_process_message(struct map_session_data *sd, int format, char **name_, size_t *namelen_, char **message_, size_t *messagelen_) { char *text, *name, *message; - unsigned int packetlen, textlen, namelen, messagelen; + unsigned int packetlen, textlen; + size_t namelen, messagelen; int fd = sd->fd; *name_ = NULL; @@ -9255,7 +9267,7 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) { instance->check_idle(map->list[sd->bl.m].instance_id); } - if( pc->has_permission(sd,PC_PERM_VIEW_HPMETER) ) { + if( pc_has_permission(sd,PC_PERM_VIEW_HPMETER) ) { map->list[sd->bl.m].hpmeter_visible++; sd->state.hpmeter_visible = 1; } @@ -9604,7 +9616,7 @@ void clif_parse_Hotkey(int fd, struct map_session_data *sd) { /// Displays cast-like progress bar (ZC_PROGRESS). /// 02f0 <color>.L <time>.L -void clif_progressbar(struct map_session_data * sd, unsigned long color, unsigned int second) +void clif_progressbar(struct map_session_data * sd, unsigned int color, unsigned int second) { int fd = sd->fd; @@ -9737,7 +9749,7 @@ void clif_parse_GetCharNameRequest(int fd, struct map_session_data *sd) { sc = status->get_sc(bl); if (sc && sc->option&OPTION_INVISIBLE && !disguised(bl) && bl->type != BL_NPC && //Skip hidden NPCs which can be seen using Maya Purple - pc->get_group_level(sd) < battle_config.hack_info_GM_level + pc_get_group_level(sd) < battle_config.hack_info_GM_level ) { char gm_msg[256]; sprintf(gm_msg, "Hack on NameRequest: character '%s' (account: %d) requested the name of an invisible target (id: %d).\n", sd->status.name, sd->status.account_id, id); @@ -9766,10 +9778,10 @@ int clif_undisguise_timer(int tid, int64 tick, int id, intptr_t data) { void clif_parse_GlobalMessage(int fd, struct map_session_data* sd) { const char* text = (char*)RFIFOP(fd,4); - int textlen = RFIFOW(fd,2) - 4; + size_t textlen = RFIFOW(fd,2) - 4; char *name, *message, *fakename = NULL; - int namelen, messagelen; + size_t namelen, messagelen; bool is_fake; @@ -10274,7 +10286,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd) int i; char *target, *message; - int namelen, messagelen; + size_t namelen, messagelen; // validate packet and retrieve name and message if( !clif->process_message(sd, 1, &target, &namelen, &message, &messagelen) ) @@ -10354,7 +10366,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd) channel = (struct hChSysCh *)g->channel; } if( channel || (channel = strdb_get(clif->channel_db,chname)) ) { - unsigned char k; + int k; for( k = 0; k < sd->channel_count; k++ ) { if( sd->channels[k] == channel ) break; @@ -10364,7 +10376,6 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd) } else if( channel->pass[0] == '\0' && !(channel->banned && idb_exists(channel->banned, sd->status.account_id)) ) { if( channel->type == hChSys_ALLY ) { struct guild *g = sd->guild, *sg = NULL; - int k; for (k = 0; k < MAX_GUILDALLIANCE; k++) { if( g->alliance[k].opposition == 0 && g->alliance[k].guild_id && (sg = guild->search(g->alliance[k].guild_id) ) ) { if( !(((struct hChSysCh*)sg->channel)->banned && idb_exists(((struct hChSysCh*)sg->channel)->banned, sd->status.account_id))) @@ -10395,8 +10406,8 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd) } // if player ignores everyone - if (dstsd->state.ignoreAll && pc->get_group_level(sd) <= pc->get_group_level(dstsd)) { - if (dstsd->sc.option & OPTION_INVISIBLE && pc->get_group_level(sd) < pc->get_group_level(dstsd)) + if (dstsd->state.ignoreAll && pc_get_group_level(sd) <= pc_get_group_level(dstsd)) { + if (dstsd->sc.option & OPTION_INVISIBLE && pc_get_group_level(sd) < pc_get_group_level(dstsd)) clif->wis_end(fd, 1); // 1: target character is not logged in else clif->wis_end(fd, 3); // 3: everyone ignored by target @@ -10411,7 +10422,7 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd) return; } - if( pc->get_group_level(sd) <= pc->get_group_level(dstsd) ) { + if( pc_get_group_level(sd) <= pc_get_group_level(dstsd) ) { // if player ignores the source character ARR_FIND(0, MAX_IGNORE_LIST, i, dstsd->ignore[i].name[0] == '\0' || strcmp(dstsd->ignore[i].name, sd->status.name) == 0); if(i < MAX_IGNORE_LIST && dstsd->ignore[i].name[0] != '\0') { // source char present in ignore list @@ -12097,7 +12108,7 @@ void clif_parse_PartyMessage(int fd, struct map_session_data* sd) int textlen = RFIFOW(fd,2) - 4; char *name, *message; - int namelen, messagelen; + size_t namelen, messagelen; // validate packet and retrieve name and message if( !clif->process_message(sd, 0, &name, &namelen, &message, &messagelen) ) @@ -12629,7 +12640,7 @@ void clif_PartyBookingFailedRecall(int fd, struct map_session_data *sd) void clif_parse_PartyBookingRefuseVolunteer(int fd, struct map_session_data *sd) { #ifdef PARTY_RECRUIT - unsigned long aid = RFIFOL(fd, 2); + unsigned int aid = RFIFOL(fd, 2); clif->PartyBookingRefuseVolunteer(aid, sd); #else @@ -12638,7 +12649,7 @@ void clif_parse_PartyBookingRefuseVolunteer(int fd, struct map_session_data *sd) } /// 08fa <index>.L -void clif_PartyBookingRefuseVolunteer(unsigned long aid, struct map_session_data *sd) +void clif_PartyBookingRefuseVolunteer(unsigned int aid, struct map_session_data *sd) { #ifdef PARTY_RECRUIT unsigned char buf[2+6]; @@ -13035,7 +13046,7 @@ bool clif_validate_emblem(const uint8 *emblem, unsigned long emblem_len) { /// 0153 <packet len>.W <emblem data>.?B void clif_parse_GuildChangeEmblem(int fd,struct map_session_data *sd) { - unsigned long emblem_len = RFIFOW(fd,2)-4; + unsigned int emblem_len = RFIFOW(fd,2)-4; const uint8* emblem = RFIFOP(fd,4); if( !emblem_len || !sd->state.gmaster_flag ) @@ -13157,7 +13168,7 @@ void clif_parse_GuildMessage(int fd, struct map_session_data* sd) int textlen = RFIFOW(fd,2) - 4; char *name, *message; - int namelen, messagelen; + size_t namelen, messagelen; // validate packet and retrieve name and message if( !clif->process_message(sd, 0, &name, &namelen, &message, &messagelen) ) @@ -13604,7 +13615,7 @@ void clif_parse_GMReqNoChat(int fd,struct map_session_data *sd) { if (type == 2) { if (!battle_config.client_accept_chatdori) return; - if (pc->get_group_level(sd) > 0 || sd->bl.id != id) + if (pc_get_group_level(sd) > 0 || sd->bl.id != id) return; value = battle_config.client_accept_chatdori; @@ -13615,7 +13626,7 @@ void clif_parse_GMReqNoChat(int fd,struct map_session_data *sd) { return; } - if (type == 2 || ( (pc->get_group_level(sd)) > pc->get_group_level(dstsd) && !pc->can_use_command(sd, "@mute"))) { + if (type == 2 || ( (pc_get_group_level(sd)) > pc_get_group_level(dstsd) && !pc->can_use_command(sd, "@mute"))) { clif->manner_message(sd, 0); clif->manner_message(dstsd, 5); @@ -13684,7 +13695,7 @@ void clif_parse_GMReqAccountName(int fd, struct map_session_data *sd) void clif_parse_GMChangeMapType(int fd, struct map_session_data *sd) { int x,y,type; - if (!pc->has_permission(sd, PC_PERM_USE_CHANGEMAPTYPE)) + if (!pc_has_permission(sd, PC_PERM_USE_CHANGEMAPTYPE)) return; x = RFIFOW(fd,2); @@ -14568,12 +14579,12 @@ void clif_parse_Check(int fd, struct map_session_data *sd) char charname[NAME_LENGTH]; struct map_session_data* pl_sd; - if(!pc->has_permission(sd, PC_PERM_USE_CHECK)) + if(!pc_has_permission(sd, PC_PERM_USE_CHECK)) return; safestrncpy(charname, (const char*)RFIFOP(fd,packet_db[RFIFOW(fd,0)].pos[0]), sizeof(charname)); - if( ( pl_sd = map->nick2sd(charname) ) == NULL || pc->get_group_level(sd) < pc->get_group_level(pl_sd) ) { + if( ( pl_sd = map->nick2sd(charname) ) == NULL || pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) { return; } @@ -14761,7 +14772,7 @@ void clif_Mail_read(struct map_session_data *sd, int mail_id) struct mail_message *msg = &sd->mail.inbox.msg[i]; struct item *item = &msg->item; struct item_data *data; - int msg_len = strlen(msg->body), len; + size_t msg_len = strlen(msg->body), len; if( msg_len == 0 ) { strcpy(msg->body, "(no message)"); @@ -15160,10 +15171,10 @@ void clif_parse_Auction_setitem(int fd, struct map_session_data *sd) return; } - if( !pc->can_give_items(sd) || sd->status.inventory[idx].expire_time || + if( !pc_can_give_items(sd) || sd->status.inventory[idx].expire_time || !sd->status.inventory[idx].identify || - !itemdb_canauction(&sd->status.inventory[idx],pc->get_group_level(sd)) || // Quest Item or something else - (sd->status.inventory[idx].bound && !pc->can_give_bound_items(sd)) ) { + !itemdb_canauction(&sd->status.inventory[idx],pc_get_group_level(sd)) || // Quest Item or something else + (sd->status.inventory[idx].bound && !pc_can_give_bound_items(sd)) ) { clif->auction_setitem(sd->fd, idx, true); return; } @@ -15271,7 +15282,7 @@ void clif_parse_Auction_register(int fd, struct map_session_data *sd) } // Auction checks... - if( sd->status.inventory[sd->auction.index].bound && !pc->can_give_bound_items(sd) ) { + if( sd->status.inventory[sd->auction.index].bound && !pc_can_give_bound_items(sd) ) { clif->message(sd->fd, msg_txt(293)); clif->auction_message(fd, 2); // The auction has been canceled return; @@ -15324,7 +15335,7 @@ void clif_parse_Auction_bid(int fd, struct map_session_data *sd) unsigned int auction_id = RFIFOL(fd,2); int bid = RFIFOL(fd,6); - if( !pc->can_give_items(sd) ) { //They aren't supposed to give zeny [Inkfish] + if( !pc_can_give_items(sd) ) { //They aren't supposed to give zeny [Inkfish] clif->message(sd->fd, msg_txt(246)); return; } @@ -15615,7 +15626,7 @@ void clif_parse_ViewPlayerEquip(int fd, struct map_session_data* sd) { if (!tsd) return; - if( tsd->status.show_equip || pc->has_permission(sd, PC_PERM_VIEW_EQUIPMENT) ) + if( tsd->status.show_equip || pc_has_permission(sd, PC_PERM_VIEW_EQUIPMENT) ) clif->viewequip_ack(sd, tsd); else clif->viewequip_fail(sd); @@ -16087,7 +16098,7 @@ void clif_bg_xy_remove(struct map_session_data *sd) /// Notifies clients of a battleground message (ZC_BATTLEFIELD_CHAT). /// 02dc <packet len>.W <account id>.L <name>.24B <message>.?B -void clif_bg_message(struct battleground_data *bgd, int src_id, const char *name, const char *mes, int len) +void clif_bg_message(struct battleground_data *bgd, int src_id, const char *name, const char *mes, size_t len) { struct map_session_data *sd; unsigned char *buf; @@ -16116,7 +16127,7 @@ void clif_parse_BattleChat(int fd, struct map_session_data* sd) int textlen = RFIFOW(fd,2) - 4; char *name, *message; - int namelen, messagelen; + size_t namelen, messagelen; if( !clif->process_message(sd, 0, &name, &namelen, &message, &messagelen) ) return; @@ -16994,7 +17005,7 @@ void clif_parse_debug(int fd,struct map_session_data *sd) { } ShowDebug("Packet debug of 0x%04X (length %d), %s session #%d, %d/%d (AID/CID)\n", cmd, packet_len, sd->state.active ? "authed" : "unauthed", fd, sd->status.account_id, sd->status.char_id); } else { - packet_len = RFIFOREST(fd); + packet_len = (int)RFIFOREST(fd); ShowDebug("Packet debug of 0x%04X (length %d), session #%d\n", cmd, packet_len, fd); } @@ -17602,7 +17613,7 @@ void clif_partytickack(struct map_session_data* sd, bool flag) { void clif_ShowScript(struct block_list* bl, const char* message) { char buf[256]; - int len; + size_t len; nullpo_retv(bl); if(!message) @@ -17945,7 +17956,7 @@ void clif_parse_GMFullStrip(int fd, struct map_session_data *sd) { 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) ) + if( !tsd || pc_get_group_level(tsd) >= pc_get_group_level(sd) ) return; for( i = 0; i < EQI_MAX; i++ ) { @@ -18297,7 +18308,7 @@ int do_init_clif(bool minimal) { * Setup Color Table (saves unnecessary load of strtoul on every call) **/ for(i = 0; i < COLOR_MAX; i++) { - color_table[i] = strtoul(colors[i],NULL,0); + color_table[i] = (unsigned int)strtoul(colors[i],NULL,0); color_table[i] = (color_table[i] & 0x0000FF) << 16 | (color_table[i] & 0x00FF00) | (color_table[i] & 0xFF0000) >> 16;//RGB to BGR } diff --git a/src/map/clif.h b/src/map/clif.h index 6ccd951a0..c4088893a 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -472,7 +472,7 @@ struct s_packet_db { }; struct { - unsigned long *colors; + unsigned int *colors; char **colors_name; unsigned char colors_count; bool local, ally, irc; @@ -517,7 +517,7 @@ struct cdelayed_damage { * Vars **/ struct s_packet_db packet_db[MAX_PACKET_DB + 1]; -unsigned long color_table[COLOR_MAX]; +unsigned int color_table[COLOR_MAX]; /** * Clif.c Interface @@ -706,7 +706,7 @@ struct clif_interface { void (*equpcheckbox) (struct map_session_data* sd); void (*displayexp) (struct map_session_data *sd, unsigned int exp, char type, bool is_quest); void (*font) (struct map_session_data *sd); - void (*progressbar) (struct map_session_data * sd, unsigned long color, unsigned int second); + void (*progressbar) (struct map_session_data * sd, unsigned int color, unsigned int second); void (*progressbar_abort) (struct map_session_data * sd); void (*showdigit) (struct map_session_data* sd, unsigned char type, int value); int (*elementalconverter_list) (struct map_session_data *sd); @@ -783,13 +783,13 @@ struct clif_interface { void (*clearchat) (struct chat_data *cd,int fd); void (*leavechat) (struct chat_data* cd, struct map_session_data* sd, bool flag); void (*changechatstatus) (struct chat_data* cd); - void (*wis_message) (int fd, const char* nick, const char* mes, int mes_len); + void (*wis_message) (int fd, const char* nick, const char* mes, size_t mes_len); void (*wis_end) (int fd, int flag); - void (*disp_onlyself) (struct map_session_data *sd, const char *mes, int len); - void (*disp_message) (struct block_list* src, const char* mes, int len, enum send_target target); - void (*broadcast) (struct block_list* bl, const char* mes, int len, int type, enum send_target target); - void (*broadcast2) (struct block_list* bl, const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target); - void (*messagecolor) (struct block_list* bl, unsigned long color, const char* msg); + void (*disp_onlyself) (struct map_session_data *sd, const char *mes, size_t len); + void (*disp_message) (struct block_list* src, const char* mes, size_t len, enum send_target target); + void (*broadcast) (struct block_list* bl, const char* mes, size_t len, int type, enum send_target target); + void (*broadcast2) (struct block_list* bl, const char* mes, size_t len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target); + void (*messagecolor) (struct block_list* bl, unsigned int color, const char* msg); void (*disp_overhead) (struct block_list *bl, const char* mes); void (*msg) (struct map_session_data* sd, unsigned short id); void (*msg_value) (struct map_session_data* sd, unsigned short id, int value); @@ -801,7 +801,7 @@ struct clif_interface { /* message+s(printf) */ void (*messages) (const int fd, const char* mes, ...); int (*colormes) (int fd, enum clif_colors color, const char* msg); - bool (*process_message) (struct map_session_data* sd, int format, char** name_, int* namelen_, char** message_, int* messagelen_); + bool (*process_message) (struct map_session_data *sd, int format, char **name_, size_t *namelen_, char **message_, size_t *messagelen_); void (*wisexin) (struct map_session_data *sd,int type,int flag); void (*wisall) (struct map_session_data *sd,int type,int flag); void (*PMIgnoreList) (struct map_session_data* sd); @@ -887,7 +887,7 @@ struct clif_interface { void (*bg_hp) (struct map_session_data *sd); void (*bg_xy) (struct map_session_data *sd); void (*bg_xy_remove) (struct map_session_data *sd); - void (*bg_message) (struct battleground_data *bgd, int src_id, const char *name, const char *mes, int len); + void (*bg_message) (struct battleground_data *bgd, int src_id, const char *name, const char *mes, size_t len); void (*bg_updatescore) (int16 m); void (*bg_updatescore_single) (struct map_session_data *sd); void (*sendbgemblem_area) (struct map_session_data *sd); @@ -970,7 +970,7 @@ struct clif_interface { 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); + void (*PartyBookingRefuseVolunteer) (unsigned int aid, struct map_session_data *sd); void (*PartyBookingCancelVolunteer) (int index, struct map_session_data *sd); void (*PartyBookingAddFilteringList) (int index, struct map_session_data *sd); void (*PartyBookingSubFilteringList) (int gid, struct map_session_data *sd); diff --git a/src/map/guild.c b/src/map/guild.c index 66376a2a8..8a34b7f4b 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -1594,10 +1594,10 @@ int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd) * Notification of a relationship between 2 guilds *---------------------------------------------------*/ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag,const char *name1,const char *name2) { - struct guild *g[2]; - int guild_id[2]; - const char *guild_name[2]; - struct map_session_data *sd[2]; + struct guild *g[2] = { NULL }; + int guild_id[2] = { 0 }; + const char *guild_name[2] = { NULL }; + struct map_session_data *sd[2] = { NULL }; int j,i; guild_id[0] = guild_id1; @@ -1664,11 +1664,11 @@ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id for (i = 0; i < 2 - (flag & 1); i++) { // Retransmission of the relationship list to all members - struct map_session_data *sd; + struct map_session_data *msd; if(g[i]!=NULL) for(j=0;j<g[i]->max_member;j++) - if((sd=g[i]->member[j].sd)!=NULL) - clif->guild_allianceinfo(sd); + if((msd=g[i]->member[j].sd)!=NULL) + clif->guild_allianceinfo(msd); } return 0; } diff --git a/src/map/homunculus.c b/src/map/homunculus.c index 7ab471b9d..c6fa68d7f 100644 --- a/src/map/homunculus.c +++ b/src/map/homunculus.c @@ -1209,7 +1209,7 @@ void homunculus_exp_db_read(void) { if(line[0] == '/' && line[1] == '/') continue; - if (!(homun->exptable[j++] = strtoul(line, NULL, 10))) + if (!(homun->exptable[j++] = (unsigned int)strtoul(line, NULL, 10))) break; } // Last permitted level have to be 0! diff --git a/src/map/intif.c b/src/map/intif.c index df7a16db7..b9d4d1746 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -125,7 +125,7 @@ int intif_rename(struct map_session_data *sd, int type, char *name) } // GM Send a message -int intif_broadcast(const char* mes, int len, int type) +int intif_broadcast(const char* mes, size_t len, int type) { int lp = (type|BC_COLOR_MASK) ? 4 : 0; @@ -155,7 +155,7 @@ int intif_broadcast(const char* mes, int len, int type) return 0; } -int intif_broadcast2(const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY) +int intif_broadcast2(const char* mes, size_t len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY) { // Send to the local players clif->broadcast2(NULL, mes, len, fontColor, fontType, fontSize, fontAlign, fontY, ALL_CLIENT); @@ -192,7 +192,7 @@ int intif_main_message(struct map_session_data* sd, const char* message) snprintf( output, sizeof(output), msg_txt(386), sd->status.name, message ); // send the message using the inter-server broadcast service - intif_broadcast2( output, strlen(output) + 1, 0xFE000000, 0, 0, 0, 0 ); + intif->broadcast2( output, strlen(output) + 1, 0xFE000000, 0, 0, 0, 0 ); // log the chat message logs->chat( LOG_CHAT_MAINCHAT, 0, sd->status.char_id, sd->status.account_id, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y, NULL, message ); @@ -201,7 +201,7 @@ int intif_main_message(struct map_session_data* sd, const char* message) } // The transmission of Wisp/Page to inter-server (player not found on this server) -int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int mes_len) +int intif_wis_message(struct map_session_data *sd, char *nick, char *mes, size_t mes_len) { nullpo_ret(sd); if (intif->CheckForCharServer()) @@ -247,7 +247,7 @@ int intif_wis_replay(int id, int flag) // The transmission of GM only Wisp/Page from server to inter-server int intif_wis_message_to_gm(char *wisp_name, int permission, char *mes) { - int mes_len; + size_t mes_len; if (intif->CheckForCharServer()) return 0; mes_len = strlen(mes) + 1; // + null @@ -560,7 +560,7 @@ int intif_guild_addmember(int guild_id,struct guild_member *m) } // Request a new leader for guild -int intif_guild_change_gm(int guild_id, const char* name, int len) +int intif_guild_change_gm(int guild_id, const char* name, size_t len) { if (intif->CheckForCharServer()) return 0; @@ -893,7 +893,7 @@ int mapif_parse_WisToGM_sub(struct map_session_data* sd,va_list va) { char *message; int len; - if (!pc->has_permission(sd, permission)) + if (!pc_has_permission(sd, permission)) return 0; wisp_name = va_arg(va, char*); message = va_arg(va, char*); @@ -1559,7 +1559,7 @@ void intif_parse_MailDelete(int fd) { } if( sd->mail.inbox.full ) - intif_Mail_requestinbox(sd->status.char_id, 1); // Free space is available for new mails + intif->Mail_requestinbox(sd->status.char_id, 1); // Free space is available for new mails } clif->mail_delete(sd->fd, mail_id, failed); @@ -1600,7 +1600,7 @@ void intif_parse_MailReturn(int fd) { } if( sd->mail.inbox.full ) - intif_Mail_requestinbox(sd->status.char_id, 1); // Free space is available for new mails + intif->Mail_requestinbox(sd->status.char_id, 1); // Free space is available for new mails } clif->mail_return(sd->fd, mail_id, fail); @@ -1797,7 +1797,7 @@ void intif_parse_AuctionClose(int fd) { if( result == 0 ) { // FIXME: Leeching off a parse function clif->pAuction_cancelreg(fd, sd); - intif_Auction_requestlist(sd->status.char_id, 6, 0, "", 1); + intif->Auction_requestlist(sd->status.char_id, 6, 0, "", 1); } } @@ -1834,7 +1834,7 @@ void intif_parse_AuctionBid(int fd) { } if( result == 1 ) { // To update the list, display your buy list clif->pAuction_cancelreg(fd, sd); - intif_Auction_requestlist(sd->status.char_id, 7, 0, "", 1); + intif->Auction_requestlist(sd->status.char_id, 7, 0, "", 1); } } diff --git a/src/map/intif.h b/src/map/intif.h index fbee3f270..bd3908ce7 100644 --- a/src/map/intif.h +++ b/src/map/intif.h @@ -40,10 +40,10 @@ struct intif_interface { int (*parse) (int fd); int (*create_pet)(int account_id, int char_id, short pet_type, short pet_lv, short pet_egg_id, short pet_equip, short intimate, short hungry, char rename_flag, char incuvate, char *pet_name); - int (*broadcast) (const char* mes, int len, int type); - int (*broadcast2) (const char* mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY); + int (*broadcast) (const char* mes, size_t len, int type); + int (*broadcast2) (const char* mes, size_t len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY); int (*main_message) (struct map_session_data* sd, const char* message); - int (*wis_message) (struct map_session_data *sd,char *nick,char *mes,int mes_len); + int (*wis_message) (struct map_session_data *sd,char *nick,char *mes,size_t mes_len); int (*wis_message_to_gm) (char *Wisp_name, int permission, char *mes); int (*saveregistry) (struct map_session_data *sd, int type); int (*request_registry) (struct map_session_data *sd, int flag); @@ -65,7 +65,7 @@ struct intif_interface { int (*guild_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int class_); int (*guild_break) (int guild_id); int (*guild_message) (int guild_id, int account_id, const char *mes, int len); - int (*guild_change_gm) (int guild_id, const char* name, int len); + int (*guild_change_gm) (int guild_id, const char* name, size_t len); int (*guild_change_basicinfo) (int guild_id, int type, const void *data, int len); int (*guild_change_memberinfo) (int guild_id, int account_id, int char_id, int type, const void *data, int len); int (*guild_position) (int guild_id, int idx, struct guild_position *p); diff --git a/src/map/irc-bot.c b/src/map/irc-bot.c index 2b6dcfccd..ff28082e7 100644 --- a/src/map/irc-bot.c +++ b/src/map/irc-bot.c @@ -152,7 +152,8 @@ int irc_parse(int fd) { * NULL, needs to be able to fit an IRC_HOST_LENGTH long string) */ void irc_parse_source(char *source, char *nick, char *ident, char *host) { - int i, len = strlen(source), pos = 0; + int i, pos = 0; + size_t len = strlen(source); unsigned char stage = 0; for(i = 0; i < len; i++) { @@ -208,7 +209,7 @@ void irc_parse_sub(int fd, char *str) { * @param str Command to send */ void irc_send(char *str) { - int len = strlen(str) + 2; + size_t len = strlen(str) + 2; if (len > IRC_MESSAGE_LENGTH-3) len = IRC_MESSAGE_LENGTH-3; WFIFOHEAD(ircbot->fd, len); @@ -298,7 +299,7 @@ void irc_privmsg(int fd, char *cmd, char *source, char *target, char *msg) { ircbot->parse_source(source,source_nick,source_ident,source_host); if( ircbot->channel ) { - int padding_len = strlen(ircbot->channel->name) + strlen(source_nick) + 13; + size_t padding_len = strlen(ircbot->channel->name) + strlen(source_nick) + 13; while (1) { snprintf(send_string, 150, "[ #%s ] IRC.%s : %s",ircbot->channel->name,source_nick,msg); clif->chsys_msg2(ircbot->channel,send_string); diff --git a/src/map/irc-bot.h b/src/map/irc-bot.h index 305cdfd91..7d6a19eba 100644 --- a/src/map/irc-bot.h +++ b/src/map/irc-bot.h @@ -24,7 +24,7 @@ struct irc_bot_interface { bool isIn, isOn; int64 last_try; unsigned char fails; - unsigned long ip; + uint32 ip; unsigned short port; /* */ struct hChSysCh *channel; diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 30f81c354..3f7d06e36 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -806,7 +806,7 @@ bool itemdb_read_cached_packages(const char *config_filename) { for( i = 0; i < pcount; i++ ) { unsigned short id = 0, random_qty = 0, must_qty = 0; - struct item_data *data; + struct item_data *pdata; struct item_package *package = &itemdb->packages[i]; unsigned short c; @@ -817,10 +817,10 @@ bool itemdb_read_cached_packages(const char *config_filename) { //next 2 bytes = random count hread(&random_qty,sizeof(random_qty),1,file); - if( !(data = itemdb->exists(id)) ) + if( !(pdata = itemdb->exists(id)) ) ShowWarning("itemdb_read_packages: unknown package item '%d', skipping..\n",id); else - data->package = &itemdb->packages[i]; + pdata->package = &itemdb->packages[i]; package->id = id; package->random_qty = random_qty; @@ -1022,7 +1022,6 @@ void itemdb_read_packages(void) { for(r = 0; r < highest_gcount; r++) { prev[r] = NULL; } - r = 0; data->package = &itemdb->packages[count]; @@ -1300,7 +1299,7 @@ bool itemdb_read_stack(char* fields[], int columns, int current) } amount = (unsigned short)strtoul(fields[1], NULL, 10); - type = strtoul(fields[2], NULL, 10); + type = (unsigned int)strtoul(fields[2], NULL, 10); if( !amount ) {// ignore diff --git a/src/map/mail.c b/src/map/mail.c index 007f7592d..371aa892f 100644 --- a/src/map/mail.c +++ b/src/map/mail.c @@ -64,7 +64,7 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount) { return 1; if( idx == 0 ) { // Zeny Transfer - if( amount < 0 || !pc->can_give_items(sd) ) + if( amount < 0 || !pc_can_give_items(sd) ) return 1; if( amount > sd->status.zeny ) @@ -81,9 +81,9 @@ unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount) { return 1; if( amount < 0 || amount > sd->status.inventory[idx].amount ) return 1; - if( !pc->can_give_items(sd) || sd->status.inventory[idx].expire_time || - !itemdb_canmail(&sd->status.inventory[idx],pc->get_group_level(sd)) || - (sd->status.inventory[idx].bound && !pc->can_give_bound_items(sd)) ) + if( !pc_can_give_items(sd) || sd->status.inventory[idx].expire_time || + !itemdb_canmail(&sd->status.inventory[idx],pc_get_group_level(sd)) || + (sd->status.inventory[idx].bound && !pc_can_give_bound_items(sd)) ) return 1; sd->mail.index = idx; diff --git a/src/map/map.c b/src/map/map.c index b68a1f6a5..7ff4ebcc5 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -2239,7 +2239,7 @@ bool map_addnpc(int16 m,struct npc_data *nd) { // Stores the spawn data entry in the mob list. // Returns the index of successful, or -1 if the list was full. int map_addmobtolist(unsigned short m, struct spawn_data *spawn) { - size_t i; + int i; ARR_FIND( 0, MAX_MOB_LIST_PER_MAP, i, map->list[m].moblist[i] == NULL ); if( i < MAX_MOB_LIST_PER_MAP ) { map->list[m].moblist[i] = spawn; @@ -3684,7 +3684,7 @@ void map_zone_remove(int m) { unsigned short k; char empty[1] = "\0"; for(k = 0; k < map->list[m].zone_mf_count; k++) { - int len = strlen(map->list[m].zone_mf[k]),j; + size_t len = strlen(map->list[m].zone_mf[k]),j; params[0] = '\0'; memcpy(flag, map->list[m].zone_mf[k], MAP_ZONE_MAPFLAG_LENGTH); for(j = 0; j < len; j++) { @@ -4236,7 +4236,7 @@ bool map_zone_mf_cache(int m, char *flag, char *params) { } else if (!strcmpi(flag,"adjust_unit_duration")) { int skill_id, k; char skill_name[MAP_ZONE_MAPFLAG_LENGTH], modifier[MAP_ZONE_MAPFLAG_LENGTH]; - int len = strlen(params); + size_t len = strlen(params); modifier[0] = '\0'; memcpy(skill_name, params, MAP_ZONE_MAPFLAG_LENGTH); @@ -4254,7 +4254,6 @@ bool map_zone_mf_cache(int m, char *flag, char *params) { } else { int idx = map->list[m].unit_count; - k = 0; ARR_FIND(0, idx, k, map->list[m].units[k]->skill_id == skill_id); if( k < idx ) { @@ -4270,7 +4269,7 @@ bool map_zone_mf_cache(int m, char *flag, char *params) { } else if (!strcmpi(flag,"adjust_skill_damage")) { int skill_id, k; char skill_name[MAP_ZONE_MAPFLAG_LENGTH], modifier[MAP_ZONE_MAPFLAG_LENGTH]; - int len = strlen(params); + size_t len = strlen(params); modifier[0] = '\0'; memcpy(skill_name, params, MAP_ZONE_MAPFLAG_LENGTH); @@ -4288,7 +4287,6 @@ bool map_zone_mf_cache(int m, char *flag, char *params) { } else { int idx = map->list[m].skill_count; - k = 0; ARR_FIND(0, idx, k, map->list[m].skills[k]->skill_id == skill_id); if( k < idx ) { @@ -4414,7 +4412,7 @@ void map_zone_apply(int m, struct map_zone_data *zone, const char* start, const char flag[MAP_ZONE_MAPFLAG_LENGTH], params[MAP_ZONE_MAPFLAG_LENGTH]; map->list[m].zone = zone; for(i = 0; i < zone->mapflags_count; i++) { - int len = strlen(zone->mapflags[i]); + size_t len = strlen(zone->mapflags[i]); int k; params[0] = '\0'; memcpy(flag, zone->mapflags[i], MAP_ZONE_MAPFLAG_LENGTH); @@ -4442,7 +4440,7 @@ void map_zone_init(void) { zone = &map->zone_all; for(i = 0; i < zone->mapflags_count; i++) { - int len = strlen(zone->mapflags[i]); + size_t len = strlen(zone->mapflags[i]); params[0] = '\0'; memcpy(flag, zone->mapflags[i], MAP_ZONE_MAPFLAG_LENGTH); for(k = 0; k < len; k++) { @@ -4465,7 +4463,7 @@ void map_zone_init(void) { if( battle_config.pk_mode ) { zone = &map->zone_pk; for(i = 0; i < zone->mapflags_count; i++) { - int len = strlen(zone->mapflags[i]); + size_t len = strlen(zone->mapflags[i]); params[0] = '\0'; memcpy(flag, zone->mapflags[i], MAP_ZONE_MAPFLAG_LENGTH); for(k = 0; k < len; k++) { @@ -5553,9 +5551,9 @@ int do_init(int argc, char *argv[]) map->iwall_db = strdb_alloc(DB_OPT_RELEASE_DATA,2*NAME_LENGTH+2+1); // [Zephyrus] Invisible Walls map->zone_db = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA, MAP_ZONE_NAME_LENGTH); - map->iterator_ers = ers_new(sizeof(struct s_mapiterator),"map.c::map_iterator_ers",ERS_OPT_NONE); + map->iterator_ers = ers_new(sizeof(struct s_mapiterator),"map.c::map_iterator_ers",ERS_OPT_CLEAN); - map->flooritem_ers = ers_new(sizeof(struct flooritem_data),"map.c::map_flooritem_ers",ERS_OPT_NONE); + map->flooritem_ers = ers_new(sizeof(struct flooritem_data),"map.c::map_flooritem_ers",ERS_OPT_CLEAN); ers_chunk_size(map->flooritem_ers, 100); if (!minimal) { diff --git a/src/map/mapreg_sql.c b/src/map/mapreg_sql.c index c94e42d5d..6a13ef2a0 100644 --- a/src/map/mapreg_sql.c +++ b/src/map/mapreg_sql.c @@ -291,7 +291,7 @@ void mapreg_final(void) { void mapreg_init(void) { mapreg->db = idb_alloc(DB_OPT_BASE); mapreg->str_db = idb_alloc(DB_OPT_BASE); - mapreg->ers = ers_new(sizeof(struct mapreg_save), "mapreg_sql.c::mapreg_ers", ERS_OPT_NONE); + mapreg->ers = ers_new(sizeof(struct mapreg_save), "mapreg_sql.c::mapreg_ers", ERS_OPT_CLEAN); mapreg->load(); diff --git a/src/map/mob.c b/src/map/mob.c index 8c02503aa..d919e7478 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -878,14 +878,15 @@ int mob_setdelayspawn(struct mob_data *md) } int mob_count_sub(struct block_list *bl, va_list ap) { - int mobid[10], i; - ARR_FIND(0, 10, i, (mobid[i] = va_arg(ap, int)) == 0); //fetch till 0 - if (mobid[0]) { //if there one let's check it otherwise go backward - TBL_MOB *md = BL_CAST(BL_MOB, bl); - ARR_FIND(0, 10, i, md->class_ == mobid[i]); - return (i < 10) ? 1 : 0; - } - return 1; //backward compatibility + int mobid[10] = { 0 }, i; + ARR_FIND(0, 10, i, (mobid[i] = va_arg(ap, int)) == 0); //fetch till 0 + if (mobid[0]) { //if there one let's check it otherwise go backward + TBL_MOB *md = BL_CAST(BL_MOB, bl); + nullpo_ret(md); + ARR_FIND(0, 10, i, md->class_ == mobid[i]); + return (i < 10) ? 1 : 0; + } + return 1; //backward compatibility } /*========================================== @@ -1767,7 +1768,6 @@ int mob_ai_hard(int tid, int64 tick, int id, intptr_t data) { *------------------------------------------*/ struct item_drop* mob_setdropitem(int nameid, int qty, struct item_data *data) { struct item_drop *drop = ers_alloc(item_drop_ers, struct item_drop); - memset(&drop->item_data, 0, sizeof(struct item)); drop->item_data.nameid = nameid; drop->item_data.amount = qty; drop->item_data.identify = data ? itemdb->isidentified2(data) : itemdb->isidentified(nameid); @@ -4104,7 +4104,7 @@ bool mob_parse_row_chatdb(char** str, const char* source, int line, int* last_ms //MSG ID ms->msg_id=msg_id; //Color - ms->color=strtoul(str[1],NULL,0); + ms->color=(unsigned int)strtoul(str[1],NULL,0); //Message msg = str[2]; len = strlen(msg); @@ -4641,7 +4641,7 @@ int do_init_mob(bool minimal) { memset(mob->db_data,0,sizeof(mob->db_data)); //Clear the array mob->db_data[0] = (struct mob_db*)aCalloc(1, sizeof (struct mob_db)); //This mob is used for random spawns mob->makedummymobdb(0); //The first time this is invoked, it creates the dummy mob - item_drop_ers = ers_new(sizeof(struct item_drop),"mob.c::item_drop_ers",ERS_OPT_NONE); + item_drop_ers = ers_new(sizeof(struct item_drop),"mob.c::item_drop_ers",ERS_OPT_CLEAN); item_drop_list_ers = ers_new(sizeof(struct item_drop_list),"mob.c::item_drop_list_ers",ERS_OPT_NONE); mob->load(minimal); diff --git a/src/map/mob.h b/src/map/mob.h index 605a8b465..9321cb4fd 100644 --- a/src/map/mob.h +++ b/src/map/mob.h @@ -91,7 +91,7 @@ struct mob_skill { struct mob_chat { unsigned short msg_id; - unsigned long color; + unsigned int color; char msg[CHAT_SIZE_MAX]; }; diff --git a/src/map/npc.c b/src/map/npc.c index b57627495..84a2446ad 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -460,10 +460,10 @@ void npc_event_do_oninit(void) *------------------------------------------*/ int npc_timerevent_export(struct npc_data *nd, int i) { - int t = 0, k = 0; + int t = 0, len = 0; char *lname = nd->u.scr.label_list[i].name; int pos = nd->u.scr.label_list[i].pos; - if (sscanf(lname, "OnTimer%d%n", &t, &k) == 1 && lname[k] == '\0') { + if (sscanf(lname, "OnTimer%d%n", &t, &len) == 1 && lname[len] == '\0') { // Timer event struct npc_timerevent_list *te = nd->u.scr.timer_event; int j, k = nd->u.scr.timeramount; @@ -1616,7 +1616,7 @@ int npc_selllist_sub(struct map_session_data* sd, int n, unsigned short* item_li /// @return result code for clif->parse_NpcSellListSend int npc_selllist(struct map_session_data* sd, int n, unsigned short* item_list) { double z; - int i,skill_t, idx = skill->get_index(MC_OVERCHARGE); + int i,skill_t, skill_idx = skill->get_index(MC_OVERCHARGE); struct npc_data *nd; nullpo_retr(1, sd); @@ -1680,9 +1680,9 @@ int npc_selllist(struct map_session_data* sd, int n, unsigned short* item_list) pc->getzeny(sd, (int)z, LOG_TYPE_NPC, NULL); // custom merchant shop exp bonus - if( battle_config.shop_exp > 0 && z > 0 && ( skill_t = pc->checkskill2(sd,idx) ) > 0) { - if( sd->status.skill[idx].flag >= SKILL_FLAG_REPLACED_LV_0 ) - skill_t = sd->status.skill[idx].flag - SKILL_FLAG_REPLACED_LV_0; + if( battle_config.shop_exp > 0 && z > 0 && ( skill_t = pc->checkskill2(sd,skill_idx) ) > 0) { + if( sd->status.skill[skill_idx].flag >= SKILL_FLAG_REPLACED_LV_0 ) + skill_t = sd->status.skill[skill_idx].flag - SKILL_FLAG_REPLACED_LV_0; if( skill_t > 0 ) { z = z * (double)skill_t * (double)battle_config.shop_exp/10000.; @@ -2311,7 +2311,7 @@ void npc_convertlabel_db(struct npc_label_list* label_list, const char *filepath int lpos = script->labels[i].pos; struct npc_label_list* label; const char *p; - int len; + size_t len; // In case of labels not terminated with ':', for user defined function support p = lname; @@ -2859,7 +2859,6 @@ int npc_do_atcmd_event(struct map_session_data* sd, const char* command, const c } if( sd->npc_id != 0 ) { // Enqueue the event trigger. - int i; ARR_FIND( 0, MAX_EVENTQUEUE, i, sd->eventqueue[i][0] == '\0' ); if( i < MAX_EVENTQUEUE ) { safestrncpy(sd->eventqueue[i],eventname,50); //Event enqueued. @@ -3370,7 +3369,7 @@ const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, const char else if (!strcmpi(w3,"adjust_unit_duration")) { int skill_id, k; char skill_name[MAP_ZONE_MAPFLAG_LENGTH], modifier[MAP_ZONE_MAPFLAG_LENGTH]; - int len = w4 ? strlen(w4) : 0; + size_t len = w4 ? strlen(w4) : 0; modifier[0] = '\0'; if( w4 ) @@ -3425,7 +3424,7 @@ const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, const char } else if (!strcmpi(w3,"adjust_skill_damage")) { int skill_id, k; char skill_name[MAP_ZONE_MAPFLAG_LENGTH], modifier[MAP_ZONE_MAPFLAG_LENGTH]; - int len = w4 ? strlen(w4) : 0; + size_t len = w4 ? strlen(w4) : 0; modifier[0] = '\0'; @@ -3554,7 +3553,7 @@ int npc_parsesrcfile(const char* filepath, bool runOnInit) { lines++; // w1<TAB>w2<TAB>w3<TAB>w4 - count = sv->parse(p, len+buffer-p, 0, '\t', pos, ARRAYLENGTH(pos), (e_svopt)(SV_TERMINATE_LF|SV_TERMINATE_CRLF)); + count = sv->parse(p, (int)(len+buffer-p), 0, '\t', pos, ARRAYLENGTH(pos), (e_svopt)(SV_TERMINATE_LF|SV_TERMINATE_CRLF)); if( count < 0 ) { ShowError("npc_parsesrcfile: Parse error in file '%s', line '%d'. Stopping...\n", filepath, strline(buffer,p-buffer)); diff --git a/src/map/party.c b/src/map/party.c index cab12548b..7af6acff5 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -333,7 +333,7 @@ int party_invite(struct map_session_data *sd,struct map_session_data *tsd) } // confirm whether the account has the ability to invite before checking the player - if( !pc->has_permission(sd, PC_PERM_PARTY) || (tsd && !pc->has_permission(tsd, PC_PERM_PARTY)) ) { + if( !pc_has_permission(sd, PC_PERM_PARTY) || (tsd && !pc_has_permission(tsd, PC_PERM_PARTY)) ) { clif->message(sd->fd, msg_txt(81)); // "Your GM level doesn't authorize you to preform this action on the specified player." return 0; } diff --git a/src/map/party.h b/src/map/party.h index 91f4c1b7d..0041b1462 100644 --- a/src/map/party.h +++ b/src/map/party.h @@ -44,9 +44,9 @@ struct party_booking_detail { }; struct party_booking_ad_info { - unsigned long index; + unsigned int index; char charname[NAME_LENGTH]; - long expiretime; + int expiretime; struct party_booking_detail p_detail; }; #else /* PARTY_RECRUIT */ @@ -56,8 +56,8 @@ struct party_booking_detail { }; struct party_booking_ad_info { - unsigned long index; - long expiretime; + unsigned int index; + int expiretime; char charname[NAME_LENGTH]; struct party_booking_detail p_detail; }; @@ -71,7 +71,7 @@ struct party_booking_ad_info { struct party_interface { DBMap* db; // int party_id -> struct party_data* (releases data) DBMap* booking_db; // int char_id -> struct party_booking_ad_info* (releases data) // Party Booking [Spiria] - unsigned long booking_nextid; + unsigned int booking_nextid; /* funcs */ void (*init) (bool minimal); void (*final) (void); diff --git a/src/map/path.c b/src/map/path.c index a47677cf5..21d14c815 100644 --- a/src/map/path.c +++ b/src/map/path.c @@ -184,8 +184,10 @@ bool path_search_long(struct shootpath_data *spd,int16 m,int16 x0,int16 y0,int16 /// Ensures there is enough space in array to store new element. static void heap_push_node(struct node_heap *heap, struct path_node *node) { +#ifndef __clang_analyzer__ // TODO: Figure out why clang's static analyzer doesn't like this BHEAP_ENSURE(*heap, 1, 256); BHEAP_PUSH(*heap, node, NODE_MINTOPCMP, swap_ptr); +#endif // __clang_analyzer__ } /// Updates path_node in the binary node_heap. diff --git a/src/map/pc.c b/src/map/pc.c index 43bdb5f82..fc1d56b6d 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -77,15 +77,6 @@ struct map_session_data* pc_get_dummy_sd(void) } /** - * Gets player's group level. - * @see pc_group_get_level() - */ -int pc_get_group_level(struct map_session_data *sd) -{ - return pcg->get_level(sd->group); -} - -/** * Sets player's group. * Caller should handle error (preferably display message and disconnect). * @param group_id Group ID @@ -102,14 +93,6 @@ int pc_set_group(struct map_session_data *sd, int group_id) } /** - * Checks if player has permission to perform action. - */ -bool pc_has_permission(struct map_session_data *sd, unsigned int permission) -{ - return ((sd->extra_temp_permissions&permission) != 0 || pcg->has_permission(sd->group, permission)); -} - -/** * Checks if commands used by player should be logged. */ bool pc_should_log_commands(struct map_session_data *sd) @@ -560,22 +543,6 @@ void pc_inventory_rental_add(struct map_session_data *sd, int seconds) sd->rental_timer = timer->add(timer->gettick() + min(tick,3600000), pc->inventory_rental_end, sd->bl.id, 0); } -/** - * Determines if player can give / drop / trade / vend items - */ -bool pc_can_give_items(struct map_session_data *sd) -{ - return pc->has_permission(sd, PC_PERM_TRADE); -} - -/** - * Determines if player can give / drop / trade / vend bounded items - */ -bool pc_can_give_bound_items(struct map_session_data *sd) -{ - return pc->has_permission(sd, PC_PERM_TRADE_BOUND); -} - /*========================================== * prepares character for saving. *------------------------------------------*/ @@ -929,7 +896,7 @@ int pc_isequip(struct map_session_data *sd,int n) item = sd->inventory_data[n]; - if(pc->has_permission(sd, PC_PERM_USE_ALL_EQUIPMENT)) + if(pc_has_permission(sd, PC_PERM_USE_ALL_EQUIPMENT)) return 1; if(item == NULL) @@ -1451,7 +1418,7 @@ int pc_calc_skilltree(struct map_session_data *sd) } } - if( pc->has_permission(sd, PC_PERM_ALL_SKILL) ) { + if( pc_has_permission(sd, PC_PERM_ALL_SKILL) ) { for( i = 0; i < MAX_SKILL; i++ ) { switch(skill->db[i].nameid) { /** @@ -1647,7 +1614,7 @@ int pc_calc_skilltree_normalize_job(struct map_session_data *sd) int skill_point, novice_skills; int c = sd->class_; - if (!battle_config.skillup_limit || pc->has_permission(sd, PC_PERM_ALL_SKILL)) + if (!battle_config.skillup_limit || pc_has_permission(sd, PC_PERM_ALL_SKILL)) return c; skill_point = pc->calc_skillpoint(sd); @@ -4210,7 +4177,7 @@ int pc_isUseitem(struct map_session_data *sd,int n) if( !item->script ) //if it has no script, you can't really consume it! return 0; - if( (item->item_usage.flag&NOUSE_SITTING) && (pc_issit(sd) == 1) && (pc->get_group_level(sd) < item->item_usage.override) ) { + if( (item->item_usage.flag&NOUSE_SITTING) && (pc_issit(sd) == 1) && (pc_get_group_level(sd) < item->item_usage.override) ) { clif->msgtable(sd->fd,0x297); //clif->colormes(sd->fd,COLOR_WHITE,msg_txt(1474)); return 0; // You cannot use this item while sitting. @@ -4442,7 +4409,6 @@ int pc_useitem(struct map_session_data *sd,int n) { return 0; if( sd->inventory_data[n]->delay > 0 ) { - int i; ARR_FIND(0, MAX_ITEMDELAYS, i, sd->item_delay[i].nameid == nameid ); if( i == MAX_ITEMDELAYS ) /* item not found. try first empty now */ ARR_FIND(0, MAX_ITEMDELAYS, i, !sd->item_delay[i].nameid ); @@ -4545,7 +4511,7 @@ int pc_cart_additem(struct map_session_data *sd,struct item *item_data,int amoun return 1; } - if( !itemdb_cancartstore(item_data, pc->get_group_level(sd)) || (item_data->bound > IBT_ACCOUNT && !pc->can_give_bound_items(sd))) + if( !itemdb_cancartstore(item_data, pc_get_group_level(sd)) || (item_data->bound > IBT_ACCOUNT && !pc_can_give_bound_items(sd))) { // Check item trade restrictions [Skotlex] clif->message (sd->fd, msg_txt(264)); return 1;/* TODO: there is no official response to this? */ @@ -4927,9 +4893,10 @@ int pc_setpos(struct map_session_data* sd, unsigned short map_index, int x, int if( i != sd->guild->instances ) { m = instance->list[sd->guild->instance[i]].map[j]; map_index = map_id2index(m); - stop = true; + //stop = true; Uncomment if adding new checks } } + /* we hit a instance, if empty we populate the spawn data */ if( map->list[m].instance_id >= 0 && instance->list[map->list[m].instance_id].respawn.map == 0 && instance->list[map->list[m].instance_id].respawn.x == 0 && @@ -5126,7 +5093,7 @@ int pc_memo(struct map_session_data* sd, int pos) { nullpo_ret(sd); // check mapflags - if( sd->bl.m >= 0 && (map->list[sd->bl.m].flag.nomemo || map->list[sd->bl.m].flag.nowarpto) && !pc->has_permission(sd, PC_PERM_WARP_ANYWHERE) ) { + if( sd->bl.m >= 0 && (map->list[sd->bl.m].flag.nomemo || map->list[sd->bl.m].flag.nowarpto) && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE) ) { clif->skill_mapinfomessage(sd, 1); // "Saved point cannot be memorized." return 0; } @@ -6323,7 +6290,7 @@ int pc_skillup(struct map_session_data *sd,uint16 skill_id) { clif->updatestatus(sd,SP_SKILLPOINT); if( skill_id == GN_REMODELING_CART ) /* cart weight info was updated by status_calc_pc */ clif->updatestatus(sd,SP_CARTINFO); - if (!pc->has_permission(sd, PC_PERM_ALL_SKILL)) // may skill everything at any time anyways, and this would cause a huge slowdown + if (!pc_has_permission(sd, PC_PERM_ALL_SKILL)) // may skill everything at any time anyways, and this would cause a huge slowdown clif->skillinfoblock(sd); } else if( battle_config.skillup_limit ){ if( sd->sktree.second ) @@ -6356,7 +6323,7 @@ int pc_allskillup(struct map_session_data *sd) } } - if (pc->has_permission(sd, PC_PERM_ALL_SKILL)) { //Get ALL skills except npc/guild ones. [Skotlex] + if (pc_has_permission(sd, PC_PERM_ALL_SKILL)) { //Get ALL skills except npc/guild ones. [Skotlex] //and except SG_DEVIL [Komurka] and MO_TRIPLEATTACK and RG_SNATCHER [ultramage] for(i=0;i<MAX_SKILL;i++){ switch( skill->db[i].nameid ) { @@ -6794,15 +6761,15 @@ void pc_damage(struct map_session_data *sd,struct block_list *src,unsigned int h * Invoked when a player has negative current hp *------------------------------------------*/ int pc_dead(struct map_session_data *sd,struct block_list *src) { - int i=0,j=0,k=0; + int i=0,j=0; int64 tick = timer->gettick(); - for(k = 0; k < 5; k++) - if (sd->devotion[k]){ - struct map_session_data *devsd = map->id2sd(sd->devotion[k]); + for(j = 0; j < 5; j++) + if (sd->devotion[j]){ + struct map_session_data *devsd = map->id2sd(sd->devotion[j]); if (devsd) status_change_end(&devsd->bl, SC_DEVOTION, INVALID_TIMER); - sd->devotion[k] = 0; + sd->devotion[j] = 0; } if(sd->status.pet_id > 0 && sd->pd) { @@ -7062,14 +7029,13 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) { if(id == 0) continue; if(id == -1){ - int eq_num=0,eq_n[MAX_INVENTORY]; + int eq_num=0,eq_n[MAX_INVENTORY],k; memset(eq_n,0,sizeof(eq_n)); for(i=0;i<MAX_INVENTORY;i++){ if( (type == 1 && !sd->status.inventory[i].equip) || (type == 2 && sd->status.inventory[i].equip) || type == 3) { - int k; ARR_FIND( 0, MAX_INVENTORY, k, eq_n[k] <= 0 ); if( k < MAX_INVENTORY ) eq_n[k] = i; @@ -8072,11 +8038,11 @@ int pc_setmadogear(TBL_PC* sd, int flag) *------------------------------------------*/ int pc_candrop(struct map_session_data *sd, struct item *item) { - if( item && (item->expire_time || (item->bound && !pc->can_give_bound_items(sd))) ) + if( item && (item->expire_time || (item->bound && !pc_can_give_bound_items(sd))) ) return 0; - if( !pc->can_give_items(sd) ) //check if this GM level can drop items + if( !pc_can_give_items(sd) ) //check if this GM level can drop items return 0; - return (itemdb_isdropable(item, pc->get_group_level(sd))); + return (itemdb_isdropable(item, pc_get_group_level(sd))); } /*========================================== @@ -10211,7 +10177,7 @@ int pc_readdb(void) { int stat; if(line[0]=='/' && line[1]=='/') continue; - if ((stat=strtoul(line,NULL,10))<0) + if ((stat=(int)strtol(line,NULL,10))<0) stat=0; if (i > MAX_LEVEL) break; @@ -10478,12 +10444,8 @@ void pc_defaults(void) { pc->get_dummy_sd = pc_get_dummy_sd; pc->class2idx = pc_class2idx; - pc->get_group_level = pc_get_group_level; - pc->can_give_items = pc_can_give_items; - pc->can_give_bound_items = pc_can_give_bound_items; pc->can_use_command = pc_can_use_command; - pc->has_permission = pc_has_permission; pc->set_group = pc_set_group; pc->should_log_commands = pc_should_log_commands; diff --git a/src/map/pc.h b/src/map/pc.h index 3de1e35fe..5264fa557 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -684,6 +684,12 @@ enum equip_pos { #define pc_readaccountreg2str(sd,reg) (pc->readregistry_str((sd),(reg),1)) #define pc_setaccountreg2str(sd,reg,val) (pc->setregistry_str((sd),(reg),(val),1)) +/* pc_groups easy access */ +#define pc_get_group_level(sd) ( (sd)->group->level ) +#define pc_has_permission(sd,permission) ( ((sd)->extra_temp_permissions&(permission)) != 0 || ((sd)->group->e_permissions&(permission)) != 0 ) +#define pc_can_give_items(sd) ( pc_has_permission((sd),PC_PERM_TRADE) ) +#define pc_can_give_bound_items(sd) ( pc_has_permission((sd),PC_PERM_TRADE_BOUND) ) + struct skill_tree_entry { short id; unsigned short idx; @@ -754,13 +760,11 @@ struct pc_interface { struct map_session_data* (*get_dummy_sd) (void); int (*class2idx) (int class_); - int (*get_group_level) (struct map_session_data *sd); //int (*getrefinebonus) (int lv,int type); FIXME: This function does not exist, nor it is ever called bool (*can_give_items) (struct map_session_data *sd); bool (*can_give_bound_items) (struct map_session_data *sd); bool (*can_use_command) (struct map_session_data *sd, const char *command); - bool (*has_permission) (struct map_session_data *sd, unsigned int permission); int (*set_group) (struct map_session_data *sd, int group_id); bool (*should_log_commands) (struct map_session_data *sd); diff --git a/src/map/pc_groups.c b/src/map/pc_groups.c index f95878e97..59dd951c7 100644 --- a/src/map/pc_groups.c +++ b/src/map/pc_groups.c @@ -131,7 +131,7 @@ static void read_config(void) { iter = db_iterator(pcg->db); for (group_settings = dbi_first(iter); dbi_exists(iter); group_settings = dbi_next(iter)) { config_setting_t *commands = group_settings->commands, *permissions = group_settings->permissions; - int count = 0, i; + int count = 0; // Make sure there is "commands" group if (commands == NULL) @@ -209,15 +209,15 @@ static void read_config(void) { // Copy settings (commands/permissions) that are not defined yet if (inherited_group->commands != NULL) { - int i = 0, commands_count = config_setting_length(inherited_group->commands); - for (i = 0; i < commands_count; ++i) - config_setting_copy(commands, config_setting_get_elem(inherited_group->commands, i)); + int k = 0, commands_count = config_setting_length(inherited_group->commands); + for (k = 0; k < commands_count; ++k) + config_setting_copy(commands, config_setting_get_elem(inherited_group->commands, k)); } if (inherited_group->permissions != NULL) { - int i = 0, permissions_count = config_setting_length(inherited_group->permissions); - for (i = 0; i < permissions_count; ++i) - config_setting_copy(permissions, config_setting_get_elem(inherited_group->permissions, i)); + int k = 0, permissions_count = config_setting_length(inherited_group->permissions); + for (k = 0; k < permissions_count; ++k) + config_setting_copy(permissions, config_setting_get_elem(inherited_group->permissions, k)); } ++done; // copied commands and permissions from one of inherited groups @@ -241,7 +241,7 @@ static void read_config(void) { iter = db_iterator(pcg->db); for (group_settings = dbi_first(iter); dbi_exists(iter); group_settings = dbi_next(iter)) { config_setting_t *permissions = group_settings->permissions; - int i, count = config_setting_length(permissions); + int count = config_setting_length(permissions); for (i = 0; i < count; ++i) { config_setting_t *perm = config_setting_get_elem(permissions, i); @@ -261,20 +261,20 @@ static void read_config(void) { // Fetch all groups and relevant config setting and send them // to atcommand->load_group() for processing. if (group_count > 0) { - int i = 0; - GroupSettings **groups = NULL; + GroupSettings **pc_groups = NULL; config_setting_t **commands = NULL; - CREATE(groups, GroupSettings*, group_count); + CREATE(pc_groups, GroupSettings*, group_count); CREATE(commands, config_setting_t*, group_count); + i = 0; iter = db_iterator(pcg->db); for (group_settings = dbi_first(iter); dbi_exists(iter); group_settings = dbi_next(iter)) { - groups[i] = group_settings; + pc_groups[i] = group_settings; commands[i] = group_settings->commands; i++; } - atcommand->load_groups(groups, commands, group_count); + atcommand->load_groups(pc_groups, commands, group_count); dbi_destroy(iter); - aFree(groups); + aFree(pc_groups); aFree(commands); } } diff --git a/src/map/pet.c b/src/map/pet.c index 8cdc78e16..c04d9267a 100644 --- a/src/map/pet.c +++ b/src/map/pet.c @@ -872,7 +872,7 @@ int pet_ai_sub_hard(struct pet_data *pd, struct map_session_data *sd, int64 tick } } - if(!target && pd->loot && pd->msd && pc->has_permission(pd->msd, PC_PERM_TRADE) && pd->loot->count < pd->loot->max && DIFF_TICK(tick,pd->ud.canact_tick)>0) { + if(!target && pd->loot && pd->msd && pc_has_permission(pd->msd, PC_PERM_TRADE) && pd->loot->count < pd->loot->max && DIFF_TICK(tick,pd->ud.canact_tick)>0) { //Use half the pet's range of sight. map->foreachinrange(pet->ai_sub_hard_lootsearch,&pd->bl, pd->db->range2/2, BL_ITEM,pd,&target); diff --git a/src/map/script.c b/src/map/script.c index 008298fa3..074348ef0 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -275,14 +275,14 @@ void script_reportfunc(struct script_state* st) /*========================================== * Output error message *------------------------------------------*/ -void disp_error_message2(const char *mes,const char *pos,int report) -{ +static void disp_error_message2(const char *mes,const char *pos,int report) analyzer_noreturn; +static void disp_error_message2(const char *mes,const char *pos,int report) { script->error_msg = aStrdup(mes); script->error_pos = pos; script->error_report = report; longjmp( script->error_jump, 1 ); } -#define disp_error_message(mes,pos) (script->disp_error_message2((mes),(pos),1)) +#define disp_error_message(mes,pos) (disp_error_message2((mes),(pos),1)) void disp_warning_message(const char *mes, const char *pos) { script->warning(script->parser_current_src,script->parser_current_file,script->parser_current_line,mes,pos); @@ -728,7 +728,7 @@ const char* skip_word(const char* p) { /// @see skip_word /// @see script->add_str int add_word(const char* p) { - int len; + size_t len; int i; // Check for a word @@ -1204,7 +1204,7 @@ const char* script_parse_subexpr(const char* p,int limit) { } } - if( (op=C_ADD_PRE,p[0]=='+'&&p[1]=='+') || (op=C_SUB_PRE,p[0]=='-'&&p[1]=='-') ) { // Pre ++ -- operators + if( (p[0]=='+' && p[1]=='+') /* C_ADD_PRE */ || (p[0]=='-'&&p[1]=='-') /* C_SUB_PRE */ ) { // Pre ++ -- operators p=script->parse_variable(p); } else if( (op=C_NEG,*p=='-') || (op=C_LNOT,*p=='!') || (op=C_NOT,*p=='~') ) { // Unary - ! ~ operators p=script->parse_subexpr(p+1,11); @@ -1459,7 +1459,7 @@ const char* parse_syntax(const char* p) // check whether case label is integer or not if(is_number(p)) { //Numeric value - v = strtol(p,&np,0); + v = (int)strtol(p,&np,0); if((*p == '-' || *p == '+') && ISDIGIT(p[1])) // pre-skip because '-' can not skip_word p++; p = script->skip_word(p); @@ -1468,7 +1468,7 @@ const char* parse_syntax(const char* p) } else { //Check for constants p2 = script->skip_word(p); - v = p2-p; // length of word at p2 + v = (int)(size_t) (p2-p); // length of word at p2 memcpy(label,p,v); label[v]='\0'; if( !script->get_constant(label, &v) ) @@ -1936,8 +1936,6 @@ const char* parse_syntax_close_sub(const char* p,int* flag) } return p; } else if(script->syntax.curly[pos].type == TYPE_DO) { - int l; - char label[256]; const char *p2; if(script->syntax.curly[pos].flag) { @@ -2023,10 +2021,7 @@ const char* parse_syntax_close_sub(const char* p,int* flag) script->set_label(l,script->pos,p); script->syntax.curly_count--; return p; - } else if(script->syntax.curly[script->syntax.curly_count-1].type == TYPE_USERFUNC) { - int pos = script->syntax.curly_count-1; - char label[256]; - int l; + } else if(script->syntax.curly[pos].type == TYPE_USERFUNC) { // Back sprintf(label,"return;"); script->syntax.curly[script->syntax.curly_count++].type = TYPE_NULL; @@ -2275,7 +2270,6 @@ struct script_code* parse_script(const char *src,const char *file,int line,int o if( setjmp( script->error_jump ) != 0 ) { //Restore program state when script has problems. [from jA] - int i; const int size = ARRAYLENGTH(script->syntax.curly); if( script->error_report ) script->error(src,file,line,script->error_msg,script->error_pos); @@ -3691,7 +3685,7 @@ void run_script_main(struct script_state *st) { break; } if( !st->freeloop && cmdcount>0 && (--cmdcount)<=0 ){ - ShowError("run_script: infinity loop !\n"); + ShowError("run_script: too many opeartions being processed non-stop !\n"); script->reportsrc(st); st->state=END; } @@ -4018,7 +4012,7 @@ void do_init_script(bool minimal) { script->userfunc_db = strdb_alloc(DB_OPT_DUP_KEY,0); script->autobonus_db = strdb_alloc(DB_OPT_DUP_KEY,0); - script->st_ers = ers_new(sizeof(struct script_state), "script.c::st_ers", ERS_OPT_NONE); + script->st_ers = ers_new(sizeof(struct script_state), "script.c::st_ers", ERS_OPT_CLEAN); script->stack_ers = ers_new(sizeof(struct script_stack), "script.c::script_stack", ERS_OPT_NONE); ers_chunk_size(script->st_ers, 10); @@ -6165,10 +6159,8 @@ BUILDIN(getitem) *------------------------------------------*/ BUILDIN(getitem2) { - int nameid,amount,get_count,i,flag = 0, offset = 0; + int nameid,amount,i,flag = 0, offset = 0; int iden,ref,attr,c1,c2,c3,c4, bound = 0; - struct item_data *item_data; - struct item item_tmp; TBL_PC *sd; struct script_data *data; @@ -6221,8 +6213,10 @@ BUILDIN(getitem2) } if(nameid > 0) { + struct item item_tmp; + struct item_data *item_data = itemdb->exists(nameid); + int get_count; memset(&item_tmp,0,sizeof(item_tmp)); - item_data=itemdb->exists(nameid); if (item_data == NULL) return -1; if(item_data->type==IT_WEAPON || item_data->type==IT_ARMOR){ @@ -7996,7 +7990,7 @@ BUILDIN(getgmlevel) if( sd == NULL ) return true;// no player attached, report source - script_pushint(st, pc->get_group_level(sd)); + script_pushint(st, pc_get_group_level(sd)); return true; } @@ -9332,12 +9326,12 @@ BUILDIN(announce) { } if (fontColor) - clif->broadcast2(bl, mes, (int)strlen(mes)+1, strtol(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, target); + clif->broadcast2(bl, mes, (int)strlen(mes)+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, target); else clif->broadcast(bl, mes, (int)strlen(mes)+1, flag&BC_COLOR_MASK, target); } else { if (fontColor) - intif->broadcast2(mes, (int)strlen(mes)+1, strtol(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY); + intif->broadcast2(mes, (int)strlen(mes)+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY); else intif->broadcast(mes, (int)strlen(mes)+1, flag&BC_COLOR_MASK); } @@ -9356,7 +9350,7 @@ int buildin_announce_sub(struct block_list *bl, va_list ap) short fontAlign = (short)va_arg(ap, int); short fontY = (short)va_arg(ap, int); if (fontColor) - clif->broadcast2(bl, mes, len, strtol(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, SELF); + clif->broadcast2(bl, mes, len, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, SELF); else clif->broadcast(bl, mes, len, type, SELF); return 0; @@ -9490,11 +9484,11 @@ BUILDIN(getusersname) sd = script->rid2sd(st); if (!sd) return true; - group_level = pc->get_group_level(sd); + group_level = pc_get_group_level(sd); iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit->first(iter); mapit->exists(iter); pl_sd = (TBL_PC*)mapit->next(iter) ) { - if (pc->has_permission(pl_sd, PC_PERM_HIDE_SESSION) && pc->get_group_level(pl_sd) > group_level) + if (pc_has_permission(pl_sd, PC_PERM_HIDE_SESSION) && pc_get_group_level(pl_sd) > group_level) continue; // skip hidden sessions /* Temporary fix for bugreport:1023. @@ -13502,7 +13496,7 @@ BUILDIN(insertchar) if(index < 0) index = 0; else if(index > len) - index = len; + index = (int)len; output = (char*)aMalloc(len + 2); @@ -13685,9 +13679,9 @@ BUILDIN(implode) { struct script_data* data = script_getdata(st, 2); const char *glue = NULL, *name, *temp; - int32 glue_len = 0, array_size, id; - size_t len = 0; - int i, k = 0; + int32 array_size, id; + size_t len = 0, glue_len = 0, k = 0; + int i; TBL_PC* sd = NULL; @@ -13782,13 +13776,14 @@ BUILDIN(implode) //------------------------------------------------------- BUILDIN(sprintf) { - unsigned int len, argc = 0, arg = 0, buf2_len = 0; + unsigned int argc = 0, arg = 0; const char* format; char* p; char* q; char* buf = NULL; char* buf2 = NULL; struct script_data* data; + size_t len, buf2_len = 0; StringBuf final_buf; // Fetch init data @@ -13913,7 +13908,7 @@ BUILDIN(sprintf) // Implements C sscanf. //------------------------------------------------------- BUILDIN(sscanf){ - unsigned int argc, arg = 0, len; + unsigned int argc, arg = 0; struct script_data* data; struct map_session_data* sd = NULL; const char* str; @@ -13924,6 +13919,7 @@ BUILDIN(sscanf){ char* buf_p; char* ref_str = NULL; int ref_int; + size_t len; // Get data str = script_getstr(st, 2); @@ -16704,7 +16700,7 @@ BUILDIN(progressbar) sd->progressbar.timeout = timer->gettick() + second*1000; sd->state.workinprogress = 3; - clif->progressbar(sd, strtol(color, (char **)NULL, 0), second); + clif->progressbar(sd, (unsigned int)strtoul(color, (char **)NULL, 0), second); return true; } @@ -18034,7 +18030,8 @@ BUILDIN(instance_set_respawn) { * @return Whether the function was successfully added. */ bool script_add_builtin(const struct script_function *buildin, bool override) { - int slen = 0, n = 0, offset = 0; + int n = 0, offset = 0; + size_t slen; if( !buildin ) { return false; } @@ -18769,7 +18766,6 @@ void script_defaults(void) { script->reportsrc = script_reportsrc; script->reportdata = script_reportdata; script->reportfunc = script_reportfunc; - script->disp_error_message2 = disp_error_message2; script->disp_warning_message = disp_warning_message; script->check_event = check_event; script->calc_hash = calc_hash; diff --git a/src/map/script.h b/src/map/script.h index d1d131af3..8076ea02e 100644 --- a/src/map/script.h +++ b/src/map/script.h @@ -480,12 +480,12 @@ struct script_interface { int str_num; // next id to be assigned // str_buf holds the strings themselves char *str_buf; - int str_size; // size of the buffer + size_t str_size; // size of the buffer int str_pos; // next position to be assigned int str_hash[SCRIPT_HASH_SIZE]; /* */ char *word_buf; - int word_size; + size_t word_size; /* */ unsigned short current_item_id; /* */ @@ -594,7 +594,6 @@ struct script_interface { void (*reportsrc) (struct script_state *st); void (*reportdata) (struct script_data *data); void (*reportfunc) (struct script_state *st); - void (*disp_error_message2) (const char *mes, const char *pos, int report); void (*disp_warning_message) (const char *mes, const char *pos); void (*check_event) (struct script_state *st, const char *evt); unsigned int (*calc_hash) (const char *p); diff --git a/src/map/skill.c b/src/map/skill.c index 650594abc..71e343db0 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -328,6 +328,8 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk struct map_session_data *tsd = BL_CAST(BL_PC, target); struct status_change* sc; + nullpo_ret(src); + switch( skill_id ) { case BA_APPLEIDUN: #ifdef RENEWAL @@ -444,7 +446,7 @@ int skillnotok (uint16 skill_id, struct map_session_data *sd) if (idx == 0) return 1; // invalid skill id - if (pc->has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL)) + if (pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL)) return 0; // can do any damn thing they want if( skill_id == AL_TELEPORT && sd->skillitem == skill_id && sd->skillitemlv > 2 ) @@ -1434,7 +1436,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1 if( sd && !status->isdead(bl) && sd->autospell[0].id ) { struct block_list *tbl; struct unit_data *ud; - int i, skill_lv, type, notok; + int i, auto_skill_lv, type, notok; for (i = 0; i < ARRAYLENGTH(sd->autospell) && sd->autospell[i].id; i++) { @@ -1452,8 +1454,8 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1 if ( notok ) continue; - skill_lv = sd->autospell[i].lv?sd->autospell[i].lv:1; - if (skill_lv < 0) skill_lv = 1+rnd()%(-skill_lv); + auto_skill_lv = sd->autospell[i].lv?sd->autospell[i].lv:1; + if (auto_skill_lv < 0) auto_skill_lv = 1+rnd()%(-auto_skill_lv); rate = (!sd->state.arrow_atk) ? sd->autospell[i].rate : sd->autospell[i].rate / 2; @@ -1466,18 +1468,18 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1 int maxcount = 0; if( !(BL_PC&battle_config.skill_reiteration) && skill->get_unit_flag(temp)&UF_NOREITERATION && - skill->check_unit_range(src,tbl->x,tbl->y,temp,skill_lv) + skill->check_unit_range(src,tbl->x,tbl->y,temp,auto_skill_lv) ) { continue; } if( BL_PC&battle_config.skill_nofootset && skill->get_unit_flag(temp)&UF_NOFOOTSET && - skill->check_unit_range2(src,tbl->x,tbl->y,temp,skill_lv) + skill->check_unit_range2(src,tbl->x,tbl->y,temp,auto_skill_lv) ) { continue; } if( BL_PC&battle_config.land_skill_limit && - (maxcount = skill->get_maxcount(temp, skill_lv)) > 0 + (maxcount = skill->get_maxcount(temp, auto_skill_lv)) > 0 ) { int v; for(v=0;v<MAX_SKILLUNITGROUP && sd->ud.skillunit[v] && maxcount;v++) { @@ -1490,7 +1492,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1 } } if( battle_config.autospell_check_range && - !battle->check_range(src, tbl, skill->get_range2(src, temp,skill_lv) + (temp == RG_CLOSECONFINE?0:1)) ) + !battle->check_range(src, tbl, skill->get_range2(src, temp,auto_skill_lv) + (temp == RG_CLOSECONFINE?0:1)) ) continue; if (temp == AS_SONICBLOW) @@ -1499,24 +1501,24 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1 type = CAST_GROUND; sd->state.autocast = 1; - skill->consume_requirement(sd,temp,skill_lv,1); + skill->consume_requirement(sd,temp,auto_skill_lv,1); skill->toggle_magicpower(src, temp); switch (type) { case CAST_GROUND: - skill->castend_pos2(src, tbl->x, tbl->y, temp, skill_lv, tick, 0); + skill->castend_pos2(src, tbl->x, tbl->y, temp, auto_skill_lv, tick, 0); break; case CAST_NODAMAGE: - skill->castend_nodamage_id(src, tbl, temp, skill_lv, tick, 0); + skill->castend_nodamage_id(src, tbl, temp, auto_skill_lv, tick, 0); break; case CAST_DAMAGE: - skill->castend_damage_id(src, tbl, temp, skill_lv, tick, 0); + skill->castend_damage_id(src, tbl, temp, auto_skill_lv, tick, 0); break; } sd->state.autocast = 0; //Set canact delay. [Skotlex] ud = unit->bl2ud(src); if (ud) { - rate = skill->delay_fix(src, temp, skill_lv); + rate = skill->delay_fix(src, temp, auto_skill_lv); if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){ ud->canact_tick = tick+rate; if ( battle_config.display_status_timers && sd ) @@ -1779,7 +1781,7 @@ int skill_counter_additional_effect(struct block_list* src, struct block_list *b if(dstsd && !status->isdead(bl) && dstsd->autospell2[0].id && !(skill_id && skill->get_nk(skill_id)&NK_NO_DAMAGE)) { struct block_list *tbl; struct unit_data *ud; - int i, skill_id, skill_lv, rate, type, notok; + int i, auto_skill_id, auto_skill_lv, type, notok; for (i = 0; i < ARRAYLENGTH(dstsd->autospell2) && dstsd->autospell2[i].id; i++) { @@ -1788,16 +1790,16 @@ int skill_counter_additional_effect(struct block_list* src, struct block_list *b dstsd->autospell2[i].flag&attack_type&BF_SKILLMASK)) continue; // one or more trigger conditions were not fulfilled - skill_id = (dstsd->autospell2[i].id > 0) ? dstsd->autospell2[i].id : -dstsd->autospell2[i].id; - skill_lv = dstsd->autospell2[i].lv?dstsd->autospell2[i].lv:1; - if (skill_lv < 0) skill_lv = 1+rnd()%(-skill_lv); + auto_skill_id = (dstsd->autospell2[i].id > 0) ? dstsd->autospell2[i].id : -dstsd->autospell2[i].id; + auto_skill_lv = dstsd->autospell2[i].lv?dstsd->autospell2[i].lv:1; + if (auto_skill_lv < 0) auto_skill_lv = 1+rnd()%(-auto_skill_lv); rate = dstsd->autospell2[i].rate; if (attack_type&BF_LONG) rate>>=1; dstsd->state.autocast = 1; - notok = skill->not_ok(skill_id, dstsd); + notok = skill->not_ok(auto_skill_id, dstsd); dstsd->state.autocast = 0; if ( notok ) @@ -1808,26 +1810,26 @@ int skill_counter_additional_effect(struct block_list* src, struct block_list *b tbl = (dstsd->autospell2[i].id < 0) ? bl : src; - if( (type = skill->get_casttype(skill_id)) == CAST_GROUND ) { + if( (type = skill->get_casttype(auto_skill_id)) == CAST_GROUND ) { int maxcount = 0; if( !(BL_PC&battle_config.skill_reiteration) && - skill->get_unit_flag(skill_id)&UF_NOREITERATION && - skill->check_unit_range(bl,tbl->x,tbl->y,skill_id,skill_lv) + skill->get_unit_flag(auto_skill_id)&UF_NOREITERATION && + skill->check_unit_range(bl,tbl->x,tbl->y,auto_skill_id,auto_skill_lv) ) { continue; } if( BL_PC&battle_config.skill_nofootset && - skill->get_unit_flag(skill_id)&UF_NOFOOTSET && - skill->check_unit_range2(bl,tbl->x,tbl->y,skill_id,skill_lv) + skill->get_unit_flag(auto_skill_id)&UF_NOFOOTSET && + skill->check_unit_range2(bl,tbl->x,tbl->y,auto_skill_id,auto_skill_lv) ) { continue; } if( BL_PC&battle_config.land_skill_limit && - (maxcount = skill->get_maxcount(skill_id, skill_lv)) > 0 + (maxcount = skill->get_maxcount(auto_skill_id, auto_skill_lv)) > 0 ) { int v; for(v=0;v<MAX_SKILLUNITGROUP && dstsd->ud.skillunit[v] && maxcount;v++) { - if(dstsd->ud.skillunit[v]->skill_id == skill_id) + if(dstsd->ud.skillunit[v]->skill_id == auto_skill_id) maxcount--; } if( maxcount == 0 ) { @@ -1836,27 +1838,27 @@ int skill_counter_additional_effect(struct block_list* src, struct block_list *b } } - if( !battle->check_range(src, tbl, skill->get_range2(src, skill_id,skill_lv) + (skill_id == RG_CLOSECONFINE?0:1)) && battle_config.autospell_check_range ) + if( !battle->check_range(src, tbl, skill->get_range2(src, auto_skill_id,auto_skill_lv) + (auto_skill_id == RG_CLOSECONFINE?0:1)) && battle_config.autospell_check_range ) continue; dstsd->state.autocast = 1; - skill->consume_requirement(dstsd,skill_id,skill_lv,1); + skill->consume_requirement(dstsd,auto_skill_id,auto_skill_lv,1); switch (type) { case CAST_GROUND: - skill->castend_pos2(bl, tbl->x, tbl->y, skill_id, skill_lv, tick, 0); + skill->castend_pos2(bl, tbl->x, tbl->y, auto_skill_id, auto_skill_lv, tick, 0); break; case CAST_NODAMAGE: - skill->castend_nodamage_id(bl, tbl, skill_id, skill_lv, tick, 0); + skill->castend_nodamage_id(bl, tbl, auto_skill_id, auto_skill_lv, tick, 0); break; case CAST_DAMAGE: - skill->castend_damage_id(bl, tbl, skill_id, skill_lv, tick, 0); + skill->castend_damage_id(bl, tbl, auto_skill_id, auto_skill_lv, tick, 0); break; } dstsd->state.autocast = 0; //Set canact delay. [Skotlex] ud = unit->bl2ud(bl); if (ud) { - rate = skill->delay_fix(bl, skill_id, skill_lv); + rate = skill->delay_fix(bl, auto_skill_id, auto_skill_lv); if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){ ud->canact_tick = tick+rate; if ( battle_config.display_status_timers && dstsd ) @@ -2276,7 +2278,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr } if(sd) { - int flag = 0; //Used to signal if this skill can be combo'ed later on. + int combo = 0; //Used to signal if this skill can be combo'ed later on. struct status_change_entry *sce; if ((sce = sd->sc.data[SC_COMBOATTACK])) {//End combo state after skill is invoked. [Skotlex] switch (skill_id) { @@ -2302,23 +2304,23 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr switch(skill_id) { case MO_TRIPLEATTACK: if (pc->checkskill(sd, MO_CHAINCOMBO) > 0 || pc->checkskill(sd, SR_DRAGONCOMBO) > 0) - flag=1; + combo=1; break; case MO_CHAINCOMBO: if(pc->checkskill(sd, MO_COMBOFINISH) > 0 && sd->spiritball > 0) - flag=1; + combo=1; break; case MO_COMBOFINISH: if (sd->status.party_id>0) //bonus from SG_FRIEND [Komurka] party->skill_check(sd, sd->status.party_id, MO_COMBOFINISH, skill_lv); if (pc->checkskill(sd, CH_TIGERFIST) > 0 && sd->spiritball > 0) - flag=1; + combo=1; case CH_TIGERFIST: - if (!flag && pc->checkskill(sd, CH_CHAINCRUSH) > 0 && sd->spiritball > 1) - flag=1; + if (!combo && pc->checkskill(sd, CH_CHAINCRUSH) > 0 && sd->spiritball > 1) + combo=1; case CH_CHAINCRUSH: - if (!flag && pc->checkskill(sd, MO_EXTREMITYFIST) > 0 && sd->spiritball > 0 && sd->sc.data[SC_EXPLOSIONSPIRITS]) - flag=1; + if (!combo && pc->checkskill(sd, MO_EXTREMITYFIST) > 0 && sd->spiritball > 0 && sd->sc.data[SC_EXPLOSIONSPIRITS]) + combo=1; break; case AC_DOUBLE: if( (tstatus->race == RC_BRUTE || tstatus->race == RC_INSECT) && pc->checkskill(sd, HT_POWER)) @@ -2346,21 +2348,21 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr break; case TK_DODGE: if( pc->checkskill(sd, TK_JUMPKICK) > 0 ) - flag = 1; + combo = 1; break; case SR_DRAGONCOMBO: if( pc->checkskill(sd, SR_FALLENEMPIRE) > 0 ) - flag = 1; + combo = 1; break; case SR_FALLENEMPIRE: if( pc->checkskill(sd, SR_TIGERCANNON) > 0 || pc->checkskill(sd, SR_GATEOFHELL) > 0 ) - flag = 1; + combo = 1; break; } //Switch End - if (flag) { //Possible to chain - if ( (flag = DIFF_TICK32(sd->ud.canact_tick, tick)) < 50 ) flag = 50;/* less is a waste. */ - sc_start2(src,SC_COMBOATTACK,100,skill_id,bl->id,flag); - clif->combo_delay(src, flag); + if (combo) { //Possible to chain + if ( (combo = DIFF_TICK32(sd->ud.canact_tick, tick)) < 50 ) combo = 50;/* less is a waste. */ + sc_start2(src,SC_COMBOATTACK,100,skill_id,bl->id,combo); + clif->combo_delay(src, combo); } } @@ -4171,7 +4173,7 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 skill->toggle_magicpower(src, skill_id); // Priority is to release SpellBook if( sc && sc->data[SC_READING_SB] ) { // SpellBook - uint16 skill_id, skill_lv, point, s = 0; + uint16 spell_skill_id, spell_skill_lv, point, s = 0; int spell[SC_SPELLBOOK7-SC_SPELLBOOK1 + 1]; for(i = SC_SPELLBOOK7; i >= SC_SPELLBOOK1; i--) // List all available spell to be released @@ -4182,8 +4184,8 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 i = spell[s==1?0:rand()%s];// Random select of spell to be released. if( s && sc->data[i] ){// Now extract the data from the preserved spell - skill_id = sc->data[i]->val1; - skill_lv = sc->data[i]->val2; + spell_skill_id = sc->data[i]->val1; + spell_skill_lv = sc->data[i]->val2; point = sc->data[i]->val3; status_change_end(src, (sc_type)i, INVALID_TIMER); }else //something went wrong :( @@ -4194,36 +4196,35 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 else // Last spell to be released status_change_end(src, SC_READING_SB, INVALID_TIMER); - if( !skill->check_condition_castbegin(sd, skill_id, skill_lv) ) + if( !skill->check_condition_castbegin(sd, spell_skill_id, spell_skill_lv) ) break; - switch( skill->get_casttype(skill_id) ) { + switch( skill->get_casttype(spell_skill_id) ) { case CAST_GROUND: - skill->castend_pos2(src, bl->x, bl->y, skill_id, skill_lv, tick, 0); + skill->castend_pos2(src, bl->x, bl->y, spell_skill_id, spell_skill_lv, tick, 0); break; case CAST_NODAMAGE: - skill->castend_nodamage_id(src, bl, skill_id, skill_lv, tick, 0); + skill->castend_nodamage_id(src, bl, spell_skill_id, spell_skill_lv, tick, 0); break; case CAST_DAMAGE: - skill->castend_damage_id(src, bl, skill_id, skill_lv, tick, 0); + skill->castend_damage_id(src, bl, spell_skill_id, spell_skill_lv, tick, 0); break; } - sd->ud.canact_tick = tick + skill->delay_fix(src, skill_id, skill_lv); - clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, skill_id, skill_lv), 0, 0, 0); + sd->ud.canact_tick = tick + skill->delay_fix(src, spell_skill_id, spell_skill_lv); + clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, spell_skill_id, spell_skill_lv), 0, 0, 0); - cooldown = skill_get_cooldown(skill_id, skill_lv); + cooldown = skill_get_cooldown(spell_skill_id, spell_skill_lv); for (i = 0; i < ARRAYLENGTH(sd->skillcooldown) && sd->skillcooldown[i].id; i++) { - if (sd->skillcooldown[i].id == skill_id){ + if (sd->skillcooldown[i].id == spell_skill_id){ cooldown += sd->skillcooldown[i].val; break; } } if(cooldown) - skill->blockpc_start(sd, skill_id, cooldown); + skill->blockpc_start(sd, spell_skill_id, cooldown); }else if( sc ){ // Summon Balls - int i = SC_SUMMON5; - for(; i >= SC_SUMMON1; i--){ + for(i = SC_SUMMON5; i >= SC_SUMMON1; i--){ if( sc->data[i] ){ int skillid = WL_SUMMON_ATK_FIRE + (sc->data[i]->val1 - WLS_FIRE); skill->addtimerskill(src, tick + status_get_adelay(src) * (SC_SUMMON5 - i), bl->id, 0, 0, skillid, skill_lv, BF_MAGIC, flag); @@ -4460,14 +4461,14 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 case EL_TIDAL_WEAPON: if( src->type == BL_ELEM ) { struct elemental_data *ele = BL_CAST(BL_ELEM,src); - struct status_change *sc = status->get_sc(&ele->bl); + struct status_change *esc = status->get_sc(&ele->bl); struct status_change *tsc = status->get_sc(bl); sc_type type = status->skill2sc(skill_id), type2; type2 = type-1; clif->skill_nodamage(src,battle->get_master(src),skill_id,skill_lv,1); clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6); - if( (sc && sc->data[type2]) || (tsc && tsc->data[type]) ) { + if( (esc && esc->data[type2]) || (tsc && tsc->data[type]) ) { elemental->clean_single_effect(ele, skill_id); } if( rnd()%100 < 50 ) @@ -4893,7 +4894,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin struct status_change *tsc; struct status_change_entry *tsce; - int i = 0; + int element = 0; enum sc_type type; if(skill_id > 0 && !skill_lv) return 0; // celest @@ -5008,9 +5009,9 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin tsce = (tsc && type != -1)?tsc->data[type]:NULL; if (src!=bl && type > -1 && - (i = skill->get_ele(skill_id, skill_lv)) > ELE_NEUTRAL && + (element = skill->get_ele(skill_id, skill_lv)) > ELE_NEUTRAL && skill->get_inf(skill_id) != INF_SUPPORT_SKILL && - battle->attr_fix(NULL, NULL, 100, i, tstatus->def_ele, tstatus->ele_lv) <= 0) + battle->attr_fix(NULL, NULL, 100, element, tstatus->def_ele, tstatus->ele_lv) <= 0) return 1; //Skills that cause an status should be blocked if the target element blocks its element. map->freeblock_lock(); @@ -5175,13 +5176,13 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SA_ABRACADABRA: { - int abra_skill_id = 0, abra_skill_lv; + int abra_skill_id = 0, abra_skill_lv, abra_idx; do { - i = rnd() % MAX_SKILL_ABRA_DB; - abra_skill_id = skill->abra_db[i].skill_id; + abra_idx = rnd() % MAX_SKILL_ABRA_DB; + abra_skill_id = skill->abra_db[abra_idx].skill_id; } while (abra_skill_id == 0 || - skill->abra_db[i].req_lv > skill_lv || //Required lv for it to appear - rnd()%10000 >= skill->abra_db[i].per + skill->abra_db[abra_idx].req_lv > skill_lv || //Required lv for it to appear + rnd()%10000 >= skill->abra_db[abra_idx].per ); abra_skill_lv = min(skill_lv, skill->get_max(abra_skill_id)); clif->skill_nodamage (src, bl, skill_id, skill_lv, 1); @@ -5279,6 +5280,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin mob->class_change(dstmd,class_); if( tsc && dstmd->status.mode&MD_BOSS ) { + int i; const enum sc_type scs[] = { SC_QUAGMIRE, SC_PROVOKE, SC_ROKISWEIL, SC_GRAVITATION, SC_NJ_SUITON, SC_NOEQUIPWEAPON, SC_NOEQUIPSHIELD, SC_NOEQUIPARMOR, SC_NOEQUIPHELM, SC_BLADESTOP }; for (i = SC_COMMON_MIN; i <= SC_COMMON_MAX; i++) if (tsc->data[i]) status_change_end(bl, (sc_type)i, INVALID_TIMER); @@ -5308,6 +5310,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SA_TAMINGMONSTER: clif->skill_nodamage(src,bl,skill_id,skill_lv,1); if (sd && dstmd) { + int i; ARR_FIND( 0, MAX_PET_DB, i, dstmd->class_ == pet->db[i].class_ ); if( i < MAX_PET_DB ) pet->catch_process1(sd, dstmd->class_); @@ -5582,9 +5585,11 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case HLIF_AVOID: case HAMI_DEFENCE: - i = skill->get_time(skill_id,skill_lv); - clif->skill_nodamage(bl,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,i)); // Master - clif->skill_nodamage(src,src,skill_id,skill_lv,sc_start(src,type,100,skill_lv,i)); // Homunc + { + int duration = skill->get_time(skill_id,skill_lv); + clif->skill_nodamage(bl,bl,skill_id,skill_lv,sc_start(bl,type,100,skill_lv,duration)); // Master + clif->skill_nodamage(src,src,skill_id,skill_lv,sc_start(src,type,100,skill_lv,duration)); // Homunc + } break; case NJ_BUNSINJYUTSU: clif->skill_nodamage(src,bl,skill_id,skill_lv, @@ -5681,14 +5686,16 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SM_PROVOKE: case SM_SELFPROVOKE: case MER_PROVOKE: + { + int failure; if( (tstatus->mode&MD_BOSS) || battle->check_undead(tstatus->race,tstatus->def_ele) ) { map->freeblock_unlock(); return 1; } //TODO: How much does base level affects? Dummy value of 1% per level difference used. [Skotlex] clif->skill_nodamage(src,bl,skill_id == SM_SELFPROVOKE ? SM_PROVOKE : skill_id,skill_lv, - (i = sc_start(bl,type, skill_id == SM_SELFPROVOKE ? 100:( 50 + 3*skill_lv + status->get_lv(src) - status->get_lv(bl)), skill_lv, skill->get_time(skill_id,skill_lv)))); - if( !i ) { + (failure = sc_start(bl,type, skill_id == SM_SELFPROVOKE ? 100:( 50 + 3*skill_lv + status->get_lv(src) - status->get_lv(bl)), skill_lv, skill->get_time(skill_id,skill_lv)))); + if( !failure ) { if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map->freeblock_unlock(); @@ -5710,12 +5717,13 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin dstmd->state.provoke_flag = src->id; mob->target(dstmd, src, skill->get_range2(src,skill_id,skill_lv)); } + } break; case ML_DEVOTION: case CR_DEVOTION: { - int count, lv; + int count, lv, i; if( !dstsd || (!sd && !mer) ) { // Only players can be devoted if( sd ) @@ -5776,7 +5784,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case CH_SOULCOLLECT: if(sd) { - int limit = 5; + int limit = 5, i; if( sd->sc.data[SC_RAISINGDRAGON] ) limit += sd->sc.data[SC_RAISINGDRAGON]->val1; clif->skill_nodamage(src,bl,skill_id,skill_lv,1); @@ -5800,18 +5808,20 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case MO_ABSORBSPIRITS: - i = 0; + { + int sp = 0; 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; + sp = dstsd->spiritball * 7; pc->delspiritball(dstsd,dstsd->spiritball,0); } else if (dstmd && !(tstatus->mode&MD_BOSS) && rnd() % 100 < 20) { // check if target is a monster and not a Boss, for the 20% chance to absorb 2 SP per monster's level [Reddozen] - i = 2 * dstmd->level; + sp = 2 * dstmd->level; mob->target(dstmd,src,0); } - if (i) status->heal(src, 0, i, 3); - clif->skill_nodamage(src,bl,skill_id,skill_lv,i?1:0); + if (sp) status->heal(src, 0, sp, 3); + clif->skill_nodamage(src,bl,skill_id,skill_lv,sp?1:0); + } break; case AC_MAKINGARROW: @@ -5858,12 +5868,15 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SR_RAMPAGEBLASTER: case SR_HOWLINGOFLION: case KO_HAPPOKUNAI: + { + int count = 0; skill->area_temp[1] = 0; clif->skill_nodamage(src,bl,skill_id,skill_lv,1); - i = map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), + count = map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill->castend_damage_id); - if( !i && ( skill_id == NC_AXETORNADO || skill_id == SR_SKYNETBLOW || skill_id == KO_HAPPOKUNAI ) ) + if( !count && ( skill_id == NC_AXETORNADO || skill_id == SR_SKYNETBLOW || skill_id == KO_HAPPOKUNAI ) ) clif->skill_damage(src,src,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6); + } break; case NC_EMERGENCYCOOL: @@ -5911,18 +5924,20 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case HVAN_EXPLOSION: //[orn] case NPC_SELFDESTRUCTION: + { //Self Destruction hits everyone in range (allies+enemies) //Except for Summoned Marine spheres on non-versus maps, where it's just enemy. - i = ((!md || md->special_state.ai == 2) && !map_flag_vs(src->m))? + int targetmask = ((!md || md->special_state.ai == 2) && !map_flag_vs(src->m))? BCT_ENEMY:BCT_ALL; clif->skill_nodamage(src, src, skill_id, -1, 1); map->delblock(src); //Required to prevent chain-self-destructions hitting back. map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), - src, skill_id, skill_lv, tick, flag|i, + src, skill_id, skill_lv, tick, flag|targetmask, skill->castend_damage_id); map->addblock(src); status->damage(src, src, sstatus->max_hp,0,0,1); + } break; case AL_ANGELUS: @@ -6009,11 +6024,14 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case SM_AUTOBERSERK: case MER_AUTOBERSERK: + { + int failure; if( tsce ) - i = status_change_end(bl, type, INVALID_TIMER); + failure = status_change_end(bl, type, INVALID_TIMER); else - i = sc_start(bl,type,100,skill_lv,60000); - clif->skill_nodamage(src,bl,skill_id,skill_lv,i); + failure = sc_start(bl,type,100,skill_lv,60000); + clif->skill_nodamage(src,bl,skill_id,skill_lv,failure); + } break; case TF_HIDING: case ST_CHASEWALK: @@ -6046,20 +6064,22 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SC_REPRODUCE: case SC_INVISIBILITY: if (tsce) { - i = status_change_end(bl, type, INVALID_TIMER); - if( i ) - clif->skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,i); + int failure = status_change_end(bl, type, INVALID_TIMER); + if( failure ) + clif->skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,failure); else if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); map->freeblock_unlock(); return 0; } case RA_CAMOUFLAGE: - i = sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)); - if( i ) - clif->skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,i); + { + int failure = sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)); + if( failure ) + clif->skill_nodamage(src,bl,skill_id,( skill_id == LG_FORCEOFVANGUARD ) ? skill_lv : -1,failure); else if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); + } break; case BD_ADAPTATION: @@ -6289,7 +6309,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case MC_VENDING: if(sd) { //Prevent vending of GMs with unnecessary Level to trade/drop. [Skotlex] - if ( !pc->can_give_items(sd) ) + if ( !pc_can_give_items(sd) ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); else { sd->state.prevend = sd->state.workinprogress = 3; @@ -6376,18 +6396,18 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case GC_WEAPONCRUSH: case SC_STRIPACCESSARY: { unsigned short location = 0; - int d = 0; + int d = 0, rate; //Rate in percent if ( skill_id == ST_FULLSTRIP ) { - i = 5 + 2*skill_lv + (sstatus->dex - tstatus->dex)/5; + rate = 5 + 2*skill_lv + (sstatus->dex - tstatus->dex)/5; } else if( skill_id == SC_STRIPACCESSARY ) { - i = 12 + 2 * skill_lv + (sstatus->dex - tstatus->dex)/5; + rate = 12 + 2 * skill_lv + (sstatus->dex - tstatus->dex)/5; } else { - i = 5 + 5*skill_lv + (sstatus->dex - tstatus->dex)/5; + rate = 5 + 5*skill_lv + (sstatus->dex - tstatus->dex)/5; } - if (i < 5) i = 5; //Minimum rate 5% + if (rate < 5) rate = 5; //Minimum rate 5% //Duration in ms if( skill_id == GC_WEAPONCRUSH){ @@ -6431,11 +6451,11 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin } //Attempts to strip at rate i and duration d - if( (i = skill->strip_equip(bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) ) - clif->skill_nodamage(src,bl,skill_id,skill_lv,i); + if( (rate = skill->strip_equip(bl, location, rate, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) ) + clif->skill_nodamage(src,bl,skill_id,skill_lv,rate); //Nothing stripped. - if( sd && !i ) + if( sd && !rate ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); break; } @@ -6601,8 +6621,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin } break; case SA_DISPELL: - if (flag&1 || (i = skill->get_splash(skill_id, skill_lv)) < 1) - { + { + int splash; + if (flag&1 || (splash = skill->get_splash(skill_id, skill_lv)) < 1) { + int i; if( sd && dstsd && !map_flag_vs(sd->bl.m) && (sd->status.party_id == 0 || sd->status.party_id != dstsd->status.party_id) ) { // Outside PvP it should only affect party members and no skill fail message. @@ -6653,11 +6675,13 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin status_change_end(bl, (sc_type)i, INVALID_TIMER); } break; + } else { + //Affect all targets on splash area. + map->foreachinrange(skill->area_sub, bl, splash, BL_CHAR, + src, skill_id, skill_lv, tick, flag|1, + skill->castend_damage_id); } - //Affect all targets on splash area. - map->foreachinrange(skill->area_sub, bl, i, BL_CHAR, - src, skill_id, skill_lv, tick, flag|1, - skill->castend_damage_id); + } break; case TF_BACKSLIDING: //This is the correct implementation as per packet logging information. [Skotlex] @@ -7049,16 +7073,17 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin if( sd && !(sg->unit_id == UNT_USED_TRAPS || (sg->unit_id == UNT_ANKLESNARE && sg->val2 != 0 )) ) { // prevent picking up expired traps if( battle_config.skill_removetrap_type ) { + int i; // get back all items used to deploy the trap for( i = 0; i < 10; i++ ) { if( skill->db[su->group->skill_id].itemid[i] > 0 ) { - int flag; + int success; struct item item_tmp; memset(&item_tmp,0,sizeof(item_tmp)); item_tmp.nameid = skill->db[su->group->skill_id].itemid[i]; item_tmp.identify = 1; - if( item_tmp.nameid && (flag=pc->additem(sd,&item_tmp,skill->db[su->group->skill_id].amount[i],LOG_TYPE_OTHER)) ) { - clif->additem(sd,0,0,flag); + if( item_tmp.nameid && (success=pc->additem(sd,&item_tmp,skill->db[su->group->skill_id].amount[i],LOG_TYPE_OTHER)) ) { + clif->additem(sd,0,0,success); map->addflooritem(&item_tmp,skill->db[su->group->skill_id].amount[i],sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); } } @@ -7479,7 +7504,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin { int dx[9]={-1, 1, 0, 0,-1, 1,-1, 1, 0}; int dy[9]={ 0, 0, 1,-1, 1,-1,-1, 1, 0}; - int j = 0; + int i, j = 0; struct guild *g; // i don't know if it actually summons in a circle, but oh well. ;P g = sd ? sd->guild : guild->search(status->get_guild_id(src)); @@ -7533,10 +7558,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin /* per official standards, this skill works on players and mobs. */ if (sd && (dstsd || dstmd)) { - i =65 -5*distance_bl(src,bl); //Base rate - if (i < 30) i = 30; + int rate = 65 -5*distance_bl(src,bl); //Base rate + if (rate < 30) rate = 30; clif->skill_nodamage(src,bl,skill_id,skill_lv,1); - sc_start(bl,SC_STUN, i,skill_lv,skill->get_time2(skill_id,skill_lv)); + sc_start(bl,SC_STUN, rate,skill_lv,skill->get_time2(skill_id,skill_lv)); } break; @@ -7591,20 +7616,21 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin { static const int per[5][2]={{20,50},{50,60},{25,75},{60,64},{34,67}}; int r = rnd()%100; - i = (skill_lv-1)%5; - if(r<per[i][0]) //Self + int target = (skill_lv-1)%5; + int hp; + if(r<per[target][0]) //Self bl = src; - else if(r<per[i][1]) //Master + else if(r<per[target][1]) //Master bl = battle->get_master(src); else //Enemy bl = map->id2bl(battle->get_target(src)); if (!bl) bl = src; - i = skill->calc_heal(src, bl, skill_id, 1+rnd()%skill_lv, true); + hp = skill->calc_heal(src, bl, skill_id, 1+rnd()%skill_lv, true); //Eh? why double skill packet? - clif->skill_nodamage(src,bl,AL_HEAL,i,1); - clif->skill_nodamage(src,bl,skill_id,i,1); - status->heal(bl, i, 0, 0); + clif->skill_nodamage(src,bl,AL_HEAL,hp,1); + clif->skill_nodamage(src,bl,skill_id,hp,1); + status->heal(bl, hp, 0, 0); } break; //Homun single-target support skills [orn] @@ -7623,7 +7649,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case NPC_DRAGONFEAR: if (flag&1) { const enum sc_type sc[] = { SC_STUN, SC_SILENCE, SC_CONFUSION, SC_BLOODING }; - int j; + int i, j; j = i = rnd()%ARRAYLENGTH(sc); while ( !sc_start2(bl,sc[i],100,skill_lv,src->id,skill->get_time2(skill_id,i+1)) ) { i++; @@ -7725,14 +7751,17 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case RK_IGNITIONBREAK: case LG_EARTHDRIVE: + { + int splash; clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6); - i = skill->get_splash(skill_id,skill_lv); + splash = skill->get_splash(skill_id,skill_lv); if( skill_id == LG_EARTHDRIVE ) { int dummy = 1; - map->foreachinarea(skill->cell_overlap, src->m, src->x-i, src->y-i, src->x+i, src->y+i, BL_SKILL, LG_EARTHDRIVE, &dummy, src); + map->foreachinarea(skill->cell_overlap, src->m, src->x-splash, src->y-splash, src->x+splash, src->y+splash, BL_SKILL, LG_EARTHDRIVE, &dummy, src); } - map->foreachinrange(skill->area_sub, bl,i,BL_CHAR, + map->foreachinrange(skill->area_sub, bl,splash,BL_CHAR, src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id); + } break; case RK_STONEHARDSKIN: if( sd ) { @@ -7770,8 +7799,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin sc_start(bl,type,100,skill->area_temp[5]/4,skill->get_time(skill_id,skill_lv)); } else if( sd ) { if( sd->status.party_id ) { - i = party->foreachsamemap(skill->area_sub,sd,skill->get_splash(skill_id,skill_lv),src,skill_id,skill_lv,tick,BCT_PARTY,skill->area_sub_count); - skill->area_temp[5] = 7 * i; // ATK + int members = party->foreachsamemap(skill->area_sub,sd,skill->get_splash(skill_id,skill_lv),src,skill_id,skill_lv,tick,BCT_PARTY,skill->area_sub_count); + skill->area_temp[5] = 7 * members; // ATK party->foreachsamemap(skill->area_sub,sd,skill->get_splash(skill_id,skill_lv),src,skill_id,skill_lv,tick,flag|BCT_PARTY|1,skill->castend_nodamage_id); } else sc_start2(bl,type,100,7,5,skill->get_time(skill_id,skill_lv)); @@ -7784,28 +7813,28 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin if( src == bl ) break; while( skill->area_temp[5] >= 0x10 ){ + int value = 0; type = SC_NONE; - i = 0; if( skill->area_temp[5]&0x10 ){ if( dstsd ){ - i = (rnd()%100<50) ? 4 : ((rnd()%100<80) ? 3 : 2); - clif->millenniumshield(dstsd,i); + value = (rnd()%100<50) ? 4 : ((rnd()%100<80) ? 3 : 2); + clif->millenniumshield(dstsd,value); skill->area_temp[5] &= ~0x10; type = SC_MILLENNIUMSHIELD; } }else if( skill->area_temp[5]&0x20 ){ - i = status_get_max_hp(bl) * 25 / 100; + value = status_get_max_hp(bl) * 25 / 100; status->change_clear_buffs(bl,4); skill->area_temp[5] &= ~0x20; - status->heal(bl,i,0,1); + status->heal(bl,value,0,1); type = SC_REFRESH; }else if( skill->area_temp[5]&0x40 ){ skill->area_temp[5] &= ~0x40; type = SC_GIANTGROWTH; }else if( skill->area_temp[5]&0x80 ){ if( dstsd ){ - i = sstatus->hp / 4; - if( status->charge(bl,i,0) ) + value = sstatus->hp / 4; + if( status->charge(bl,value,0) ) type = SC_STONEHARDSKIN; skill->area_temp[5] &= ~0x80; } @@ -7818,7 +7847,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin } if( type > SC_NONE ) clif->skill_nodamage(bl, bl, skill_id, skill_lv, - sc_start4(bl, type, 100, skill_lv, i, 0, 1, skill->get_time(skill_id, skill_lv))); + sc_start4(bl, type, 100, skill_lv, value, 0, 1, skill->get_time(skill_id, skill_lv))); } }else if( sd ){ if( tsc && tsc->count ){ @@ -7930,16 +7959,19 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case AB_CLEMENTIA: case AB_CANTO: + { + int level = 0; if( sd ) - i = skill_id == AB_CLEMENTIA ? pc->checkskill(sd,AL_BLESSING) : pc->checkskill(sd,AL_INCAGI); + level = skill_id == AB_CLEMENTIA ? pc->checkskill(sd,AL_BLESSING) : pc->checkskill(sd,AL_INCAGI); if( sd == NULL || sd->status.party_id == 0 || flag&1 ) - clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl, type, 100, i + (sd?(sd->status.job_level / 10):0), skill->get_time(skill_id,skill_lv))); + clif->skill_nodamage(bl, bl, skill_id, skill_lv, sc_start(bl, type, 100, level + (sd?(sd->status.job_level / 10):0), skill->get_time(skill_id,skill_lv))); else if( sd ) { - if( !i ) + if( !level ) clif->skill_fail(sd,skill_id,USESKILL_FAIL,0); else party->foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id); } + } break; case AB_PRAEFATIO: @@ -7952,15 +7984,15 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case AB_CHEAL: if( sd == NULL || sd->status.party_id == 0 || flag&1 ) { if( sd && tstatus && !battle->check_undead(tstatus->race, tstatus->def_ele) ) { - i = skill->calc_heal(src, bl, AL_HEAL, pc->checkskill(sd, AL_HEAL), true); + int heal = skill->calc_heal(src, bl, AL_HEAL, pc->checkskill(sd, AL_HEAL), true); if( (dstsd && pc_ismadogear(dstsd)) || status->isimmune(bl)) - i = 0; // Should heal by 0 or won't do anything?? in iRO it breaks the healing to members.. [malufett] + heal = 0; // Should heal by 0 or won't do anything?? in iRO it breaks the healing to members.. [malufett] - clif->skill_nodamage(bl, bl, skill_id, i, 1); - if( tsc && tsc->data[SC_AKAITSUKI] && i ) - i = ~i + 1; - status->heal(bl, i, 0, 0); + clif->skill_nodamage(bl, bl, skill_id, heal, 1); + if( tsc && tsc->data[SC_AKAITSUKI] && heal ) + heal = ~heal + 1; + status->heal(bl, heal, 0, 0); } } else if( sd ) @@ -8015,7 +8047,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case AB_CLEARANCE: - if( flag&1 || (i = skill->get_splash(skill_id, skill_lv)) < 1 ) { + { + int splash; + if( flag&1 || (splash = skill->get_splash(skill_id, skill_lv)) < 1 ) { + int i; //As of the behavior in official server Clearance is just a super version of Dispell skill. [Jobbie] if( bl->type != BL_MOB && battle->check_target(src,bl,BCT_PARTY) <= 0 ) // Only affect mob or party. break; @@ -8048,8 +8083,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin status_change_end(bl,(sc_type)i,INVALID_TIMER); } break; + } else { + map->foreachinrange(skill->area_sub, bl, splash, BL_CHAR, src, skill_id, skill_lv, tick, flag|1, skill->castend_damage_id); } - map->foreachinrange(skill->area_sub, bl, i, BL_CHAR, src, skill_id, skill_lv, tick, flag|1, skill->castend_damage_id); + } break; case AB_SILENTIUM: @@ -8080,9 +8117,9 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin else rate += 40 + 10 * skill_lv; // On Monsters, (40 + 10 * Skill Level) % if( !(tsc && tsc->data[type]) ){ - i = sc_start2(bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill->get_time(skill_id,skill_lv):skill->get_time2(skill_id, skill_lv)); - clif->skill_nodamage(src,bl,skill_id,skill_lv,i); - if( sd && !i ) + int failure = sc_start2(bl,type,rate,skill_lv,src->id,(src == bl)?5000:(bl->type == BL_PC)?skill->get_time(skill_id,skill_lv):skill->get_time2(skill_id, skill_lv)); + clif->skill_nodamage(src,bl,skill_id,skill_lv,failure); + if( sd && !failure ) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); } }else @@ -8127,6 +8164,8 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case WL_SUMMONBL: case WL_SUMMONWB: case WL_SUMMONSTONE: + { + int i; for( i = SC_SUMMON1; i <= SC_SUMMON5; i++ ){ if( tsc && !tsc->data[i] ){ // officially it doesn't work like a stack int ele = WLS_FIRE + (skill_id - WL_SUMMONFB) - (skill_id == WL_SUMMONSTONE ? 4 : 0); @@ -8135,11 +8174,13 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; } } + } break; case WL_READING_SB: if( sd ) { struct status_change *sc = status->get_sc(bl); + int i; for( i = SC_SPELLBOOK1; i <= SC_SPELLBOOK7; i++) if( sc && !sc->data[i] ) @@ -8233,13 +8274,16 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case NC_MAGNETICFIELD: - if( (i = sc_start2(bl,type,100,skill_lv,src->id,skill->get_time(skill_id,skill_lv))) ) + { + int failure; + if( (failure = sc_start2(bl,type,100,skill_lv,src->id,skill->get_time(skill_id,skill_lv))) ) { map->foreachinrange(skill->area_sub,src,skill->get_splash(skill_id,skill_lv),splash_target(src),src,skill_id,skill_lv,tick,flag|BCT_ENEMY|SD_SPLASH|1,skill->castend_damage_id);; clif->skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skill_id,skill_lv,6); if (sd) pc->overheat(sd,1); } - clif->skill_nodamage(src,src,skill_id,skill_lv,i); + clif->skill_nodamage(src,src,skill_id,skill_lv,failure); + } break; case NC_REPAIR: @@ -8480,6 +8524,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case LG_KINGS_GRACE: if( flag&1 ){ + int i; sc_start(bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)); for(i=0; i<SC_MAX; i++) { @@ -8541,6 +8586,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SR_RAISINGDRAGON: if( sd ) { short max = 5 + skill_lv; + int i; sc_start(bl, SC_EXPLOSIONSPIRITS, 100, skill_lv, skill->get_time(skill_id, skill_lv)); for( i = 0; i < max; i++ ) // Don't call more than max available spheres. pc->addspiritball(sd, skill->get_time(skill_id, skill_lv), max); @@ -8550,14 +8596,14 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case SR_ASSIMILATEPOWER: if( flag&1 ) { - i = 0; + int sp = 0; if( dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m)) && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER ) { - i = dstsd->spiritball; //1%sp per spiritball. + sp = dstsd->spiritball; //1%sp per spiritball. pc->delspiritball(dstsd, dstsd->spiritball, 0); } - if( i ) status_percent_heal(src, 0, i); - clif->skill_nodamage(src, bl, skill_id, skill_lv, i ? 1:0); + if( sp ) status_percent_heal(src, 0, sp); + clif->skill_nodamage(src, bl, skill_id, skill_lv, sp ? 1:0); } else { clif->skill_damage(src,bl,tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6); map->foreachinrange(skill->area_sub, bl, skill->get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|BCT_SELF|SD_SPLASH|1, skill->castend_nodamage_id); @@ -8568,6 +8614,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin if( !dstsd ) break; if( sd && dstsd->spiritball <= 5 ) { + int i; for(i = 0; i <= 5; i++) { pc->addspiritball(dstsd, skill->get_time(MO_CALLSPIRITS, pc->checkskill(sd,MO_CALLSPIRITS)), i); pc->delspiritball(sd, sd->spiritball, 0); @@ -8609,9 +8656,12 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin sc_start2(bl,type,100,skill_lv,src->id,skill->get_time(skill_id,skill_lv))); break; case SR_FLASHCOMBO: + { + int i; clif->skill_nodamage(src,bl,skill_id,skill_lv,1); for(i = SR_FLASHCOMBO_ATK_STEP1; i <= SR_FLASHCOMBO_ATK_STEP4; i++) skill->addtimerskill(src, tick + 500 * (i - SR_FLASHCOMBO_ATK_STEP1), bl->id, 0, 0, i, skill_lv, BF_WEAPON, flag|SD_LEVEL); + } break; case WA_SWING_DANCE: case WA_MOONLIT_SERENADE: @@ -8742,11 +8792,11 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin break; case WM_RANDOMIZESPELL: { - int improv_skill_id = 0, improv_skill_lv; + int improv_skill_id = 0, improv_skill_lv, improv_idx; do { - i = rnd() % MAX_SKILL_IMPROVISE_DB; - improv_skill_id = skill->improvise_db[i].skill_id; - } while( improv_skill_id == 0 || rnd()%10000 >= skill->improvise_db[i].per ); + improv_idx = rnd() % MAX_SKILL_IMPROVISE_DB; + improv_skill_id = skill->improvise_db[improv_idx].skill_id; + } while( improv_skill_id == 0 || rnd()%10000 >= skill->improvise_db[improv_idx].per ); improv_skill_lv = 4 + skill_lv; clif->skill_nodamage (src, bl, skill_id, skill_lv, 1); @@ -8983,10 +9033,10 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case GN_SLINGITEM: if( sd ) { short ammo_id; - i = sd->equip_index[EQI_AMMO]; - if( i <= 0 ) + int equip_idx = sd->equip_index[EQI_AMMO]; + if( equip_idx <= 0 ) break; // No ammo. - ammo_id = sd->inventory_data[i]->nameid; + ammo_id = sd->inventory_data[equip_idx]->nameid; if( ammo_id <= 0 ) break; sd->itemid = ammo_id; @@ -8999,7 +9049,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin } else //Otherwise, it fails, shows animation and removes items. clif->skill_fail(sd,GN_SLINGITEM_RANGEMELEEATK,0xa,0); } else if( itemdb_is_GNthrowable(ammo_id) ) { - struct script_code *scriptroot = sd->inventory_data[i]->script; + struct script_code *scriptroot = sd->inventory_data[equip_idx]->script; if( !scriptroot ) break; if( dstsd ) @@ -9098,6 +9148,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case KO_KAZEHU_SEIRAN: case KO_DOHU_KOUKAI: if(sd) { + int i; int ttype = skill->get_ele(skill_id, skill_lv); clif->skill_nodamage(src, bl, skill_id, skill_lv, 1); ARR_FIND(1, 6, i, sd->charm[i] > 0 && ttype != i); @@ -9109,16 +9160,16 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin case KO_ZANZOU: if(sd) { - struct mob_data *md; - - md = mob->once_spawn_sub(src, src->m, src->x, src->y, status->get_name(src), 2308, "", SZ_MEDIUM, AI_NONE); - if( md ) { - md->master_id = src->id; - md->special_state.ai = AI_ZANZOU; - if( md->deletetimer != INVALID_TIMER ) - timer->delete(md->deletetimer, mob->timer_delete); - md->deletetimer = timer->add(timer->gettick() + skill->get_time(skill_id, skill_lv), mob->timer_delete, md->bl.id, 0); - mob->spawn( md ); + struct mob_data *summon_md; + + summon_md = mob->once_spawn_sub(src, src->m, src->x, src->y, status->get_name(src), 2308, "", SZ_MEDIUM, AI_NONE); + if( summon_md ) { + summon_md->master_id = src->id; + summon_md->special_state.ai = AI_ZANZOU; + if( summon_md->deletetimer != INVALID_TIMER ) + timer->delete(summon_md->deletetimer, mob->timer_delete); + summon_md->deletetimer = timer->add(timer->gettick() + skill->get_time(skill_id, skill_lv), mob->timer_delete, summon_md->bl.id, 0); + mob->spawn( summon_md ); pc->setinvincibletimer(sd,500);// unlock target lock clif->skill_nodamage(src,bl,skill_id,skill_lv,1); skill->blown(src,bl,skill->get_blewcount(skill_id,skill_lv),unit->getdir(bl),0); @@ -9227,6 +9278,7 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin }; int heal; if(tsc){ + int i; for (i = 0; i < ARRAYLENGTH(scs); i++) { if (tsc->data[scs[i]]) status_change_end(bl, scs[i], INVALID_TIMER); } @@ -9294,22 +9346,22 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin { int summons[5] = {1004, 1303, 1303, 1994, 1994}; int qty[5] = {3 , 3 , 4 , 4 , 5}; - struct mob_data *md; + struct mob_data *summon_md; int i, dummy = 0; - i = map->foreachinmap(skill->check_condition_mob_master_sub ,hd->bl.m, BL_MOB, hd->bl.id, summons[skill_lv-1], skill_id, &dummy); + i = map->foreachinmap(skill->check_condition_mob_master_sub, src->m, BL_MOB, src->id, summons[skill_lv-1], skill_id, &dummy); if(i >= qty[skill_lv-1]) break; for(i=0; i<qty[skill_lv - 1]; i++){ //easy way - md = mob->once_spawn_sub(src, src->m, src->x, src->y, status->get_name(src), summons[skill_lv - 1], "", SZ_MEDIUM, AI_ATTACK); - if (md) { - md->master_id = src->id; - if (md->deletetimer != INVALID_TIMER) - timer->delete(md->deletetimer, mob->timer_delete); - md->deletetimer = timer->add(timer->gettick() + skill->get_time(skill_id, skill_lv), mob->timer_delete, md->bl.id, 0); - mob->spawn(md); //Now it is ready for spawning. - sc_start4(&md->bl, SC_MODECHANGE, 100, 1, 0, MD_CANATTACK|MD_AGGRESSIVE, 0, 60000); + summon_md = mob->once_spawn_sub(src, src->m, src->x, src->y, status->get_name(src), summons[skill_lv - 1], "", SZ_MEDIUM, AI_ATTACK); + if (summon_md) { + summon_md->master_id = src->id; + if (summon_md->deletetimer != INVALID_TIMER) + timer->delete(summon_md->deletetimer, mob->timer_delete); + summon_md->deletetimer = timer->add(timer->gettick() + skill->get_time(skill_id, skill_lv), mob->timer_delete, summon_md->bl.id, 0); + mob->spawn(summon_md); //Now it is ready for spawning. + sc_start4(&summon_md->bl, SC_MODECHANGE, 100, 1, 0, MD_CANATTACK|MD_AGGRESSIVE, 0, 60000); } } if (hd) @@ -9658,7 +9710,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui struct status_change_entry *sce; struct skill_unit_group* sg; enum sc_type type; - int i; + int r; //if(skill_lv <= 0) return 0; if(skill_id > 0 && !skill_lv) return 0; // celest @@ -9694,47 +9746,46 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui switch(skill_id) { case PR_BENEDICTIO: + r = skill->get_splash(skill_id, skill_lv); skill->area_temp[1] = src->id; - i = skill->get_splash(skill_id, skill_lv); map->foreachinarea(skill->area_sub, - src->m, x-i, y-i, x+i, y+i, BL_PC, + src->m, x-r, y-r, x+r, y+r, BL_PC, src, skill_id, skill_lv, tick, flag|BCT_ALL|1, skill->castend_nodamage_id); map->foreachinarea(skill->area_sub, - src->m, x-i, y-i, x+i, y+i, BL_CHAR, + src->m, x-r, y-r, x+r, y+r, BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_damage_id); break; case BS_HAMMERFALL: - i = skill->get_splash(skill_id, skill_lv); + r = skill->get_splash(skill_id, skill_lv); map->foreachinarea(skill->area_sub, - src->m, x-i, y-i, x+i, y+i, BL_CHAR, + src->m, x-r, y-r, x+r, y+r, BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|2, skill->castend_nodamage_id); break; case HT_DETECTING: - i = skill->get_splash(skill_id, skill_lv); + r = skill->get_splash(skill_id, skill_lv); map->foreachinarea(status->change_timer_sub, - src->m, x-i, y-i, x+i,y+i,BL_CHAR, + src->m, x-r, y-r, x+r,y+r,BL_CHAR, src,NULL,SC_SIGHT,tick); if(battle_config.traps_setting&1) map->foreachinarea(skill_reveal_trap, - src->m, x-i, y-i, x+i,y+i,BL_SKILL); + src->m, x-r, y-r, x+r, y+r, BL_SKILL); break; case SR_RIDEINLIGHTNING: - i = skill->get_splash(skill_id, skill_lv); - map->foreachinarea(skill->area_sub, src->m, x-i, y-i, x+i, y+i, BL_CHAR, + r = skill->get_splash(skill_id, skill_lv); + map->foreachinarea(skill->area_sub, src->m, x-r, y-r, x+r, y+r, BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_damage_id); break; case SA_VOLCANO: case SA_DELUGE: case SA_VIOLENTGALE: - { //Does not consumes if the skill is already active. [Skotlex] - struct skill_unit_group *sg; + //Does not consumes if the skill is already active. [Skotlex] if ((sg= skill->locate_element_field(src)) != NULL && ( sg->skill_id == SA_VOLCANO || sg->skill_id == SA_DELUGE || sg->skill_id == SA_VIOLENTGALE )) { if (sg->limit - DIFF_TICK(timer->gettick(), sg->tick) > 0) { @@ -9745,7 +9796,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui } skill->unitsetting(src,skill_id,skill_lv,x,y,0); break; - } + case MG_SAFETYWALL: case MG_FIREWALL: case MG_THUNDERSTORM: @@ -9888,8 +9939,8 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui flag|=1; break; case RG_CLEANER: // [Valaris] - i = skill->get_splash(skill_id, skill_lv); - map->foreachinarea(skill->graffitiremover,src->m,x-i,y-i,x+i,y+i,BL_SKILL); + r = skill->get_splash(skill_id, skill_lv); + map->foreachinarea(skill->graffitiremover,src->m,x-r,y-r,x+r,y+r,BL_SKILL); break; case SO_WARMER: @@ -9898,9 +9949,11 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui skill->unitsetting(src,skill_id,skill_lv,x,y,0); break; - case WZ_METEOR: { + case WZ_METEOR: + { int area = skill->get_splash(skill_id, skill_lv); short tmpx = 0, tmpy = 0, x1 = 0, y1 = 0; + int i; for( i = 0; i < 2 + (skill_lv>>1); i++ ) { // Creates a random Cell in the Splash Area @@ -10033,8 +10086,8 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui if (rnd()%100 < 80) { int dummy = 1; clif->skill_poseffect(src,skill_id,skill_lv,x,y,tick); - i = skill->get_splash(skill_id, skill_lv); - map->foreachinarea(skill->cell_overlap, src->m, x-i, y-i, x+i, y+i, BL_SKILL, HW_GANBANTEIN, &dummy, src); + r = skill->get_splash(skill_id, skill_lv); + map->foreachinarea(skill->cell_overlap, src->m, x-r, y-r, x+r, y+r, BL_SKILL, HW_GANBANTEIN, &dummy, src); } else { if (sd) clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return 1; @@ -10115,14 +10168,14 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case NC_ARMSCANNON: case RK_DRAGONBREATH: case RK_DRAGONBREATH_WATER: - i = skill->get_splash(skill_id,skill_lv); - map->foreachinarea(skill->area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src), + r = skill->get_splash(skill_id,skill_lv); + map->foreachinarea(skill->area_sub,src->m,x-r,y-r,x+r,y+r,splash_target(src), src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id); break; case SO_ARRULLO: - i = skill->get_splash(skill_id,skill_lv); - map->foreachinarea(skill->area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src), + r = skill->get_splash(skill_id,skill_lv); + map->foreachinarea(skill->area_sub,src->m,x-r,y-r,x+r,y+r,splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill->castend_nodamage_id); break; /** @@ -10143,8 +10196,8 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui **/ case AB_EPICLESIS: if( (sg = skill->unitsetting(src, skill_id, skill_lv, x, y, 0)) ) { - i = sg->unit->range; - map->foreachinarea(skill->area_sub, src->m, x - i, y - i, x + i, y + i, BL_CHAR, src, ALL_RESURRECTION, 1, tick, flag|BCT_NOENEMY|1,skill->castend_nodamage_id); + r = sg->unit->range; + map->foreachinarea(skill->area_sub, src->m, x - r, y - r, x + r, y + r, BL_CHAR, src, ALL_RESURRECTION, 1, tick, flag|BCT_NOENEMY|1,skill->castend_nodamage_id); } break; @@ -10169,8 +10222,8 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui * Ranger **/ case RA_DETONATOR: - i = skill->get_splash(skill_id, skill_lv); - map->foreachinarea(skill->detonator, src->m, x-i, y-i, x+i, y+i, BL_SKILL, src); + r = skill->get_splash(skill_id, skill_lv); + map->foreachinarea(skill->detonator, src->m, x-r, y-r, x+r, y+r, BL_SKILL, src); clif->skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, 6); break; /** @@ -10222,6 +10275,7 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case LG_OVERBRAND: { int width;//according to data from irowiki it actually is a square + int i; for( width = 0; width < 7; width++ ) for( i = 0; i < 7; i++ ) map->foreachincell(skill->area_sub, src->m, x-2+i, y-2+width, splash_target(src), src, LG_OVERBRAND_BRANDISH, skill_lv, tick, flag|BCT_ENEMY,skill->castend_damage_id); @@ -10243,26 +10297,28 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui case LG_RAYOFGENESIS: if( status->charge(src,status_get_max_hp(src)*3*skill_lv / 100,0) ) { - i = skill->get_splash(skill_id,skill_lv); - map->foreachinarea(skill->area_sub,src->m,x-i,y-i,x+i,y+i,splash_target(src), + r = skill->get_splash(skill_id,skill_lv); + map->foreachinarea(skill->area_sub,src->m,x-r,y-r,x+r,y+r,splash_target(src), src,skill_id,skill_lv,tick,flag|BCT_ENEMY|1,skill->castend_damage_id); } else if( sd ) clif->skill_fail(sd,skill_id,USESKILL_FAIL,0); break; case WM_DOMINION_IMPULSE: - i = skill->get_splash(skill_id, skill_lv); + r = skill->get_splash(skill_id, skill_lv); map->foreachinarea( skill->activate_reverberation, - src->m, x-i, y-i, x+i,y+i,BL_SKILL); + src->m, x-r, y-r, x+r,y+r,BL_SKILL); break; case WM_GREAT_ECHO: flag|=1; // Should counsume 1 item per skill usage. map->foreachinrange(skill->area_sub, src, skill->get_splash(skill_id,skill_lv),splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY, skill->castend_damage_id); break; - case GN_CRAZYWEED: { + case GN_CRAZYWEED: + { int area = skill->get_splash(GN_CRAZYWEED_ATK, skill_lv); short x1 = 0, y1 = 0; + int i; for( i = 0; i < 3 + (skill_lv/2); i++ ) { x1 = x - area + rnd()%(area * 2 + 1); @@ -10315,11 +10371,14 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui break; case KO_MAKIBISHI: + { + int i; for( i = 0; i < (skill_lv+2); i++ ) { x = src->x - 1 + rnd()%3; y = src->y - 1 + rnd()%3; skill->unitsetting(src,skill_id,skill_lv,x,y,0); } + } break; default: @@ -10848,9 +10907,9 @@ struct skill_unit_group* skill_unitsetting(struct block_list *src, uint16 skill_ struct skill_unit *su; int ux = x + layout->dx[i]; int uy = y + layout->dy[i]; - int val1 = skill_lv; - int val2 = 0; int alive = 1; + val1 = skill_lv; + val2 = 0; if( !group->state.song_dance && !map->getcell(src->m,ux,uy,CELL_CHKREACH) ) continue; // don't place skill units on walls (except for songs/dances/encores) @@ -12203,7 +12262,7 @@ int skill_check_pc_partner (struct map_session_data *sd, uint16 skill_id, uint16 int i; bool is_chorus = ( skill->get_inf2(skill_id)&INF2_CHORUS_SKILL ); - if (!battle_config.player_skill_partner_check || pc->has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL)) + if (!battle_config.player_skill_partner_check || pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL)) return is_chorus ? MAX_PARTY : 99; //As if there were infinite partners. if (cast_flag) { //Execute the skill on the partners. @@ -12294,13 +12353,12 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id struct status_data *st; struct status_change *sc; struct skill_condition require; - int i; nullpo_ret(sd); if (sd->chatID) return 0; - if( pc->has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->skillitem != skill_id ) + if( pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->skillitem != skill_id ) { //GMs don't override the skillItem check, otherwise they can use items without them being consumed! [Skotlex] sd->state.arrow_atk = skill->get_ammotype(skill_id)?1:0; //Need to do arrow state check. sd->spiritball_old = sd->spiritball; //Need to do Spiritball check. @@ -12336,6 +12394,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id if( sd->state.abra_flag ) // Hocus-Pocus was used. [Inkfish] sd->state.abra_flag = 0; else { + int i; // When a target was selected, consume items that were skipped in pc_use_item [Skotlex] if( (i = sd->itemindex) == -1 || sd->status.inventory[i].nameid != sd->itemid || @@ -12489,34 +12548,38 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id return 0; if(sc->data[SC_BLADESTOP]) break; - if( (i=(sc && sc->data[SC_COMBOATTACK])) && sc->data[SC_COMBOATTACK]->val1 == MO_TRIPLEATTACK ) - break; - if( i ) + if( sc && sc->data[SC_COMBOATTACK] ) { + if( sc->data[SC_COMBOATTACK]->val1 == MO_TRIPLEATTACK ) + break; clif->skill_fail(sd, skill_id, USESKILL_FAIL_COMBOSKILL, MO_TRIPLEATTACK); + } return 0; case MO_COMBOFINISH: if(!sc) return 0; - if( (i=(sc && sc->data[SC_COMBOATTACK])) && sc->data[SC_COMBOATTACK]->val1 == MO_CHAINCOMBO ) - break; - if( i ) + if( sc && sc->data[SC_COMBOATTACK] ) { + if ( sc->data[SC_COMBOATTACK]->val1 == MO_CHAINCOMBO ) + break; clif->skill_fail(sd, skill_id, USESKILL_FAIL_COMBOSKILL, MO_CHAINCOMBO); + } return 0; case CH_TIGERFIST: if(!sc) return 0; - if( (i=(sc && sc->data[SC_COMBOATTACK])) && sc->data[SC_COMBOATTACK]->val1 == MO_COMBOFINISH ) - break; - if( i ) + if( sc && sc->data[SC_COMBOATTACK] ) { + if ( sc->data[SC_COMBOATTACK]->val1 == MO_COMBOFINISH ) + break; clif->skill_fail(sd, skill_id, USESKILL_FAIL_COMBOSKILL, MO_COMBOFINISH); + } return 0; case CH_CHAINCRUSH: if(!sc) return 0; - if( (i=(sc && sc->data[SC_COMBOATTACK])) && sc->data[SC_COMBOATTACK]->val1 == CH_TIGERFIST ) - break; - if( i ) + if( sc && sc->data[SC_COMBOATTACK] ) { + if( sc->data[SC_COMBOATTACK]->val1 == CH_TIGERFIST ) + break; clif->skill_fail(sd, skill_id, USESKILL_FAIL_COMBOSKILL, CH_TIGERFIST); + } return 0; case MO_EXTREMITYFIST: // if(sc && sc->data[SC_EXTREMITYFIST]) //To disable Asura during the 5 min skill block uncomment this... @@ -12664,8 +12727,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id case SG_STAR_WARM: if (sc && sc->data[SC_MIRACLE]) break; - i = skill_id-SG_SUN_WARM; - if (sd->bl.m == sd->feel_map[i].m) + if (sd->bl.m == sd->feel_map[skill_id-SG_SUN_WARM].m) break; clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return 0; @@ -12675,9 +12737,8 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id case SG_STAR_COMFORT: if (sc && sc->data[SC_MIRACLE]) break; - i = skill_id-SG_SUN_COMFORT; - if (sd->bl.m == sd->feel_map[i].m && - (battle_config.allow_skill_without_day || pc->sg_info[i].day_func())) + if (sd->bl.m == sd->feel_map[skill_id-SG_SUN_COMFORT].m && + (battle_config.allow_skill_without_day || pc->sg_info[skill_id-SG_SUN_COMFORT].day_func())) break; clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return 0; @@ -12758,7 +12819,7 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id **/ case AB_ANCILLA: { - int count = 0; + int count = 0, i; for( i = 0; i < MAX_INVENTORY; i ++ ) if( sd->status.inventory[i].nameid == ITEMID_ANCILLA ) count += sd->status.inventory[i].amount; @@ -12785,12 +12846,15 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id * Warlock **/ case WL_COMET: - if( skill->check_pc_partner(sd,skill_id,&skill_lv,1,0) <= 0 && ((i = pc->search_inventory(sd,require.itemid[0])) < 0 || sd->status.inventory[i].amount < require.amount[0]) ) + { + int idx; + if( skill->check_pc_partner(sd,skill_id,&skill_lv,1,0) <= 0 && ((idx = pc->search_inventory(sd,require.itemid[0])) < 0 || sd->status.inventory[idx].amount < require.amount[0]) ) { //clif->skill_fail(sd,skill_id,USESKILL_FAIL_NEED_ITEM,require.amount[0],require.itemid[0]); clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0); return 0; } + } break; case WL_SUMMONFB: case WL_SUMMONBL: @@ -12799,10 +12863,9 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id case WL_TETRAVORTEX: case WL_RELEASE: { - int x = SC_SUMMON1; - i = 0; - for(; x <= SC_SUMMON5; x++) - if( sc && sc->data[x] ) + int j, i = 0; + for(j = SC_SUMMON1; j <= SC_SUMMON5; j++) + if( sc && sc->data[j] ) i++; switch(skill_id){ @@ -12813,8 +12876,8 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id } break; case WL_RELEASE: - for(x = SC_SPELLBOOK7; x >= SC_SPELLBOOK1; x--) - if( sc && sc->data[x] ) + for(j = SC_SPELLBOOK7; j >= SC_SPELLBOOK1; j--) + if( sc && sc->data[j] ) i++; if( i == 0 ){ clif->skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON_NONE,0); @@ -12910,12 +12973,11 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id } break; case SR_FALLENEMPIRE: - if( !sc ) - return 0; - if( (i=(sc && sc->data[SC_COMBOATTACK])) && sc->data[SC_COMBOATTACK]->val1 == SR_DRAGONCOMBO ) - break; - if( i ) + if( sc && sc->data[SC_COMBOATTACK] ) { + if( sc->data[SC_COMBOATTACK]->val1 == SR_DRAGONCOMBO ) + break; clif->skill_fail(sd, skill_id, USESKILL_FAIL_COMBOSKILL, SR_DRAGONCOMBO); + } return 0; case SR_CRESCENTELBOW: if( sc && sc->data[SC_CRESCENTELBOW] ) { @@ -13002,11 +13064,14 @@ int skill_check_condition_castbegin(struct map_session_data* sd, uint16 skill_id break; case KO_KAIHOU: case KO_ZENKAI: - ARR_FIND(1, 6, i, sd->charm[i] > 0); + { + int i; + ARR_FIND(1, 6, i, sd->charm[i] > 0); // FIXME: 4 or 6? if( i > 4 ) { clif->skill_fail(sd,skill_id,USESKILL_FAIL_SUMMON,0); return 0; } + } break; } @@ -13217,7 +13282,7 @@ int skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id, if( sd->chatID ) return 0; - if( pc->has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->skillitem != skill_id ) { + if( pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->skillitem != skill_id ) { //GMs don't override the skillItem check, otherwise they can use items without them being consumed! [Skotlex] sd->state.arrow_atk = skill->get_ammotype(skill_id)?1:0; //Need to do arrow state check. sd->spiritball_old = sd->spiritball; //Need to do Spiritball check. @@ -14887,17 +14952,17 @@ int skill_chastle_mob_changetarget(struct block_list *bl,va_list ap) int skill_trap_splash(struct block_list *bl, va_list ap) { struct block_list *src; int64 tick; - struct skill_unit *su; + struct skill_unit *src_su; struct skill_unit_group *sg; struct block_list *ss; src = va_arg(ap,struct block_list *); - su = (struct skill_unit *)src; + src_su = (struct skill_unit *)src; tick = va_arg(ap,int64); - if( !su->alive || bl->prev == NULL ) + if( !src_su->alive || bl->prev == NULL ) return 0; - nullpo_ret(sg = su->group); + nullpo_ret(sg = src_su->group); nullpo_ret(ss = map->id2bl(sg->src_id)); if(battle->check_target(src,bl,sg->target_flag) <= 0) @@ -16101,11 +16166,11 @@ int skill_produce_mix(struct map_session_data *sd, uint16 skill_id, int nameid, } if( skill_id == RK_RUNEMASTERY ) { - int temp_qty, skill_lv = pc->checkskill(sd,skill_id); + int temp_qty, rune_skill_lv = pc->checkskill(sd,skill_id); data = itemdb->search(nameid); - if( skill_lv == 10 ) temp_qty = 1 + rnd()%3; - else if( skill_lv > 5 ) temp_qty = 1 + rnd()%2; + if( rune_skill_lv == 10 ) temp_qty = 1 + rnd()%3; + else if( rune_skill_lv > 5 ) temp_qty = 1 + rnd()%2; else temp_qty = 1; if (data->stack.inventory) { @@ -17076,10 +17141,7 @@ int skill_blockpc_start_(struct map_session_data *sd, uint16 skill_id, int tick) if( !(cd = idb_get(skill->cd_db,sd->status.char_id)) ) {// create a new skill cooldown object for map storage cd = ers_alloc(skill->cd_ers, struct skill_cd); - - cd->cursor = 0; - memset(cd->entry, 0, sizeof(cd->entry)); - + idb_put( skill->cd_db, sd->status.char_id, cd ); } else { int i; @@ -17844,8 +17906,8 @@ bool skill_parse_row_unitdb(char* split[], int columns, int current) { if( !idx ) // invalid skill id return false; - skill->db[idx].unit_id[0] = strtol(split[1],NULL,16); - skill->db[idx].unit_id[1] = strtol(split[2],NULL,16); + skill->db[idx].unit_id[0] = (int)strtol(split[1],NULL,16); + skill->db[idx].unit_id[1] = (int)strtol(split[2],NULL,16); skill->split_atoi(split[3],skill->db[idx].unit_layout_type); skill->split_atoi(split[4],skill->db[idx].unit_range); skill->db[idx].unit_interval = atoi(split[5]); @@ -17860,9 +17922,9 @@ bool skill_parse_row_unitdb(char* split[], int columns, int current) { else if( strcmpi(split[6],"self")==0 ) skill->db[idx].unit_target = BCT_SELF; else if( strcmpi(split[6],"sameguild")==0 ) skill->db[idx].unit_target = BCT_GUILD|BCT_SAMEGUILD; else if( strcmpi(split[6],"noone")==0 ) skill->db[idx].unit_target = BCT_NOONE; - else skill->db[idx].unit_target = strtol(split[6],NULL,16); + else skill->db[idx].unit_target = (int)strtol(split[6],NULL,16); - skill->db[idx].unit_flag = strtol(split[7],NULL,16); + skill->db[idx].unit_flag = (int)strtol(split[7],NULL,16); if (skill->db[idx].unit_flag&UF_DEFNOTENEMY && battle_config.defnotenemy) skill->db[idx].unit_target = BCT_NOENEMY; @@ -18150,9 +18212,9 @@ int do_init_skill(bool minimal) { skill->cd_db = idb_alloc(DB_OPT_BASE); skill->usave_db = idb_alloc(DB_OPT_RELEASE_DATA); - skill->unit_ers = ers_new(sizeof(struct skill_unit_group),"skill.c::skill_unit_ers",ERS_OPT_NONE); + skill->unit_ers = ers_new(sizeof(struct skill_unit_group),"skill.c::skill_unit_ers",ERS_OPT_CLEAN); skill->timer_ers = ers_new(sizeof(struct skill_timerskill),"skill.c::skill_timer_ers",ERS_OPT_NONE); - skill->cd_ers = ers_new(sizeof(struct skill_cd),"skill.c::skill_cd_ers",ERS_OPT_CLEAR); + skill->cd_ers = ers_new(sizeof(struct skill_cd),"skill.c::skill_cd_ers",ERS_OPT_CLEAR|ERS_OPT_CLEAN); skill->cd_entry_ers = ers_new(sizeof(struct skill_cd_entry),"skill.c::skill_cd_entry_ers",ERS_OPT_CLEAR); ers_chunk_size(skill->cd_ers, 25); diff --git a/src/map/status.c b/src/map/status.c index ed29bacf9..6cfd799f1 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1418,34 +1418,28 @@ int status_percent_change(struct block_list *src,struct block_list *target,signe st = status->get_status_data(target); - - //It's safe now [MarkZD] - if (hp_rate > 99) - hp = st->hp; - else if (hp_rate > 0) - hp = st->hp>10000? - hp_rate*(st->hp/100): - ((int64)hp_rate*st->hp)/100; - else if (hp_rate < -99) - hp = st->max_hp; - else if (hp_rate < 0) - hp = st->max_hp>10000? - (-hp_rate)*(st->max_hp/100): - ((int64)-hp_rate*st->max_hp)/100; + if (hp_rate > 100) + hp_rate = 100; + else if (hp_rate < -100) + hp_rate = -100; + if (hp_rate > 0) + hp = APPLY_RATE(st->hp, hp_rate); + else + hp = APPLY_RATE(st->max_hp, -hp_rate); if (hp_rate && !hp) hp = 1; if (flag == 2 && hp >= st->hp) hp = st->hp-1; //Must not kill target. - if (sp_rate > 99) - sp = st->sp; - else if (sp_rate > 0) - sp = ((int64)sp_rate*st->sp)/100; - else if (sp_rate < -99) - sp = st->max_sp; - else if (sp_rate < 0) - sp = ((int64)-sp_rate)*st->max_sp/100; + if (sp_rate > 100) + sp_rate = 100; + else if (sp_rate < -100) + sp_rate = -100; + if (sp_rate > 0) + sp = APPLY_RATE(st->sp, sp_rate); + else + sp = APPLY_RATE(st->max_sp, -sp_rate); if (sp_rate && !sp) sp = 1; @@ -1479,8 +1473,8 @@ int status_revive(struct block_list *bl, unsigned char per_hp, unsigned char per if (st == &status->dummy) return 0; //Invalid target. - hp = (int64)st->max_hp * per_hp/100; - sp = (int64)st->max_sp * per_sp/100; + hp = APPLY_RATE(st->max_hp, per_hp); + sp = APPLY_RATE(st->max_sp, per_sp); if(hp > st->max_hp - st->hp) hp = st->max_hp - st->hp; @@ -2059,12 +2053,12 @@ int status_calc_mob_(struct mob_data* md, enum e_status_calc_opt opt) { mbl = map->id2bl(md->master_id); if (flag&8 && mbl) { - struct status_data *mstatus; - if ( (mstatus = status->get_base_status(mbl)) ) { - if( battle_config.slaves_inherit_speed&(mstatus->mode&MD_CANMOVE?1:2) ) - mstatus->speed = mstatus->speed; - if( mstatus->speed < 2 ) /* minimum for the unit to function properly */ - mstatus->speed = 2; + struct status_data *masterstatus = status->get_base_status(mbl); + if ( masterstatus ) { + if( battle_config.slaves_inherit_speed&(masterstatus->mode&MD_CANMOVE?1:2) ) + masterstatus->speed = masterstatus->speed; + if( masterstatus->speed < 2 ) /* minimum for the unit to function properly */ + masterstatus->speed = 2; } } @@ -2778,9 +2772,9 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) { if(sd->hprate < 0) sd->hprate = 0; if(sd->hprate!=100) - bstatus->max_hp = (int64)bstatus->max_hp * sd->hprate/100; + bstatus->max_hp = APPLY_RATE(bstatus->max_hp, sd->hprate); if(battle_config.hp_rate != 100) - bstatus->max_hp = (int64)bstatus->max_hp * battle_config.hp_rate/100; + bstatus->max_hp = APPLY_RATE(bstatus->max_hp, battle_config.hp_rate); if(bstatus->max_hp > (unsigned int)battle_config.max_hp) bstatus->max_hp = battle_config.max_hp; @@ -2812,9 +2806,9 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) { if(sd->sprate < 0) sd->sprate = 0; if(sd->sprate!=100) - bstatus->max_sp = (int64)bstatus->max_sp * sd->sprate/100; + bstatus->max_sp = APPLY_RATE(bstatus->max_sp, sd->sprate); if(battle_config.sp_rate != 100) - bstatus->max_sp = (int64)bstatus->max_sp * battle_config.sp_rate/100; + bstatus->max_sp = APPLY_RATE(bstatus->max_sp, battle_config.sp_rate); if(bstatus->max_sp > (unsigned int)battle_config.max_sp) bstatus->max_sp = battle_config.max_sp; @@ -2833,11 +2827,11 @@ int status_calc_pc_(struct map_session_data* sd, enum e_status_calc_opt opt) { && battle_config.restart_hp_rate < 50) bstatus->hp = bstatus->max_hp>>1; else - bstatus->hp = (int64)bstatus->max_hp * battle_config.restart_hp_rate/100; + bstatus->hp = APPLY_RATE(bstatus->max_hp, battle_config.restart_hp_rate); if(!bstatus->hp) bstatus->hp = 1; - bstatus->sp = (int64)bstatus->max_sp * battle_config.restart_sp_rate /100; + bstatus->sp = APPLY_RATE(bstatus->max_sp, battle_config.restart_sp_rate); if( !bstatus->sp ) /* the minimum for the respawn setting is SP:1 */ bstatus->sp = 1; @@ -6573,10 +6567,8 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val case SC_NIBELUNGEN: case SC_INTOABYSS: case SC_SIEGFRIED: - if( bl->type == BL_PC) { - struct map_session_data *sd = BL_CAST(BL_PC,bl); - if (!sd->status.party_id) return 0; - } + if( sd && !sd->status.party_id ) + return 0; break; case SC_ANGRIFFS_MODUS: case SC_GOLDENE_FERSE: @@ -7302,7 +7294,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val val2 = val1*20; //SP gained break; case SC_KYRIE: - val2 = (int64)st->max_hp * (val1 * 2 + 10) / 100; //%Max HP to absorb + val2 = APPLY_RATE(st->max_hp, (val1 * 2 + 10)); //%Max HP to absorb val3 = (val1 / 2 + 5); //Hits break; case SC_MAGICPOWER: @@ -9402,15 +9394,15 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const case SC_BLADESTOP: if(sce->val4) { - int tid = sce->val4; - struct block_list *tbl = map->id2bl(tid); + int target_id = sce->val4; + struct block_list *tbl = map->id2bl(target_id); struct status_change *tsc = status->get_sc(tbl); sce->val4 = 0; if(tbl && tsc && tsc->data[SC_BLADESTOP]) { tsc->data[SC_BLADESTOP]->val4 = 0; status_change_end(tbl, SC_BLADESTOP, INVALID_TIMER); } - clif->bladestop(bl, tid, 0); + clif->bladestop(bl, target_id, 0); } break; case SC_DANCING: @@ -9708,8 +9700,8 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const case SC_CURSEDCIRCLE_TARGET: { struct block_list *src = map->id2bl(sce->val2); - struct status_change *sc = status->get_sc(src); - if( sc && sc->data[SC_CURSEDCIRCLE_ATKER] && --(sc->data[SC_CURSEDCIRCLE_ATKER]->val2) == 0 ){ + struct status_change *ssc = status->get_sc(src); + if( ssc && ssc->data[SC_CURSEDCIRCLE_ATKER] && --(ssc->data[SC_CURSEDCIRCLE_ATKER]->val2) == 0 ){ status_change_end(src, SC_CURSEDCIRCLE_ATKER, INVALID_TIMER); clif->bladestop(bl, sce->val2, 0); } @@ -9719,8 +9711,8 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const if( sce->val2 ){ struct block_list *src = map->id2bl(sce->val2); if(src) { - struct status_change *sc = status->get_sc(src); - sc->bs_counter--; + struct status_change *ssc = status->get_sc(src); + ssc->bs_counter--; } } break; @@ -10977,7 +10969,7 @@ int status_get_matk(struct block_list *bl, int flag) { st->matk_min = status_base_matk_min(st) + (sd?sd->bonus.ematk:0); st->matk_max = status_base_matk_max(st) + (sd?sd->bonus.ematk:0); #endif - if (bl->type&BL_PC && sd->matk_rate != 100) { + if (sd && sd->matk_rate != 100) { st->matk_max = st->matk_max * sd->matk_rate/100; st->matk_min = st->matk_min * sd->matk_rate/100; } diff --git a/src/map/status.h b/src/map/status.h index 2a281aef4..cdf3e03d6 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -14,6 +14,21 @@ struct homun_data; struct mercenary_data; struct status_change; +//Change the equation when the values are high enough to discard the +//imprecision in exchange of overflow protection [Skotlex] +//Also add 100% checks since those are the most used cases where we don't +//want aproximation errors. +#define APPLY_RATE(value, rate) ( \ + (rate) == 100 ? \ + (value) \ + : ( \ + (value) > 100000 ? \ + (rate) * ( (value) / 100 ) \ + : \ + (value) * (rate) / 100 \ + ) \ +) + /** * Max Refine available to your server * Changing this limit requires edits to refine_db.txt diff --git a/src/map/storage.c b/src/map/storage.c index db85b3c98..e65ed7b80 100644 --- a/src/map/storage.c +++ b/src/map/storage.c @@ -85,7 +85,7 @@ int storage_storageopen(struct map_session_data *sd) if(sd->state.storage_flag) return 1; //Already open? - if( !pc->can_give_items(sd) ) + if( !pc_can_give_items(sd) ) { //check is this GM level is allowed to put items to storage clif->message(sd->fd, msg_txt(246)); return 1; @@ -135,13 +135,13 @@ int storage_additem(struct map_session_data* sd, struct item* item_data, int amo return 1; } - if( !itemdb_canstore(item_data, pc->get_group_level(sd)) ) + if( !itemdb_canstore(item_data, pc_get_group_level(sd)) ) { //Check if item is storable. [Skotlex] clif->message (sd->fd, msg_txt(264)); return 1; } - if( item_data->bound > IBT_ACCOUNT && !pc->can_give_bound_items(sd) ) { + if( item_data->bound > IBT_ACCOUNT && !pc_can_give_bound_items(sd) ) { clif->message(sd->fd, msg_txt(294)); return 1; } @@ -387,7 +387,7 @@ int storage_guild_storageopen(struct map_session_data* sd) if(sd->state.storage_flag) return 1; //Can't open both storages at a time. - if( !pc->can_give_items(sd) ) { //check is this GM level can open guild storage and store items [Lupus] + if( !pc_can_give_items(sd) ) { //check is this GM level can open guild storage and store items [Lupus] clif->message(sd->fd, msg_txt(246)); return 1; } @@ -435,13 +435,13 @@ int guild_storage_additem(struct map_session_data* sd, struct guild_storage* sto return 1; } - if( !itemdb_canguildstore(item_data, pc->get_group_level(sd)) || item_data->expire_time ) + if( !itemdb_canguildstore(item_data, pc_get_group_level(sd)) || item_data->expire_time ) { //Check if item is storable. [Skotlex] clif->message (sd->fd, msg_txt(264)); return 1; } - if( item_data->bound && item_data->bound != IBT_GUILD && !pc->can_give_bound_items(sd) ) { + if( item_data->bound && item_data->bound != IBT_GUILD && !pc_can_give_bound_items(sd) ) { clif->message(sd->fd, msg_txt(294)); return 1; } diff --git a/src/map/trade.c b/src/map/trade.c index ffd1336f5..6f079bdd3 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -69,7 +69,7 @@ void trade_traderequest(struct map_session_data *sd, struct map_session_data *ta return; } - if (!pc->can_give_items(sd) || !pc->can_give_items(target_sd)) //check if both GMs are allowed to trade + if (!pc_can_give_items(sd) || !pc_can_give_items(target_sd)) //check if both GMs are allowed to trade { clif->message(sd->fd, msg_txt(246)); clif->tradestart(sd, 2); // GM is not allowed to trade @@ -348,8 +348,8 @@ void trade_tradeadditem(struct map_session_data *sd, short index, short amount) return; item = &sd->status.inventory[index]; - src_lv = pc->get_group_level(sd); - dst_lv = pc->get_group_level(target_sd); + src_lv = pc_get_group_level(sd); + dst_lv = pc_get_group_level(target_sd); if( !itemdb_cantrade(item, src_lv, dst_lv) && //Can't trade (pc->get_partner(sd) != target_sd || !itemdb_canpartnertrade(item, src_lv, dst_lv)) ) //Can't partner-trade { @@ -368,7 +368,7 @@ void trade_tradeadditem(struct map_session_data *sd, short index, short amount) if( item->bound && !( item->bound == IBT_GUILD && sd->status.guild_id == target_sd->status.guild_id ) && !( item->bound == IBT_PARTY && sd->status.party_id == target_sd->status.party_id ) - && !pc->can_give_bound_items(sd) ) { + && !pc_can_give_bound_items(sd) ) { clif->message(sd->fd, msg_txt(293)); clif->tradeitemok(sd, index+2, TIO_INDROCKS); return; diff --git a/src/map/unit.c b/src/map/unit.c index 28dd68e7d..7f722684d 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -670,15 +670,15 @@ int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool if( sd->status.pet_id > 0 && sd->pd && sd->pd->pet.intimate > 0 ) { // Check if pet needs to be teleported. [Skotlex] int flag = 0; - struct block_list* bl = &sd->pd->bl; - if( !checkpath && !path->search(NULL,bl->m,bl->x,bl->y,dst_x,dst_y,0,CELL_CHKNOPASS) ) + struct block_list* pbl = &sd->pd->bl; + if( !checkpath && !path->search(NULL,pbl->m,pbl->x,pbl->y,dst_x,dst_y,0,CELL_CHKNOPASS) ) flag = 1; - else if (!check_distance_bl(&sd->bl, bl, AREA_SIZE)) //Too far, teleport. + else if (!check_distance_bl(&sd->bl, pbl, AREA_SIZE)) //Too far, teleport. flag = 2; if( flag ) { - unit->movepos(bl,sd->bl.x,sd->bl.y, 0, 0); - clif->slide(bl,bl->x,bl->y); + unit->movepos(pbl,sd->bl.x,sd->bl.y, 0, 0); + clif->slide(pbl,pbl->x,pbl->y); } } } @@ -720,6 +720,8 @@ int unit_blown(struct block_list* bl, int dx, int dy, int count, int flag) struct skill_unit* su = NULL; int nx, ny, result; + nullpo_ret(bl); + sd = BL_CAST(BL_PC, bl); su = BL_CAST(BL_SKILL, bl); diff --git a/src/map/vending.c b/src/map/vending.c index f16a208e4..7d248351c 100644 --- a/src/map/vending.c +++ b/src/map/vending.c @@ -53,7 +53,7 @@ void vending_vendinglistreq(struct map_session_data* sd, unsigned int id) { if( !vsd->state.vending ) return; // not vending - if (!pc->can_give_items(sd) || !pc->can_give_items(vsd)) { //check if both GMs are allowed to trade + if (!pc_can_give_items(sd) || !pc_can_give_items(vsd)) { //check if both GMs are allowed to trade // GM is not allowed to trade clif->message(sd->fd, msg_txt(246)); return; @@ -257,8 +257,8 @@ void vending_openvending(struct map_session_data* sd, const char* message, const || !sd->status.cart[index].identify // unidentified item || sd->status.cart[index].attribute == 1 // broken item || sd->status.cart[index].expire_time // It should not be in the cart but just in case - || (sd->status.cart[index].bound && !pc->can_give_bound_items(sd)) // can't trade bound items w/o permission - || !itemdb_cantrade(&sd->status.cart[index], pc->get_group_level(sd), pc->get_group_level(sd)) ) // untradeable item + || (sd->status.cart[index].bound && !pc_can_give_bound_items(sd)) // can't trade bound items w/o permission + || !itemdb_cantrade(&sd->status.cart[index], pc_get_group_level(sd), pc_get_group_level(sd)) ) // untradeable item continue; sd->vending[i].index = index; diff --git a/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc index cc234a000..3303e93ae 100644 --- a/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking.HPMHooksCore.inc @@ -3479,16 +3479,12 @@ struct { struct HPMHookPoint *HP_pc_get_dummy_sd_post; struct HPMHookPoint *HP_pc_class2idx_pre; struct HPMHookPoint *HP_pc_class2idx_post; - struct HPMHookPoint *HP_pc_get_group_level_pre; - struct HPMHookPoint *HP_pc_get_group_level_post; struct HPMHookPoint *HP_pc_can_give_items_pre; struct HPMHookPoint *HP_pc_can_give_items_post; struct HPMHookPoint *HP_pc_can_give_bound_items_pre; struct HPMHookPoint *HP_pc_can_give_bound_items_post; struct HPMHookPoint *HP_pc_can_use_command_pre; struct HPMHookPoint *HP_pc_can_use_command_post; - struct HPMHookPoint *HP_pc_has_permission_pre; - struct HPMHookPoint *HP_pc_has_permission_post; struct HPMHookPoint *HP_pc_set_group_pre; struct HPMHookPoint *HP_pc_set_group_post; struct HPMHookPoint *HP_pc_should_log_commands_pre; @@ -4095,8 +4091,6 @@ struct { struct HPMHookPoint *HP_script_reportdata_post; struct HPMHookPoint *HP_script_reportfunc_pre; struct HPMHookPoint *HP_script_reportfunc_post; - struct HPMHookPoint *HP_script_disp_error_message2_pre; - struct HPMHookPoint *HP_script_disp_error_message2_post; struct HPMHookPoint *HP_script_disp_warning_message_pre; struct HPMHookPoint *HP_script_disp_warning_message_post; struct HPMHookPoint *HP_script_check_event_pre; @@ -8452,16 +8446,12 @@ struct { int HP_pc_get_dummy_sd_post; int HP_pc_class2idx_pre; int HP_pc_class2idx_post; - int HP_pc_get_group_level_pre; - int HP_pc_get_group_level_post; int HP_pc_can_give_items_pre; int HP_pc_can_give_items_post; int HP_pc_can_give_bound_items_pre; int HP_pc_can_give_bound_items_post; int HP_pc_can_use_command_pre; int HP_pc_can_use_command_post; - int HP_pc_has_permission_pre; - int HP_pc_has_permission_post; int HP_pc_set_group_pre; int HP_pc_set_group_post; int HP_pc_should_log_commands_pre; @@ -9068,8 +9058,6 @@ struct { int HP_script_reportdata_post; int HP_script_reportfunc_pre; int HP_script_reportfunc_post; - int HP_script_disp_error_message2_pre; - int HP_script_disp_error_message2_post; int HP_script_disp_warning_message_pre; int HP_script_disp_warning_message_post; int HP_script_check_event_pre; diff --git a/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc index 91b6b15b7..86e1cf53a 100644 --- a/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking.HookingPoints.inc @@ -1770,11 +1770,9 @@ struct HookingPointData HookingPoints[] = { { HP_POP(pc->final, HP_pc_final) }, { HP_POP(pc->get_dummy_sd, HP_pc_get_dummy_sd) }, { HP_POP(pc->class2idx, HP_pc_class2idx) }, - { HP_POP(pc->get_group_level, HP_pc_get_group_level) }, { HP_POP(pc->can_give_items, HP_pc_can_give_items) }, { HP_POP(pc->can_give_bound_items, HP_pc_can_give_bound_items) }, { HP_POP(pc->can_use_command, HP_pc_can_use_command) }, - { HP_POP(pc->has_permission, HP_pc_has_permission) }, { HP_POP(pc->set_group, HP_pc_set_group) }, { HP_POP(pc->should_log_commands, HP_pc_should_log_commands) }, { HP_POP(pc->setrestartvalue, HP_pc_setrestartvalue) }, @@ -2081,7 +2079,6 @@ struct HookingPointData HookingPoints[] = { { HP_POP(script->reportsrc, HP_script_reportsrc) }, { HP_POP(script->reportdata, HP_script_reportdata) }, { HP_POP(script->reportfunc, HP_script_reportfunc) }, - { HP_POP(script->disp_error_message2, HP_script_disp_error_message2) }, { HP_POP(script->disp_warning_message, HP_script_disp_warning_message) }, { HP_POP(script->check_event, HP_script_check_event) }, { HP_POP(script->calc_hash, HP_script_calc_hash) }, diff --git a/src/plugins/HPMHooking/HPMHooking.Hooks.inc b/src/plugins/HPMHooking/HPMHooking.Hooks.inc index 44c6ea243..c6f58a4c1 100644 --- a/src/plugins/HPMHooking/HPMHooking.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking.Hooks.inc @@ -9049,10 +9049,10 @@ void HP_clif_font(struct map_session_data *sd) { } return; } -void HP_clif_progressbar(struct map_session_data *sd, unsigned long color, unsigned int second) { +void HP_clif_progressbar(struct map_session_data *sd, unsigned int color, unsigned int second) { int hIndex = 0; if( HPMHooks.count.HP_clif_progressbar_pre ) { - void (*preHookFunc) (struct map_session_data *sd, unsigned long *color, unsigned int *second); + void (*preHookFunc) (struct map_session_data *sd, unsigned int *color, unsigned int *second); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_progressbar_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_progressbar_pre[hIndex].func; preHookFunc(sd, &color, &second); @@ -9066,7 +9066,7 @@ void HP_clif_progressbar(struct map_session_data *sd, unsigned long color, unsig HPMHooks.source.clif.progressbar(sd, color, second); } if( HPMHooks.count.HP_clif_progressbar_post ) { - void (*postHookFunc) (struct map_session_data *sd, unsigned long *color, unsigned int *second); + void (*postHookFunc) (struct map_session_data *sd, unsigned int *color, unsigned int *second); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_progressbar_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_progressbar_post[hIndex].func; postHookFunc(sd, &color, &second); @@ -10883,10 +10883,10 @@ void HP_clif_changechatstatus(struct chat_data *cd) { } return; } -void HP_clif_wis_message(int fd, const char *nick, const char *mes, int mes_len) { +void HP_clif_wis_message(int fd, const char *nick, const char *mes, size_t mes_len) { int hIndex = 0; if( HPMHooks.count.HP_clif_wis_message_pre ) { - void (*preHookFunc) (int *fd, const char *nick, const char *mes, int *mes_len); + void (*preHookFunc) (int *fd, const char *nick, const char *mes, size_t *mes_len); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_wis_message_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_wis_message_pre[hIndex].func; preHookFunc(&fd, nick, mes, &mes_len); @@ -10900,7 +10900,7 @@ void HP_clif_wis_message(int fd, const char *nick, const char *mes, int mes_len) HPMHooks.source.clif.wis_message(fd, nick, mes, mes_len); } if( HPMHooks.count.HP_clif_wis_message_post ) { - void (*postHookFunc) (int *fd, const char *nick, const char *mes, int *mes_len); + void (*postHookFunc) (int *fd, const char *nick, const char *mes, size_t *mes_len); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_wis_message_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_wis_message_post[hIndex].func; postHookFunc(&fd, nick, mes, &mes_len); @@ -10933,10 +10933,10 @@ void HP_clif_wis_end(int fd, int flag) { } return; } -void HP_clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len) { +void HP_clif_disp_onlyself(struct map_session_data *sd, const char *mes, size_t len) { int hIndex = 0; if( HPMHooks.count.HP_clif_disp_onlyself_pre ) { - void (*preHookFunc) (struct map_session_data *sd, const char *mes, int *len); + void (*preHookFunc) (struct map_session_data *sd, const char *mes, size_t *len); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_disp_onlyself_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_disp_onlyself_pre[hIndex].func; preHookFunc(sd, mes, &len); @@ -10950,7 +10950,7 @@ void HP_clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len HPMHooks.source.clif.disp_onlyself(sd, mes, len); } if( HPMHooks.count.HP_clif_disp_onlyself_post ) { - void (*postHookFunc) (struct map_session_data *sd, const char *mes, int *len); + void (*postHookFunc) (struct map_session_data *sd, const char *mes, size_t *len); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_disp_onlyself_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_disp_onlyself_post[hIndex].func; postHookFunc(sd, mes, &len); @@ -10958,10 +10958,10 @@ void HP_clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len } return; } -void HP_clif_disp_message(struct block_list *src, const char *mes, int len, enum send_target target) { +void HP_clif_disp_message(struct block_list *src, const char *mes, size_t len, enum send_target target) { int hIndex = 0; if( HPMHooks.count.HP_clif_disp_message_pre ) { - void (*preHookFunc) (struct block_list *src, const char *mes, int *len, enum send_target *target); + void (*preHookFunc) (struct block_list *src, const char *mes, size_t *len, enum send_target *target); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_disp_message_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_disp_message_pre[hIndex].func; preHookFunc(src, mes, &len, &target); @@ -10975,7 +10975,7 @@ void HP_clif_disp_message(struct block_list *src, const char *mes, int len, enum HPMHooks.source.clif.disp_message(src, mes, len, target); } if( HPMHooks.count.HP_clif_disp_message_post ) { - void (*postHookFunc) (struct block_list *src, const char *mes, int *len, enum send_target *target); + void (*postHookFunc) (struct block_list *src, const char *mes, size_t *len, enum send_target *target); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_disp_message_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_disp_message_post[hIndex].func; postHookFunc(src, mes, &len, &target); @@ -10983,10 +10983,10 @@ void HP_clif_disp_message(struct block_list *src, const char *mes, int len, enum } return; } -void HP_clif_broadcast(struct block_list *bl, const char *mes, int len, int type, enum send_target target) { +void HP_clif_broadcast(struct block_list *bl, const char *mes, size_t len, int type, enum send_target target) { int hIndex = 0; if( HPMHooks.count.HP_clif_broadcast_pre ) { - void (*preHookFunc) (struct block_list *bl, const char *mes, int *len, int *type, enum send_target *target); + void (*preHookFunc) (struct block_list *bl, const char *mes, size_t *len, int *type, enum send_target *target); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_broadcast_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_broadcast_pre[hIndex].func; preHookFunc(bl, mes, &len, &type, &target); @@ -11000,7 +11000,7 @@ void HP_clif_broadcast(struct block_list *bl, const char *mes, int len, int type HPMHooks.source.clif.broadcast(bl, mes, len, type, target); } if( HPMHooks.count.HP_clif_broadcast_post ) { - void (*postHookFunc) (struct block_list *bl, const char *mes, int *len, int *type, enum send_target *target); + void (*postHookFunc) (struct block_list *bl, const char *mes, size_t *len, int *type, enum send_target *target); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_broadcast_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_broadcast_post[hIndex].func; postHookFunc(bl, mes, &len, &type, &target); @@ -11008,10 +11008,10 @@ void HP_clif_broadcast(struct block_list *bl, const char *mes, int len, int type } return; } -void HP_clif_broadcast2(struct block_list *bl, const char *mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target) { +void HP_clif_broadcast2(struct block_list *bl, const char *mes, size_t len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, enum send_target target) { int hIndex = 0; if( HPMHooks.count.HP_clif_broadcast2_pre ) { - void (*preHookFunc) (struct block_list *bl, const char *mes, int *len, unsigned long *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, enum send_target *target); + void (*preHookFunc) (struct block_list *bl, const char *mes, size_t *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, enum send_target *target); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_broadcast2_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_broadcast2_pre[hIndex].func; preHookFunc(bl, mes, &len, &fontColor, &fontType, &fontSize, &fontAlign, &fontY, &target); @@ -11025,7 +11025,7 @@ void HP_clif_broadcast2(struct block_list *bl, const char *mes, int len, unsigne HPMHooks.source.clif.broadcast2(bl, mes, len, fontColor, fontType, fontSize, fontAlign, fontY, target); } if( HPMHooks.count.HP_clif_broadcast2_post ) { - void (*postHookFunc) (struct block_list *bl, const char *mes, int *len, unsigned long *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, enum send_target *target); + void (*postHookFunc) (struct block_list *bl, const char *mes, size_t *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, enum send_target *target); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_broadcast2_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_broadcast2_post[hIndex].func; postHookFunc(bl, mes, &len, &fontColor, &fontType, &fontSize, &fontAlign, &fontY, &target); @@ -11033,10 +11033,10 @@ void HP_clif_broadcast2(struct block_list *bl, const char *mes, int len, unsigne } return; } -void HP_clif_messagecolor(struct block_list *bl, unsigned long color, const char *msg) { +void HP_clif_messagecolor(struct block_list *bl, unsigned int color, const char *msg) { int hIndex = 0; if( HPMHooks.count.HP_clif_messagecolor_pre ) { - void (*preHookFunc) (struct block_list *bl, unsigned long *color, const char *msg); + void (*preHookFunc) (struct block_list *bl, unsigned int *color, const char *msg); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_messagecolor_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_messagecolor_pre[hIndex].func; preHookFunc(bl, &color, msg); @@ -11050,7 +11050,7 @@ void HP_clif_messagecolor(struct block_list *bl, unsigned long color, const char HPMHooks.source.clif.messagecolor(bl, color, msg); } if( HPMHooks.count.HP_clif_messagecolor_post ) { - void (*postHookFunc) (struct block_list *bl, unsigned long *color, const char *msg); + void (*postHookFunc) (struct block_list *bl, unsigned int *color, const char *msg); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_messagecolor_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_messagecolor_post[hIndex].func; postHookFunc(bl, &color, msg); @@ -11284,11 +11284,11 @@ int HP_clif_colormes(int fd, enum clif_colors color, const char *msg) { } return retVal___; } -bool HP_clif_process_message(struct map_session_data *sd, int format, char **name_, int *namelen_, char **message_, int *messagelen_) { +bool HP_clif_process_message(struct map_session_data *sd, int format, char **name_, size_t *namelen_, char **message_, size_t *messagelen_) { int hIndex = 0; bool retVal___ = false; if( HPMHooks.count.HP_clif_process_message_pre ) { - bool (*preHookFunc) (struct map_session_data *sd, int *format, char **name_, int *namelen_, char **message_, int *messagelen_); + bool (*preHookFunc) (struct map_session_data *sd, int *format, char **name_, size_t *namelen_, char **message_, size_t *messagelen_); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_process_message_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_process_message_pre[hIndex].func; retVal___ = preHookFunc(sd, &format, name_, namelen_, message_, messagelen_); @@ -11302,7 +11302,7 @@ bool HP_clif_process_message(struct map_session_data *sd, int format, char **nam retVal___ = HPMHooks.source.clif.process_message(sd, format, name_, namelen_, message_, messagelen_); } if( HPMHooks.count.HP_clif_process_message_post ) { - bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int *format, char **name_, int *namelen_, char **message_, int *messagelen_); + bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int *format, char **name_, size_t *namelen_, char **message_, size_t *messagelen_); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_process_message_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_process_message_post[hIndex].func; retVal___ = postHookFunc(retVal___, sd, &format, name_, namelen_, message_, messagelen_); @@ -13262,10 +13262,10 @@ void HP_clif_bg_xy_remove(struct map_session_data *sd) { } return; } -void HP_clif_bg_message(struct battleground_data *bgd, int src_id, const char *name, const char *mes, int len) { +void HP_clif_bg_message(struct battleground_data *bgd, int src_id, const char *name, const char *mes, size_t len) { int hIndex = 0; if( HPMHooks.count.HP_clif_bg_message_pre ) { - void (*preHookFunc) (struct battleground_data *bgd, int *src_id, const char *name, const char *mes, int *len); + void (*preHookFunc) (struct battleground_data *bgd, int *src_id, const char *name, const char *mes, size_t *len); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_bg_message_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_bg_message_pre[hIndex].func; preHookFunc(bgd, &src_id, name, mes, &len); @@ -13279,7 +13279,7 @@ void HP_clif_bg_message(struct battleground_data *bgd, int src_id, const char *n HPMHooks.source.clif.bg_message(bgd, src_id, name, mes, len); } if( HPMHooks.count.HP_clif_bg_message_post ) { - void (*postHookFunc) (struct battleground_data *bgd, int *src_id, const char *name, const char *mes, int *len); + void (*postHookFunc) (struct battleground_data *bgd, int *src_id, const char *name, const char *mes, size_t *len); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_bg_message_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_bg_message_post[hIndex].func; postHookFunc(bgd, &src_id, name, mes, &len); @@ -15047,10 +15047,10 @@ void HP_clif_PartyBookingVolunteerInfo(int index, struct map_session_data *sd) { } return; } -void HP_clif_PartyBookingRefuseVolunteer(unsigned long aid, struct map_session_data *sd) { +void HP_clif_PartyBookingRefuseVolunteer(unsigned int aid, struct map_session_data *sd) { int hIndex = 0; if( HPMHooks.count.HP_clif_PartyBookingRefuseVolunteer_pre ) { - void (*preHookFunc) (unsigned long *aid, struct map_session_data *sd); + void (*preHookFunc) (unsigned int *aid, struct map_session_data *sd); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyBookingRefuseVolunteer_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_clif_PartyBookingRefuseVolunteer_pre[hIndex].func; preHookFunc(&aid, sd); @@ -15064,7 +15064,7 @@ void HP_clif_PartyBookingRefuseVolunteer(unsigned long aid, struct map_session_d HPMHooks.source.clif.PartyBookingRefuseVolunteer(aid, sd); } if( HPMHooks.count.HP_clif_PartyBookingRefuseVolunteer_post ) { - void (*postHookFunc) (unsigned long *aid, struct map_session_data *sd); + void (*postHookFunc) (unsigned int *aid, struct map_session_data *sd); for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_PartyBookingRefuseVolunteer_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_clif_PartyBookingRefuseVolunteer_post[hIndex].func; postHookFunc(&aid, sd); @@ -27396,11 +27396,11 @@ int HP_intif_create_pet(int account_id, int char_id, short pet_type, short pet_l } return retVal___; } -int HP_intif_broadcast(const char *mes, int len, int type) { +int HP_intif_broadcast(const char *mes, size_t len, int type) { int hIndex = 0; int retVal___ = 0; if( HPMHooks.count.HP_intif_broadcast_pre ) { - int (*preHookFunc) (const char *mes, int *len, int *type); + int (*preHookFunc) (const char *mes, size_t *len, int *type); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_intif_broadcast_pre[hIndex].func; retVal___ = preHookFunc(mes, &len, &type); @@ -27414,7 +27414,7 @@ int HP_intif_broadcast(const char *mes, int len, int type) { retVal___ = HPMHooks.source.intif.broadcast(mes, len, type); } if( HPMHooks.count.HP_intif_broadcast_post ) { - int (*postHookFunc) (int retVal___, const char *mes, int *len, int *type); + int (*postHookFunc) (int retVal___, const char *mes, size_t *len, int *type); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_intif_broadcast_post[hIndex].func; retVal___ = postHookFunc(retVal___, mes, &len, &type); @@ -27422,11 +27422,11 @@ int HP_intif_broadcast(const char *mes, int len, int type) { } return retVal___; } -int HP_intif_broadcast2(const char *mes, int len, unsigned long fontColor, short fontType, short fontSize, short fontAlign, short fontY) { +int HP_intif_broadcast2(const char *mes, size_t len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY) { int hIndex = 0; int retVal___ = 0; if( HPMHooks.count.HP_intif_broadcast2_pre ) { - int (*preHookFunc) (const char *mes, int *len, unsigned long *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY); + int (*preHookFunc) (const char *mes, size_t *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast2_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_intif_broadcast2_pre[hIndex].func; retVal___ = preHookFunc(mes, &len, &fontColor, &fontType, &fontSize, &fontAlign, &fontY); @@ -27440,7 +27440,7 @@ int HP_intif_broadcast2(const char *mes, int len, unsigned long fontColor, short retVal___ = HPMHooks.source.intif.broadcast2(mes, len, fontColor, fontType, fontSize, fontAlign, fontY); } if( HPMHooks.count.HP_intif_broadcast2_post ) { - int (*postHookFunc) (int retVal___, const char *mes, int *len, unsigned long *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY); + int (*postHookFunc) (int retVal___, const char *mes, size_t *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast2_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_intif_broadcast2_post[hIndex].func; retVal___ = postHookFunc(retVal___, mes, &len, &fontColor, &fontType, &fontSize, &fontAlign, &fontY); @@ -27474,11 +27474,11 @@ int HP_intif_main_message(struct map_session_data *sd, const char *message) { } return retVal___; } -int HP_intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int mes_len) { +int HP_intif_wis_message(struct map_session_data *sd, char *nick, char *mes, size_t mes_len) { int hIndex = 0; int retVal___ = 0; if( HPMHooks.count.HP_intif_wis_message_pre ) { - int (*preHookFunc) (struct map_session_data *sd, char *nick, char *mes, int *mes_len); + int (*preHookFunc) (struct map_session_data *sd, char *nick, char *mes, size_t *mes_len); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_wis_message_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_intif_wis_message_pre[hIndex].func; retVal___ = preHookFunc(sd, nick, mes, &mes_len); @@ -27492,7 +27492,7 @@ int HP_intif_wis_message(struct map_session_data *sd, char *nick, char *mes, int retVal___ = HPMHooks.source.intif.wis_message(sd, nick, mes, mes_len); } if( HPMHooks.count.HP_intif_wis_message_post ) { - int (*postHookFunc) (int retVal___, struct map_session_data *sd, char *nick, char *mes, int *mes_len); + int (*postHookFunc) (int retVal___, struct map_session_data *sd, char *nick, char *mes, size_t *mes_len); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_wis_message_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_intif_wis_message_post[hIndex].func; retVal___ = postHookFunc(retVal___, sd, nick, mes, &mes_len); @@ -28046,11 +28046,11 @@ int HP_intif_guild_message(int guild_id, int account_id, const char *mes, int le } return retVal___; } -int HP_intif_guild_change_gm(int guild_id, const char *name, int len) { +int HP_intif_guild_change_gm(int guild_id, const char *name, size_t len) { int hIndex = 0; int retVal___ = 0; if( HPMHooks.count.HP_intif_guild_change_gm_pre ) { - int (*preHookFunc) (int *guild_id, const char *name, int *len); + int (*preHookFunc) (int *guild_id, const char *name, size_t *len); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_change_gm_pre; hIndex++ ) { preHookFunc = HPMHooks.list.HP_intif_guild_change_gm_pre[hIndex].func; retVal___ = preHookFunc(&guild_id, name, &len); @@ -28064,7 +28064,7 @@ int HP_intif_guild_change_gm(int guild_id, const char *name, int len) { retVal___ = HPMHooks.source.intif.guild_change_gm(guild_id, name, len); } if( HPMHooks.count.HP_intif_guild_change_gm_post ) { - int (*postHookFunc) (int retVal___, int *guild_id, const char *name, int *len); + int (*postHookFunc) (int retVal___, int *guild_id, const char *name, size_t *len); for(hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_change_gm_post; hIndex++ ) { postHookFunc = HPMHooks.list.HP_intif_guild_change_gm_post[hIndex].func; retVal___ = postHookFunc(retVal___, &guild_id, name, &len); @@ -44808,32 +44808,6 @@ int HP_pc_class2idx(int class_) { } return retVal___; } -int HP_pc_get_group_level(struct map_session_data *sd) { - int hIndex = 0; - int retVal___ = 0; - if( HPMHooks.count.HP_pc_get_group_level_pre ) { - int (*preHookFunc) (struct map_session_data *sd); - for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_get_group_level_pre; hIndex++ ) { - preHookFunc = HPMHooks.list.HP_pc_get_group_level_pre[hIndex].func; - retVal___ = preHookFunc(sd); - } - if( *HPMforce_return ) { - *HPMforce_return = false; - return retVal___; - } - } - { - retVal___ = HPMHooks.source.pc.get_group_level(sd); - } - if( HPMHooks.count.HP_pc_get_group_level_post ) { - int (*postHookFunc) (int retVal___, struct map_session_data *sd); - for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_get_group_level_post; hIndex++ ) { - postHookFunc = HPMHooks.list.HP_pc_get_group_level_post[hIndex].func; - retVal___ = postHookFunc(retVal___, sd); - } - } - return retVal___; -} bool HP_pc_can_give_items(struct map_session_data *sd) { int hIndex = 0; bool retVal___ = false; @@ -44912,32 +44886,6 @@ bool HP_pc_can_use_command(struct map_session_data *sd, const char *command) { } return retVal___; } -bool HP_pc_has_permission(struct map_session_data *sd, unsigned int permission) { - int hIndex = 0; - bool retVal___ = false; - if( HPMHooks.count.HP_pc_has_permission_pre ) { - bool (*preHookFunc) (struct map_session_data *sd, unsigned int *permission); - for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_has_permission_pre; hIndex++ ) { - preHookFunc = HPMHooks.list.HP_pc_has_permission_pre[hIndex].func; - retVal___ = preHookFunc(sd, &permission); - } - if( *HPMforce_return ) { - *HPMforce_return = false; - return retVal___; - } - } - { - retVal___ = HPMHooks.source.pc.has_permission(sd, permission); - } - if( HPMHooks.count.HP_pc_has_permission_post ) { - bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, unsigned int *permission); - for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_has_permission_post; hIndex++ ) { - postHookFunc = HPMHooks.list.HP_pc_has_permission_post[hIndex].func; - retVal___ = postHookFunc(retVal___, sd, &permission); - } - } - return retVal___; -} int HP_pc_set_group(struct map_session_data *sd, int group_id) { int hIndex = 0; int retVal___ = 0; @@ -52803,31 +52751,6 @@ void HP_script_reportfunc(struct script_state *st) { } return; } -void HP_script_disp_error_message2(const char *mes, const char *pos, int report) { - int hIndex = 0; - if( HPMHooks.count.HP_script_disp_error_message2_pre ) { - void (*preHookFunc) (const char *mes, const char *pos, int *report); - for(hIndex = 0; hIndex < HPMHooks.count.HP_script_disp_error_message2_pre; hIndex++ ) { - preHookFunc = HPMHooks.list.HP_script_disp_error_message2_pre[hIndex].func; - preHookFunc(mes, pos, &report); - } - if( *HPMforce_return ) { - *HPMforce_return = false; - return; - } - } - { - HPMHooks.source.script.disp_error_message2(mes, pos, report); - } - if( HPMHooks.count.HP_script_disp_error_message2_post ) { - void (*postHookFunc) (const char *mes, const char *pos, int *report); - for(hIndex = 0; hIndex < HPMHooks.count.HP_script_disp_error_message2_post; hIndex++ ) { - postHookFunc = HPMHooks.list.HP_script_disp_error_message2_post[hIndex].func; - postHookFunc(mes, pos, &report); - } - } - return; -} void HP_script_disp_warning_message(const char *mes, const char *pos) { int hIndex = 0; if( HPMHooks.count.HP_script_disp_warning_message_pre ) { diff --git a/src/plugins/sample.c b/src/plugins/sample.c index 552194e43..b3e2b570f 100644 --- a/src/plugins/sample.c +++ b/src/plugins/sample.c @@ -109,6 +109,10 @@ int my_pc_dropitem_post(int retVal, struct map_session_data *sd,int *n,int *amou } return 1; } +void parse_my_setting(const char *val) { + ShowDebug("Received 'my_setting:%s'\n",val); + /* do anything with the var e.g. config_switch(val) */ +} /* run when server starts */ HPExport void plugin_init (void) { char *server_type; @@ -168,7 +172,14 @@ HPExport void plugin_init (void) { /* if the original pc->dropitem was successful and the amount stored on my_pc_dropitem_storage is higher than 1, */ /* our posthook will display a message to the user about the cap */ /* - by checking whether it was successful (retVal value) it allows for the originals conditions to take place */ - addHookPost("pc->dropitem",my_pc_dropitem_post); + addHookPost("pc->dropitem",my_pc_dropitem_post); +} +/* triggered when server starts loading, before any server-specific data is set */ +HPExport void server_preinit (void) { + /* makes map server listen to mysetting:value in any "battleconf" file (including imported or custom ones) */ + /* value is not limited to numbers, its passed to our plugins handler (parse_my_setting) as const char *, + * and thus can be manipulated at will */ + addBattleConf("my_setting",parse_my_setting); } /* run when server is ready (online) */ HPExport void server_online (void) { diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in index 307aa6d2c..3d0de1122 100644 --- a/src/tool/Makefile.in +++ b/src/tool/Makefile.in @@ -4,9 +4,9 @@ CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h) COMMON_D = ../common COMMON_OBJ = $(addprefix $(COMMON_D)/obj_all/, des.o grfio.o malloc.o \ - miniconsole.o minicore.o showmsg.o strlib.o utils.o) + nullpo.o miniconsole.o minicore.o showmsg.o strlib.o utils.o) COMMON_H = $(addprefix $(COMMON_D)/, cbasetypes.h console.h core.h des.h \ - grfio.h malloc.h mmo.h showmsg.h strlib.h utils.h) + grfio.h malloc.h mmo.h nullpo.h showmsg.h strlib.h utils.h) LIBCONFIG_D = ../../3rdparty/libconfig LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \ diff --git a/src/tool/mapcache.c b/src/tool/mapcache.c index 49f948709..caa55c87a 100644 --- a/src/tool/mapcache.c +++ b/src/tool/mapcache.c @@ -181,7 +181,7 @@ void cache_map(char *name, struct map_data *m) strncpy(info.name, name, MAP_NAME_LENGTH); info.xs = MakeShortLE(m->xs); info.ys = MakeShortLE(m->ys); - info.len = MakeLongLE(len); + info.len = MakeLongLE((uint32)len); // Append map header then compressed cells at the end of the file fseek(map_cache_fp, header.file_size, SEEK_SET); diff --git a/vcproj-10/mapcache.vcxproj b/vcproj-10/mapcache.vcxproj index 61c6e8ea8..b8c901f14 100644 --- a/vcproj-10/mapcache.vcxproj +++ b/vcproj-10/mapcache.vcxproj @@ -124,19 +124,20 @@ </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\src\common\core.c" /> - <ClCompile Include="..\src\common\console.c" /> + <ClCompile Include="..\src\common\console.c" /> <ClCompile Include="..\src\common\des.c" /> <ClCompile Include="..\src\common\grfio.c" /> <ClCompile Include="..\src\common\malloc.c" /> <ClCompile Include="..\src\common\showmsg.c" /> <ClCompile Include="..\src\common\strlib.c" /> <ClCompile Include="..\src\common\utils.c" /> + <ClCompile Include="..\src\common\nullpo.c" /> <ClCompile Include="..\src\tool\mapcache.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\src\common\cbasetypes.h" /> <ClInclude Include="..\src\common\core.h" /> - <ClInclude Include="..\src\common\console.h" /> + <ClInclude Include="..\src\common\console.h" /> <ClInclude Include="..\src\common\des.h" /> <ClInclude Include="..\src\common\grfio.h" /> <ClInclude Include="..\src\common\malloc.h" /> @@ -145,7 +146,8 @@ <ClInclude Include="..\src\common\strlib.h" /> <ClInclude Include="..\src\common\utils.h" /> <ClInclude Include="..\src\common\winapi.h" /> - <ClInclude Include="..\src\config\renewal.h" /> + <ClInclude Include="..\src\common\nullpo.h" /> + <ClInclude Include="..\src\config\renewal.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/vcproj-10/mapcache.vcxproj.filters b/vcproj-10/mapcache.vcxproj.filters index b32268443..e095c1e1c 100644 --- a/vcproj-10/mapcache.vcxproj.filters +++ b/vcproj-10/mapcache.vcxproj.filters @@ -25,6 +25,9 @@ <ClCompile Include="..\src\common\utils.c"> <Filter>common</Filter> </ClCompile> + <ClCompile Include="..\src\common\nullpo.c"> + <Filter>common</Filter> + </ClCompile> <ClCompile Include="..\src\tool\mapcache.c"> <Filter>mapcache</Filter> </ClCompile> @@ -63,6 +66,9 @@ <ClInclude Include="..\src\common\winapi.h"> <Filter>common</Filter> </ClInclude> + <ClInclude Include="..\src\common\nullpo.h"> + <Filter>common</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <Filter Include="common"> diff --git a/vcproj-11/mapcache.vcxproj b/vcproj-11/mapcache.vcxproj index 390e0cc65..1135461ad 100644 --- a/vcproj-11/mapcache.vcxproj +++ b/vcproj-11/mapcache.vcxproj @@ -128,19 +128,20 @@ </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\src\common\core.c" /> - <ClCompile Include="..\src\common\console.c" /> + <ClCompile Include="..\src\common\console.c" /> <ClCompile Include="..\src\common\des.c" /> <ClCompile Include="..\src\common\grfio.c" /> <ClCompile Include="..\src\common\malloc.c" /> <ClCompile Include="..\src\common\showmsg.c" /> <ClCompile Include="..\src\common\strlib.c" /> <ClCompile Include="..\src\common\utils.c" /> + <ClCompile Include="..\src\common\nullpo.c" /> <ClCompile Include="..\src\tool\mapcache.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\src\common\cbasetypes.h" /> <ClInclude Include="..\src\common\core.h" /> - <ClInclude Include="..\src\common\console.h" /> + <ClInclude Include="..\src\common\console.h" /> <ClInclude Include="..\src\common\des.h" /> <ClInclude Include="..\src\common\grfio.h" /> <ClInclude Include="..\src\common\malloc.h" /> @@ -149,6 +150,7 @@ <ClInclude Include="..\src\common\strlib.h" /> <ClInclude Include="..\src\common\utils.h" /> <ClInclude Include="..\src\common\winapi.h" /> + <ClInclude Include="..\src\common\nullpo.h" /> <ClInclude Include="..\src\config\renewal.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> diff --git a/vcproj-11/mapcache.vcxproj.filters b/vcproj-11/mapcache.vcxproj.filters index dea00ce79..3fe21d74b 100644 --- a/vcproj-11/mapcache.vcxproj.filters +++ b/vcproj-11/mapcache.vcxproj.filters @@ -4,7 +4,7 @@ <ClCompile Include="..\src\common\core.c"> <Filter>common</Filter> </ClCompile> - <ClCompile Include="..\src\common\console.c"> + <ClCompile Include="..\src\common\console.c"> <Filter>common</Filter> </ClCompile> <ClCompile Include="..\src\common\des.c"> @@ -25,6 +25,9 @@ <ClCompile Include="..\src\common\utils.c"> <Filter>common</Filter> </ClCompile> + <ClCompile Include="..\src\common\nullpo.c"> + <Filter>common</Filter> + </ClCompile> <ClCompile Include="..\src\tool\mapcache.c"> <Filter>mapcache</Filter> </ClCompile> @@ -36,7 +39,7 @@ <ClInclude Include="..\src\common\core.h"> <Filter>common</Filter> </ClInclude> - <ClInclude Include="..\src\common\console.h"> + <ClInclude Include="..\src\common\console.h"> <Filter>common</Filter> </ClInclude> <ClInclude Include="..\src\common\des.h"> @@ -63,6 +66,9 @@ <ClInclude Include="..\src\common\winapi.h"> <Filter>common</Filter> </ClInclude> + <ClInclude Include="..\src\common\nullpo.h"> + <Filter>common</Filter> + </ClInclude> <ClInclude Include="..\src\config\renewal.h" /> </ItemGroup> <ItemGroup> diff --git a/vcproj-12/mapcache.vcxproj b/vcproj-12/mapcache.vcxproj index 44b063cba..3be84f4d4 100644 --- a/vcproj-12/mapcache.vcxproj +++ b/vcproj-12/mapcache.vcxproj @@ -135,6 +135,7 @@ <ClCompile Include="..\src\common\showmsg.c" /> <ClCompile Include="..\src\common\strlib.c" /> <ClCompile Include="..\src\common\utils.c" /> + <ClCompile Include="..\src\common\nullpo.c" /> <ClCompile Include="..\src\tool\mapcache.c" /> </ItemGroup> <ItemGroup> @@ -149,6 +150,7 @@ <ClInclude Include="..\src\common\strlib.h" /> <ClInclude Include="..\src\common\utils.h" /> <ClInclude Include="..\src\common\winapi.h" /> + <ClInclude Include="..\src\common\nullpo.h" /> <ClInclude Include="..\src\config\renewal.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> diff --git a/vcproj-12/mapcache.vcxproj.filters b/vcproj-12/mapcache.vcxproj.filters index dea00ce79..3fe21d74b 100644 --- a/vcproj-12/mapcache.vcxproj.filters +++ b/vcproj-12/mapcache.vcxproj.filters @@ -4,7 +4,7 @@ <ClCompile Include="..\src\common\core.c"> <Filter>common</Filter> </ClCompile> - <ClCompile Include="..\src\common\console.c"> + <ClCompile Include="..\src\common\console.c"> <Filter>common</Filter> </ClCompile> <ClCompile Include="..\src\common\des.c"> @@ -25,6 +25,9 @@ <ClCompile Include="..\src\common\utils.c"> <Filter>common</Filter> </ClCompile> + <ClCompile Include="..\src\common\nullpo.c"> + <Filter>common</Filter> + </ClCompile> <ClCompile Include="..\src\tool\mapcache.c"> <Filter>mapcache</Filter> </ClCompile> @@ -36,7 +39,7 @@ <ClInclude Include="..\src\common\core.h"> <Filter>common</Filter> </ClInclude> - <ClInclude Include="..\src\common\console.h"> + <ClInclude Include="..\src\common\console.h"> <Filter>common</Filter> </ClInclude> <ClInclude Include="..\src\common\des.h"> @@ -63,6 +66,9 @@ <ClInclude Include="..\src\common\winapi.h"> <Filter>common</Filter> </ClInclude> + <ClInclude Include="..\src\common\nullpo.h"> + <Filter>common</Filter> + </ClInclude> <ClInclude Include="..\src\config\renewal.h" /> </ItemGroup> <ItemGroup> diff --git a/vcproj-9/mapcache.vcproj b/vcproj-9/mapcache.vcproj index eadf6b64e..a9d230b36 100644 --- a/vcproj-9/mapcache.vcproj +++ b/vcproj-9/mapcache.vcproj @@ -282,6 +282,14 @@ RelativePath="..\src\common\winapi.h" > </File> + <File + RelativePath="..\src\common\nullpo.h" + > + </File> + <File + RelativePath="..\src\common\nullpo.c" + > + </File> </Filter> <Filter Name="mapcache" |