summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Hercules.xcodeproj/project.pbxproj14
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_char.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_login.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/HPMHooking_map.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/char-server.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/db2sql.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/login-server.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/map-server.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/mapcache.xcscheme2
-rw-r--r--Hercules.xcodeproj/xcshareddata/xcschemes/sample.xcscheme2
-rw-r--r--Makefile.in2
-rwxr-xr-xconfigure2
-rw-r--r--configure.ac2
-rw-r--r--db/re/item_db.conf139
-rw-r--r--doc/constants.md1
-rw-r--r--npc/re/quests/eden/100-110.txt4
-rw-r--r--npc/re/quests/eden/11-25.txt2
-rw-r--r--npc/re/quests/eden/111-120.txt2
-rw-r--r--npc/re/quests/eden/121-130.txt4
-rw-r--r--npc/re/quests/eden/131-140.txt2
-rw-r--r--npc/re/quests/eden/26-40.txt2
-rw-r--r--npc/re/quests/eden/41-55.txt2
-rw-r--r--npc/re/quests/eden/56-70.txt2
-rw-r--r--npc/re/quests/eden/71-85.txt2
-rw-r--r--npc/re/quests/eden/86-90.txt2
-rw-r--r--npc/re/quests/eden/91-99.txt2
-rw-r--r--npc/re/quests/eden/eden_common.txt28
-rw-r--r--npc/re/quests/eden/eden_quests.txt24
-rw-r--r--npc/re/quests/eden/eden_service.txt2
-rw-r--r--npc/re/warps/cities/izlude.txt7
-rw-r--r--sql-files/item_db_re.sql37
-rw-r--r--src/common/HPM.c2
-rw-r--r--src/common/db.h17
-rw-r--r--src/common/socket.c4
-rw-r--r--src/common/timer.c4
-rw-r--r--src/map/battle.c6
-rw-r--r--src/map/clif.c5
-rw-r--r--src/map/path.c2
-rw-r--r--src/map/script.c2
-rw-r--r--src/map/status.c10
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)"; \
diff --git a/configure b/configure
index 9fe0c9d5b..1d03a0b1f 100755
--- a/configure
+++ b/configure
@@ -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)