diff options
40 files changed, 185 insertions, 169 deletions
diff --git a/Hercules.xcodeproj/project.pbxproj b/Hercules.xcodeproj/project.pbxproj index 66d46e7f5..fc7aa8dc4 100644 --- a/Hercules.xcodeproj/project.pbxproj +++ b/Hercules.xcodeproj/project.pbxproj @@ -1075,7 +1075,7 @@ A56CC652185642B4009EB79C /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0710; + LastUpgradeCheck = 0800; ORGANIZATIONNAME = herc.ws; }; buildConfigurationList = A56CC655185642B4009EB79C /* Build configuration list for PBXProject "Hercules" */; @@ -1503,13 +1503,18 @@ CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)"; COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_FAST_MATH = YES; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -1522,6 +1527,7 @@ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_SHADOW = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -1588,19 +1594,25 @@ CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_FAST_MATH = YES; + GCC_NO_COMMON_BLOCKS = 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_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme index 8fc8f9cbb..5aa519349 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme index 6ce9de3a6..52ae334ba 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme index a62507de0..ce5cd9554 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme index a64514c1d..40648c0dc 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme index 603e02228..37f127142 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme index 82cd4764d..1e14dc985 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme index 30cc2a2e3..115168afc 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme index 756fb2794..f437d0718 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme b/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme index 49d1cc5e8..02924f4b2 100644 --- a/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme +++ b/Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Scheme - LastUpgradeVersion = "0710" + LastUpgradeVersion = "0800" version = "1.3"> <BuildAction parallelizeBuildables = "YES" diff --git a/Makefile.in b/Makefile.in index be7ae674f..3de5e0bf3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -80,7 +80,7 @@ all: $(ALL_DEPENDS) sql: $(SQL_DEPENDS) -$(MF_TARGETS): %: %.in +$(MF_TARGETS): %: %.in config.status @echo " CONFIGURE" @if [ -x config.status ]; then \ echo "Reconfiguring with options: $$(./config.status --config)"; \ @@ -3454,7 +3454,7 @@ case $host_os in CYGWIN*) ;; *) - if type id >/dev/null 2>&1; then + if type id >/dev/null 2>&1 && test -n "$CI"; then euid="`id -u`" if test "$euid" == "0"; then echo "" diff --git a/configure.ac b/configure.ac index 6cad8146c..10692f957 100644 --- a/configure.ac +++ b/configure.ac @@ -44,7 +44,7 @@ case $host_os in CYGWIN*) ;; *) - if type id >/dev/null 2>&1; then + if type id >/dev/null 2>&1 && test -n "$CI"; then euid="`id -u`" if test "$euid" == "0"; then echo "" diff --git a/db/re/item_db.conf b/db/re/item_db.conf index 41a44c2ee..3587fb4ce 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -25183,9 +25183,8 @@ item_db: ( EquipLv: 65 View: 3 Script: <" - bonus2 bAddRaceTolerance,RC_Undead,5; - bonus2 bAddRaceTolerance,RC_DemiPlayer,-5; - bonus2 bAddRaceTolerance,RC_Player,-5; + bonus2 bAddRaceTolerance, RC_Undead, 5; + bonus2 bAddRaceTolerance, RC_DemiPlayer, -5; "> }, { @@ -60141,11 +60140,9 @@ item_db: ( noauction: true } Script: <" - bonus bAspdRate,10; - bonus2 bAddRace,RC_DemiPlayer,5; - bonus2 bAddRace,RC_Player,5; - bonus2 bAddRaceTolerance,RC_DemiPlayer,10; - bonus2 bAddRaceTolerance,RC_Player,10; + bonus bAspdRate, 10; + bonus2 bAddRace, RC_DemiPlayer, 5; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; "> }, { @@ -60170,11 +60167,9 @@ item_db: ( noauction: true } Script: <" - bonus bAspdRate,7; - bonus2 bAddRace,RC_DemiPlayer,3; - bonus2 bAddRace,RC_Player,3; - bonus2 bAddRaceTolerance,RC_DemiPlayer,7; - bonus2 bAddRaceTolerance,RC_Player,7; + bonus bAspdRate, 7; + bonus2 bAddRace, RC_DemiPlayer, 3; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 7; "> }, { @@ -60199,11 +60194,9 @@ item_db: ( noauction: true } Script: <" - bonus bAspdRate,5; - bonus2 bAddRace,RC_DemiPlayer,1; - bonus2 bAddRace,RC_Player,1; - bonus2 bAddRaceTolerance,RC_DemiPlayer,5; - bonus2 bAddRaceTolerance,RC_Player,5; + bonus bAspdRate, 5; + bonus2 bAddRace, RC_DemiPlayer, 1; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; "> }, { @@ -62408,10 +62401,8 @@ item_db: ( Refine: false View: 559 Script: <" - bonus2 bAddRace,RC_DemiPlayer,5; - bonus2 bAddRace,RC_Player,5; - bonus2 bAddRaceTolerance,RC_DemiPlayer,5; - bonus2 bAddRaceTolerance,RC_Player,5; + bonus2 bAddRace, RC_DemiPlayer, 5; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; "> }, { @@ -65567,11 +65558,10 @@ item_db: ( Loc: 256 View: 639 Script: <" - bonus bAllStats,1; - bonus bMdef,5; - bonus2 bAddRaceTolerance,RC_DemiPlayer,2; - bonus2 bAddRaceTolerance,RC_Player,2; - bonus2 bAddRaceTolerance,RC_Brute,2; + bonus bAllStats, 1; + bonus bMdef, 5; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 2; + bonus2 bAddRaceTolerance, RC_Brute, 2; "> }, { @@ -65726,10 +65716,7 @@ item_db: ( Loc: 256 EquipLv: 95 View: 651 - Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,10; - bonus2 bAddRaceTolerance,RC_Player,10; - "> + Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; "> }, { Id: 5773 @@ -65742,10 +65729,7 @@ item_db: ( Loc: 256 EquipLv: 95 View: 652 - Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,10; - bonus2 bAddRaceTolerance,RC_Player,10; - "> + Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; "> }, { Id: 5774 @@ -65758,10 +65742,7 @@ item_db: ( Loc: 256 EquipLv: 95 View: 496 - Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,10; - bonus2 bAddRaceTolerance,RC_Player,10; - "> + Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; "> }, { Id: 5775 @@ -65861,9 +65842,8 @@ item_db: ( Loc: 256 View: 658 Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,10; - bonus2 bAddRaceTolerance,RC_Player,10; - skill WZ_EARTHSPIKE,3; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; + skill WZ_EARTHSPIKE, 3; "> }, { @@ -132439,10 +132419,9 @@ item_db: ( Refine: false View: 781 Script: <" - bonus bMdef,5; - bonus bMaxHPrate,2; - bonus2 bAddRace,RC_DemiPlayer,5; - bonus2 bAddRace,RC_Player,5; + bonus bMdef, 5; + bonus bMaxHPrate, 2; + bonus2 bAddRace, RC_DemiPlayer, 5; "> }, { @@ -132475,11 +132454,10 @@ item_db: ( EquipLv: 70 View: 784 Script: <" - bonus2 bAddRace,RC_DemiPlayer,10; - bonus2 bAddRace,RC_Player,10; - bonus2 bAddRace,RC_Demon,10; - if(getrefine()>6) { - autobonus "{ bonus bAspdRate,100; }",10,7000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; + bonus2 bAddRace, RC_DemiPlayer, 10; + bonus2 bAddRace, RC_Demon, 10; + if(getrefine() > 6) { + autobonus "{ bonus bAspdRate, 100; }", 10, 7000, 0, "{ specialeffect2 EF_POTION_BERSERK; }"; } "> }, @@ -132721,9 +132699,8 @@ item_db: ( Loc: 256 View: 798 Script: <" - bonus bInt,1; - bonus2 bAddRace,RC_DemiPlayer,5; - bonus2 bAddRace,RC_Player,5; + bonus bInt, 1; + bonus2 bAddRace, RC_DemiPlayer, 5; "> }, { @@ -134405,10 +134382,9 @@ item_db: ( Loc: 256 View: 224 Script: <" - bonus bMdef,1; - bonus bUnbreakableHelm,0; - bonus2 bAddRaceTolerance,RC_DemiPlayer,10; - bonus2 bAddRaceTolerance,RC_Player,10; + bonus bMdef, 1; + bonus bUnbreakableHelm, 0; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; "> }, { @@ -136014,9 +135990,8 @@ item_db: ( Loc: 256 View: 957 Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,5; - bonus2 bAddRaceTolerance,RC_Player,5; - if (getrefine()>7) { bonus bMaxHPrate,getrefine()-7; } + bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; + if (getrefine() > 7) { bonus bMaxHPrate, getrefine()-7; } "> }, { @@ -136047,9 +136022,9 @@ item_db: ( Refine: false View: 959 Script: <" - bonus bUnbreakableHelm,0; - bonus bMaxSPrate,3; - autobonus2 "{ bonus2 bAddRaceTolerance,RC_DemiPlayer,100; bonus2 bAddRaceTolerance,RC_Player,100; }",10,3000,BF_WEAPON|BF_MAGIC,"{ specialeffect2 EF_POTION_BERSERK; }"; + bonus bUnbreakableHelm, 0; + bonus bMaxSPrate, 3; + autobonus2 "{ bonus2 bAddRaceTolerance, RC_DemiPlayer, 100; }", 10, 3000, BF_WEAPON|BF_MAGIC, "{ specialeffect2 EF_POTION_BERSERK; }"; "> }, { @@ -136483,13 +136458,12 @@ item_db: ( EquipLv: 10 View: 1018 Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,8; - bonus2 bAddRaceTolerance,RC_Player,8; - bonus2 bAddRaceTolerance,RC_Dragon,8; - bonus2 bAddItemHealRate,517,200; - if(getrefine()>11) { - bonus bMaxHPrate,7; - bonus bMaxSPrate,3; + bonus2 bAddRaceTolerance, RC_DemiPlayer, 8; + bonus2 bAddRaceTolerance, RC_Dragon, 8; + bonus2 bAddItemHealRate, 517, 200; + if(getrefine() > 11) { + bonus bMaxHPrate, 7; + bonus bMaxSPrate, 3; } "> }, @@ -136504,10 +136478,7 @@ item_db: ( EquipLv: 70 Refine: false View: 1019 - Script: <" - bonus2 bAddRaceTolerance,RC_DemiPlayer,5; - bonus2 bAddRaceTolerance,RC_Player,5; - "> + Script: <" bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; "> }, { Id: 18895 @@ -146137,6 +146108,24 @@ item_db: ( //== New Etc Items ========================================= { + Id: 22508 + AegisName: "Para_Team_Mark_" + Name: "Eden Group Mark" + Type: 11 + Delay: 1200000 + Trade: { + nodrop: true + notrade: true + noselltonpc: true + nocart: true + nostorage: true + nogstorage: true + nomail: true + noauction: true + } + Script: <" unitskilluseid getcharid(3), "AL_TELEPORT", 3; "> +}, +{ Id: 22514 AegisName: "Candy_Holder" Name: "Candy Holder" diff --git a/doc/constants.md b/doc/constants.md index c85e328d0..b6c6d44f5 100644 --- a/doc/constants.md +++ b/doc/constants.md @@ -16328,6 +16328,7 @@ - `Tarlock's_Boots`: 22047 - `Egir_Shoes_K`: 22059 - `Witch_Shoes`: 22067 +- `Para_Team_Mark_`: 22508 - `Candy_Holder`: 22514 - `Twisted_Key_of_Time`: 22515 - `Runstone_Lux`: 22540 diff --git a/npc/re/quests/eden/100-110.txt b/npc/re/quests/eden/100-110.txt index 2ea72a2d1..3cc47f6ef 100644 --- a/npc/re/quests/eden/100-110.txt +++ b/npc/re/quests/eden/100-110.txt @@ -52,7 +52,7 @@ moc_para01,37,95,5 script Gelkah#1 4_F_GELKA,{ end; } mes "[Gelkah]"; - if (!countitem(Para_Team_Mark)) { + if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) { mes "- You need to have an -"; mes "- ^4d4dff'Eden Group Mark'^000000 -"; mes "- to receive these missions. -"; @@ -1047,7 +1047,7 @@ S_Hunting: moc_para01,41,95,5 script Rohtert#12 4_M_ROTERT,{ mes "[Rohtert]"; - if (!countitem(Para_Team_Mark)) {// Para_Team_Mark + if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) { cutin "rote01",2; mes "You are not even a member of Eden Group. What are you doing here?"; mes "I'm only dealing with base level ^FF0000100 - 110^000000 adventurers."; diff --git a/npc/re/quests/eden/11-25.txt b/npc/re/quests/eden/11-25.txt index 361d6a2e3..f65ad9090 100644 --- a/npc/re/quests/eden/11-25.txt +++ b/npc/re/quests/eden/11-25.txt @@ -35,7 +35,7 @@ //========================================================================= moc_para01,36,38,3 script Mission [11 - 25]#Tuto 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "- You need to have an -"; mes "- ^4d4dff'Eden Group Mark'^000000 -"; mes "- to receive these missions. -"; diff --git a/npc/re/quests/eden/111-120.txt b/npc/re/quests/eden/111-120.txt index f133ca85f..4422c92c7 100644 --- a/npc/re/quests/eden/111-120.txt +++ b/npc/re/quests/eden/111-120.txt @@ -41,7 +41,7 @@ moc_para01,17,95,5 script Mingmin#1 4_F_GENETIC,{ mes "[Mingmin]"; - if (!countitem(Para_Team_Mark)) {// Para_Team_Mark + if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) { cutin "min02",0; mes "A stranger. This place is supposed to be for Eden Group Members only."; mes "I'm in need base level ^FF0000111 - 120^000000 adventurers to help my research."; diff --git a/npc/re/quests/eden/121-130.txt b/npc/re/quests/eden/121-130.txt index 32fbdeb26..d48c71702 100644 --- a/npc/re/quests/eden/121-130.txt +++ b/npc/re/quests/eden/121-130.txt @@ -41,7 +41,7 @@ moc_para01,44,81,3 script Melody-Jack#1 4_M_MELODY,8,8,{ mes "[Melody-Jack]"; - if (!countitem(Para_Team_Mark)) {// Para_Team_Mark + if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) { mes "Who the hell are you? Get out of here!"; mes "I'm only talking to base level ^FF0000121-130^000000 adventurers."; } @@ -582,7 +582,7 @@ OnTouch: moc_para01,17,77,5 script Aigu#1 4_F_IU,{ mes "[Aigu]"; - if (!countitem(Para_Team_Mark)) {// Para_Team_Mark + if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) { mes "Oh, why aren't you a part of Eden Group?"; mes "I'm only talking to base level ^FF0000121-130^000000 adventurers."; } diff --git a/npc/re/quests/eden/131-140.txt b/npc/re/quests/eden/131-140.txt index 806466624..fa6061b42 100644 --- a/npc/re/quests/eden/131-140.txt +++ b/npc/re/quests/eden/131-140.txt @@ -42,7 +42,7 @@ moc_para01,41,76,3 script Ragi#1 4_M_RAGI,{ cutin "ragi01",0; mes "[Ragi]"; - if (!countitem(Para_Team_Mark)) {// Para_Team_Mark + if (!countitem(Para_Team_Mark) && !countitem(Para_Team_Mark_)) { mes "Only adventurers from Eden Group are welcome here."; mes "I'm giving requests to base level ^FF0000130-140^000000 adventurers only."; } diff --git a/npc/re/quests/eden/26-40.txt b/npc/re/quests/eden/26-40.txt index c80f1c2c8..3a3068a5c 100644 --- a/npc/re/quests/eden/26-40.txt +++ b/npc/re/quests/eden/26-40.txt @@ -35,7 +35,7 @@ //========================================================================= moc_para01,38,38,3 script Mission [26 - 40] 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "You are not a qualified member. You can not use the bulletin board."; close; } diff --git a/npc/re/quests/eden/41-55.txt b/npc/re/quests/eden/41-55.txt index a13db78f8..b7d95aa71 100644 --- a/npc/re/quests/eden/41-55.txt +++ b/npc/re/quests/eden/41-55.txt @@ -35,7 +35,7 @@ //========================================================================= moc_para01,40,38,3 script Mission [41 - 55] 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "You are not an Eden group member. You are not qualified to access the bulletin board."; close; } diff --git a/npc/re/quests/eden/56-70.txt b/npc/re/quests/eden/56-70.txt index 741e6af89..c6aeb8c15 100644 --- a/npc/re/quests/eden/56-70.txt +++ b/npc/re/quests/eden/56-70.txt @@ -36,7 +36,7 @@ //========================================================================= moc_para01,42,38,3 script Mission [56 - 70] 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "To get these missions, I need to Join the Eden Group first. I must find Secretary Lime Evenor and become a member."; close; } diff --git a/npc/re/quests/eden/71-85.txt b/npc/re/quests/eden/71-85.txt index f2bd68b6f..31f51871d 100644 --- a/npc/re/quests/eden/71-85.txt +++ b/npc/re/quests/eden/71-85.txt @@ -35,7 +35,7 @@ //========================================================================= moc_para01,44,38,3 script Mission [71 - 85] 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "- Only members of the -"; mes "- Eden Group can read -"; mes "- this bulletin board. -"; diff --git a/npc/re/quests/eden/86-90.txt b/npc/re/quests/eden/86-90.txt index 029a482ad..394970944 100644 --- a/npc/re/quests/eden/86-90.txt +++ b/npc/re/quests/eden/86-90.txt @@ -41,7 +41,7 @@ //========================================================================= moc_para01,48,175,3 script 86-90 Mission Board 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "Wait a minute!"; mes "-You need to have an-"; mes "-^4d4dff'Eden Group Mark'^000000-"; diff --git a/npc/re/quests/eden/91-99.txt b/npc/re/quests/eden/91-99.txt index 2c86f6091..328cc4474 100644 --- a/npc/re/quests/eden/91-99.txt +++ b/npc/re/quests/eden/91-99.txt @@ -41,7 +41,7 @@ //========================================================================= moc_para01,48,177,3 script 91-99 Mission Board 4_BOARD3,{ - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "Wait a minute!"; mes "-You need to have an-"; mes "-^4d4dff'Eden Group Mark'^000000-"; diff --git a/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt index f07ebb2ad..9085cad91 100644 --- a/npc/re/quests/eden/eden_common.txt +++ b/npc/re/quests/eden/eden_common.txt @@ -44,6 +44,26 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{ mes "- after you loose some weight. -"; close; } + if (countitem(Para_Team_Mark) > 0) { + mes "[Lime Evenor]"; + mes "Thanks to many adventurers visiting our Eden Group, we've recently prepared a new version of Eden Group Mark for our visitors."; + mes "And it is also possible to exchange old version of Eden Group Mark into a new one."; + next; + mes "[Lime Evenor]"; + mes "Though it has a slight time delay, this new version of Eden Group Mark will send you back to current saved location."; + mes "Would you like to exchange yours?"; + next; + if (select("Sure", "I'm good.") == 2){ + mes "[Lime Evenor]"; + mes "What possible reason would you have... to not exchange?"; + close; + } + delitem Para_Team_Mark,1; + getitem Para_Team_Mark_,1; + mes "[Lime Evenor]"; + mes "There you go. Come back again~"; + close; + } mes "[Lime Evenor]"; mes "People who follow their dreams and romances listen to me. We are representatives of the paradise called 'The garden of Eden' called the Eden group . There is no place like this anywhere."; mes "Hello. Can I help you?"; @@ -67,7 +87,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{ next; break; case 2: - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "[Lime Evenor]"; mes "You can be a Eden's member by simply registering with me."; mes "Would you like to join Eden Group?"; @@ -106,7 +126,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{ next; mes "[Lime Evenor]"; mes "Hopefully you can do great work as an Eden's member."; - getitem Para_Team_Mark,1; + getitem Para_Team_Mark_,1; next; break; case 2: @@ -179,7 +199,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{ } break; case 4: - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Lime Evenor]"; mes "Would like to try some missions as an Eden member?"; next; @@ -306,7 +326,7 @@ OnTouch: } moc_para01,47,39,3 script #warp_2_pass HIDDEN_NPC,{ - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Lime Evenor]"; mes "Oh, it is an exclusive place only for Eden's members."; mes "If you are a member, you can come whenever you want!"; diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt index 4e472d1af..f58c3ed5a 100644 --- a/npc/re/quests/eden/eden_quests.txt +++ b/npc/re/quests/eden/eden_quests.txt @@ -37,7 +37,7 @@ moc_para01,25,35,4 script Instructor Boya#para01 4_M_KNIGHT_GOLD,{ mes "[Boya]"; - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "You are not in my group are you?"; mes "I don't have anything to say to outsiders."; mes "If you want something register with my group."; @@ -839,7 +839,7 @@ moc_fild11,180,253,5 script Talking Dog#para03 4_RUS_DWOLF,{ mes "Not a wolf."; mes "I wasn't a dog originally..."; next; - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Talking Dog]"; mes "Anyway are you a Eden Group member?"; mes "Oh good to see you."; @@ -1047,7 +1047,7 @@ prt_sewb1,131,262,3 script Timid Cat#para04 4_M_BABYCAT,{ pay_arche,41,136,3 script Eden Member Karl#para05 4_M_KHMAN,{ if (para_suv01 < 13) { - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Karl]"; mes "Hey, how are you?"; mes "Good to see you~"; @@ -1190,7 +1190,7 @@ pay_arche,41,136,3 script Eden Member Karl#para05 4_M_KHMAN,{ anthell01,29,264,5 script Eden Member Cloud#para06 4_M_HUMAN_02,{ if (para_suv01 < 17) { - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Cloud]"; mes "Oops."; mes "You are a member of my group."; @@ -1380,7 +1380,7 @@ anthell01,29,264,5 script Eden Member Cloud#para06 4_M_HUMAN_02,{ in_orcs01,38,175,3 script Eden Member Hooksha 1_F_SIGNZISK,{ if (para_suv01 < 24) { - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Hooksha]"; mes "Unbelievable why did you come here?"; mes "Um... You are not on the third step of the training?"; @@ -1649,7 +1649,7 @@ in_orcs01,38,175,3 script Eden Member Hooksha 1_F_SIGNZISK,{ iz_dun04,43,46,3 script Eden Member Callandiva 4_F_CRU,{ if (para_suv01 < 33) { - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Callandiva]"; mes "How did you get so deep in this ocean city?"; mes "Ah, that symbol is of our group."; @@ -2243,7 +2243,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{ mes "Ah, Kim-dduck-soon."; mes "It's the representative meal for normal citizens."; next; - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { if (Zeny > 2699) { mes "[Chef]"; mes "Hey, here you are."; @@ -2282,7 +2282,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{ mes "Course meal B?"; mes "This food with meat and vegetables in hot soup has it's origins from nomadic life under the cold and dry nature."; next; - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { if (Zeny > 3599) { mes "[Chef]"; mes "Hey, here you are."; @@ -2317,7 +2317,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{ mes "How many times do I have to tell you?"; close; case 4: - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { if (Zeny > 4499) { mes "[Chef]"; mes "Hey, here you are."; @@ -2360,7 +2360,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{ close; } case 2: - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "[Chef]"; mes "Most jobs should be managed by yourself. So it might be difficult, right?"; mes "Actually it's harmful so they have requested continuously."; @@ -2469,7 +2469,7 @@ moc_para01,179,44,3 script Chef 4_M_CHNCOOK,{ moc_para01,23,35,5 script Instructor Ur#2nd01 4_M_KNIGHT_BLACK,{ mes "[Instructor Ur]"; - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "Hey there!"; mes "I see you're not one of our agents?"; mes "Are you interested in joining us?"; @@ -3740,7 +3740,7 @@ moc_para01,111,83,3 script Blacksmith Thorn#2nd10 2_M_OLDBLSMITH,{ close; } mes "[Thorn]"; - if (countitem(Para_Team_Mark) < 1) { + if (countitem(Para_Team_Mark) < 1 && countitem(Para_Team_Mark_) < 1) { mes "Hmm, are you a member of Eden Group?"; mes "You need to be one of our members to use my services."; close; diff --git a/npc/re/quests/eden/eden_service.txt b/npc/re/quests/eden/eden_service.txt index 387141623..ce6efaa67 100644 --- a/npc/re/quests/eden/eden_service.txt +++ b/npc/re/quests/eden/eden_service.txt @@ -50,7 +50,7 @@ mes "3.Cabinet fee is"; mes " ^4d4dff500 zeny^000000!"; next; - if (countitem(Para_Team_Mark) > 0) { + if (countitem(Para_Team_Mark) > 0 || countitem(Para_Team_Mark_) > 0) { mes "You need to insert zeny to use the cabinet."; mes "Cost : 500 Zeny "; mes "Would you like to use it?"; diff --git a/npc/re/warps/cities/izlude.txt b/npc/re/warps/cities/izlude.txt index 7f2be3865..124e3ed1f 100644 --- a/npc/re/warps/cities/izlude.txt +++ b/npc/re/warps/cities/izlude.txt @@ -126,7 +126,12 @@ OnTouch: erasequest(21001); if (questprogress(21002)) erasequest(21002); - warp("izlude"+strnpcinfo(NPC_NAME_HIDDEN), 196, 209); + + .@map$ = "izlude"; + if (strnpcinfo(NPC_NAME_HIDDEN) != "izlude") + .@map$ = .@map$ + strnpcinfo(NPC_NAME_HIDDEN); + + warp(.@map$, 196, 209); end; } diff --git a/sql-files/item_db_re.sql b/sql-files/item_db_re.sql index 1754e47db..44d7d1206 100644 --- a/sql-files/item_db_re.sql +++ b/sql-files/item_db_re.sql @@ -1311,7 +1311,7 @@ REPLACE INTO `item_db` VALUES ('2154','Toy_Shield','Toy Shield','5','0','0','500 REPLACE INTO `item_db` VALUES ('2155','Academy_Shield','Academy Shield','5','0','0','1500','0','0','3','0','1','18446744073709551614','63','2','32','0','0',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` 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','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; skill ALL_ODINS_POWER,1;','',''); REPLACE INTO `item_db` VALUES ('2157','Insecticide','Pesticide','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','32','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_Insect,10;','',''); -REPLACE INTO `item_db` VALUES ('2158','Ramor_Shield_Undead','Ramorushirudo','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Undead,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,-5; bonus2 bAddRaceTolerance,RC_Player,-5;','',''); +REPLACE INTO `item_db` VALUES ('2158','Ramor_Shield_Undead','Ramorushirudo','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_Undead, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, -5;','',''); REPLACE INTO `item_db` VALUES ('2159','Sharel_Shield','Sharerushirudo','5','20','10','1300','0','0','50','0','1','18446744073709551615','63','2','32','0','65',NULL,'1','3','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` VALUES ('2160','Giant_Shield','Giant Shield','5','56000','28000','2800','0','0','130','0','1','16512','56','2','32','0','100',NULL,'1','4','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubSize,Size_Large,5; if(getrefine()>=9) { bonus2 bSubSize,Size_Large,5; }','',''); REPLACE INTO `item_db` VALUES ('2161','Geffenia_Book_Water','Geffenia Water Book','5','56000','28000','1000','0','0','30','0','1','512','56','2','32','0','100',NULL,'1','5','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,2; bonus bInt,1; if(readparam(bInt)>=120) { bonus bMatk,10; bonus bMaxHP,800; }','',''); @@ -3524,9 +3524,9 @@ REPLACE INTO `item_db` VALUES ('5447','Frog_Cap','Frog Hat','5','20','10','500', REPLACE INTO `item_db` VALUES ('5448','Solo_Play_Box1','Indifferent Solo Hat','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','769','0','0',NULL,'1','449','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill RG_GRAFFITI,1;','',''); REPLACE INTO `item_db` VALUES ('5449','Solo_Play_Box2','Angry Solo Hat','5','20','10','300','0','0','0','0','1','18446744073709551615','63','2','769','0','0',NULL,'1','450','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill RG_GRAFFITI,1;','',''); REPLACE INTO `item_db` VALUES ('5450','Sun_Cap','Solar Hat','5','20','10','1000','0','0','0','0','0','18446744073709551614','63','2','256','0','20',NULL,'1','451','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','','',''); -REPLACE INTO `item_db` VALUES ('5451','Dragonhelm_Gold','Gold Dragonhelm','5','20','10','1500','0','0','14','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','452','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,10; bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','',''); -REPLACE INTO `item_db` VALUES ('5452','Dragonhelm_Silver','Silver Dragonhelm','5','20','10','1500','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','453','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,7; bonus2 bAddRace,RC_DemiPlayer,3; bonus2 bAddRace,RC_Player,3; bonus2 bAddRaceTolerance,RC_DemiPlayer,7; bonus2 bAddRaceTolerance,RC_Player,7;','',''); -REPLACE INTO `item_db` VALUES ('5453','Dragonhelm_Copper','Copper Dragonhelm','5','20','10','1500','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','454','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,5; bonus2 bAddRace,RC_DemiPlayer,1; bonus2 bAddRace,RC_Player,1; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5;','',''); +REPLACE INTO `item_db` VALUES ('5451','Dragonhelm_Gold','Gold Dragonhelm','5','20','10','1500','0','0','14','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','452','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 10; bonus2 bAddRace, RC_DemiPlayer, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','',''); +REPLACE INTO `item_db` VALUES ('5452','Dragonhelm_Silver','Silver Dragonhelm','5','20','10','1500','0','0','10','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','453','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 7; bonus2 bAddRace, RC_DemiPlayer, 3; bonus2 bAddRaceTolerance, RC_DemiPlayer, 7;','',''); +REPLACE INTO `item_db` VALUES ('5453','Dragonhelm_Copper','Copper Dragonhelm','5','20','10','1500','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','454','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate, 5; bonus2 bAddRace, RC_DemiPlayer, 1; bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;','',''); REPLACE INTO `item_db` VALUES ('5454','Dog_Cap_','Puppy Hat','5','20','10','500','0','0','4','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','234','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; autobonus \"{ bonus bCritical,100; }\",10,3000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\"; autobonus \"{ bonus bIgnoreMdefRate,100; }\",10,3000,BF_MAGIC,\"{ specialeffect2 EF_MAGICALATTHIT; }\";','',''); REPLACE INTO `item_db` VALUES ('5455','Geographer_Band_','Decorative Geographer','5','20','10','500','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','238','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus3 bAutoSpell,AL_HEAL,5,50; bonus3 bAutoSpellWhenHit,AL_HEAL,5,30;','',''); REPLACE INTO `item_db` VALUES ('5456','Vacation_Hat_','Summer Hat','5','20','10','200','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','315','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,5; bonus bHPrecovRate,20; bonus bSPrecovRate,15;','',''); @@ -3653,7 +3653,7 @@ REPLACE INTO `item_db` VALUES ('5576','Japan_Winecup','Wine Cup','5','20','10',' REPLACE INTO `item_db` VALUES ('5577','Dark_Knight_MaskB','Dark Knight Mask','5','20','10','3000','0','0','5','0','0','18446744073709551615','63','2','769','0','0',NULL,'1','479','0','0','0','0','1',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bStr,3;','',''); REPLACE INTO `item_db` VALUES ('5578','Voyage_Hat','Voyage Hat','5','200','100','10','0','0','1','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','236','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2;','',''); REPLACE INTO `item_db` VALUES ('5579','Wanderer\'s_Sakkat','Wanderer\'s Sakkat','5','20','10','300','0','0','2','0','1','18446744073709551615','63','2','768','0','0',NULL,'1','558','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bFlee,3; if(getrefine()>6) { bonus bFlee,2; bonus bAgi,2; } if(getrefine()>8) { bonus bCritical,10; bonus bAspdRate,8; }','',''); -REPLACE INTO `item_db` VALUES ('5580','Red_Beret','Red Beret','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','559','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5;','',''); +REPLACE INTO `item_db` VALUES ('5580','Red_Beret','Red Beret','5','20','10','100','0','0','3','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','559','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_DemiPlayer, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;','',''); REPLACE INTO `item_db` VALUES ('5581','Cancer_Diadem','Cancer Diadem','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','560','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2; bonus2 bSubEle,Ele_Water,5; if(getrefine()>6) { bonus bMdef,1; bonus bHealPower,3; bonus bMatkRate,2; }','',''); REPLACE INTO `item_db` VALUES ('5582','Cancer_Crown','Cancer Crown','5','20','10','300','0','0','3','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','561','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bSubEle,Ele_Water,5; if(getrefine()>6) { bonus bDef,1; bonus bBaseAtk,15; bonus bFlee,10; }','',''); REPLACE INTO `item_db` VALUES ('5583','Para_Team_Hat','Eden Group Hat','5','0','0','0','0','0','5','0','0','18446744073709551615','63','2','256','0','12',NULL,'1','465','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','',''); @@ -3835,7 +3835,7 @@ REPLACE INTO `item_db` VALUES ('5758','Dying_Swan','Dying Swan','5','20','10','1 REPLACE INTO `item_db` VALUES ('5759','Noah_Hat','Noa\'s Hat','5','20','10','500','0','0','1','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','636','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('5760','Driver_Band_','Driver Band','5','20','10','100','0','0','12','0','1','1024','56','2','256','0','100',NULL,'1','637','0','0','0','0','467',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bDex,1; bonus bMdef,5; if(readparam(bStr)>=120) { bonus bBaseAtk,10; bonus bCritical,3; }','',''); REPLACE INTO `item_db` VALUES ('5761','Sloth_Hat','Sloth Hat','5','20','10','800','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','638','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus3 bAutoSpell,AS_SONICBLOW,5,50;','',''); -REPLACE INTO `item_db` VALUES ('5762','Duneyrr_Helm','Duneyrr Hat','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','639','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,1; bonus bMdef,5; bonus2 bAddRaceTolerance,RC_DemiPlayer,2; bonus2 bAddRaceTolerance,RC_Player,2; bonus2 bAddRaceTolerance,RC_Brute,2;','',''); +REPLACE INTO `item_db` VALUES ('5762','Duneyrr_Helm','Duneyrr Hat','5','20','10','100','0','0','5','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','639','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats, 1; bonus bMdef, 5; bonus2 bAddRaceTolerance, RC_DemiPlayer, 2; bonus2 bAddRaceTolerance, RC_Brute, 2;','',''); REPLACE INTO `item_db` VALUES ('5763','Red_Bunny_Band','Red Bunny Band','5','0','0','200','0','0','4','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','640','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,2; bonus bMdef,3;','',''); REPLACE INTO `item_db` VALUES ('5764','Love_Rabbit_Hood','Love Rabbit Hood','5','20','10','300','0','0','1','0','1','18446744073709551615','63','2','769','0','10',NULL,'0','549','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus3 bAutoSpell,PR_GLORIA,3,((readparam(bAgi)>=80)?30:10);','',''); REPLACE INTO `item_db` VALUES ('5765','Black_Tail_Ribbon','Pitch Black Ribbon','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','642','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bLongAtkDef,10; bonus2 bSubEle,Ele_Neutral,5;','',''); @@ -3845,15 +3845,15 @@ REPLACE INTO `item_db` VALUES ('5768','Sakura_Coronet','Cherry Blossom Crown','5 REPLACE INTO `item_db` VALUES ('5769','Gold_Angel_Sculpture','Estatua Peque? Angel Oro','5','100','50','0','0','0','2','0','0','18446744073709551615','63','2','256','0','70',NULL,'0','646','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; skill RG_GRAFFITI,1;','',''); REPLACE INTO `item_db` VALUES ('5770','Splash_Hat','Splash Hat','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','349','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','autobonus \"{ sc_start SC_PROPERTYWIND,180000,1; }\",3,180000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\";','',''); REPLACE INTO `item_db` VALUES ('5771','Family_Hat','Family Hat','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','109','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,1; bonus bMdef,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; skill PR_MAGNIFICAT,1;','',''); -REPLACE INTO `item_db` VALUES ('5772','Red_Navy_Hat','Blood Admiral\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','651','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','',''); -REPLACE INTO `item_db` VALUES ('5773','Navy_Beret','Navy Blue Beret','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','652','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','',''); -REPLACE INTO `item_db` VALUES ('5774','Red_Pirate_Hat','Scallywag\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','496','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','',''); +REPLACE INTO `item_db` VALUES ('5772','Red_Navy_Hat','Blood Admiral\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','651','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','',''); +REPLACE INTO `item_db` VALUES ('5773','Navy_Beret','Navy Blue Beret','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','652','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','',''); +REPLACE INTO `item_db` VALUES ('5774','Red_Pirate_Hat','Scallywag\'s Hat','5','3000','1500','500','0','0','1','0','0','18446744073709551615','63','2','256','0','95',NULL,'1','496','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','',''); REPLACE INTO `item_db` VALUES ('5775','Choco_Donut_In_Mouth','Chocolate Donut','5','20','10','50','0','0','1','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','653','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMaxHP,50;','',''); REPLACE INTO `item_db` VALUES ('5776','Blazing_Sun','Blazin Sun','5','0','0','500','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','654','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bVariableCastrate,MG_FIREBOLT,-5; bonus2 bSkillAtk,MG_FIREBOLT,5; bonus2 bVariableCastrate,MG_FIREBALL,-5; bonus2 bSkillAtk,MG_FIREBALL,5; bonus2 bSkillAtk,MG_FIREWALL,3; bonus2 bSkillAtk,WZ_METEOR,3; bonus bUseSPrate,5;','',''); REPLACE INTO `item_db` VALUES ('5777','Remover_Hat','Remover Hat','5','20','10','800','0','0','2','0','0','18446744073709551615','63','2','256','0','30',NULL,'0','655','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus3 bAddMonsterDropItem,713,RC_Formless,200; bonus3 bAddMonsterDropItem,971,RC_Formless,30; bonus3 bAddMonsterDropItem,972,RC_Formless,10;','',''); REPLACE INTO `item_db` VALUES ('5778','Blue_Arara_Hat','Turkey On Your Head','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','656','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,2; bonus2 bAddMonsterDropItem,574,500; bonus2 bAddItemHealRate,574,5; .@rate = min(getrefine(),10); bonus bMaxHPrate,.@rate; bonus bMaxSPrate,.@rate; bonus3 bAutoSpellWhenHit,AL_INCAGI,.@rate,10; bonus3 bAutoSpell,AL_INCAGI,.@rate,10;','',''); REPLACE INTO `item_db` VALUES ('5779','Drooping_Boto','Drooping Boto','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','657','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,2;','',''); -REPLACE INTO `item_db` VALUES ('5780','Tendrilion_Hat','Tendrilion Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','658','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10; skill WZ_EARTHSPIKE,3;','',''); +REPLACE INTO `item_db` VALUES ('5780','Tendrilion_Hat','Tendrilion Hat','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','658','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 10; skill WZ_EARTHSPIKE, 3;','',''); REPLACE INTO `item_db` VALUES ('5781','Persika','Persica','5','20','10','100','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'0','659','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bFlee,1; bonus bMaxSP,20;','',''); REPLACE INTO `item_db` VALUES ('5782','Hoplite_Helmet','Legionaire Helm','5','20','10','700','0','0','4','0','1','18446744073709551615','63','2','769','0','0',NULL,'1','660','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHPrate,3;','',''); REPLACE INTO `item_db` VALUES ('5783','YellowBunny_Hairband','YellowBunny Hairband','5','20','10','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','662','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1; bonus bInt,1; bonus bDex,2; if (getrefine()>8) { bonus bAtkRate,2; bonus bMatkRate,2; } if (getrefine()>9) { bonus bAtkRate,2; bonus bMatkRate,2; }','',''); @@ -8579,9 +8579,9 @@ REPLACE INTO `item_db` VALUES ('18624','Rocket_Helm3','Rocket Helm3','5','20','1 REPLACE INTO `item_db` VALUES ('18625','Rocket_Helm_RWC','Rocket Helm','5','10000','5000','1000','0','0','20','0','1','18446744073709551615','63','2','256','0','95',NULL,'1','769','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bAllStats,2; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db` VALUES ('18626','Gelato_Hat','Gelato Hat','5','20','10','200','0','0','2','0','1','18446744073709551615','63','2','256','0','40',NULL,'1','777','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP,300; if(getrefine()>6) { skill MG_FROSTDIVER,5; } else { skill MG_FROSTDIVER,1; }','',''); REPLACE INTO `item_db` VALUES ('18627','Dried_Leaf','Dried Leaf','5','20','10','50','0','0','0','0','0','18446744073709551615','63','2','1','0','10',NULL,'0','711','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus2 bAddRace,RC_Plant,3;','',''); -REPLACE INTO `item_db` VALUES ('18628','Tare_Brownie','Tare Brownie','5','20','10','500','0','0','5','0','1','18446744073709551615','63','2','256','0','50',NULL,'0','781','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bMaxHPrate,2; bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5;','',''); +REPLACE INTO `item_db` VALUES ('18628','Tare_Brownie','Tare Brownie','5','20','10','500','0','0','5','0','1','18446744073709551615','63','2','256','0','50',NULL,'0','781','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 5; bonus bMaxHPrate, 2; bonus2 bAddRace, RC_DemiPlayer, 5;','',''); REPLACE INTO `item_db` VALUES ('18629','B_Desert_Wolf_Hat','B Desert Wolf Hat','5','10','5','300','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','783','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddSize,Size_Small,15;','',''); -REPLACE INTO `item_db` VALUES ('18630','Dep_Alice_Hat','Drooping Alice','5','20','10','500','0','0','6','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','784','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace,RC_DemiPlayer,10; bonus2 bAddRace,RC_Player,10; bonus2 bAddRace,RC_Demon,10; if(getrefine()>6) { autobonus \"{ bonus bAspdRate,100; }\",10,7000,0,\"{ specialeffect2 EF_POTION_BERSERK; }\"; }','',''); +REPLACE INTO `item_db` VALUES ('18630','Dep_Alice_Hat','Drooping Alice','5','20','10','500','0','0','6','0','0','18446744073709551614','63','2','256','0','70',NULL,'1','784','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRace, RC_DemiPlayer, 10; bonus2 bAddRace, RC_Demon, 10; if(getrefine() > 6) { autobonus \"{ bonus bAspdRate, 100; }\", 10, 7000, 0, \"{ specialeffect2 EF_POTION_BERSERK; }\"; }','',''); REPLACE INTO `item_db` VALUES ('18631','Ribbon_Chef_Hat','Ribbon Chef hat','5','20','10','300','0','0','5','0','0','18446744073709551615','63','2','256','0','70',NULL,'1','785','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bDex,3; bonus bLuk,1; if(getrefine()>6) { bonus2 bAddMonsterDropItem,12125,500; bonus2 bAddMonsterDropItem,12126,500; bonus2 bAddMonsterDropItem,12127,400; bonus2 bAddMonsterDropItem,12128,300; bonus2 bAddMonsterDropItem,12129,200; }','',''); REPLACE INTO `item_db` VALUES ('18632','Yellow_Poring_Pin','Yellow Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','786','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` VALUES ('18633','Pink_Poring_Pin','Pink Poring Hairpin','5','20','10','100','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','787','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); @@ -8596,7 +8596,7 @@ REPLACE INTO `item_db` VALUES ('18641','Ribbon_Magic_Hat','Ribbon Magic Hat','5' REPLACE INTO `item_db` VALUES ('18642','hand_Scissorhand_Model','Scissorhand Model','5','20','10','200','0','0','0','0','0','18446744073709551614','63','2','1','0','20',NULL,'0','795','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1;','',''); REPLACE INTO `item_db` VALUES ('18643','Rockhand_Model','Rockhand Model','5','20','10','200','0','0','0','0','0','18446744073709551614','63','2','1','0','20',NULL,'0','796','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','',''); REPLACE INTO `item_db` VALUES ('18644','Paperhand_Model','Paperhand Model','5','20','10','200','0','0','0','0','0','18446744073709551614','63','2','1','0','20',NULL,'0','797','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); -REPLACE INTO `item_db` VALUES ('18645','Sailor_Hat','Sailor Hat','5','20','10','200','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','798','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,1; bonus2 bAddRace,RC_DemiPlayer,5; bonus2 bAddRace,RC_Player,5;','',''); +REPLACE INTO `item_db` VALUES ('18645','Sailor_Hat','Sailor Hat','5','20','10','200','0','0','2','0','0','18446744073709551615','63','2','256','0','0',NULL,'1','798','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt, 1; bonus2 bAddRace, RC_DemiPlayer, 5;','',''); REPLACE INTO `item_db` VALUES ('18646','Cow_Hat','Cow Hat','5','20','10','300','0','0','4','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','799','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddMonsterDropItem,519,100; bonus bDex,2;','',''); REPLACE INTO `item_db` VALUES ('18647','Star_Eyepatch','Stunning Star Eyepatch','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','800','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Stun,1500;','',''); REPLACE INTO `item_db` VALUES ('18648','Tongue_Charm','Tongue Charm','5','20','10','100','0','0','0','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','801','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_Demon,3;','',''); @@ -8702,7 +8702,7 @@ REPLACE INTO `item_db` VALUES ('18750','Poker_Card_In_Mouth','Poker Card In Mout REPLACE INTO `item_db` VALUES ('18752','Cursed_Book','Cursed Book','5','0','0','0','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','890','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` VALUES ('18753','Tw_Rice_Ball','Rice Dumpling Hat','5','20','10','100','0','0','6','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','892','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bLuk,1;','',''); REPLACE INTO `item_db` VALUES ('18754','Blood_Sucker','Blood Sucker','5','20','10','300','0','0','0','0','0','18446744073709551615','63','2','1','0','40',NULL,'0','893','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0;','',''); -REPLACE INTO `item_db` VALUES ('18755','Feather_Beret_','Feather Beret','5','30000','15000','600','0','0','1','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,1; bonus bUnbreakableHelm,0; bonus2 bAddRaceTolerance,RC_DemiPlayer,10; bonus2 bAddRaceTolerance,RC_Player,10;','',''); +REPLACE INTO `item_db` VALUES ('18755','Feather_Beret_','Feather Beret','5','30000','15000','600','0','0','1','0','1','18446744073709551614','63','2','256','0','0',NULL,'1','224','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef, 1; bonus bUnbreakableHelm, 0; bonus2 bAddRaceTolerance, RC_DemiPlayer, 10;','',''); REPLACE INTO `item_db` VALUES ('18756','Black_Shiba_Inu_Hat','Black Shiba Inu Hat','5','20','10','400','0','0','6','0','1','18446744073709551615','63','2','256','0','50',NULL,'1','894','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` VALUES ('18757','Holy_Klobuk','Holy Klobuk','5','0','0','500','0','0','5','0','1','18446744073709551615','63','2','768','0','0',NULL,'0','895','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus2 bAddRaceTolerance,RC_Demon,10; bonus bHealPower,3; bonus bUnbreakableHelm,0;','',''); REPLACE INTO `item_db` VALUES ('18758','Hat_Of_Scrat','Hat Of Scrat','5','20','10','200','0','0','3','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','896','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); @@ -8788,9 +8788,9 @@ REPLACE INTO `item_db` VALUES ('18839','Poring_Sunglasses','Poring Sunglasses',' REPLACE INTO `item_db` VALUES ('18840','King_Poring_Hat','King Poring Hat','5','20','10','350','0','0','10','0','0','18446744073709551615','63','2','256','0','0',NULL,'0','905','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMdef,10;','',''); REPLACE INTO `item_db` VALUES ('18841','Small_Poring_Band','Small Poring Band','5','20','10','350','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','955','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAspdRate,(getrefine()/3)*2; bonus2 bExpAddRace, RC_All, 3; if (getrefine()>9) { bonus bAspd,1; }','',''); REPLACE INTO `item_db` VALUES ('18842','Hat_Of_Girl','Hat Of Girl','5','20','10','350','0','0','8','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','956','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,(getrefine()/3)*2; bonus2 bSubRace,RC_DemiPlayer,7; bonus bMaxHPrate,-3;','',''); -REPLACE INTO `item_db` VALUES ('18843','Small_Deviling_Hat','Small Deviling Hat','5','20','10','350','0','0','7','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','957','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5; if (getrefine()>7) { bonus bMaxHPrate,getrefine()-7; }','',''); +REPLACE INTO `item_db` VALUES ('18843','Small_Deviling_Hat','Small Deviling Hat','5','20','10','350','0','0','7','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','957','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 5; if (getrefine() > 7) { bonus bMaxHPrate, getrefine()-7; }','',''); REPLACE INTO `item_db` VALUES ('18844','Blue_Poring_Bubble','Blue Poring Bubble','5','20','10','50','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','958','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAllStats,2; bonus bFlee2,2;','',''); -REPLACE INTO `item_db` VALUES ('18845','Banshee_Master_Kiss','Banshee Master Kiss','5','20','10','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','959','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm,0; bonus bMaxSPrate,3; autobonus2 \"{ bonus2 bAddRaceTolerance,RC_DemiPlayer,100; bonus2 bAddRaceTolerance,RC_Player,100; }\",10,3000,BF_WEAPON|BF_MAGIC,\"{ specialeffect2 EF_POTION_BERSERK; }\";','',''); +REPLACE INTO `item_db` VALUES ('18845','Banshee_Master_Kiss','Banshee Master Kiss','5','20','10','200','0','0','5','0','0','18446744073709551615','63','2','1','0','0',NULL,'0','959','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bUnbreakableHelm, 0; bonus bMaxSPrate, 3; autobonus2 \"{ bonus2 bAddRaceTolerance, RC_DemiPlayer, 100; }\", 10, 3000, BF_WEAPON|BF_MAGIC, \"{ specialeffect2 EF_POTION_BERSERK; }\";','',''); REPLACE INTO `item_db` VALUES ('18846','Seagod_Protector','Seagod Protector','5','0','0','100','0','0','0','0','0','18446744073709551615','63','2','512','0','10',NULL,'0','960','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,5;','',''); REPLACE INTO `item_db` VALUES ('18847','Jolly_Roger','Jolly Roger','5','0','0','500','0','0','10','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','962','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,1; bonus2 bSubEle,Ele_Water,2; bonus2 bAddEle,Ele_Water,2; if (getrefine()>=7) { bonus2 bAddEle,Ele_Water,3; } if (getrefine()>=9) { bonus2 bSubEle,Ele_Water,3; }','',''); REPLACE INTO `item_db` VALUES ('18848','Fresh_Roses','Fresh Roses','5','0','0','200','0','0','0','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','963','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMatk,20+getrefine();','',''); @@ -8819,8 +8819,8 @@ REPLACE INTO `item_db` VALUES ('18889','Golden_Bunny_Band','Golden Bunny Band',' REPLACE INTO `item_db` VALUES ('18890','Gray_Bunny_Band','Gray Bunny Band','5','0','0','0','0','0','2','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1015','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bInt,5; bonus bLuk,5; bonus bAtkRate,2; bonus bMatkRate,5; if(getrefine()>8) { bonus bAtkRate,4; bonus bMatkRate,4; } if(getrefine()>11) { bonus bFixedCastrate,-10; }','',''); REPLACE INTO `item_db` VALUES ('18891','Husky_Hat','Husky Hat','5','0','0','500','0','0','5','0','1','18446744073709551615','63','2','256','0','0',NULL,'1','1016','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkRate,5; bonus bMatkRate,5; bonus4 bAutoSpellWhenHit,SN_WINDWALK,5,100+(getrefine()*30),0;','',''); REPLACE INTO `item_db` VALUES ('18892','Ufo_Poring_Hat','Ufo Poring Hat','5','0','0','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','1017','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bFlee,5; bonus bCritical,5; bonus bHit,5; bonus bFlee2,5; if(getrefine()>6) { bonus bVariableCastrate,-5; } if(getrefine()>8) { bonus bDelayrate,-5; bonus bAspdRate,5; }','',''); -REPLACE INTO `item_db` VALUES ('18893','Dragon_Claw_Helm','Dragon Claw Helm','5','0','0','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','1018','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,8; bonus2 bAddRaceTolerance,RC_Player,8; bonus2 bAddRaceTolerance,RC_Dragon,8; bonus2 bAddItemHealRate,517,200; if(getrefine()>11) { bonus bMaxHPrate,7; bonus bMaxSPrate,3; }','',''); -REPLACE INTO `item_db` VALUES ('18894','Rainbow_Star','Rainbow Star','5','0','0','500','0','0','5','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','1019','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance,RC_DemiPlayer,5; bonus2 bAddRaceTolerance,RC_Player,5;','',''); +REPLACE INTO `item_db` VALUES ('18893','Dragon_Claw_Helm','Dragon Claw Helm','5','0','0','1000','0','0','5','0','1','18446744073709551615','63','2','256','0','10',NULL,'1','1018','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 8; bonus2 bAddRaceTolerance, RC_Dragon, 8; bonus2 bAddItemHealRate, 517, 200; if(getrefine() > 11) { bonus bMaxHPrate, 7; bonus bMaxSPrate, 3; }','',''); +REPLACE INTO `item_db` VALUES ('18894','Rainbow_Star','Rainbow Star','5','0','0','500','0','0','5','0','0','18446744073709551615','63','2','512','0','70',NULL,'0','1019','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;','',''); REPLACE INTO `item_db` VALUES ('18895','Celestial_Dark_Flame','Celestial Dark Flame','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','1008','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Fire,5;','',''); REPLACE INTO `item_db` VALUES ('18896','Pterios_Fins','Pterios Fins','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','1009','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Fire,8;','',''); REPLACE INTO `item_db` VALUES ('18897','Azure_Diadem','Azure Diadem','5','0','0','200','0','0','5','0','0','18446744073709551615','63','2','512','0','50',NULL,'0','1010','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSubEle,Ele_Water,8;','',''); @@ -9739,6 +9739,7 @@ REPLACE INTO `item_db` VALUES ('22046','Boots_of_Airship','Boots of Airship','5' REPLACE INTO `item_db` VALUES ('22047','Tarlock\'s_Boots','Tarlock\'s Boots','5','20','10','250','0','0','13','0','0','18446744073709551615','63','2','64','0','125',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAgi,1; bonus bAspdRate,5; if(getrefine()>6) { bonus bAgi,1; bonus bAspdRate,5; } if(getrefine()>8) { bonus bAgi,1; bonus bAspdRate,5; } if(getrefine()>11) { bonus bAspd,1; }','',''); REPLACE INTO `item_db` VALUES ('22059','Egir_Shoes_K','Egir Shoes','5','200000','100000','300','0','0','13','0','1','18446744073709551615','63','2','64','0','40',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMaxHP, 500; bonus bMaxSP, 50; bonus bUnbreakableShoes, 0;','',''); REPLACE INTO `item_db` VALUES ('22067','Witch_Shoes','Witch Shoes','5','3500','1750','400','0','0','10','0','0','18446744073709551614','63','2','64','0','0',NULL,'1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','skill ALL_CATCRY, 1; bonus bUnbreakableShoes, 1; autobonus3 \"{ }\", 1000, 7000, ALL_CATCRY, \"{ montransform LOLI_RURI, 420000; }\";','',''); +REPLACE INTO `item_db` VALUES ('22508','Para_Team_Mark_','Eden Group Mark','11','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','1200000','507',NULL,'0',NULL,'0',NULL,'0','unitskilluseid getcharid(3), \"AL_TELEPORT\", 3;','',''); REPLACE INTO `item_db` VALUES ('22514','Candy_Holder','Candy Holder','11','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` VALUES ('22515','Twisted_Key_of_Time','Twisted Key of Time','3','10','5','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','',''); REPLACE INTO `item_db` VALUES ('22540','Runstone_Lux','Lux Anima Rune','11','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','0','0','0','0','60000','475',NULL,'0',NULL,'20','1','0','itemskill RK_LUXANIMA,1;','',''); diff --git a/src/common/HPM.c b/src/common/HPM.c index c34828010..ff1371b14 100644 --- a/src/common/HPM.c +++ b/src/common/HPM.c @@ -898,7 +898,7 @@ bool hplugins_parse_conf(const struct config_t *config, const char *filename, en for (i = 0; i < VECTOR_LENGTH(HPM->config_listeners[point]); i++) { const struct HPConfListenStorage *entry = &VECTOR_INDEX(HPM->config_listeners[point], i); const char *config_name = entry->key; - const char *str = buf; + const char *str = NULL; if ((setting = libconfig->lookup(config, config_name)) == NULL) { if (!imported && entry->required) { ShowWarning("Missing configuration '%s' in file %s!\n", config_name, filename); diff --git a/src/common/db.h b/src/common/db.h index 1c0955221..4cbc66ade 100644 --- a/src/common/db.h +++ b/src/common/db.h @@ -1114,7 +1114,11 @@ HPShared struct db_interface *DB; * @param _vec Vector. */ #define VECTOR_INIT(_vec) \ - memset(&(_vec), 0, sizeof(_vec)) + do { \ + VECTOR_DATA(_vec) = NULL; \ + VECTOR_CAPACITY(_vec) = 0; \ + VECTOR_LENGTH(_vec) = 0; \ + } while(false) /** * Returns the internal array of values. @@ -1220,12 +1224,11 @@ HPShared struct db_interface *DB; */ #define VECTOR_ENSURE(_vec, _n, _step) \ do { \ - int _empty_ = VECTOR_CAPACITY(_vec)-VECTOR_LENGTH(_vec); \ - if ((_n) > _empty_) { \ - while ((_n) > _empty_) \ - _empty_ += (_step); \ - VECTOR_RESIZE(_vec, _empty_+VECTOR_LENGTH(_vec)); \ - } \ + int _newcapacity_ = VECTOR_CAPACITY(_vec); \ + while ((_n) + VECTOR_LENGTH(_vec) > _newcapacity_) \ + _newcapacity_ += (_step); \ + if (_newcapacity_ > VECTOR_CAPACITY(_vec)) \ + VECTOR_RESIZE(_vec, _newcapacity_); \ } while(false) /** diff --git a/src/common/socket.c b/src/common/socket.c index 5f284587a..d4b8bb43f 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -1023,10 +1023,6 @@ 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_is_valid) - if (!sockt->session[i]) continue; -#endif // __clang_analyzer__ sockt->session[i]->func_parse(i); if(!sockt->session[i]) diff --git a/src/common/timer.c b/src/common/timer.c index 0b28f6a06..f820ebe12 100644 --- a/src/common/timer.c +++ b/src/common/timer.c @@ -258,10 +258,6 @@ int64 timer_gettick(void) { /// Adds a timer to the timer_heap static void push_timer_heap(int tid) { BHEAP_ENSURE(timer_heap, 1, 256); -#ifdef __clang_analyzer__ // Clang's static analyzer warns that BHEAP_ENSURE might set BHEAP_DATA(timer_heap) to NULL. -#include "assert.h" - assert(BHEAP_DATA(timer_heap) != NULL); -#endif // __clang_analyzer__ BHEAP_PUSH(timer_heap, tid, DIFFTICK_MINTOPCMP, swap); } diff --git a/src/map/battle.c b/src/map/battle.c index daef8f6a8..67ab8c9b8 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6008,20 +6008,18 @@ int battle_damage_area(struct block_list *bl, va_list ap) { if (bl->type == BL_MOB && BL_UCCAST(BL_MOB, bl)->class_ == MOBID_EMPELIUM) return 0; if( bl != src && battle->check_target(src,bl,BCT_ENEMY) > 0 ) { - struct map_session_data *sd = NULL; nullpo_ret(src); map->freeblock_lock(); - sd = BL_CAST(BL_PC, src); if (src->type == BL_PC) - battle->drain(sd, bl, damage, damage, status_get_race(bl), is_boss(bl)); + battle->drain(BL_UCAST(BL_PC, src), bl, damage, damage, status_get_race(bl), is_boss(bl)); if( amotion ) battle->delay_damage(tick, amotion,src,bl,0,CR_REFLECTSHIELD,0,damage,ATK_DEF,0,true); else status_fix_damage(src,bl,damage,0); clif->damage(bl,bl,amotion,dmotion,damage,1,BDT_ENDURE,0); - if (src->type != BL_PC || !sd->state.autocast) + if (src->type != BL_PC || !BL_UCCAST(BL_PC, src)->state.autocast) skill->additional_effect(src, bl, CR_REFLECTSHIELD, 1, BF_WEAPON|BF_SHORT|BF_NORMAL,ATK_DEF,tick); map->freeblock_unlock(); } diff --git a/src/map/clif.c b/src/map/clif.c index 040f86a58..3e6b4937b 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -3249,10 +3249,7 @@ void clif_changelook(struct block_list *bl,int type,int val) #endif break; case LOOK_BODY2: - if (val && ( - sd->sc.option&OPTION_WEDDING || sd->sc.option&OPTION_XMAS || - sd->sc.option&OPTION_SUMMER || sd->sc.option&OPTION_HANBOK || - sd->sc.option&OPTION_OKTOBERFEST)) + if (sd != NULL && (sd->sc.option&OPTION_COSTUME) != OPTION_NOTHING) val = 0; vd->body_style = val; break; diff --git a/src/map/path.c b/src/map/path.c index f5e08d4df..07b38b740 100644 --- a/src/map/path.c +++ b/src/map/path.c @@ -192,10 +192,8 @@ bool path_search_long(struct shootpath_data *spd,struct block_list *bl,int16 m,i /// 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_PUSH2(*heap, node, NODE_MINTOPCMP, swap_ptr); -#endif // __clang_analyzer__ } /// Updates path_node in the binary node_heap. diff --git a/src/map/script.c b/src/map/script.c index a1efbb3b8..d1aee29bf 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -5482,8 +5482,6 @@ bool script_sprintf(struct script_state *st, int start, struct StringBuf *out) safestrncpy(buf, p, len); StrBuf->AppendStr(out, buf); } - - p = np; np++; // placeholder = "%%" ; (special case) diff --git a/src/map/status.c b/src/map/status.c index 5e65244ef..37efe1f93 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3806,13 +3806,15 @@ void status_calc_bl_main(struct block_list *bl, /*enum scb_flag*/int flag) } if(flag&SCB_CRI && bst->cri) { - if (st->luk == bst->luk) + if (st->luk == bst->luk) { st->cri = status->calc_critical(bl, sc, bst->cri, true); - else + } else { st->cri = status->calc_critical(bl, sc, bst->cri + 3*(st->luk - bst->luk), true); + } + if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && BL_UCAST(BL_PC, bl)->status.weapon == W_KATAR) { + st->cri *= 2; + } } - if (battle_config.show_katar_crit_bonus && bl->type == BL_PC && BL_UCAST(BL_PC, bl)->status.weapon == W_KATAR) - st->cri <<= 1; if(flag&SCB_FLEE2 && bst->flee2) { if (st->luk == bst->luk) |