Merge branch 'master' into cleanup/storages_optimization

This commit is contained in:
aleos89 2016-11-11 14:54:43 -05:00
commit 5aa53e4738
87 changed files with 1883 additions and 1613 deletions

View File

@ -41,8 +41,10 @@ env:
- DB_PASS="ragnarok"
- PACKETDBVER=45
matrix:
- CONFIGURE_FLAGS="--enable-prere=no"
- CONFIGURE_FLAGS="--enable-prere=yes"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=no --enable-buildbot=yes"
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=no --enable-buildbot=yes"
- CONFIGURE_FLAGS="--enable-prere=no --enable-vip=yes --enable-buildbot=yes"
- CONFIGURE_FLAGS="--enable-prere=yes --enable-vip=yes --enable-buildbot=yes"
notifications:
email: false

View File

@ -151,17 +151,20 @@ Examples:
* https://github.com/rathena/rathena
* Full Installation Instructions
* Windows: https://rathena.org/wiki/Installation_on_Windows
* CentOS: https://rathena.org/wiki/Installation_(CentOS)
* Debian: https://rathena.org/wiki/Installation_(Debian)
* FreeBSD: https://rathena.org/wiki/Installation_(FreeBSD)
* [Windows](https://github.com/rathena/rathena/wiki/Install-on-Windows)
* [CentOS](https://github.com/rathena/rathena/wiki/Install-on-Centos)
* [Debian](https://github.com/rathena/rathena/wiki/Install-on-Debian)
* [FreeBSD](https://github.com/rathena/rathena/wiki/Install-on-Centos)
* rAthena IRC Channel
* irc://irc.rizon.net/rathena
* Web Chat: https://rathena.org/board/page/chat.html
* rAthena Discord Chat
http://discord.rathena.org
* rAthena Wiki
https://rathena.org/board/index.php?app=ipbwiki
https://github.com/rathena/rathena/wiki
* Fork and Pull Request Q&A
https://rathena.org/board/topic/86913-pull-request-qa/

View File

@ -10,24 +10,28 @@ environment:
matrix:
- VisualStudioVersion: 10.0
Solution: rAthena-10.sln
Defines: "\"BUILDBOT\""
- VisualStudioVersion: 11.0
Solution: rAthena-12.sln
Defines: "\"BUILDBOT\""
- VisualStudioVersion: 12.0
Solution: rAthena-13.sln
Defines: "\"BUILDBOT\""
- VisualStudioVersion: 14.0
Solution: rAthena-14.sln
Defines: "\"BUILDBOT\""
- VisualStudioVersion: 10.0
Solution: rAthena-10.sln
Defines: PRERE
Defines: "\"BUILDBOT;PRERE\""
- VisualStudioVersion: 11.0
Solution: rAthena-12.sln
Defines: PRERE
Defines: "\"BUILDBOT;PRERE\""
- VisualStudioVersion: 12.0
Solution: rAthena-13.sln
Defines: PRERE
Defines: "\"BUILDBOT;PRERE\""
- VisualStudioVersion: 14.0
Solution: rAthena-14.sln
Defines: PRERE
Defines: "\"BUILDBOT;PRERE\""
platform:
- Win32
configuration:

View File

@ -146,7 +146,6 @@ mon_trans_disable_in_gvg: no
discount_item_point_shop: 0
// Don't display message "login-serv has been asked to %s the player '%.*s'." (Note 1)
disp_serverbank_msg: no
disp_servervip_msg: no
// Delay to allow user resend new mail (default & minimum is 1000)

36
configure vendored
View File

@ -696,6 +696,7 @@ enable_manager
enable_packetver
enable_debug
enable_prere
enable_vip
enable_warn
enable_buildbot
enable_rdtsc
@ -1335,6 +1336,8 @@ Optional Features:
(available options: yes, no, gdb)
--enable-prere[=ARG] Compiles serv in prere mode. (disabled by default)
(available options: yes, no)
--enable-vip[=ARG] Compiles serv with vip features. (disabled by default)
(available options: yes, no)
--enable-warn[=ARG] Compiles with warnings. (disabled by default)
(available options: yes, no, extra)
--enable-buildbot[=ARG] (available options: yes, no)
@ -3506,6 +3509,26 @@ fi
#
# VIP
#
# Check whether --enable-vip was given.
if test "${enable_vip+set}" = set; then :
enableval=$enable_vip;
enable_vip="$enableval"
case $enableval in
"no");;
"yes");;
*) as_fn_error $? "invalid argument --enable-vip=$enableval... stopping" "$LINENO" 5;;
esac
else
enable_vip="no"
fi
#
# warn
#
@ -6334,6 +6357,19 @@ case $enable_prere in
;;
esac
#
# VIP
#
case $enable_vip in
"no")
# default value
CPPFLAGS="$CPPFLAGS"
;;
"yes")
CPPFLAGS="$CPPFLAGS -DVIP_ENABLE"
;;
esac
#
# Warnings
#

View File

@ -100,6 +100,30 @@ AC_ARG_ENABLE(
)
#
# VIP
#
AC_ARG_ENABLE(
[vip],
AC_HELP_STRING(
[--enable-vip@<:@=ARG@:>@],
[
Compiles serv with vip features. (disabled by default)
(available options: yes, no)
]
),
[
enable_vip="$enableval"
case $enableval in
"no");;
"yes");;
*) AC_MSG_ERROR([[invalid argument --enable-vip=$enableval... stopping]]);;
esac
],
[enable_vip="no"]
)
#
# warn
#
@ -999,6 +1023,19 @@ case $enable_prere in
;;
esac
#
# VIP
#
case $enable_vip in
"no")
# default value
CPPFLAGS="$CPPFLAGS"
;;
"yes")
CPPFLAGS="$CPPFLAGS -DVIP_ENABLE"
;;
esac
#
# Warnings
#

View File

@ -2723,3 +2723,6 @@ THANATOS_KEEP 10009
4_F_REBELLION2 10201
4_F_REBELLION3 10202
4_M_ILYA 10203
4_ELDER 10205
4_LUNATIC 10206
4_F_NOVICE2 10207

View File

@ -50,7 +50,7 @@
1023,ORK_WARRIOR,Orc Warrior,635,9017,10009,537,80,60,20,100,250,20,500,150,1,0,600,200,300,{ petskillattack2 "NPC_PIERCINGATT",100,1,0,10; },{ bonus bAtk,10; bonus bDef,-3; }
1026,MUNAK,Munak,636,9018,10008,537,80,60,20,100,250,20,500,150,0,0,300,750,300,{ petskillattack2 "NPC_DARKNESSATTACK",444,1,0,10; },{ bonus bInt,1; bonus bDef,1; }
1110,DOKEBI,Dokebi,637,9019,10005,537,80,60,20,100,250,20,500,150,0,0,300,300,800,{ petskillattack "BS_HAMMERFALL",1,0,10; },{ bonus bMatkRate,1; bonus bAtkRate,-1; }
1170,SOHEE,Sohee,638,9020,10016,537,80,60,10,100,250,20,500,150,0,0,100,1000,200,{ petheal 400,60,33,100; },{ bonus bStr,1; bonus bDex,1; }
1170,SOHEE,Sohee,638,9020,10016,537,80,60,10,100,250,20,500,150,0,0,100,1000,200,{ petskillsupport "AL_HEAL",5,60,33,100; },{ bonus bStr,1; bonus bDex,1; }
1029,ISIS,Isis,639,9021,10006,537,80,60,10,100,250,20,500,150,0,0,650,450,150,{ petskillsupport "PR_MAGNIFICAT",2,60,50,50; },{ bonus bMatkRate,-1; bonus bAtkRate,1; }
1155,PETIT,Petite,640,9022,10011,537,80,60,20,100,250,20,500,150,0,0,800,400,100,{ petskillattack2 "WZ_HEAVENDRIVE",500,1,0,10; },{ bonus bDef,-2; bonus bMdef,-2; bonus bAspdRate,1; }
1109,DEVIRUCHI,Deviruchi,641,9023,10004,711,80,60,10,100,250,20,500,150,0,0,800,200,100,{ petskillbonus bAgiDexStr,6,20,40; },{ bonus bMatkRate,1; bonus bAtkRate,1; bonus bMaxHPrate,-3; bonus bMaxSPrate,-3; }

View File

@ -1248,13 +1248,13 @@
//-- RA_CAMOUFLAGE
2247,0,0,0,10000,0,0
//-- RA_MAGENTATRAP
2249,0,2000,0,15000,10000,0
2249,0,2000,0,15000,0,0
//-- RA_COBALTTRAP
2250,0,2000,0,15000,10000,0
2250,0,2000,0,15000,0,0
//-- RA_MAIZETRAP
2251,0,2000,0,15000,10000,0
2251,0,2000,0,15000,0,0
//-- RA_VERDURETRAP
2252,0,2000,0,15000,10000,0
2252,0,2000,0,15000,0,0
//-- RA_FIRINGTRAP
2253,0,0,0,15000,15000,0
//-- RA_ICEBOUNDTRAP

View File

@ -549,7 +549,7 @@
//****
// Sniper
380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, SN_SIGHT,Falcon Eyes
381,9,8,1,-3,0x40,0,5,1,yes,0,0,0,misc,0,0x0, SN_FALCONASSAULT,Falcon Assault
381,9,8,1,0,0x40,0,5,1,yes,0,0,0,misc,0,0x0, SN_FALCONASSAULT,Falcon Assault
382,9,8,1,-1,0,1,5,1,yes,0,0x40000,14,weapon,0,0x0, SN_SHARPSHOOTING,Focused Arrow Strike
383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0,0x0, SN_WINDWALK,Wind Walker
@ -1087,7 +1087,7 @@
2295,3,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_LAZINESS,Masquerade - Laziness
2296,3,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_UNLUCKY,Masquerade - Unlucky
2297,3,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_WEAKNESS,Masquerade - Weakness
2298,3,6,1,0,0x1,0,5,1,yes,0,0,0,none,0,0x8000, SC_STRIPACCESSARY,Strip Accessory
2298,3,6,1,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, SC_STRIPACCESSARY,Strip Accessory
2299,7,6,2,0,0x1,0,3,1,yes,0,0,3,magic,0,0x0, SC_MANHOLE,Man Hole
2300,7,6,2,0,0x1,0,3,1,yes,0,0,1,magic,0,0x0, SC_DIMENSIONDOOR,Dimension Door
2301,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,magic,0,0x0, SC_CHAOSPANIC,Chaos Panic

View File

@ -20,7 +20,7 @@
// 0x00800(UF_DUALMODE) Spell has effects both at an interval and when you step in/out
// 0x01000(UF_NOKNOCKBACK) Cannot be knocked back (only unit that can be damaged)
// 0x02000(UF_RANGEDSINGLEUNIT) Layout hack, use layout range propriety but only display center.
// 0x04000(UF_REM_CRAZYWEED) Removed if be overlapped by GN_CRAZYWEED
// 0x04000(UF_CRAZYWEED_IMMUNE) Immune to GN_CRAZYWEED removal
// 0x08000(UF_REM_FIRERAIN) Removed if be overlapped by RL_FIRE_RAIN
// 0x10000(UF_KNOCKBACK_GROUP) Knock back a whole skill group (by default, skill unit is knocked back each unit)
// 0x20000(UF_HIDDEN_TRAP) Hidden trap, see 'traps_setting' skill config to enable this flag
@ -32,14 +32,14 @@
// u1 u2 lay r intr target flag
//
12,0x7e, , 0, 0, -1,all, 0x4003 //MG_SAFETYWALL
12,0x7e, , 0, 0, -1,all, 0x003 //MG_SAFETYWALL
18,0x7f, , -1, 0, 20,enemy, 0x8010 //MG_FIREWALL
21,0x86, , 0, 2:2:2:2:2:2:2:2:2:2:3,1000,enemy, 0x010 //MG_THUNDERSTORM
25,0x85, , 1, 0, -1,all, 0x6003 //AL_PNEUMA
25,0x85, , 1, 0, -1,all, 0x2003 //AL_PNEUMA
27,0x81,0x80, 0, 0, -1,all, 0x00E //AL_WARP
70,0x83, , -1, 1,1000,all, 0x018 //PR_SANCTUARY
79,0x84, , -1, 1,3000,enemy, 0x8018 //PR_MAGNUS
80,0x87,0x88, 0, 1,2000,enemy, 0x4006 //WZ_FIREPILLAR
80,0x87,0x88, 0, 1,2000,enemy, 0x006 //WZ_FIREPILLAR
83,0x86, , 0, 3,1000,enemy, 0x010 //WZ_METEOR
85,0x86, , 5:5:5:5:5:5:5:5:5:5:7, 1,1250,enemy,0x018 //WZ_VERMILION
86,0x86, , 0:1:1:2:2:2:2:2:2:2, 0,-1,noone, 0x010 //WZ_WATERBALL
@ -61,10 +61,10 @@
220,0xb0, , 0, 0, -1,all, 0x8002 //RG_GRAFFITI
229,0xb1, , 0, 1,1000,enemy, 0x006 //AM_DEMONSTRATION
254,0x86, , -1, 0, 300,enemy, 0x010 //CR_GRANDCROSS
285,0x9a, , 3, 0, -1,all, 0xC010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0xC010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0xC010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0xC010 //SA_LANDPROTECTOR
285,0x9a, , 3, 0, -1,all, 0x8010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0x8010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0x8010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0x8010 //SA_LANDPROTECTOR
306,0x9e, , 4, 0,6000,enemy, 0x200 //BD_LULLABY
307,0x9f, , 4, 0, -1,enemy, 0x220 //BD_RICHMANKIM
308,0xa0, , 4, 0, -1,enemy, 0x200 //BD_ETERNALCHAOS
@ -130,10 +130,10 @@
2274,0xe3, , 2, 0, -1,ally, 0x000 //NC_STEALTHFIELD
2299,0xcc, , 0, 1,1000,all, 0x8006 //SC_MANHOLE
2300,0xcd, , 0, 0,1000,all, 0xC006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xE00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xE002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xE058 //SC_BLOODYLUST
2300,0xcd, , 0, 0,1000,all, 0x8006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xA00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xA002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xA058 //SC_BLOODYLUST
2304,0xd1, , 0, 2, 500,enemy, 0x018 //SC_FEINTBOMB
2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING
@ -155,13 +155,13 @@
2467,0xf3, , 0, 1,1000,all, 0x010 //SO_WIND_INSIGNIA
2468,0xf4, , 0, 1,1000,all, 0x010 //SO_EARTH_INSIGNIA
2479,0xe5, , 0, 1,1000,enemy, 0xC006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0xC000 //GN_WALLOFTHORN
2479,0xe5, , 0, 1,1000,enemy, 0x8006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0x8000 //GN_WALLOFTHORN
2484,0x86, , 0, 1, 100,enemy, 0x080 //GN_CRAZYWEED_ATK
2485,0xe7, , 0, 2,2000,enemy, 0x8098 //GN_DEMONIC_FIRE
2487,0xe8, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_SMOKE_POWDER
2488,0xe9, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_TEAR_GAS
2490,0xea, , 0, 1,1000,enemy, 0xC002 //GN_HELLS_PLANT
2490,0xea, , 0, 1,1000,enemy, 0x8002 //GN_HELLS_PLANT
2555,0x104, , 0, 1:2:2:3:3,500,enemy,0x6 //RL_B_TRAP
2567,0x105, , -1, 0,1000,enemy, 0x98 //RL_FIRE_RAIN

View File

@ -784,7 +784,7 @@
1440,Battle_Hook_,Battle Hook,5,20,,900,140,,3,3,0x00004082,18,2,2,4,65,1,4,{ bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3; },{},{}
1441,Blue_Spear,Blue Spear,5,10,,1200,180:170,,3,1,0x00004000,56,2,2,3,100,1,4,{ bonus bDex,5; bonus bInt,5; },{},{}
1442,Ru_Gold_Spear,Ru Gold Spear,5,0,,1200,180,,3,2,0x00004000,56,2,2,3,120,1,4,{ bonus bStr,8; bonus bAgi,8; },{},{}
1443,Crimson_Spear,Crimson Spear,5,20,,900,90,,3,2,0x00000002,56,2,2,3,70,1,4,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
1443,Crimson_Spear,Crimson Spear,5,20,,900,90,,3,2,0x00004082,56,2,2,3,70,1,4,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
1446,Requiem_Spear,Requiem Spear,5,20,,1000,130,,3,,0x00004080,63,2,2,4,100,1,4,{ .@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b; },{},{}
//===================================================================
// 2-Handed Spears
@ -843,7 +843,7 @@
1495,TE_Woe_Lance,TE Woe Lance,5,0,,0,150,,3,0,0x00004082,63,2,34,3,40,1,5,{ bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,3000; },{},{}
1496,Tanos_Two-Handed_Spear,Tanos Two-Handed Spear,5,10,,3750,250:50,,,1,0x00004082,63,2,34,4,120,1,5,{ bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus bAtkRate,5; bonus2 bHPLossRate,100,10000; },{},{}
1497,Hell_Fire_,Hellfire,5,20,,3500,200,,3,3,0x00004082,63,2,34,4,48,1,5,{ bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,"MG_FIREBALL",5,100; bonus bStr,3; },{},{}
1498,Crimson_Lance,Crimson Lance,5,20,,1750,175,,1,2,0x00000002,63,2,34,3,70,1,5,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
1498,Crimson_Lance,Crimson Lance,5,20,,1750,175,,1,2,0x00004082,63,2,34,3,70,1,5,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
1499,Requiem_Lance,Requiem Lance,5,20,,1500,220,,3,,0x00004080,63,2,34,4,100,1,5,{ .@r = getrefine(); .@b = 40; .@c = 5; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+30; .@c += (.@r-5); } bonus2 bAddRace2,RC2_BioLab,.@b; bonus2 bSubRace2,RC2_BioLab,.@c; },{},{}
//===================================================================
// Maces
@ -1028,7 +1028,7 @@
1677,Blue_Wand,Blue Wand,5,10,,0,50,,1,1,0x00000200,56,2,2,3,100,1,10,{ bonus bStr,5; bonus bInt,5; },{},{}
1678,Ru_Gold_Wand,Ru Gold Wand,5,0,,0,50,,1,2,0x00000200,56,2,2,3,120,1,10,{ bonus bDex,8; bonus bInt,8; },{},{}
1679,Rafini_Staff_,Laphine Staff,5,20,,500,30:180,,1,2,0x00818315,63,2,2,3,100,1,10,{ bonus bFixedCastRate,-getrefine(); },{},{}
1680,Crimson_One-Handed_Staff,Crimson One-Handed Staff,5,10,,600,60:70,,1,2,0x00800015,63,2,2,3,70,1,10,{ .@r = getrefine(); bonus bInt,4; bonus bMatk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1; },{},{}
1680,Crimson_One-Handed_Staff,Crimson One-Handed Staff,5,10,,600,60:70,,1,2,0x00818315,63,2,2,3,70,1,10,{ .@r = getrefine(); bonus bInt,4; bonus bMatk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1; },{},{}
1681,Short_Foxtail_Staff,Short Foxtail Staff,5,20,,0,30,,1,0,0x80000000,7,2,2,1,1,1,10,{},{},{}
1682,Shadow_Staff,Shadow Staff,5,0,,600,70:130,,1,2,0x00000200,56,2,2,4,90,1,10,{ .@r = getrefine(); bonus2 bSkillAtk,"WL_HELLINFERNO",(getskilllv("WL_HELLINFERNO") >= 5 ? 100 : 0) + (.@r*10); bonus2 bIgnoreMdefRaceRate,RC_All,5; autobonus "{ bonus2 bVariableCastrate,\"WL_HELLINFERNO\",-30; }",.@r*20,5000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER }"; },{},{}
1683,Enriched_Foxtail_Staff,Enriched Foxtail Staff,5,20,,200,50:70,,1,1,0x80000000,7,2,2,2,12,1,10,{ bonus bMaxSP,50; },{},{}
@ -1212,7 +1212,7 @@
1935,Ozs_New_Ukulele,Oz's New Ukulele,5,20,,2000,160,,1,2,0x00080000,63,1,2,4,130,1,13,{ bonus2 bSkillUseSP,"MI_RUSH_WINDMILL",-20; },{},{}
1936,Blue_Violin,Blue Violin,5,10,,1500,180,,2,1,0x00080000,63,1,2,3,100,1,13,{ bonus bDex,5; bonus bVit,5; },{},{}
1937,Ru_Gold_Violin,Ru Gold Violin,5,0,,1500,180,,1,2,0x00080000,56,2,2,3,120,1,13,{ bonus bDex,8; bonus bVit,8; },{},{}
1938,Infinity_Violin,Infinity Violin,5,10,,500,150,,2,1,0x00080000,63,1,2,4,100,1,13,{},{},{}
1938,Infinity_Violin,Infinity Violin,5,10,,500,150,,2,1,0x00080000,56,1,2,4,100,1,13,{},{},{}
1939,Crimson_Violin,Crimson Violin,5,20,,800,80,,2,2,0x00080000,63,1,2,3,70,1,13,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
1940,Trumpet_Shell,Trumpet Shell,5,0,,600,125,,1,1,0x00080000,56,1,2,4,130,1,13,{ .@r = getrefine(); bonus bDex,.@r; bonus bInt,.@r; .@per = ((.@r > 9) ? 40 : ((.@r > 7) ? 20 : ((.@r > 5) ? 10 : 0))); bonus2 bSkillAtk,"WM_REVERBERATION",.@per; bonus2 bVariableCastrate,"WM_REVERBERATION",-.@per; },{},{}
1942,Requiem_Violin,Requiem Violin,5,20,,500,160:120,,1,,0x00080000,63,1,2,4,100,1,13,{ .@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } if(.@r>=7) bonus2 bSkillAtk,"CG_ARROWVULCAN",200; bonus2 bAddRace2,RC2_BioLab,.@b; },{},{}
@ -1262,7 +1262,7 @@
1990,Bloody_Floral_Decoration_Microphone,Bloody Floral Decoration Microphone,5,20,,1000,160,,2,2,0x00080000,63,0,2,4,130,1,14,{ bonus2 bSkillUseSP,"CG_MOONLIT",-20; },{},{}
1991,Blue_Whip,Blue Whip,5,10,,1500,180,,2,1,0x00080000,63,0,2,3,100,1,14,{ bonus bDex,5; bonus bVit,5; },{},{}
1992,Ru_Gold_Whip,Ru Gold Whip,5,0,,1500,180,,2,2,0x00080000,56,2,2,3,120,1,14,{ bonus bDex,8; bonus bVit,8; },{},{}
1994,Infinity_Whip,Infinity Whip,5,10,,500,150,,2,1,0x00080000,63,0,2,4,100,1,14,{},{},{}
1994,Infinity_Whip,Infinity Whip,5,10,,500,150,,2,1,0x00080000,56,0,2,4,100,1,14,{},{},{}
1995,Crimson_Whip,Crimson Whip,5,20,,800,80,,2,2,0x00080000,63,0,2,3,70,1,14,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
1996,Wire_of_Vicious_Mind,Wire of Vicious Mind,5,20,,1300,130:50,,2,1,0x00080000,63,,2,4,160,1,14,{ bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; },{},{}
//===================================================================
@ -1292,8 +1292,8 @@
2021,Ganbantein,Ganbantein,5,0,,2000,100:320,,1,0,0x00000200,56,2,2,4,100,1,10,{ bonus bInt,25; bonus bDex,25; bonus3 bAddEff,Eff_Poison,1000,ATF_MAGIC; bonus3 bAutoSpell,"AB_SILENTIUM",1,100; bonus bUnbreakableWeapon,1; },{},{}
2022,Geffen_Staff,Staff of Geffen,5,20,,1000,100:300,,1,1,0x00000200,18,2,34,1,150,1,23,{ bonus bInt,20; },{},{}
2023,Tanos_Two-handed_Stick,Tanos Two-handed Stick,5,10,,1400,120:250,,,1,0x810200,63,2,34,4,120,1,23,{ bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus bHealPower,18; bonus2 bHPLossRate,100,10000; },{},{}
2024,Infinity_Two-handed_Stick,Infinity Two-handed Stick,5,10,,500,30:170,,,1,0x810200,63,2,34,4,100,1,23,{},{},{}
2025,Crimson_Two-Handed_Staff,Crimson Two-Handed Staff,5,20,,1000,100,,1,2,0x000014,63,2,34,3,70,1,23,{ .@r = getrefine(); bonus bInt,5; bonus bMatk,150+((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
2024,Infinity_Two-handed_Stick,Infinity Two-handed Stick,5,10,,500,30:170,,,1,0x810200,56,2,34,4,100,1,23,{},{},{}
2025,Crimson_Two-Handed_Staff,Crimson Two-Handed Staff,5,20,,1000,100,,1,2,0x800200,63,2,34,3,70,1,23,{ .@r = getrefine(); bonus bInt,5; bonus bMatk,150+((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
2026,Staff_of_Vicious_Mind,Staff of Vicious Mind,5,20,,1000,100:200,,1,1,0x00810204,63,2,34,4,160,1,23,{ bonus bMatk,pow(min(getrefine(),15),2); bonus bInt,6; bonus bUnbreakableWeapon,1; },{},{}
2027,Sunflower_Kid,Sunflower Kid,5,10,,1500,150:320,,,2,0x00000200,40,2,34,4,170,1,23,{ bonus bInt,5; .@r = getrefine(); bonus bMatkRate,(.@r/2); bonus bDelayrate,(.@r*-1); bonus bUnbreakableWeapon,1; },{},{}
2032,Requiem_Wizardry_Staff,Requiem Wizardry Staff,5,20,,500,100:230,,1,,0xFFFFFFFF,63,2,2,4,100,1,10,{ .@r = getrefine(); .@b = 40; .@c = 5; if(.@r>=5){ .@b += (.@r-5)*15+20; .@c += .@r-5; } bonus2 bMagicAddRace2,RC2_BioLab,.@b; bonus2 bSubRace2,RC2_BioLab,.@c; bonus2 bIgnoreMdefRace2Rate,RC2_BioLab,(.@r-5)*10; },{},{}
@ -2934,24 +2934,24 @@
4765,Critical7,CRI+7,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,7; },{},{}
4766,Atk2,ATK+2%,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,2; },{},{}
4767,Atk3,ATK+3%,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,3; },{},{}
4768,Str1_J,STR+1,6,20,,10,,,,,,,,,,,,,{},{},{}
4769,Str2_J,STR+2,6,20,,10,,,,,,,,,,,,,{},{},{}
4770,Str3_J,STR+3,6,20,,10,,,,,,,,,,,,,{},{},{}
4771,Int1_J,INT+1,6,20,,10,,,,,,,,,,,,,{},{},{}
4772,Int2_J,INT+2,6,20,,10,,,,,,,,,,,,,{},{},{}
4773,Int3_J,INT+3,6,20,,10,,,,,,,,,,,,,{},{},{}
4774,Vit1_J,VIT+1,6,20,,10,,,,,,,,,,,,,{},{},{}
4775,Vit2_J,VIT+2,6,20,,10,,,,,,,,,,,,,{},{},{}
4776,Vit3_J,VIT+3,6,20,,10,,,,,,,,,,,,,{},{},{}
4777,Agi1_J,AGI+1,6,20,,10,,,,,,,,,,,,,{},{},{}
4778,Agi2_J,AGI+2,6,20,,10,,,,,,,,,,,,,{},{},{}
4779,Agi3_J,AGI+3,6,20,,10,,,,,,,,,,,,,{},{},{}
4780,Dex1_J,DEX+1,6,20,,10,,,,,,,,,,,,,{},{},{}
4781,Dex2_J,DEX+2,6,20,,10,,,,,,,,,,,,,{},{},{}
4782,Dex3_J,DEX+3,6,20,,10,,,,,,,,,,,,,{},{},{}
4783,Luk1_J,LUK+1,6,20,,10,,,,,,,,,,,,,{},{},{}
4784,Luk2_J,LUK+2,6,20,,10,,,,,,,,,,,,,{},{},{}
4785,Luk3_J,LUK+3,6,20,,10,,,,,,,,,,,,,{},{},{}
4768,Str1_J,Str + 1,6,20,,10,,,,,,,,,,,,,{},{},{}
4769,Str2_J,Str + 2,6,20,,10,,,,,,,,,,,,,{},{},{}
4770,Str3_J,Str + 3,6,20,,10,,,,,,,,,,,,,{},{},{}
4771,Int1_J,Int + 1,6,20,,10,,,,,,,,,,,,,{},{},{}
4772,Int2_J,Int + 2,6,20,,10,,,,,,,,,,,,,{},{},{}
4773,Int3_J,Int + 3,6,20,,10,,,,,,,,,,,,,{},{},{}
4774,Vit1_J,Vit + 1,6,20,,10,,,,,,,,,,,,,{},{},{}
4775,Vit2_J,Vit + 2,6,20,,10,,,,,,,,,,,,,{},{},{}
4776,Vit3_J,Vit + 3,6,20,,10,,,,,,,,,,,,,{},{},{}
4777,Agi1_J,Agi + 1,6,20,,10,,,,,,,,,,,,,{},{},{}
4778,Agi2_J,Agi + 2,6,20,,10,,,,,,,,,,,,,{},{},{}
4779,Agi3_J,Agi + 3,6,20,,10,,,,,,,,,,,,,{},{},{}
4780,Dex1_J,Dex + 1,6,20,,10,,,,,,,,,,,,,{},{},{}
4781,Dex2_J,Dex + 2,6,20,,10,,,,,,,,,,,,,{},{},{}
4782,Dex3_J,Dex + 3,6,20,,10,,,,,,,,,,,,,{},{},{}
4783,Luk1_J,Luk + 1,6,20,,10,,,,,,,,,,,,,{},{},{}
4784,Luk2_J,Luk + 2,6,20,,10,,,,,,,,,,,,,{},{},{}
4785,Luk3_J,Luk + 3,6,20,,10,,,,,,,,,,,,,{},{},{}
4786,Mdef2,MDEF+2,6,20,,10,,,,,,,,,,,,,{ bonus bMdef,2; },{},{}
4787,Mdef4,MDEF+4,6,20,,10,,,,,,,,,,,,,{ bonus bMdef,4; },{},{}
4788,Mdef6,MDEF+6,6,20,,10,,,,,,,,,,,,,{ bonus bMdef,6; },{},{}
@ -2969,153 +2969,152 @@
4800,SP50,SP+50,6,20,,10,,,,,,,,,,,,,{ bonus bMaxSP,50; },{},{}
4801,SP100,SP+100,6,20,,10,,,,,,,,,,,,,{ bonus bMaxSP,100; },{},{}
4802,SP150,SP+150,6,20,,10,,,,,,,,,,,,,{ bonus bMaxSP,150; },{},{}
4803,Highness_Heal_3sec,Recovery Lv1,6,20,,10,,,,,,,,,,,,,{ bonus2 bSkillCooldown,"AB_HIGHNESSHEAL",-3000; },{},{}
4804,Coluceo_Heal30,Cathedral Lv1,6,20,,10,,,,,,,,,,,,,{ bonus2 bSkillUseSP,"AB_CHEAL",30; },{},{}
4805,Heal_Amount2,Archbishop Lv1,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,3; },{},{}
4803,Highness_Heal_3sec,Cure1Lv.,6,20,,10,,,,,,,,,,,,,{ bonus2 bSkillCooldown,"AB_HIGHNESSHEAL",-3000; },{},{}
4804,Coluceo_Heal30,Catholic1Lv.,6,20,,10,,,,,,,,,,,,,{ bonus2 bSkillUseSP,"AB_CHEAL",30; },{},{}
4805,Heal_Amount2,Archbishop1Lv,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,3; },{},{}
4806,Matk3,MATK+3%,6,20,,10,,,,,,,,,,,,,{ bonus bMatkRate,3; bonus bFixedCastrate,-1; },{},{}
4807,Atk_Speed1,ASPD+1,6,20,,10,,,,,,,,,,,,,{ bonus bAspd,1; },{},{}
4808,Fighting_Spirit4,Fighting Lv4,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,15; bonus bHit,5; },{},{}
4809,Fighting_Spirit3,Fighting Lv3,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,12; bonus bHit,4; },{},{}
4810,Fighting_Spirit2,Fighting Lv2,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,9; bonus bHit,3; },{},{}
4811,Fighting_Spirit1,Fighting Lv1,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,6; bonus bHit,2; },{},{}
4812,Spell4,Force Lv4,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,15; bonus bVariableCastrate,-10; },{},{}
4813,Spell3,Force Lv3,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,12; bonus bVariableCastrate,-8; },{},{}
4814,Spell2,Force Lv2,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,9; bonus bVariableCastrate,-6; },{},{}
4815,Spell1,Force Lv1,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,6; bonus bVariableCastrate,-4; },{},{}
4816,Sharp3,Sharp Lv3,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,12; bonus bHit,4; },{},{}
4817,Sharp2,Sharp Lv2,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,9; bonus bHit,3; },{},{}
4818,Sharp1,Sharp Lv1,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,6; bonus bHit,2; },{},{}
4819,Atk1,ATK+1%,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,1; },{},{}
4820,Fighting_Spirit5,Fighting Lv5,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,18; bonus bHit,5; },{},{}
4821,Fighting_Spirit6,Fighting Lv6,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,21; bonus bHit,5; },{},{}
4822,Fighting_Spirit7,Fighting Lv7,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,24; bonus bHit,5; },{},{}
4823,Fighting_Spirit8,Fighting Lv8,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,27; bonus bHit,5; },{},{}
4824,Fighting_Spirit9,Fighting Lv9,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,30; bonus bHit,5; },{},{}
4825,Fighting_Spirit10,Fighting Lv10,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,50; bonus bHit,15; },{},{}
4826,Spell5,Force Lv5,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,18; bonus bVariableCastrate,-10; },{},{}
4827,Spell6,Force Lv6,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,21; bonus bVariableCastrate,-10; },{},{}
4828,Spell7,Force Lv7,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,24; bonus bVariableCastrate,-10; },{},{}
4829,Spell8,Force Lv8,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,27; bonus bVariableCastrate,-10; },{},{}
4830,Spell9,Force Lv9,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,30; bonus bVariableCastrate,-10; },{},{}
4831,Spell10,Force Lv10,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,50; bonus bVariableCastrate,-20; },{},{}
4832,Expert_Archer1,Archer Lv1,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,2; },{},{}
4833,Expert_Archer2,Archer Lv2,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,4; },{},{}
4834,Expert_Archer3,Archer Lv3,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,6; },{},{}
4835,Expert_Archer4,Archer Lv4,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,8; },{},{}
4836,Expert_Archer5,Archer Lv5,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,10; },{},{}
4837,Expert_Archer6,Archer Lv6,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,12; },{},{}
4838,Expert_Archer7,Archer Lv7,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,14; },{},{}
4839,Expert_Archer8,Archer Lv8,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,16; },{},{}
4840,Expert_Archer9,Archer Lv9,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,18; },{},{}
4841,Expert_Archer10,Archer Lv10,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,20; bonus bAspd,1; },{},{}
4842,Atk_Speed2,ASPD+2,6,20,,10,,,,,,,,,,,,,{ bonus bAspd,2; },{},{}
4843,Sharp4,Sharp Lv4,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,14; bonus bHit,5; },{},{}
4844,Sharp5,Sharp Lv5,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,15; bonus bHit,6; },{},{}
4807,Atk_Speed1,Atk Speed1,6,20,,10,,,,,,,,,,,,,{ bonus bAspd,1; },{},{}
4808,Fighting_Spirit4,Fighting Spirit4,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,15; bonus bHit,5; },{},{}
4809,Fighting_Spirit3,Fighting Spirit3,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,12; bonus bHit,4; },{},{}
4810,Fighting_Spirit2,Fighting Spirit2,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,9; bonus bHit,3; },{},{}
4811,Fighting_Spirit1,Fighting Spirit1,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,6; bonus bHit,2; },{},{}
4812,Spell4,Spell4,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,15; bonus bVariableCastrate,-10; },{},{}
4813,Spell3,Spell3,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,12; bonus bVariableCastrate,-8; },{},{}
4814,Spell2,Spell2,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,9; bonus bVariableCastrate,-6; },{},{}
4815,Spell1,Spell1,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,6; bonus bVariableCastrate,-4; },{},{}
4816,Sharp3,Sharp3,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,12; bonus bHit,4; },{},{}
4817,Sharp2,Sharp2,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,9; bonus bHit,3; },{},{}
4818,Sharp1,Sharp1,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,6; bonus bHit,2; },{},{}
4819,Atk1,Atk1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddClass,Class_All,1; },{},{}
4820,Fighting_Spirit5,Fighting Spirit5,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,18; bonus bHit,5; },{},{}
4821,Fighting_Spirit6,Fighting Spirit6,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,21; bonus bHit,5; },{},{}
4822,Fighting_Spirit7,Fighting Spirit7,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,24; bonus bHit,5; },{},{}
4823,Fighting_Spirit8,Fighting Spirit8,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,27; bonus bHit,5; },{},{}
4824,Fighting_Spirit9,Fighting Spirit9,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,30; bonus bHit,5; },{},{}
4825,Fighting_Spirit10,Fighting Spirit10,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,50; bonus bHit,15; },{},{}
4826,Spell5,Spell5,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,18; bonus bVariableCastrate,-10; },{},{}
4827,Spell6,Spell6,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,21; bonus bVariableCastrate,-10; },{},{}
4828,Spell7,Spell7,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,24; bonus bVariableCastrate,-10; },{},{}
4829,Spell8,Spell8,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,27; bonus bVariableCastrate,-10; },{},{}
4830,Spell9,Spell9,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,30; bonus bVariableCastrate,-10; },{},{}
4831,Spell10,Spell10,6,20,,10,,,,,,,,,,,,,{ bonus bMatk,50; bonus bVariableCastrate,-20; },{},{}
4832,Expert_Archer1,Expert Archer1,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,2; },{},{}
4833,Expert_Archer2,Expert Archer2,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,4; },{},{}
4834,Expert_Archer3,Expert Archer3,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,6; },{},{}
4835,Expert_Archer4,Expert Archer4,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,8; },{},{}
4836,Expert_Archer5,Expert Archer5,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,10; },{},{}
4837,Expert_Archer6,Expert Archer6,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,12; },{},{}
4838,Expert_Archer7,Expert Archer7,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,14; },{},{}
4839,Expert_Archer8,Expert Archer8,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,16; },{},{}
4840,Expert_Archer9,Expert Archer9,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,18; },{},{}
4841,Expert_Archer10,Expert Archer10,6,20,,10,,,,,,,,,,,,,{ bonus bLongAtkRate,20; bonus bAspd,1; },{},{}
4842,Atk_Speed2,Atk Speed2,6,20,,10,,,,,,,,,,,,,{ bonus bAspd,2; },{},{}
4843,Sharp4,Sharp4,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,14; bonus bHit,5; },{},{}
4844,Sharp5,Sharp5,6,20,,10,,,,,,,,,,,,,{ bonus bCritical,15; bonus bHit,6; },{},{}
4845,Sea_Energy,Strength Of Ocean,6,0,,0,,,,,,,,,,,,,{},{},{}
//4845,Cobble_Stone,Cobble Stone,6,20,,,,,,,,,,,,,,,{},{},{}
4846,2011val_Angel,Fully Loved Stone,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,10; bonus bMatk,10; },{},{}
4847,2011val_Devil,Spelled Stone,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,10; bonus bMatk,10; },{},{}
4848,Immuned1,Immune Lv1,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,5; },{},{}
4849,Cranial1,Crescent Lv1,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
4850,Heal_Amount3,Archbishop Lv2,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,6; bonus bUseSPrate,5; },{},{}
4851,Heal_Amount4,Archbishop Lv3,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,12; bonus bUseSPrate,10; },{},{}
4852,Heal_Amount5,Archbishop Lv4,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,20; bonus bUseSPrate,15; },{},{}
4853,S_STR,Special STR,6,20,,10,,,,,,,,,,,,,{ bonus bStr,1; .@r = getrefine(); if(.@r>7) { bonus bStr,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4854,S_AGI,Special AGI,6,20,,10,,,,,,,,,,,,,{ bonus bAgi,1; .@r = getrefine(); if(.@r>7) { bonus bAgi,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4855,S_VIT,Special VIT,6,20,,10,,,,,,,,,,,,,{ bonus bVit,1; .@r = getrefine(); if(.@r>7) { bonus bVit,3; } if(.@r>8) { bonus bMaxSPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4856,S_INT,Special INT,6,20,,10,,,,,,,,,,,,,{ bonus bInt,1; .@r = getrefine(); if(.@r>7) { bonus bInt,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4857,S_DEX,Special DEX,6,20,,10,,,,,,,,,,,,,{ bonus bDex,1; .@r = getrefine(); if(.@r>7) { bonus bDex,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4858,S_LUK,Special LUK,6,20,,10,,,,,,,,,,,,,{ bonus bLuk,1; .@r = getrefine(); if(.@r>7) { bonus bLuk,3; } if(.@r>8) { bonus bMaxHPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4859,Evasion1,Flee+1,6,20,,10,,,,,,,,,,,,,{ bonus bFlee,1; },{},{}
4860,Evasion3,Flee+3,6,20,,10,,,,,,,,,,,,,{ bonus bFlee,3; },{},{}
4861,MHP1,MaxHP+1%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,1; },{},{}
4862,MHP2,MaxHP+2%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,2; },{},{}
4863,Fatal1Lv,Fatal Lv1,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,4; bonus bCritical,1; },{},{}
4864,Fatal2Lv,Fatal Lv2,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,6; bonus bCritical,2; },{},{}
4865,Fatal3Lv,Fatal Lv3,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,8; bonus bCritical,3; },{},{}
4866,Fatal4Lv,Fatal Lv4,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,10; bonus bCritical,4; },{},{}
4867,MHP3,MaxHP+3%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,3; },{},{}
4868,MHP4,MaxHP+4%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,4; },{},{}
4869,DelayafterAttack1Lv,DelayAfterAttack Lv1,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,4; bonus bDelayrate,-4; },{},{}
4846,2011Valentin_Angel,Fully Loved Stone,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,10; bonus bMatk,10; },{},{}
4847,2011Valentin_Devil,Spelled Stone,6,20,,10,,,,,,,,,,,,,{ bonus bBaseAtk,10; bonus bMatk,10; },{},{}
4848,Immuned1,Immune Level 1,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,5; },{},{}
4849,Cranial1,Cranial Level 1,6,20,,10,,,,,,,,,,,,,{ bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
4850,Heal_Amount3,Heal Amount2,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,6; bonus bUseSPrate,5; },{},{}
4851,Heal_Amount4,Heal Amount3,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,12; bonus bUseSPrate,10; },{},{}
4852,Heal_Amount5,Heal Amount4,6,20,,10,,,,,,,,,,,,,{ bonus bHealPower,20; bonus bUseSPrate,15; },{},{}
4853,S_Str,Special Str,6,20,,10,,,,,,,,,,,,,{ bonus bStr,1; .@r = getrefine(); if(.@r>7) { bonus bStr,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4854,S_Agi,Special Agi,6,20,,10,,,,,,,,,,,,,{ bonus bAgi,1; .@r = getrefine(); if(.@r>7) { bonus bAgi,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4855,S_Vital,Special Vit,6,20,,10,,,,,,,,,,,,,{ bonus bVit,1; .@r = getrefine(); if(.@r>7) { bonus bVit,3; } if(.@r>8) { bonus bMaxSPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4856,S_Int,Special Int,6,20,,10,,,,,,,,,,,,,{ bonus bInt,1; .@r = getrefine(); if(.@r>7) { bonus bInt,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4857,S_Dex,Special Dex,6,20,,10,,,,,,,,,,,,,{ bonus bDex,1; .@r = getrefine(); if(.@r>7) { bonus bDex,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4858,S_Luck,Special Luk,6,20,,10,,,,,,,,,,,,,{ bonus bLuk,1; .@r = getrefine(); if(.@r>7) { bonus bLuk,3; } if(.@r>8) { bonus bMaxHPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; } },{},{}
4859,Evasion1,Evasion1,6,20,,10,,,,,,,,,,,,,{ bonus bFlee,1; },{},{}
4860,Evasion3,Evasion3,6,20,,10,,,,,,,,,,,,,{ bonus bFlee,3; },{},{}
4861,MHP1,MHP+1%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,1; },{},{}
4862,MHP2,MHP+2%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,2; },{},{}
4863,Fatal1,Fatal1Lv,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,4; bonus bCritical,1; },{},{}
4864,Fatal2,Fatal2Lv,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,6; bonus bCritical,2; },{},{}
4865,Fatal3,Fatal3Lv,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,8; bonus bCritical,3; },{},{}
4866,Fatal4,Fatal4Lv,6,10,,,,,,,,,,,,,,,{ bonus bCritAtkRate,10; bonus bCritical,4; },{},{}
4867,MHP3,MHP+3%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,3; },{},{}
4868,MHP4,MHP+4%,6,20,,10,,,,,,,,,,,,,{ bonus bMaxHPrate,4; },{},{}
4869,Attack_Delay_1,DelayafterAttack1Lv,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,4; bonus bDelayrate,-4; },{},{}
4870,SP25,SP+25,6,20,,10,,,,,,,,,,,,,{ bonus bMaxSP,25; },{},{}
4871,SP75,SP+75,6,20,,10,,,,,,,,,,,,,{ bonus bMaxSP,75; },{},{}
4872,DelayafterAttack2Lv,DelayAfterAttack Lv2,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,6; bonus bDelayrate,-6; },{},{}
4873,DelayafterAttack3Lv,DelayAfterAttack Lv3,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,8; bonus bDelayrate,-8; },{},{}
4875,Strength_of_Bear,Strength of Bear,6,20,,10,,,,,,,,,,,,,{ /*TODO: Confirm the rate*/ autobonus2 "{ bonus bStr,200; bonus2 bHPLossRate,500,1000; }",10,5000,BF_WEAPON,"{ active_transform 1060,5000; specialeffect2 EF_FIRESPLASHHIT; }"; },{},{ heal 0,-300; }
4872,Attack_Delay_2,DelayafterAttack2Lv,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,6; bonus bDelayrate,-6; },{},{}
4873,Attack_Delay_3,DelayafterAttack3Lv,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,8; bonus bDelayrate,-8; },{},{}
4875,Bear's_Power,Bear's Power,6,20,,10,,,,,,,,,,,,,{ autobonus2 "{ bonus bStr,200; bonus2 bHPLossRate,500,1000; }",20,5000,BF_WEAPON,"{ active_transform 1060,5000; specialeffect2 EF_POTION_BERSERK; showscript \"Bigfoot Power !\"; }"; },{},{}
4876,Runaway_Magic,Runaway Magic,6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bInt,200; bonus2 bSPLossRate,200,1000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_LAMADAN; }"; },{},{ heal 0,-2000; }
4877,Speed_of_Light,Speed of Light,6,20,,10,,,,,,,,,,,,,{ /*TODO: Confirm the rate*/ autobonus "{ bonus bAspdRate,100; bonus bFlee,100; bonus2 bHPLossRate,400,1000; bonus2 bSPLossRate,50,1000;}",10,5000,BF_WEAPON,"{ specialeffect2 EF_AGIUP2; }"; },{},{ heal 0,-300; }
4878,Muscular_Endurance,Muscular Endurance,6,20,,10,,,,,,,,,,,,,{ autobonus2 "{ bonus bDef,1000; bonus2 bAddRace,RC_All,-50; bonus bMatkRate,-50; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_GUARD3; }"; },{},{ heal 0,-300; }
4879,Hawk_Eye,Hawk Eye,6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bDex,200; bonus2 bSPLossRate,50,1000; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_BASH3D6; }"; },{},{ heal 0,-300; }
4878,Muscle_Fool,Muscle Fool,6,20,,10,,,,,,,,,,,,,{ autobonus2 "{ bonus bDef,1000; bonus2 bAddRace,RC_All,-50; bonus bMatkRate,-50; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_GUARD3; }"; },{},{ heal 0,-300; }
4879,Hawkeye,Hawkeye,6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bDex,200; bonus2 bSPLossRate,50,1000; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_BASH3D6; }"; },{},{ heal 0,-300; }
4880,Lucky_Day,Lucky Day,6,20,,10,,,,,,,,,,,,,{ autobonus "{ bonus bLuk,200; }",10,5000,BF_WEAPON|BF_MAGIC,"{ specialeffect2 EF_DANCE_BLADE_ATK; }"; },{},{ heal 0,-300; }
4881,DelayafterAttack4Lv,DelayAfterAttack Lv4,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,10; bonus bDelayrate,-10; },{},{}
4882,ATK_+_1%,ATK+1%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,1; },{},{}
4883,MATK_+_1%,MATK+1%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,1; },{},{}
4884,HIT_+_1,HIT+1,6,10,,,,,,,,,,,,,,,{ bonus bHit,1; },{},{}
4885,Spell_1,Spell 1,6,10,,,,,,,,,,,,,,,{ bonus bMatk,5; bonus bVariableCastrate,-3; },{},{}
4886,Spell_2,Spell 2,6,10,,,,,,,,,,,,,,,{ bonus bMatk,10; bonus bVariableCastrate,-3; },{},{}
4887,Spell_3,Spell 3,6,10,,,,,,,,,,,,,,,{ bonus bMatk,15; bonus bVariableCastrate,-3; },{},{}
4888,Spell_4,Spell 4,6,10,,,,,,,,,,,,,,,{ bonus bMatk,20; bonus bVariableCastrate,-3; },{},{}
4889,Spell_5,Spell 5,6,10,,,,,,,,,,,,,,,{ bonus bMatk,30; bonus bVariableCastrate,-5; },{},{}
4890,MDEF+1,MDEF+1,6,10,,,,,,,,,,,,,,,{ bonus bMdef,1; },{},{}
4891,MDEF+3,MDEF+3,6,10,,,,,,,,,,,,,,,{ bonus bMdef,3; },{},{}
4892,MDEF+5,MDEF+5,6,10,,,,,,,,,,,,,,,{ bonus bMdef,5; },{},{}
4893,DEF+15,DEF+15,6,10,,,,,,,,,,,,,,,{ bonus bMdef,15; },{},{}
4894,ATK_+_4%,ATK+4%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,4; },{},{}
4895,ATK_+_5%,ATK+5%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,5; },{},{}
4896,MATK_+_2%,MATK+2%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,2; },{},{}
4897,MATK_+_3%,MATK+3%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,3; },{},{}
4898,MATK_+_4%,MATK+4%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,4; },{},{}
4899,MATK_+_5%,MATK+5%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,5; },{},{}
4900,MHP+5%,MaxHP+5%,6,10,,,,,,,,,,,,,,,{ bonus bMaxHPrate,5; },{},{}
4902,DEF+18,DEF+18,6,10,,,,,,,,,,,,,,,{ bonus bDef,18; },{},{}
4903,DEF+21,DEF+21,6,10,,,,,,,,,,,,,,,{ bonus bDef,21; },{},{}
4904,ATK_+_6%,ATK+6%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,6; },{},{}
4905,ATK_+_7%,ATK+7%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,7; },{},{}
4906,MATK_+_6,MATK+6,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,6; },{},{}
4907,MATK_+_7%,MATK+7%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,7; },{},{}
4908,Essence_of_Evil_STR1,Essence of Evil STR1,6,20,,10,,,,,,,,,,,,,{ bonus bStr,1; bonus bBaseAtk,3; bonus bInt,-1;},{},{}
4909,Essence_of_Evil_STR2,Essence of Evil STR2,6,20,,10,,,,,,,,,,,,,{ bonus bStr,2; bonus bBaseAtk,6; bonus bInt,-2;},{},{}
4910,Essence_of_Evil_STR3,Essence of Evil STR3,6,20,,10,,,,,,,,,,,,,{ bonus bStr,4; bonus bBaseAtk,12; bonus bInt,-4;},{},{}
4911,Essence_of_Evil_INT1,Essence of Evil INT1,6,20,,10,,,,,,,,,,,,,{ bonus bInt,1; bonus bMatk,3; bonus bStr,-1;},{},{}
4912,Essence_of_Evil_INT2,Essence of Evil INT2,6,20,,10,,,,,,,,,,,,,{ bonus bInt,2; bonus bMatk,6; bonus bStr,-2;},{},{}
4913,Essence_of_Evil_INT3,Essence of Evil INT3,6,20,,10,,,,,,,,,,,,,{ bonus bInt,4; bonus bMatk,12; bonus bStr,-4;},{},{}
4914,Essence_of_Evil_AGI1,Essence of Evil AGI1,6,20,,10,,,,,,,,,,,,,{ bonus bAgi,1; bonus bFlee,2; bonus bVit,-1;},{},{}
4915,Essence_of_Evil_AGI2,Essence of Evil AGI2,6,20,,10,,,,,,,,,,,,,{ bonus bAgi,2; bonus bFlee,4; bonus bVit,-2;},{},{}
4916,Essence_of_Evil_AGI3,Essence of Evil AGI3,6,20,,10,,,,,,,,,,,,,{ bonus bAgi,4; bonus bFlee,8; bonus bVit,-4;},{},{}
4917,Essence_of_Evil_VIT1,Essence of Evil VIT1,6,20,,10,,,,,,,,,,,,,{ bonus bVit,1; bonus bDef,3; bonus bMdef,2; bonus bAgi,-1;},{},{}
4918,Essence_of_Evil_VIT2,Essence of Evil VIT2,6,20,,10,,,,,,,,,,,,,{ bonus bVit,2; bonus bDef,6; bonus bMdef,4; bonus bAgi,-2;},{},{}
4919,Essence_of_Evil_VIT3,Essence of Evil VIT3,6,20,,10,,,,,,,,,,,,,{ bonus bVit,4; bonus bDef,12; bonus bMdef,8; bonus bAgi,-4;},{},{}
4920,Essence_of_Evil_DEX1,Essence of Evil DEX1,6,20,,10,,,,,,,,,,,,,{ bonus bDex,1; bonus bHit,2; bonus bLuk,-1;},{},{}
4921,Essence_of_Evil_DEX2,Essence of Evil DEX2,6,20,,10,,,,,,,,,,,,,{ bonus bDex,2; bonus bHit,4; bonus bLuk,-2;},{},{}
4922,Essence_of_Evil_DEX3,Essence of Evil DEX3,6,20,,10,,,,,,,,,,,,,{ bonus bDex,4; bonus bHit,8; bonus bLuk,-4;},{},{}
4923,Essence_of_Evil_LUK1,Essence of Evil LUK1,6,20,,10,,,,,,,,,,,,,{ bonus bLuk,1; bonus bCritical,1; bonus bDex,-1;},{},{}
4924,Essence_of_Evil_LUK2,Essence of Evil LUK2,6,20,,10,,,,,,,,,,,,,{ bonus bLuk,2; bonus bCritical,2; bonus bDex,-2;},{},{}
4925,Essence_of_Evil_LUK3,Essence of Evil LUK3,6,20,,10,,,,,,,,,,,,,{ bonus bLuk,4; bonus bCritical,4; bonus bDex,-4;},{},{}
4926,Critical_Lv1,Critical Lv1,6,10,,,,,,,,,,,,,,,{ bonus bCritical,1; },{},{}
4927,MaxHP+50,MaxHP+50,6,10,,,,,,,,,,,,,,,{ bonus bMaxHP,50; },{},{}
4928,MaxSP+10,MaxSP+10,6,10,,,,,,,,,,,,,,,{ bonus bMaxSP,10; },{},{}
4929,MSP+1%,MaxSP+1%,6,10,,,,,,,,,,,,,,,{ bonus bMaxSPrate,1; },{},{}
4930,Increase_Recovery,Increase Recovery,6,10,,0,,,,,,,,,,,,,{ bonus bHPrecovRate,2; bonus bSPrecovRate,2; },{},{}
4931,Healing_10,Healing 10,6,10,,,,,,,,,,,,,,,{ bonus2 bHPRegenRate,10,10000; },{},{}
4932,SP_Recovery_1,SP Recovery 1,6,10,,,,,,,,,,,,,,,{ bonus bSPGainValue,1; },{},{}
4933,Neutral_Properties_Lv1,Neutral Properties Lv1,6,10,,,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,1; },{},{}
4934,Neutral_Properties_Lv2,Neutral Properties Lv2,6,10,,,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,2; },{},{}
4935,Neutral_Properties_Lv3,Neutral Properties Lv3,6,10,,,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,3; },{},{}
4936,Large_Size_Attack_1,Large Size Attack 1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddSize,Size_Large,1; },{},{}
4937,Medium_Size_Attack_1,Medium Size Attack 1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddSize,Size_Medium,1; },{},{}
4938,Small_Size_Attack_1,Small Size Attack 1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddSize,Size_Small,1; },{},{}
4939,Critical_Lv2,Critical Lv2,6,10,,,,,,,,,,,,,,,{ bonus bCritical,2; },{},{}
4940,Cricital_Lv3,Critical Lv3,6,10,,,,,,,,,,,,,,,{ bonus bCritical,4; },{},{}
4941,Critical_Lv4,Critical Lv4,6,10,,,,,,,,,,,,,,,{ bonus bCritical,6; },{},{}
4942,Shedding_Lv1,Shedding Lv1,6,10,,,,,,,,,,,,,,,{ bonus bFlee2,2; },{},{}
4943,Shedding_Lv2,Shedding Lv2,6,10,,,,,,,,,,,,,,,{ bonus bFlee2,4; },{},{}
4944,Shedding_Lv3,Shedding Lv3,6,10,,,,,,,,,,,,,,,{ bonus bFlee2,5; },{},{}
4945,Saving_Lv1,Saving Lv1,6,10,,,,,,,,,,,,,,,{ bonus bUseSPrate,-2; },{},{}
4946,Saving_Lv2,Saving Lv2,6,10,,,,,,,,,,,,,,,{ bonus bUseSPrate,-4; },{},{}
4947,Saving_Lv3,Saving Lv3,6,10,,,,,,,,,,,,,,,{ bonus bUseSPrate,-6; },{},{}
4948,Delay_After_Skill_Lv1,Delay After Skill Lv1,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-2; },{},{}
4949,Delay_After_Skill_Lv2,Delay After Skill Lv2,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-4; },{},{}
4950,Delay_After_Skill_Lv3,Delay After Skill Lv3,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-6; },{},{}
4881,Attack_Delay_4,Attack Delay 4,6,10,,,,,,,,,,,,,,,{ bonus bAspdRate,10; bonus bDelayrate,-10; },{},{}
4882,Atk1p,ATK + 1%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,1; },{},{}
4883,Matk1p,MATK + 1%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,1; },{},{}
4884,Hit1_,HIT + 1,6,10,,,,,,,,,,,,,,,{ bonus bHit,1; },{},{}
4885,Conjure1,Spell 1,6,10,,,,,,,,,,,,,,,{ bonus bMatk,5; bonus bVariableCastrate,-3; },{},{}
4886,Conjure2,Spell 2,6,10,,,,,,,,,,,,,,,{ bonus bMatk,10; bonus bVariableCastrate,-3; },{},{}
4887,Conjure3,Spell 3,6,10,,,,,,,,,,,,,,,{ bonus bMatk,15; bonus bVariableCastrate,-3; },{},{}
4888,Conjure4,Spell 4,6,10,,,,,,,,,,,,,,,{ bonus bMatk,20; bonus bVariableCastrate,-3; },{},{}
4889,Conjure5,Spell 5,6,10,,,,,,,,,,,,,,,{ bonus bMatk,30; bonus bVariableCastrate,-5; },{},{}
4890,Mdef1,MDEF+1,6,10,,,,,,,,,,,,,,,{ bonus bMdef,1; },{},{}
4891,Mdef3,MDEF+3,6,10,,,,,,,,,,,,,,,{ bonus bMdef,3; },{},{}
4892,Mdef5,MDEF+5,6,10,,,,,,,,,,,,,,,{ bonus bMdef,5; },{},{}
4893,Def15,DEF+15,6,10,,,,,,,,,,,,,,,{ bonus bMdef,15; },{},{}
4894,Atk4p,ATK + 4%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,4; },{},{}
4895,Atk5p,ATK + 5%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,5; },{},{}
4896,Matk2p,MATK + 2%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,2; },{},{}
4897,Matk3p,MATK + 3%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,3; },{},{}
4898,Matk4p,MATK + 4%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,4; },{},{}
4899,Matk5p,MATK + 5%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,5; },{},{}
4900,MHP5,MHP+5%,6,10,,,,,,,,,,,,,,,{ bonus bMaxHPrate,5; },{},{}
4902,Def18,DEF+18,6,10,,,,,,,,,,,,,,,{ bonus bDef,18; },{},{}
4903,Def21,DEF+21,6,10,,,,,,,,,,,,,,,{ bonus bDef,21; },{},{}
4904,Atk6p,ATK + 6%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,6; },{},{}
4905,Atk7p,ATK + 7%,6,10,,,,,,,,,,,,,,,{ bonus bAtkRate,7; },{},{}
4906,Matk6p,MATK + 6,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,6; },{},{}
4907,Matk7p,MATK + 7%,6,10,,,,,,,,,,,,,,,{ bonus bMatkRate,7; },{},{}
4908,Force1,Darklord Essence Force1,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bStr,1; bonus bBaseAtk,3; bonus bInt,-1;},{},{}
4909,Force2,Darklord Essence Force2,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bStr,2; bonus bBaseAtk,6; bonus bInt,-2;},{},{}
4910,Force3,Darklord Essence Force3,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bStr,4; bonus bBaseAtk,12; bonus bInt,-4;},{},{}
4911,Intellect1,Darklord Essence Intelligence1,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bInt,1; bonus bMatk,3; bonus bStr,-1;},{},{}
4912,Intellect2,Darklord Essence Intelligence2,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bInt,2; bonus bMatk,6; bonus bStr,-2;},{},{}
4913,Intellect3,Darklord Essence Intelligence3,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bInt,4; bonus bMatk,12; bonus bStr,-4;},{},{}
4914,Swiftness1,Darklord Essence Speed1,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bAgi,1; bonus bFlee,2; bonus bVit,-1;},{},{}
4915,Swiftness2,Darklord Essence Speed2,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bAgi,2; bonus bFlee,4; bonus bVit,-2;},{},{}
4916,Swiftness3,Darklord Essence Speed3,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bAgi,4; bonus bFlee,8; bonus bVit,-4;},{},{}
4917,Tough1,Darklord Essence Vitality1,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bVit,1; bonus bDef,3; bonus bMdef,2; bonus bAgi,-1;},{},{}
4918,Tough2,Darklord Essence Vitality2,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bVit,2; bonus bDef,6; bonus bMdef,4; bonus bAgi,-2;},{},{}
4919,Tough3,Darklord Essence Vitality3,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bVit,4; bonus bDef,12; bonus bMdef,8; bonus bAgi,-4;},{},{}
4920,Artful1,Darklord Essence Concentration1,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bDex,1; bonus bHit,2; bonus bLuk,-1;},{},{}
4921,Artful2,Darklord Essence Concentration2,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bDex,2; bonus bHit,4; bonus bLuk,-2;},{},{}
4922,Artful3,Darklord Essence Concentration3,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bDex,4; bonus bHit,8; bonus bLuk,-4;},{},{}
4923,Fortune1,Darklord Essence Luck1,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bLuk,1; bonus bCritical,1; bonus bDex,-1;},{},{}
4924,Fortune2,Darklord Essence Luck2,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bLuk,2; bonus bCritical,2; bonus bDex,-2;},{},{}
4925,Fortune3,Darklord Essence Luck3,6,20,,10,,,,,0xFFFFFFFF,63,2,1021,,,,,{ bonus bLuk,4; bonus bCritical,4; bonus bDex,-4;},{},{}
4926,Critical_Lv1,Cri 1Lv,6,10,,,,,,,,,,,,,,,{ bonus bCritical,1; },{},{}
4927,HP50,MaxHP50,6,10,,,,,,,,,,,,,,,{ bonus bMaxHP,50; },{},{}
4928,SP10,MaxSP+10,6,10,,,,,,,,,,,,,,,{ bonus bMaxSP,10; },{},{}
4929,MSP1,MSP+1%,6,10,,,,,,,,,,,,,,,{ bonus bMaxSPrate,1; },{},{}
4930,HEAL2,Recovery UP,6,10,,0,,,,,,,,,,,,,{ bonus bHPrecovRate,2; bonus bSPrecovRate,2; },{},{}
4931,HEALHP1,Heal 10,6,10,,,,,,,,,,,,,,,{ bonus2 bHPRegenRate,10,10000; },{},{}
4932,HEALSP1,SP recovery1,6,10,,,,,,,,,,,,,,,{ bonus bSPGainValue,1; },{},{}
4933,Tolerance_Not1,Neutral Resistance Lv1,6,10,,,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,1; },{},{}
4934,Tolerance_Not2,Neutral Resistance Lv2,6,10,,,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,2; },{},{}
4935,Tolerance_Not3,Neutral Resistance Lv3,6,10,,,,,,,,,,,,,,,{ bonus2 bSubEle,Ele_Neutral,3; },{},{}
4936,ATK_BIG1,Attack big1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddSize,Size_Large,1; },{},{}
4937,ATK_MEDIUM1,Attack mid1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddSize,Size_Medium,1; },{},{}
4938,ATK_SMALL1,Attack small1,6,20,,10,,,,,,,,,,,,,{ bonus2 bAddSize,Size_Small,1; },{},{}
4939,Critical2,CRI Lv2,6,10,,,,,,,,,,,,,,,{ bonus bCritical,2; },{},{}
4940,Cricital3,CRI Lv3,6,10,,,,,,,,,,,,,,,{ bonus bCritical,4; },{},{}
4941,Critical4,CRI Lv4,6,10,,,,,,,,,,,,,,,{ bonus bCritical,6; },{},{}
4942,Dodge1,Parrying Lv1,6,10,,,,,,,,,,,,,,,{ bonus bFlee2,2; },{},{}
4943,Dodge2,Parrying Lv2,6,10,,,,,,,,,,,,,,,{ bonus bFlee2,4; },{},{}
4944,Dodge3,Parrying Lv3,6,10,,,,,,,,,,,,,,,{ bonus bFlee2,5; },{},{}
4945,Thrift1,Economy Lv1,6,10,,,,,,,,,,,,,,,{ bonus bUseSPrate,-2; },{},{}
4946,Thrift2,Economy Lv2,6,10,,,,,,,,,,,,,,,{ bonus bUseSPrate,-4; },{},{}
4947,Thrift3,Economy Lv3,6,10,,,,,,,,,,,,,,,{ bonus bUseSPrate,-6; },{},{}
4948,Skill_Delay1,After Skill Delay Lv1,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-2; },{},{}
4949,Skill_Delay2,After Skill Delay Lv2,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-4; },{},{}
4950,Skill_Delay3,After Skill Delay Lv3,6,10,,,,,,,,,,,,,,,{ bonus bDelayrate,-6; },{},{}
//===================================================================
// More Headgears
//===================================================================
@ -3906,7 +3905,7 @@
5785,Green_Bunny_Hairband,Green Bunny Hairband,4,20,,200,,0,,0,0xFFFFFFFF,63,2,256,,1,1,664,{ bonus bStr,2; bonus bInt,1; bonus bDex,1; },{},{}
5786,Ancient_Elven_Ear,Ancient Elven Ear,4,10,,200,,1,,0,0xFFFFFFFF,63,2,512,,1,0,665,{ bonus bLuk,1; bonus bMaxHP,100; bonus bMaxSP,30; },{},{}
5787,Tha_Maero_Mask,Tha Maero Mask,4,20,,100,,0,,0,0xFFFFFFFF,63,2,513,,30,0,666,{ bonus bMdef,2; },{},{}
5788,3D_Glasses,3D Glasses,4,20,,100,,1,,0,0xFFFFFFFF,63,2,512,,1,0,661,{ .@eac = eaclass()&EAJ_BASEMASK; if((.@eac==EAJ_SWORDMAN) || (.@eac==EAJ_MERCHANT) || (.@eac==EAJ_ARCHER) || (.@eac==EAJ_GUNSLINGER)) bonus bAtkRate,3; if((Class==Job_Soul_Linker) || (.@eac==EAJ_MAGE) || (.@eac==EAJ_NINJA)) bonus bMatkRate,3; if(.@eac==EAJ_THIEF) bonus bFleeRate,3; if((.@eac==EAJ_NOVICE) || (.@eac==EAJ_TAEKWON) || (Class==Job_Star_Gladiator) || (Class=Job_Star_Gladiator2)) bonus bMaxHPrate,3; bonus bMaxSPrate,3; },{},{}
5788,3D_Glasses,3D Glasses,4,20,,100,,1,,0,0xFFFFFFFF,63,2,512,,1,0,661,{ .@eac = eaclass()&EAJ_BASEMASK; if((.@eac==EAJ_SWORDMAN) || (.@eac==EAJ_MERCHANT) || (.@eac==EAJ_ARCHER) || (.@eac==EAJ_GUNSLINGER)) bonus bAtkRate,3; if((Class==Job_Soul_Linker) || (.@eac==EAJ_MAGE) || (.@eac==EAJ_NINJA)) bonus bMatkRate,3; if(.@eac==EAJ_THIEF) bonus bFleeRate,3; if((.@eac==EAJ_NOVICE) || (.@eac==EAJ_TAEKWON) || (Class==Job_Star_Gladiator) || (Class==Job_Star_Gladiator2)) bonus bMaxHPrate,3; bonus bMaxSPrate,3; },{},{}
5789,Thanatos_Mal_Mask,Thanatos Mal Mask,4,20,,100,,3,,0,0xFFFFFFFF,63,2,513,,30,0,667,{ bonus bVit,1; },{},{}
5790,Holy_Mom_Love,TM,4,20,,500,,0,,1,0xFFFFFFFF,63,2,768,,45,1,610,{ bonus2 bSubRace,RC_Demon,-5; bonus2 bSubRace,RC_Undead,-5; bonus3 bAutoSpell,"MG_COLDBOLT",1,20; },{},{}
5791,Tenkaippin_Ramen,Tenkaippin Ramen,4,20,,500,,1,,0,0xFFFFFFFF,63,2,256,,30,0,668,{ bonus bInt,-1; bonus bDex,4; },{},{}
@ -7242,7 +7241,7 @@
13122,Altea_and_Ares,Altea & Ares,5,1450000,,1000,200,,9,0,0x40000000,63,2,34,3,140,1,17,{ bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30; },{},{}
13124,Altea_and_Ares_,Altea & Ares,5,1450000,,1000,200,,9,1,0x40000000,63,2,34,3,140,1,17,{ bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30; },{},{}
13125,Metal_Revolver,Metal Revolver,5,0,,0,30,,7,1,0x41000000,63,2,34,3,1,0,17,{ bonus bBaseAtk,getrefine(); bonus bLongAtkRate,1; if (BaseLevel >= 20 && BaseLevel <= 120) { bonus bBaseAtk,3*(BaseLevel/10); } },{},{}
13126,Infinity_Pistol,Infinity Pistol,5,10,,500,175,,7,1,0x41000000,63,2,34,4,100,0,17,{},{},{}
13126,Infinity_Pistol,Infinity Pistol,5,10,,500,175,,7,1,0x40000000,63,2,34,4,100,0,17,{},{},{}
13127,Crimson_Revolver,Crimson Revolver,5,20,,1000,100,,7,2,0x41000000,63,2,34,3,70,1,17,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
//===================================================================
// Guns
@ -7404,8 +7403,8 @@
13317,TE_Woe_Huuma,TE Woe Huuma,5,0,,0,80:100,,1,0,0x22000000,63,2,2,3,40,1,22,{ bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Bleeding,3000; },{},{}
13321,Half_BF_Huuma_Shuriken2,Half BF Huuma Shuriken,5,20,,0,55,,1,0,0x02000000,63,2,34,3,80,1,22,{ bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,40; bonus2 bAddRace,RC_Player,40; autobonus "{ bonus2 bSkillAtk,\"NJ_HUUMA\",100; bonus2 bSkillAtk,\"NJ_ISSEN\",100; }",50,10000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon,1; },{},{}
13322,Huuma_Metal_Shuriken,Huuma Metal Shuriken,5,20,,0,50,,1,1,0x02000000,63,2,34,3,1,1,22,{ bonus bUnbreakableWeapon,1; .@r = getrefine(); bonus bBaseAtk,.@r*5; bonus bMatk,.@r*3; if(.@r>=2) bonus bNearAtkDef,1*.@r/2; if (BaseLevel >= 20 && BaseLevel <= 120) bonus bBaseAtk,3*.@r/10; },{},{}
13323,Infinity_Shuriken,Infinity Shuriken,5,0,,500,150:40,,1,1,0x02000000,63,2,34,4,100,1,22,{},{},{}
13327,Crimson_Huuma_Shuriken,Crimson Huuma Shuriken,5,20,,1000,100,,1,2,0x02000000,63,2,34,3,70,1,22,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225); },{},{}
13323,Infinity_Shuriken,Infinity Shuriken,5,0,,500,150:40,,1,1,0x20000000,63,2,34,4,100,1,22,{},{},{}
13327,Crimson_Huuma_Shuriken,Crimson Huuma Shuriken,5,20,,1000,100,,1,2,0x22000000,63,2,34,3,70,1,22,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225); },{},{}
13328,Huuma_Shuriken_of_Vicious_Mind,Huuma Shuriken of Vicious Mind,5,20,,1500,150:50,,1,1,0x22000000,63,2,34,4,160,1,22,{ bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; bonus bUnbreakableWeapon,1; },{},{}
//===================================================================
// More 1-Handed Swords
@ -7456,7 +7455,7 @@
13450,Saber__,Saber,5,10,,1000,115,,,2,0x000654E2,63,2,2,3,27,1,0,{},{},{}
13451,Blue_Sword,Blue Sword,5,10,,1200,190,,1,1,0x00000080,56,2,2,3,100,1,2,{ bonus bStr,5; bonus bAgi,5; },{},{}
13452,Ru_Gold_Sword,Ru Gold Sword,5,0,,1200,190,,1,2,0x00000080,56,2,2,3,120,1,2,{ bonus bStr,8; bonus bAgi,8; },{},{}
13454,Crimson_Saber,Crimson Saber,5,20,,850,85,,1,2,0x00000063,56,2,2,3,70,1,2,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
13454,Crimson_Saber,Crimson Saber,5,20,,850,85,,1,2,0x000654E3,56,2,2,3,70,1,2,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
13455,Saber_of_Vicious_Mind,Saber of Vicious Mind,5,20,,1350,135,,1,1,0x000654E3,63,2,2,4,160,1,2,{ bonus bAtk,pow(min(getrefine(),15),2); },{},{}
//===================================================================
// More Cash Shop Items
@ -8685,9 +8684,9 @@
16035,Half_BF_Morning_Star1,Half BF Morning Star1,5,20,,0,105,,1,0,0x0004C5B3,63,2,2,3,80,1,8,{ bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player,10; bonus bUnbreakableWeapon,1; },{},{}
16036,Blue_Mace,Blue Mace,5,10,,1500,170,,1,1,0x00008000,56,2,2,3,100,1,8,{ bonus bVit,5; bonus bInt,5; },{},{}
16037,Ru_Gold_Mace,Ru Gold Mace,5,0,,1500,170,,1,2,0x00008000,56,2,2,3,120,1,8,{ bonus bVit,8; bonus bInt,8; },{},{}
16038,Infinity_Mace,Infinity Mace,5,10,,500,155,,1,1,0x00000032,40,2,2,4,100,1,8,{},{},{}
16039,Spoon,Spoon,5,10,,1000,80,,1,1,0x00000033,63,2,2,3,40,1,8,{ bonus bAspd,10; bonus2 bAddEff,Eff_Curse,1000; },{},{}
16040,Crimson_Mace,Crimson Mace,5,20,,800,80,,1,2,0x00000033,63,2,2,3,70,1,8,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
16038,Infinity_Mace,Infinity Mace,5,10,,500,155,,1,1,0x0004C780,56,2,2,4,100,1,8,{},{},{}
16039,Spoon,Spoon,5,10,,1000,80,,1,1,0x0004C5B3,63,2,2,3,40,1,8,{ bonus bAspd,10; bonus2 bAddEff,Eff_Curse,1000; },{},{}
16040,Crimson_Mace,Crimson Mace,5,20,,800,80,,1,2,0x0004C5B3,63,2,2,3,70,1,8,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
16041,Mace_of_Vicious_Mind,Mace of Vicious Mind,5,20,,1300,130,,1,1,0x0004C5B3,63,2,2,4,160,1,8,{ bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,1; },{},{}
16043,Meteor_Strike,Meteor Strike,5,0,,20000,1,,1,2,0x00000001,63,2,2,4,110,1,8,{ bonus bBaseAtk,10*getskilllv("BS_WEAPONRESEARCH"); bonus bBaseAtk,30*getskilllv("MO_IRONHAND"); .@s = getskilllv("AM_AXEMASTERY"); bonus bBaseAtk,7*.@s; bonus bHit,5*.@s; bonus bBaseAtk,10*getrefine(); if (getskilllv("MC_PUSHCART") > 9) skill "MC_CARTREVOLUTION",1; if (getskilllv("SM_SWORD") > 0) skill "KN_BOWLINGBASH",1; .@str = readparam(bStr); if (.@str > 119) bonus bUseSPrate,-30; else if (.@str > 107) bonus bUseSPrate,-20; },{},{}
16051,Valkyrie_Hammer,Valkyrie Hammer,5,0,,100,50,,1,4,0x0004C3B3,63,2,2,1,70,1,8,{ if ((eaclass()&EAJ_BASEMASK) == EAJ_NOVICE) { bonus bUseSPrate,-5; .@r = getrefine(); bonus bVit,.@r; bonus bMaxHP,200; bonus bFlee2,1; bonus bAspdRate,1; bonus bVariableCast,.@r/2; } else if ((eaclass()&EAJ_BASEMASK) == EAJ_SWORDMAN) { bonus bVit,getrefine(); bonus bMaxHP,500; bonus bMaxSP,100; } else if ((eaclass()&EAJL_2) == EAJ_PRIEST) { bonus bBaseAtk,50; bonus bMatk,100; bonus bAspdRate,getrefine(); } else if ((eaclass()&EAJL_2) == EAJ_MONK) { bonus bMaxSP,200; bonus bUseSPrate,-5; bonus bFlee2,getrefine(); } else if ((eaclass()&EAJ_BASEMASK) == EAJ_MERCHANT) { bonus bBaseAtk,100; bonus bHit,10; bonus bVariableCast,getrefine()/2; } },{},{}
@ -9417,8 +9416,8 @@
18125,Arcus_Daemonicus,Arcus Daemonicus,5,20,,1000,130,,5,2,0x00020008,63,2,34,4,80,1,11,{ /*Fix me: bonus bAtkRate,50; when equipped with shadow arrows*/ if(getrefine()>9){ bonus bAspd,1; bonus bUseSPrate,-20; } },{},{}
18126,Blue_Bow,Blue Bow,5,10,,1200,150,,5,1,0x00000800,56,2,2,3,100,1,11,{ bonus bAgi,5; bonus bDex,5; },{},{}
18127,Ru_Gold_Bow,Ru Gold Bow,5,0,,1200,150,,5,2,0x00000800,56,2,34,3,120,1,11,{ bonus bAgi,8; bonus bDex,8; },{},{}
18128,Infinity_Bow,Infinity Bow,5,20,,500,160,,5,1,0x00020048,63,2,34,4,100,1,11,{},{},{}
18130,Crimson_Bow,Crimson Bow,5,20,,1200,120,,5,2,0x00080048,63,2,34,3,70,1,11,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
18128,Infinity_Bow,Infinity Bow,5,20,,500,160,,5,1,0x00020800,56,2,34,4,100,1,11,{},{},{}
18130,Crimson_Bow,Crimson Bow,5,20,,1200,120,,5,2,0x000A0848,63,2,34,3,70,1,11,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); },{},{}
18137,Burning_Bow_,Burning Bow,5,20,,1400,95,,5,2,0x000A0808,63,2,34,3,55,1,11,{ bonus2 bSubEle,Ele_Fire,10; },{},{}
18138,Frozen_Bow_,Frozen Bow,5,20,,1400,100,,5,2,0x000A0808,63,2,34,3,55,1,11,{ bonus2 bAddEff,Eff_Freeze,1000; },{},{}
18139,Earth_Bow_,Earth Bow,5,20,,1400,105,,5,2,0x000A0808,63,2,34,3,55,1,11,{},{},{}
@ -10771,8 +10770,8 @@
21011,Gigantic_Blade,Gigantic Blade,5,10,,5000,300,,1,1,0x00004082,56,2,2,4,130,1,3,{ bonus bUnbreakableWeapon,1; bonus bAspdRate,-5; if(readparam(bStr)<=110){ bonus bBaseAtk,-250; } },{},{}
21012,Some_Wizard_MagicSword,Some Wizard MagicSword,5,0,,2200,200:150,,1,2,0x00000080,56,2,34,4,110,1,3,{},{},{}
21013,Hetairoi_Sword,Hetairoi Sword,5,0,,2200,210,,1,2,0x00000080,56,2,34,4,110,1,3,{ bonus2 bSkillUseSP,"KN_AUTOCOUNTER",2; bonus2 bSkillUseSP,"LK_PARRYING",25; },{},{}
21014,Infinity_Two-Handed_Sword,Infinity Two-Handed Sword,5,20,,500,230,,1,1,0x00000002,63,2,34,4,100,1,3,{},{},{}
21015,Crimson_Two-Handed_Sword,Crimson Two-Handed Sword,5,20,,1700,170,,1,2,0x00000002,63,2,34,3,70,1,3,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225); },{},{}
21014,Infinity_Two-Handed_Sword,Infinity Two-Handed Sword,5,20,,500,230,,1,1,0x00004082,56,2,34,4,100,1,3,{},{},{}
21015,Crimson_Two-Handed_Sword,Crimson Two-Handed Sword,5,20,,1700,170,,1,2,0x00004082,63,2,34,3,70,1,3,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225); },{},{}
21016,Two_Handed_Sword_of_Vicious_Mind,Two-Handed Sword of Vicious Mind,5,20,,2200,220,,1,1,0x00004082,63,2,34,4,160,1,3,{ bonus bAtk,pow(min(getrefine(),15),2); },{},{}
21018,Lindy_Hop,Lindy Hop,5,20,,3400,340,,1,2,0x00000002,40,2,34,4,170,1,3,{ .@r = getrefine(); bonus bAtkRate,(.@r/2); bonus bAspdRate,.@r; },{},{}
21019,Onimaru,Onimaru,5,0,,4200,75,,1,2,0x00000080,56,2,34,4,130,1,3,{ .@bstr = readparam(bStr); .@r = getrefine(); bonus bBaseAtk,(min(120,.@bstr)); if (.@bstr > 119) bonus bBaseAtk,160; else if (.@bstr > 107) bonus bBaseAtk,80; else if (.@bstr > 94) bonus bBaseAtk,40; if (.@r > 6) bonus bUnbreakableWeapon,1; bonus4 bAutoSpell,"NPC_WIDECURSE",4,100,0; if (.@r > 8) bonus4 bAutoSpellOnSkill,"LK_BERSERK","BS_OVERTHRUST",5,100; },{},{}
@ -11051,222 +11050,222 @@
//===================================================================
// Shadow Equipments
//===================================================================
24000,T_STR1_Armor_Shadow,T STR1 Armor Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,,,{ bonus bStr,1; },{},{}
24001,T_DEX1_Weapon_Shadow,T DEX1 Weapon Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,,,{ bonus bDex,1; },{},{}
24002,T_LUK1_Shield_Shadow,T LUK1 Shield Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,,,{ bonus bLuk,1; },{},{}
24003,T_AGI1_Shoes_Shadow,T AGI1 Shoes Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,,,{ bonus bAgi,1; },{},{}
24004,T_VIT1_Earrings_Shadow(R),T VIT1 Earrings Shadow(R),12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,,,{ bonus bVit,1; },{},{}
24005,T_INT1_Pendant_Shadow(L),T INT1 Pendant Shadow(L),12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,,,{ bonus bInt,1; },{},{}
24006,T_STR2_Armor_Shadow,T STR2 Armor Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,30,,,{ bonus bStr,2; },{},{}
24007,T_DEX2_Weapon_Shadow,T DEX2 Weapon Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,30,,,{ bonus bDex,2; },{},{}
24008,T_LUK2_Shield_Shadow,T LUK2 Shield Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,60,,,{ bonus bLuk,2; },{},{}
24009,T_AGI2_Shoes_Shadow,T AGI2 Shoes Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,90,,,{ bonus bAgi,2; },{},{}
24010,T_VIT2_Earrings_Shadow(R),T VIT2 Earrings Shadow(R),12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,120,,,{ bonus bVit,2; },{},{}
24011,T_INT2_Pendant_Shadow(L),T INT2 Pendant Shadow(L),12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,150,,,{ bonus bInt,2; },{},{}
24012,Promotional_Weapon_Shadow,Promotional Weapon Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,,,{ bonus bDex,1; },{},{}
24013,Promotional_Armor_Shadow,Promotional Armor Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,,,{ bonus bLuk,1; },{},{}
24014,Promotional_Shoes_Shadow,Promotional Shoes Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,,,{ bonus bAgi,1; },{},{}
24015,Promotional_Shield_Shadow,Promotional Shield Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,,,{ bonus bVit,1; },{},{}
24016,Promotional_Earrings_Shadow,Promotional Earrings Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,,,{ bonus bInt,1; },{},{}
24017,Promotional_Pendant_Shadow,Promotional Pendant Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,,,{ bonus bStr,1; },{},{}
24018,Shadow_Physical_Earring,Shadow Physical Earring,12,10,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bAspdRate,(getrefine()>=7)?2:1; },{},{}
24019,Shadow_Physical_Weapon,Shadow Physical Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bBaseAtk,10; if(getrefine()>=7) { bonus bAtkRate,1; } },{},{}
24020,Shadow_Physical_Pendant,Shadow Physical Pendant,12,10,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bMaxHP,100; if(getrefine()>=7) { bonus bMaxHPrate,1; } },{},{}
24021,Shadow_Magical_Earring,Shadow Magical Earring,12,10,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bVariableCastrate,-(getrefine()>=7)?2:1; },{},{}
24022,Shadow_Magical_Weapon,Shadow Magical Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bMatk,10; if(getrefine()>=7) { bonus bMatkRate,1; } },{},{}
24023,Shadow_Magical_Pendant,Shadow Magical Pendant,12,10,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bMaxSP,50; if(getrefine()>=7) { bonus bMaxSPrate,1; } },{},{}
24024,Shadow_Breeze_Armor,Shadow Breeze Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,,,{ bonus bFlee,5+(getrefine()>=7 ? 10 : 0); },{},{}
24025,Shadow_Champion_Shoes,Shadow Champion Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus bMaxHP,20; bonus bMaxSP,20; if(getrefine()>=7) { bonus bMaxHP,1; bonus bMaxSP,1; } },{},{}
24026,Shadow_Athena_Shield,Shadow Athena Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus bDef,(getrefine()>=7)?20:10; },{},{}
24027,Immune_Shadow_Armor,Immune Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubEle,0,1; },{},{}
24028,Hard_Shadow_Armor,Hard Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bMaxHP,50; if(getrefine()>=7) { bonus bMaxHPrate,1; } },{},{}
24029,Ancient_Shadow_Armor,Ancient Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bHit,(getrefine()>=7)?20:10; },{},{}
24030,Critital_Shadow_Armor,Critital Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bCritical,(getrefine()>=7)?10:5; },{},{}
24031,King_Bird_Shadow_Weapon,King Bird Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bBaseAtk,10; if(getrefine()>=7) { bonus bLongAtkRate,1; } },{},{}
24032,Critical_Hit_Shadow_Weapon,Critical Hit Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bBaseAtk,10; if(getrefine()>=7) { bonus bCritAtkRate,1; } },{},{}
24034,Lucky_Shadow_Weapon,Lucky Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bLuk,1; if(getrefine()>=7) { bonus bLuk,1; } if(getrefine()>=9) { bonus bLuk,1; } },{},{}
24033,Healing_Shadow_Weapon,Healing Shadow Weapon,12,10,,0,0:10,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ if (getrefine()>=7) bonus bHealPower2,5; },{},{}
24035,Power_Shadow_Earring,Power Shadow Earring,12,10,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bStr,1; .@r = getrefine(); if(.@r>=7) { bonus bStr,1; } if(.@r>=9) { bonus bStr,1; } },{},{}
24036,Ect_Shadow_Pendant,Ect Shadow Pendant,12,10,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bInt,1; .@r = getrefine(); if(.@r>=7) { bonus bInt,1; } if(.@r>=9) { bonus bInt,1; } },{},{}
24037,Dexter_travelers_Shadow_Armor,Dexter travelers Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bDex,1; .@r = getrefine(); if(.@r>=7) { bonus bDex,1; } if(.@r>=9) { bonus bDex,1; } },{},{}
24038,Vital_Shadow_Shoes,Vital Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus bVit,1; .@r = getrefine(); if(.@r>=7) { bonus bVit,1; } if(.@r>=9) { bonus bVit,1; } },{},{}
24039,Athletic_Shadow_Shield,Athletic Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus bAgi,1; .@r = getrefine(); if(.@r>=7) { bonus bAgi,1; } if(.@r>=9) { bonus bAgi,1; } },{},{}
24040,Lucky_Shadow_Armor,Lucky Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bLuk,1; bonus bCritical,(getrefine()/2); },{},{}
24041,Power_Shadow_Pendant,Power Shadow Pendant,12,10,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bStr,1; bonus bBaseAtk,getrefine(); },{},{}
24042,Ect_Shadow_Earring,Ect Shadow Earring,12,10,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bInt,1; bonus bMatk,getrefine(); },{},{}
24043,Dexter_Travelers_Shadow_Weapon,Dexter Travelers Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bDex,1; bonus bHit,getrefine(); },{},{}
24044,Vital_Shadow_Shield,Vital Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus bVit,1; bonus bDef,getrefine(); },{},{}
24045,Athletic_Shadow_Shoes,Athletic Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus bAgi,1; bonus bFlee,getrefine(); },{},{}
24046,Resist_Spell_Power_Shadow_Pendant,Resist Spell Power Shadow Pendant,12,10,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bMdef,(getrefine()>=7)?6:3; },{},{}
24047,Rapid_Shadow_Pendant,Rapid Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus bAspdRate,1+((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24048,Casters_Shadow_Pendant,Casters Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus bVariableCastrate,1+((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24049,Hard_Shadow_Earring,Hard Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMaxHP,100; .@r = getrefine(); bonus bMaxHPRate,((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24050,Wise_Shadow_Earring,Wise Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMaxSP,50; .@r = getrefine(); bonus bMaxSPRate,((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24051,Athena_Shadow_Earring,Athena Shadow Earring,12,10,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bDef,(getrefine()>=7)?20:10; },{},{}
24052,Cranial_Shadow_Shield,Cranial Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,7,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,7,1; } if(.@r>=9) { bonus2 bSubRace,7,1; } },{},{}
24053,Safeguard_Shadow_Shield,Safeguard Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,10,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,10,1; } if(.@r>=9) { bonus2 bSubRace,10,1; } },{},{}
24054,Brutal_Shadow_Shield,Brutal Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,2,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,2,1; } if(.@r>=9) { bonus2 bSubRace,2,1; } },{},{}
24055,Gargantua_Shadow_Shield,Gargantua Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,4,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,4,1; } if(.@r>=9) { bonus2 bSubRace,4,1; } },{},{}
24056,Homer's_Shadow_Shield,Homer's Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,5,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,5,1; } if(.@r>=9) { bonus2 bSubRace,5,1; } },{},{}
24057,Dragoon_Shadow_Shield,Dragoon Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,9,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,9,1; } if(.@r>=9) { bonus2 bSubRace,9,1; } },{},{}
24058,Satanic_Shadow_Shield,Satanic Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,8,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,8,1; } if(.@r>=9) { bonus2 bSubRace,8,1; } },{},{}
24059,Fire-Proof_Shadow_Shield,Fire-Proof Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,0,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,0,1; } if(.@r>=9) { bonus2 bSubRace,0,1; } },{},{}
24060,Requiem_Shadow_Shield,Requiem Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,1,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,1,1; } if(.@r>=9) { bonus2 bSubRace,1,1; } },{},{}
24061,Cadi_Shadow_Shield,Cadi Shadow Shield,12,10,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,3,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,3,1; } if(.@r>=9) { bonus2 bSubRace,3,1; } },{},{}
24062,Bloody_Shadow_Shoes,Bloody Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,7,1; bonus2 bMagicAddRace,7,1; } if(.@r>=9) { bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; } },{},{}
24063,Liberation_Shadow_Shoes,Liberation Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,10,1; bonus2 bMagicAddRace,10,1; } if(.@r>=9) { bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; } },{},{}
24064,Chemical_Shadow_Shoes,Chemical Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,3,1; bonus2 bMagicAddRace,3,1; } if(.@r>=9) { bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; } },{},{}
24065,Glamorous_Shadow_Shoes,Glamorous Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,2,1; bonus2 bMagicAddRace,2,1; } if(.@r>=9) { bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; } },{},{}
24066,Sekti_Side_Shadow_Shoes,Sekti Side Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,4,1; bonus2 bMagicAddRace,4,1; } if(.@r>=9) { bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; } },{},{}
24067,Fisher_Shadow_Shoes,Fisher Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,5,1; bonus2 bMagicAddRace,5,1; } if(.@r>=9) { bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; } },{},{}
24068,Seraphim_Shadow_Shoes,Seraphim Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,8,1; bonus2 bMagicAddRace,8,1; } if(.@r>=9) { bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; } },{},{}
24069,Beholder_Shadow_Shoes,Beholder Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,0,1; bonus2 bMagicAddRace,0,1; } if(.@r>=9) { bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; } },{},{}
24070,Divine_Shadow_Shoes,Divine Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,1,1; bonus2 bMagicAddRace,1,1; } if(.@r>=9) { bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; } },{},{}
24071,Dragoons_Shadow_Shoes,Dragoons Shadow Shoes,12,10,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,9,1; bonus2 bMagicAddRace,9,1; } if(.@r>=9) { bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; } },{},{}
24072,Large_Shadow_Armor,Large Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,2,1; } if(.@r>=9) { bonus2 bSubSize,2,2; } },{},{}
24073,Medium_Shadow_Armor,Medium Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,1,1; } if(.@r>=9) { bonus2 bSubSize,1,2; } },{},{}
24074,Small_Shadow_Armor,Small Shadow Armor,12,10,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,0,1; } if(.@r>=9) { bonus2 bSubSize,0,2; } },{},{}
24075,Large_Shadow_Weapon,Large Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus2 bAddSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,2,1; } if(.@r>=9) { bonus2 bAddSize,2,2; } },{},{}
24076,Medium_Shadow_Weapon,Medium Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus2 bAddSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,1,1; } if(.@r>=9) { bonus2 bAddSize,1,2; } },{},{}
24077,Small_Shadow_Weapon,Small Shadow Weapon,12,10,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus2 bAddSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,0,1; } if(.@r>=9) { bonus2 bAddSize,0,2; } },{},{}
24078,Spiritual_Shadow_Weapon,Spiritual Shadow Weapon,12,10,,0,,,,,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bUseSPrate,-5; if(getrefine()>=7){bonus bSPrecovRate,5;} },{},{}
24079,Spiritual_Shadow_Earring,Spiritual Shadow Earring,12,10,,0,,,,,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMaxSP,50; },{},{}
24080,Spiritual_Shadow_Pendant,Spiritual Shadow Pendant,12,10,,0,,,,,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bMaxSPrate,(getrefine()>=7?2:1); },{},{}
24081,Mali_Shas_Shadow_Armor,Mali Shas Shadow Armor,12,10,,0,,,,,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bMaxHP,100; if(getrefine()>=7){bonus bMaxHPrate,1;} },{},{}
24082,Mali_Shas_Shadow_Shoes,Mali Shas Shadow Shoes,12,10,,0,,,,,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bMaxHPrate,(getrefine()>=7?2:1); },{},{}
24083,Mali_Shas_Shadow_Shield,Mali Shas Shadow Shield,12,10,,0,,,,,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bHPrecovRate,(getrefine()>=7?10:5); },{},{}
24084,Gemstone_Shadow_Armor,Gemstone Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bCritical,5+(getrefine()/2); },{},{}
24085,Gemstone_Shadow_Shoes,Gemstone Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bFlee,5+(getrefine()/2); },{},{}
24086,Gemstone_Shadow_Shield,Gemstone Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bDef,5+(getrefine()/2); },{},{}
24087,Gemstone_Shadow_Weapon,Gemstone Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bHit,5+(getrefine()/2); },{},{}
24088,Gemstone_Shadow_Earring,Gemstone Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMatk,5+(getrefine()/2); },{},{}
24089,Gemstone_Shadow_Pendant,Gemstone Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bBaseAtk,5+(getrefine()/2); },{},{}
24090,Stability_Shadow_Shield,Stability Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bDef,3; .@r = getrefine(); bonus2 bResEff,Eff_Stun,.@r/2; bonus2 bResEff,Eff_Freeze,.@r/2; bonus2 bResEff,Eff_Curse,.@r/2; bonus2 bResEff,Eff_Bleeding,.@r/2; bonus2 bResEff,Eff_Stone,.@r; bonus2 bResEff,Eff_Sleep,.@r; bonus2 bResEff,Eff_Silence,.@r; bonus2 bResEff,Eff_Blind,.@r; },{},{}
24091,Harrods_Plaster_Shadow_Armor,Harrods Plaster Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine(); },{},{}
24092,Harrods_Plaster_Shadow_Shoes,Harrods Plaster Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine(); },{},{}
24093,Insomnia_Shadow_Armor,Insomnia Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine(); },{},{}
24094,Insomnia_Shadow_Shoes,Insomnia Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine(); },{},{}
24095,Peerless_Shadow_Armor,Peerless Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine(); },{},{}
24096,Peerless_Shadow_Shoes,Peerless Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine(); },{},{}
24097,Andre_Shadow_Armor,Andre Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine(); },{},{}
24098,Andre_Shadow_Shoes,Andre Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine(); },{},{}
24099,Freezing_Frozen_Shadow_Weapon,Freezing Frozen Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine(); },{},{}
24100,Freezing_Frozen_Shadow_Earring,Freezing Frozen Shadow Earring,12,10,,0,,,,,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine(); },{},{}
24101,Freezing_Frozen_Shadow_Pendant,Freezing Frozen Shadow Pendant,12,10,,0,,,,,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine(); },{},{}
24102,Vitality_Shadow_Earring,Vitality Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine(); },{},{}
24103,Vitality_Shadow_Pendant,Vitality Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine(); },{},{}
24104,Neutral_Shadow_Weapon,Neutral Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine()/2; },{},{}
24105,Neutral_Shadow_Earring,Neutral Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine(); },{},{}
24106,Neutral_Shadow_Pendant,Neutral Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine(); },{},{}
24107,Frozen_Curse_Shadow_Earring,Frozen Curse Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine(); },{},{}
24108,Frozen_Curse_Shadow_Pendant,Frozen Curse Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine(); },{},{}
24109,Caster_Shadow_Earrings,Caster Shadow Earrings,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bVariableCastrate,-1-((getrefine()>=7)?1:0); },{},{}
24110,Caster_Shadow_Weapon,Caster Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ .@r = getrefine(); bonus bVariableCastrate,-1-((.@r>=7)?1:0)-((.@r>=9)?2:0); },{},{}
24111,Spell_Flow_Shadow_Shoes,Spell Flow Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bUseSPrate,1; if(getrefine()>=7) bonus bSPrecovRate,5; },{},{}
24112,Spell_Flow_Shadow_Armor,Spell Flow Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bUseSPrate,1+((getrefine()>=7)?1:0)+((getrefine()>=9)?1:0); },{},{}
24113,Spell_Flow_Shadow_Shield,Spell Flow Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bUseSPrate,1; if(getrefine()>=7) bonus bMaxSPrate,1; },{},{}
24114,Grid_Shadow_Armor,Grid Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",100-(getrefine()*10); },{},{}
24115,Grid_Shadow_Shoes,Grid Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24116,Grid_Shadow_Shield,Grid Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24117,Grid_Shadow_Weapon,Grid Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24118,Grid_Shadow_Earring,Grid Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24119,Grid_Shadow_Pendant,Grid Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24120,Heal_Shadow_Armor,Heal Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24121,Heal_Shadow_Shoes,Heal Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24122,Heal_Shadow_Shield,Heal Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24123,Heal_Shadow_Weapon,Heal Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24124,Heal_Shadow_Earring,Heal Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24125,Heal_Shadow_Pendant,Heal Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24126,Hiding_Shadow_Armor,Hiding Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24127,Hiding_Shadow_Shoes,Hiding Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24128,Hiding_Shadow_Shield,Hiding Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24129,Hiding_Shadow_Weapon,Hiding Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24130,Hiding_Shadow_Earring,Hiding Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24131,Hiding_Shadow_Pendant,Hiding Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24132,Cloaking_Shadow_Armor,Cloaking Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24133,Cloaking_Shadow_Shoes,Cloaking Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24134,Cloaking_Shadow_Shield,Cloaking Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24135,Cloaking_Shadow_Weapon,Cloaking Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24136,Cloaking_Shadow_Earring,Cloaking Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24137,Cloaking_Shadow_Pendant,Cloaking Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24138,Teleport_Shadow_Armor,Teleport Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24139,Teleport_Shadow_Shoes,Teleport Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24140,Teleport_Shadow_Shield,Teleport Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24141,Teleport_Shadow_Weapon,Teleport Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24142,Teleport_Shadow_Earring,Teleport Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24143,Teleport_Shadow_Pendant,Teleport Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24144,Steal_Shadow_Armor,Steal Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24145,Steal_Shadow_Shoes,Steal Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24146,Steal_Shadow_Shield,Steal Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24147,Steal_Shadow_Weapon,Steal Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24148,Steal_Shadow_Earring,Steal Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24149,Steal_Shadow_Pendant,Steal Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24150,Infinity_Shadow_Earring,Infinity Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0); },{},{}
24151,Infinity_Shadow_Pendant,Infinity Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0); },{},{}
24152,Solid_Shadow_Weapon,Solid Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bBaseAtk,5+(getrefine()/2); },{},{}
24153,Solid_Shadow_Earring,Solid Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bHit,5+(getrefine()/2); },{},{}
24154,Solid_Shadow_Armor,Solid Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,5+(getrefine()/2); },{},{}
24155,Solid_Shadow_Pendant,Solid Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bMdef,(getrefine()/2); },{},{}
24156,Demi-Human_Shadow_Weapon,Demi-Human Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5+(getrefine()/2); },{},{}
24157,Exorcist_Shadow_Weapon,Exorcist Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Demon,5+(getrefine()/2); },{},{}
24158,Hunting_Shadow_Weapon,Hunting Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Brute,5+(getrefine()/2); },{},{}
24159,Insect_Shadow_Weapon,Insect Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Insect,5+(getrefine()/2); },{},{}
24160,Fishing_Shadow_Weapon,Fishing Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Fish,5+(getrefine()/2); },{},{}
24161,Dragon_Killer_Shadow_Weapon,Dragon Killer Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,5+(getrefine()/2); },{},{}
24162,Angelus_Shadow_Weapon,Angelus Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Angel,5+(getrefine()/2); },{},{}
24163,Formless_Shadow_Weapon,Formless Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Formless,5+(getrefine()/2); },{},{}
24164,Holy_Water_Shadow_Weapon,Holy Water Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Undead,5+(getrefine()/2); },{},{}
24165,Plant_Shadow_Weapon,Plant Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Plant,5+(getrefine()/2); },{},{}
24166,Penetration_Shadow_Earring,Penetration Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2); },{},{}
24167,Penetration_Shadow_Pendant,Penetration Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2); },{},{}
24168,Tempest_Shadow_Earring,Tempest Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2); },{},{}
24169,Tempest_Pendant_Shadow,Tempest Pendant Shadow,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2); },{},{}
24170,Magic_Demi-Human_Shadow_Weapon,Magic Demi-Human Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()/2); },{},{}
24171,Magic_Exorcist_Shadow_Weapon,Magic Exorcist Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,5+(getrefine()/2); },{},{}
24172,Magic_Hunting_Shadow_Weapon,Magic Hunting Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Brute,5+(getrefine()/2); },{},{}
24173,Magic_Insect_Shadow_Weapon,Magic Insect Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,5+(getrefine()/2); },{},{}
24174,Magic_Fishing_Shadow_Weapon,Magic Fishing Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,5+(getrefine()/2); },{},{}
24175,Magic_Dragon_Killer_Shadow_Weapon,Magic Dragon Killer Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,5+(getrefine()/2); },{},{}
24176,Magic_Angelus_Shadow_Weapon,Magic Angelus Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,5+(getrefine()/2); },{},{}
24177,Magic_Formless_Shadow_Weapon,Magic Formless Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,5+(getrefine()/2); },{},{}
24178,Magic_Holy_Water_Shadow_Weapon,Magic Holy Water Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Undead,5+(getrefine()/2); },{},{}
24179,Magic_Caesars_Shadow_Weapon,Magic Caesars Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Plant,5+(getrefine()/2); },{},{}
24180,Bearer's_Shadow_Armor,Bearer's Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bMdef,1+(getrefine()/2); },{},{}
24181,Bearer's_Shadow_Shoes,Bearer's Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bMaxSP,50+(5*(getrefine()/2)); },{},{}
24182,Bearer's_Shadow_Shield,Bearer's Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bDef,5+(getrefine()/2); },{},{}
24183,Bearer's_Shadow_Weapon,Bearer's Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bMaxHP,100+(10*(getrefine()/2)); },{},{}
24184,Bearer's_Shadow_Earring,Bearer's Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMatk,5+(getrefine()/2); },{},{}
24185,Bearer's_Shadow_Pendant,Bearer's Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bBaseAtk,5+(getrefine()/2); },{},{}
24186,Basis_Shadow_Armor,Basis Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Neutral,1+(.@r/2); bonus2 bMagicAddEle,Ele_Neutral,1+(.@r/2); },{},{}
24187,Hallowed_Shadow_Armor,Hallowed Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Dark,1+(.@r/2); bonus2 bMagicAddEle,Ele_Dark,1+(.@r/2); },{},{}
24188,Underneith_Shadow_Armor,Underneith Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Water,1+(.@r/2); bonus2 bMagicAddEle,Ele_Water,1+(.@r/2); },{},{}
24189,Underneath_Shadow_Armor,Underneath Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Earth,1+(.@r/2); bonus2 bMagicAddEle,Ele_Earth,1+(.@r/2); },{},{}
24190,Flame_Shadow_Armor,Flame Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Fire,1+(.@r/2); bonus2 bMagicAddEle,Ele_Fire,1+(.@r/2); },{},{}
24191,Windy_Shadow_Armor,Windy Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Wind,1+(.@r/2); bonus2 bMagicAddEle,Ele_Wind,1+(.@r/2); },{},{}
24192,Envenom_Shadow_Armor,Envenom Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Poison,1+(.@r/2); bonus2 bMagicAddEle,Ele_Poison,1+(.@r/2); },{},{}
24193,Damned_Shadow_Armor,Damned Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Holy,1+(.@r/2); bonus2 bMagicAddEle,Ele_Holy,1+(.@r/2); },{},{}
24194,Exorcism_Shadow_Armor,Exorcism Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Ghost,1+(.@r/2); bonus2 bMagicAddEle,Ele_Ghost,1+(.@r/2); },{},{}
24195,Divine_Shadow_Armor,Divine Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Undead,1+(.@r/2); bonus2 bMagicAddEle,Ele_Undead,1+(.@r/2); },{},{}
24196,Hasty_Shadow_Shoes,Hasty Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bFlee,5+(getrefine()/2); },{},{}
24197,Hasty_Shadow_Armor,Hasty Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bFlee,5+(getrefine()/2); },{},{}
24198,Basis_Shadow_Shield,Basis Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Neutral,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24199,Hallowed_Shadow_Shield,Hallowed Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Dark,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24200,Saharic_Shadow_Shield,Saharic Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Water,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24201,Underneath_Shadow_Shield,Underneath Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Earth,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24202,Flammable_Shadow_Shield,Flammable Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Fire,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24203,Windy_Shadow_Shield,Windy Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Wind,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24204,Envenom_Shadow_Shield,Envenom Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Poison,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24205,Damned_Shadow_Shield,Damned Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Holy,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24206,Exorcism_Shadow_Shield,Exorcism Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Ghost,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24207,Divine_Shadow_Shield,Divine Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Undead,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24208,Expert_Shadow_Shoes,Expert Shadow Shoes,12,20,,100,,,,0,0xFFFFFFFF,63,2,524288,,150:175,1,,{ bonus2 bExpAddRace,RC_All,1; },{},{}
24209,Expert_Shield_Shadow,Expert Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,150:175,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/4); },{},{}
24210,Beginner_Shadow_Shoes,Beginner Shadow Shoes,12,20,,0,,,,0,0xFFFFFFFF,63,2,524288,,1:49,1,,{ bonus2 bExpAddRace,RC_All,getrefine(); },{},{}
24211,Beginner_Shadow_Shield,Beginner Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1:49,1,,{ bonus2 bExpAddRace,RC_All,getrefine(); },{},{}
24212,Rookie_Shadow_Shoes,Rookie Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,50:99,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/2); },{},{}
24213,Rookie_Shadow_Shield,Rookie Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,50:99,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/2); },{},{}
24214,Advanced_Shadow_Shoes,Advanced Shadow Shoes,12,20,,0,,,,0,0xFFFFFFFF,63,2,524288,,100:149,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/3); },{},{}
24215,Advanced_Shadow_Shield,Advanced Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,100:149,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/3); },{},{}
24000,T1_Shadow_Armor,Shadow Armor (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,,,{ bonus bStr,1; },{},{}
24001,T1_Shadow_Weapon,Shadow Gauntlets (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,,,{ bonus bDex,1; },{},{}
24002,T1_Shadow_Shield,Shadow Shield (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,,,{ bonus bLuk,1; },{},{}
24003,T1_Shadow_Shoes,Shadow Shoes (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,,,{ bonus bAgi,1; },{},{}
24004,T1_Shadow_R_Accessory,Shadow Ring (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,,,{ bonus bVit,1; },{},{}
24005,T1_Shadow_L_Accessory,Shadow Pendant (Tier 1),12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,,,{ bonus bInt,1; },{},{}
24006,T2_Shadow_Armor,Shadow Armor (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,30,,,{ bonus bStr,2; },{},{}
24007,T2_Shadow_Weapon,Shadow Gauntlets (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,30,,,{ bonus bDex,2; },{},{}
24008,T2_Shadow_Shield,Shadow Shield (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,60,,,{ bonus bLuk,2; },{},{}
24009,T2_Shadow_Shoes,Shadow Shoes (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,90,,,{ bonus bAgi,2; },{},{}
24010,T2_Shadow_R_Accessory,Shadow Ring (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,120,,,{ bonus bVit,2; },{},{}
24011,T2_Shadow_L_Accessory,Shadow Pendant (Tier 2),12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,150,,,{ bonus bInt,2; },{},{}
24012,S_Promotion_Weapon,Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,,,{ bonus bDex,1; },{},{}
24013,S_Promotion_Armor,Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,,,{ bonus bLuk,1; },{},{}
24014,S_Promotion_Shoes,Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,,,{ bonus bAgi,1; },{},{}
24015,S_Promotion_Shield,Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,,,{ bonus bVit,1; },{},{}
24016,S_Promotion_Earring,Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,,,{ bonus bInt,1; },{},{}
24017,S_Promotion_Pendant,Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,,,{ bonus bStr,1; },{},{}
24018,S_Physical_Earring,Physical Earring (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bAspdRate,(getrefine()>=7)?2:1; },{},{}
24019,S_Physical_Weapon,Physical Weapon (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bBaseAtk,10; if(getrefine()>=7) { bonus bAtkRate,1; } },{},{}
24020,S_Physical_Pendant,Physical Pendant (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bMaxHP,100; if(getrefine()>=7) { bonus bMaxHPrate,1; } },{},{}
24021,S_Magical_Earring,Magical Earring (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bVariableCastrate,-(getrefine()>=7)?2:1; },{},{}
24022,S_Magical_Weapon,Magical Weapon (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bMatk,10; if(getrefine()>=7) { bonus bMatkRate,1; } },{},{}
24023,S_Magical_Pendant,Magical Pencil (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bMaxSP,50; if(getrefine()>=7) { bonus bMaxSPrate,1; } },{},{}
24024,S_Breezy_Armor,Breeze Armor (Shadow),12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,,,{ bonus bFlee,5+(getrefine()>=7 ? 10 : 0); },{},{}
24025,S_Champion_Shoes,Champion Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus bMaxHP,20; bonus bMaxSP,20; if(getrefine()>=7) { bonus bMaxHP,1; bonus bMaxSP,1; } },{},{}
24026,S_Athena_Shield,Athena Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus bDef,(getrefine()>=7)?20:10; },{},{}
24027,S_Immune_Armor,Immune Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubEle,0,1; },{},{}
24028,S_Hard_Armor,Hard Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bMaxHP,50; if(getrefine()>=7) { bonus bMaxHPrate,1; } },{},{}
24029,S_Ancient_Armor,Ancient Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bHit,(getrefine()>=7)?20:10; },{},{}
24030,S_Critical_Armor,Critital Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bCritical,(getrefine()>=7)?10:5; },{},{}
24031,S_Kingbird_Weapon,Kingbird's Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bBaseAtk,10; if(getrefine()>=7) { bonus bLongAtkRate,1; } },{},{}
24032,S_Cri_Hit_Weapon,Critical Hit Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bBaseAtk,10; if(getrefine()>=7) { bonus bCritAtkRate,1; } },{},{}
24033,S_Healing_Weapon,Healing Shadow Weapon,12,0,,0,0:10,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ if (getrefine()>=7) bonus bHealPower2,5; },{},{}
24034,S_Lucky_Weapon,Lucky Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bLuk,1; if(getrefine()>=7) { bonus bLuk,1; } if(getrefine()>=9) { bonus bLuk,1; } },{},{}
24035,S_Power_Earring,Power Shadow Earring,12,0,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bStr,1; .@r = getrefine(); if(.@r>=7) { bonus bStr,1; } if(.@r>=9) { bonus bStr,1; } },{},{}
24036,S_Int_Pendant,Intelligent Shadow Pendant,12,0,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bInt,1; .@r = getrefine(); if(.@r>=7) { bonus bInt,1; } if(.@r>=9) { bonus bInt,1; } },{},{}
24037,S_Dexterous_Armor,Dexterous Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bDex,1; .@r = getrefine(); if(.@r>=7) { bonus bDex,1; } if(.@r>=9) { bonus bDex,1; } },{},{}
24038,S_Vital_Shoes,Vital Shadow Shoes,12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus bVit,1; .@r = getrefine(); if(.@r>=7) { bonus bVit,1; } if(.@r>=9) { bonus bVit,1; } },{},{}
24039,S_Athletic_Shield,Athletic Shadow Shield,12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus bAgi,1; .@r = getrefine(); if(.@r>=7) { bonus bAgi,1; } if(.@r>=9) { bonus bAgi,1; } },{},{}
24040,S_Lucky_Armor,Lucky Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus bLuk,1; bonus bCritical,(getrefine()/2); },{},{}
24041,S_Power_Pendant,Power Shadow Pendant,12,0,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bStr,1; bonus bBaseAtk,getrefine(); },{},{}
24042,S_Int_Earring,Intelligent Shadow Earring,12,0,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bInt,1; bonus bMatk,getrefine(); },{},{}
24043,S_Dexterous_Weapon,Dexterous Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bDex,1; bonus bHit,getrefine(); },{},{}
24044,S_Vital_Shield,Vital Shadow Shield,12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus bVit,1; bonus bDef,getrefine(); },{},{}
24045,S_Athletic_Shoes,Athletic Shadow Shoes,12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus bAgi,1; bonus bFlee,getrefine(); },{},{}
24046,S_Resist_Spell_Pendant,Resist Spell Power Pendant (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,2097152,,1,1,0,{ bonus bMdef,(getrefine()>=7)?6:3; },{},{}
24047,S_Rapid_Pendant,Rapid Pendant (Shadow),12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus bAspdRate,1+((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24048,S_Caster_Pendant,Caster Pendant (Shadow),12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus bVariableCastrate,1+((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24049,S_Hard_Earring,Hard Earring (Shadow),12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMaxHP,100; .@r = getrefine(); bonus bMaxHPRate,((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24050,S_Wise_Earring,Wise Earring (Shadow),12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMaxSP,50; .@r = getrefine(); bonus bMaxSPRate,((.@r>=9)?2:(.@r>=7)?1:0); },{},{}
24051,S_Athena_Earring,Athena Earring (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,1048576,,1,1,0,{ bonus bDef,(getrefine()>=7)?20:10; },{},{}
24052,S_Cranial_Shield,Cranial Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,7,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,7,1; } if(.@r>=9) { bonus2 bSubRace,7,1; } },{},{}
24053,S_Safeguard_Shield,Safeguard Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,10,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,10,1; } if(.@r>=9) { bonus2 bSubRace,10,1; } },{},{}
24054,S_Brutal_Shield,Brutal Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,2,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,2,1; } if(.@r>=9) { bonus2 bSubRace,2,1; } },{},{}
24055,S_Gargantua_Shield,Gargantua Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,4,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,4,1; } if(.@r>=9) { bonus2 bSubRace,4,1; } },{},{}
24056,S_Homers_Shield,Homers Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,5,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,5,1; } if(.@r>=9) { bonus2 bSubRace,5,1; } },{},{}
24057,S_Dragoon_Shield,Dragoon Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,9,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,9,1; } if(.@r>=9) { bonus2 bSubRace,9,1; } },{},{}
24058,S_Satanic_Shield,Satanic Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,8,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,8,1; } if(.@r>=9) { bonus2 bSubRace,8,1; } },{},{}
24059,S_Flameguard_Shield,Flameguard Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,0,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,0,1; } if(.@r>=9) { bonus2 bSubRace,0,1; } },{},{}
24060,S_Requiem_Shield,Requiem Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,1,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,1,1; } if(.@r>=9) { bonus2 bSubRace,1,1; } },{},{}
24061,S_Cadi_Shield,Cadi Shield (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,262144,,1,1,0,{ bonus2 bSubRace,3,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,3,1; } if(.@r>=9) { bonus2 bSubRace,3,1; } },{},{}
24062,S_Bloody_Shoes,Bloody Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,7,1; bonus2 bMagicAddRace,7,1; } if(.@r>=9) { bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; } },{},{}
24063,S_Liberation_Shoes,Liberation Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,10,1; bonus2 bMagicAddRace,10,1; } if(.@r>=9) { bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; } },{},{}
24064,S_Chemical_Shoes,Chemical Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,3,1; bonus2 bMagicAddRace,3,1; } if(.@r>=9) { bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; } },{},{}
24065,S_Clamorous_Shoes,Clamorous Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,2,1; bonus2 bMagicAddRace,2,1; } if(.@r>=9) { bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; } },{},{}
24066,S_Insecticide_Shoes,Insecticide Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,4,1; bonus2 bMagicAddRace,4,1; } if(.@r>=9) { bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; } },{},{}
24067,S_Fisher_Shoes,Fisher Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,5,1; bonus2 bMagicAddRace,5,1; } if(.@r>=9) { bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; } },{},{}
24068,S_Seraphim_Shoes,Seraphim Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,8,1; bonus2 bMagicAddRace,8,1; } if(.@r>=9) { bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; } },{},{}
24069,S_Beholder_Shoes,Beholder Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,0,1; bonus2 bMagicAddRace,0,1; } if(.@r>=9) { bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; } },{},{}
24070,S_Divine_Shoes,Divine Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,1,1; bonus2 bMagicAddRace,1,1; } if(.@r>=9) { bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; } },{},{}
24071,S_Dragoon_Shoes,Dragoon Shoes (Shadow),12,0,,0,,0,,0,0xFFFFFFFF,63,2,524288,,1,1,0,{ bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,9,1; bonus2 bMagicAddRace,9,1; } if(.@r>=9) { bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; } },{},{}
24072,S_Big_Armor,Large Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,2,1; } if(.@r>=9) { bonus2 bSubSize,2,2; } },{},{}
24073,S_Medium_Armor,Medium Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,1,1; } if(.@r>=9) { bonus2 bSubSize,1,2; } },{},{}
24074,S_Small_Armor,Small Shadow Armor,12,0,,0,,0,,0,0xFFFFFFFF,63,2,65536,,1,1,0,{ bonus2 bSubSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,0,1; } if(.@r>=9) { bonus2 bSubSize,0,2; } },{},{}
24075,S_Big_Weapon,Large Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus2 bAddSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,2,1; } if(.@r>=9) { bonus2 bAddSize,2,2; } },{},{}
24076,S_Medium_Weapon,Medium Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus2 bAddSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,1,1; } if(.@r>=9) { bonus2 bAddSize,1,2; } },{},{}
24077,S_Small_Weapon,Small Shadow Weapon,12,0,,0,,0,,0,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus2 bAddSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,0,1; } if(.@r>=9) { bonus2 bAddSize,0,2; } },{},{}
24078,S_Spiritual_Weapon,Spiritual Shadow Weapon,12,0,,0,,,,,0xFFFFFFFF,63,2,131072,,1,1,0,{ bonus bUseSPrate,-5; if(getrefine()>=7){bonus bSPrecovRate,5;} },{},{}
24079,S_Spiritual_Earring,Spiritual Shadow Earring,12,0,,0,,,,,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMaxSP,50; },{},{}
24080,S_Spiritual_Pendent,Spiritual Shadow Pendant,12,0,,0,,,,,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bMaxSPrate,(getrefine()>=7?2:1); },{},{}
24081,S_Malicious_Armor,Malicious Shas Shadow Armor,12,0,,0,,,,,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bMaxHP,100; if(getrefine()>=7){bonus bMaxHPrate,1;} },{},{}
24082,S_Malicious_Shoes,Malicious Shas Shadow Shoes,12,0,,0,,,,,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bMaxHPrate,(getrefine()>=7?2:1); },{},{}
24083,S_Malicious_Shield,Malicious Shas Shadow Shield,12,0,,0,,,,,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bHPrecovRate,(getrefine()>=7?10:5); },{},{}
24084,S_Gemstone_Armor,Gemstone Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bCritical,5+(getrefine()/2); },{},{}
24085,S_Gemstone_Shoes,Gemstone Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bFlee,5+(getrefine()/2); },{},{}
24086,S_Gemstone_Shield,Gemstone Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bDef,5+(getrefine()/2); },{},{}
24087,S_Gemstone_Weapon,Gemstone Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bHit,5+(getrefine()/2); },{},{}
24088,S_Gemstone_Earring,Gemstone Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMatk,5+(getrefine()/2); },{},{}
24089,S_Gemstone_Pendent,Gemstone Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bBaseAtk,5+(getrefine()/2); },{},{}
24090,S_Stability_Shield,Stability Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bDef,3; .@r = getrefine(); bonus2 bResEff,Eff_Stun,.@r/2; bonus2 bResEff,Eff_Freeze,.@r/2; bonus2 bResEff,Eff_Curse,.@r/2; bonus2 bResEff,Eff_Bleeding,.@r/2; bonus2 bResEff,Eff_Stone,.@r; bonus2 bResEff,Eff_Sleep,.@r; bonus2 bResEff,Eff_Silence,.@r; bonus2 bResEff,Eff_Blind,.@r; },{},{}
24091,S_Plasterer's_Armor,Harrods Plaster Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine(); },{},{}
24092,S_Plasterer's_Shoes,Harrods Plaster Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine(); },{},{}
24093,S_Insomniac_Armor,Insomnia Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine(); },{},{}
24094,S_Insomniac_Shoes,Insomnia Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine(); },{},{}
24095,S_Peerless_Armor,Peerless Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine(); },{},{}
24096,S_Peerless_Shoes,Peerless Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine(); },{},{}
24097,S_Adurate_Armor,Andre Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine(); },{},{}
24098,S_Adurate_Shoes,Andre Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine(); },{},{}
24099,Unfreez_Weapon_S,Unfreezing Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine(); },{},{}
24100,Unfreeze_Earing_S,Unfreezing Shadow Earring,12,10,,0,,,,,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine(); },{},{}
24101,Unfreeze_Pendent_S,Unfreezing Shadow Pendant,12,10,,0,,,,,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine(); },{},{}
24102,Vitality_Earing_S,Vitality Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine(); },{},{}
24103,Vitality_Pendant_S,Vitality Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine(); },{},{}
24104,S_Neutral_Weapon,Neutral Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine()/2; },{},{}
24105,S_Neutral_Earring,Neutral Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine(); },{},{}
24106,S_Neutral_Pendent,Neutral Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine(); },{},{}
24107,S_Curse_Lift_Earring,Frozen Curse Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine(); },{},{}
24108,S_Curse_Lift_Pendent,Frozen Curse Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine(); },{},{}
24109,S_Caster_earring,Caster Shadow Earrings,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bVariableCastrate,-1-((getrefine()>=7)?1:0); },{},{}
24110,S_Caster_Weapon,Caster Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ .@r = getrefine(); bonus bVariableCastrate,-1-((.@r>=7)?1:0)-((.@r>=9)?2:0); },{},{}
24111,S_Spell_Flow_Shoes,Spellflow Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bUseSPrate,1; if(getrefine()>=7) bonus bSPrecovRate,5; },{},{}
24112,S_Spell_Flow_Armor,Spellflow Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bUseSPrate,1+((getrefine()>=7)?1:0)+((getrefine()>=9)?1:0); },{},{}
24113,S_Spell_Flow_Shield,Spellflow Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bUseSPrate,1; if(getrefine()>=7) bonus bMaxSPrate,1; },{},{}
24114,S_Greed_Armor,Grid Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",100-(getrefine()*10); },{},{}
24115,S_Greed_Shoes,Grid Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24116,S_Greed_Shield,Grid Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24117,S_Greed_Weapon,Grid Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24118,S_Greed_Earring,Grid Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24119,S_Greed_Pendant,Grid Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10); },{},{}
24120,S_Heal_Armor,Heal Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24121,S_Heal_Shoes,Heal Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24122,S_Heal_Shield,Heal Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24123,S_Heal_Weapon,Heal Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24124,S_Heal_Earring,Heal Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24125,S_Heal_Pendant,Heal Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5); },{},{}
24126,S_Hiding_Armor,Hiding Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24127,S_Hiding_Shoes,Hiding Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24128,S_Hiding_Shield,Hiding Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24129,S_Hiding_Weapon,Hiding Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24130,S_Hiding_Earring,Hiding Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24131,S_Hiding_Pendant,Hiding Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5); },{},{ sc_end SC_HIDING; }
24132,S_Cloaking_Armor,Cloaking Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24133,S_Cloaking_Shoes,Cloaking Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24134,S_Cloaking_Shield,Cloaking Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24135,S_Cloaking_Weapon,Cloaking Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24136,S_Cloaking_Earring,Cloaking Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24137,S_Cloaking_Pendant,Cloaking Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5); },{},{ sc_end SC_CLOAKING; }
24138,S_Teleport_Armor,Teleport Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24139,S_Teleport_Shoes,Teleport Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24140,S_Teleport_Shield,Teleport Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24141,S_Teleport_Weapon,Teleport Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24142,S_Teleport_Earring,Teleport Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24143,S_Teleport_Pendant,Teleport Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5); },{},{}
24144,S_Steal_Armor,Steal Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24145,S_Steal_Shoes,Steal Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24146,S_Steal_Shield,Steal Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24147,S_Steal_Weapon,Steal Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24148,S_Steal_Earring,Steal Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24149,S_Steal_Pendant,Steal Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5); },{},{}
24150,S_Infinity_Earring,Infinity Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0); },{},{}
24151,S_Infinity_Pendant,Infinity Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0); },{},{}
24152,S_Solid_Weapon,Solid Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bBaseAtk,5+(getrefine()/2); },{},{}
24153,S_Solid_Earring,Solid Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bHit,5+(getrefine()/2); },{},{}
24154,S_Immortal_Armor,Solid Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bDef,5+(getrefine()/2); },{},{}
24155,S_Immortal_Pendant,Solid Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bMdef,(getrefine()/2); },{},{}
24156,S_Executioner_Weapon,Demi-Human Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5+(getrefine()/2); },{},{}
24157,S_Exorcist_Weapon,Exorcist Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Demon,5+(getrefine()/2); },{},{}
24158,S_Hunting_Weapon,Hunting Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Brute,5+(getrefine()/2); },{},{}
24159,S_Insect_Net_Weapon,Insect Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Insect,5+(getrefine()/2); },{},{}
24160,S_Fishing_Weapon,Fishing Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Fish,5+(getrefine()/2); },{},{}
24161,S_Dragon_Killer_Weapon,Dragon Killer Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Dragon,5+(getrefine()/2); },{},{}
24162,S_Corrupt_Weapon,Angelus Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Angel,5+(getrefine()/2); },{},{}
24163,S_Vibration_Weapon,Formless Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Formless,5+(getrefine()/2); },{},{}
24164,S_Holy_Water_Weapon,Holy Water Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Undead,5+(getrefine()/2); },{},{}
24165,S_Scissors_Weapon,Plant Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreDefRaceRate,RC_Plant,5+(getrefine()/2); },{},{}
24166,S_Penetration_Earring,Penetration Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2); },{},{}
24167,S_Penetration_Pendent,Penetration Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2); },{},{}
24168,S_Tempest_Earring,Tempest Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2); },{},{}
24169,S_Tempest_Pendent,Tempest Pendant Shadow,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2); },{},{}
24170,S_M_Executioner_Weapon,Magic Demi-Human Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()/2); },{},{}
24171,S_M_Exorcist_Weapon,Magic Exorcist Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Demon,5+(getrefine()/2); },{},{}
24172,S_M_Hunting_Weapon,Magic Hunting Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Brute,5+(getrefine()/2); },{},{}
24173,S_M_Insect_Net_Weapon,Magic Insect Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Insect,5+(getrefine()/2); },{},{}
24174,S_M_Fishing_Weapon,Magic Fishing Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Fish,5+(getrefine()/2); },{},{}
24175,S_M_Dragon_K_Weapon,Magic Dragon Killer Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Dragon,5+(getrefine()/2); },{},{}
24176,S_M_Corrupt_Weapon,Magic Angelus Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Angel,5+(getrefine()/2); },{},{}
24177,S_M_Vibration_Weapon,Magic Formless Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Formless,5+(getrefine()/2); },{},{}
24178,S_M_Holy_Water_Weapon,Magic Holy Water Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Undead,5+(getrefine()/2); },{},{}
24179,S_M_Scissors_Weapon,Magic Caesars Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus2 bIgnoreMdefRaceRate,RC_Plant,5+(getrefine()/2); },{},{}
24180,S_Bearers_Armor,Bearer's Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bMdef,1+(getrefine()/2); },{},{}
24181,S_Bearers_Shoes,Bearer's Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bMaxSP,50+(5*(getrefine()/2)); },{},{}
24182,S_Bearers_Shield,Bearer's Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bDef,5+(getrefine()/2); },{},{}
24183,S_Bearers_Weapon,Bearer's Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,1,1,,{ bonus bMaxHP,100+(10*(getrefine()/2)); },{},{}
24184,S_Bearers_Earring,Bearer's Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ bonus bMatk,5+(getrefine()/2); },{},{}
24185,S_Bearers_Pendent,Bearer's Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ bonus bBaseAtk,5+(getrefine()/2); },{},{}
24186,S_Basis_Armor,Basis Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Neutral,1+(.@r/2); bonus2 bMagicAddEle,Ele_Neutral,1+(.@r/2); },{},{}
24187,S_Hallowed_Armor,Hallowed Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Dark,1+(.@r/2); bonus2 bMagicAddEle,Ele_Dark,1+(.@r/2); },{},{}
24188,S_Saharic_Armor,Underneith Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Water,1+(.@r/2); bonus2 bMagicAddEle,Ele_Water,1+(.@r/2); },{},{}
24189,S_Underneath_Armor,Underneath Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Earth,1+(.@r/2); bonus2 bMagicAddEle,Ele_Earth,1+(.@r/2); },{},{}
24190,S_Flam_Armor,Flame Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Fire,1+(.@r/2); bonus2 bMagicAddEle,Ele_Fire,1+(.@r/2); },{},{}
24191,S_Windy_Armor,Windy Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Wind,1+(.@r/2); bonus2 bMagicAddEle,Ele_Wind,1+(.@r/2); },{},{}
24192,S_Envenom_Armor,Envenom Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Poison,1+(.@r/2); bonus2 bMagicAddEle,Ele_Poison,1+(.@r/2); },{},{}
24193,S_Damned_Armor,Damned Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Holy,1+(.@r/2); bonus2 bMagicAddEle,Ele_Holy,1+(.@r/2); },{},{}
24194,S_Geist_Armor,Exorcism Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Ghost,1+(.@r/2); bonus2 bMagicAddEle,Ele_Ghost,1+(.@r/2); },{},{}
24195,S_Divine_Armor,Divine Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus2 bAddEle,Ele_Undead,1+(.@r/2); bonus2 bMagicAddEle,Ele_Undead,1+(.@r/2); },{},{}
24196,S_Hasty_Shoes,Hasty Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bFlee,5+(getrefine()/2); },{},{}
24197,S_Hasty_Armor,Hasty Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ bonus bFlee,5+(getrefine()/2); },{},{}
24198,S_Basis_Shield,Basis Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Neutral,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24199,S_Hallowed_Shield,Hallowed Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Dark,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24200,S_Saharic_Shield,Saharic Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Water,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24201,S_Underneath_Shield,Underneath Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Earth,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24202,S_Flam_Shield,Flame Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Fire,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24203,S_Windy_Shield,Windy Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Wind,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24204,S_Envenom_Shield,Envenom Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Poison,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24205,S_Damned_Shield,Damned Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Holy,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24206,S_Geist_Shield,Exorcism Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Ghost,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24207,S_Divine_Shield,Divine Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus2 bSubEle,Ele_Undead,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24208,S_Expert_Shoes,Expert Shadow Shoes,12,20,,100,,,,0,0xFFFFFFFF,63,2,524288,,150:175,1,,{ bonus2 bExpAddRace,RC_All,1; },{},{}
24209,S_Expert_Shield,Expert Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,150:175,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/4); },{},{}
24210,S_Beginner_Shoes,Beginner Shadow Shoes,12,20,,0,,,,0,0xFFFFFFFF,63,2,524288,,1:49,1,,{ bonus2 bExpAddRace,RC_All,getrefine(); },{},{}
24211,S_Beginner_Shield,Beginner Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1:49,1,,{ bonus2 bExpAddRace,RC_All,getrefine(); },{},{}
24212,S_Rookie_Shoes,Rookie Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,50:99,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/2); },{},{}
24213,S_Rookie_Shield,Rookie Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,50:99,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/2); },{},{}
24214,S_Advanced_Shoes,Advanced Shadow Shoes,12,20,,0,,,,0,0xFFFFFFFF,63,2,524288,,100:149,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/3); },{},{}
24215,S_Advanced_Shield,Advanced Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,100:149,1,,{ bonus2 bExpAddRace,RC_All,(getrefine()/3); },{},{}
24216,Attack_Shadow_Armor,Attack Shadow Armor,12,10,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); autobonus "{ bonus bAtk2,(.@r*5); }",(.@r*20)+100,3000,BF_NORMAL; },{},{}
24217,Blitz_Shadow_Earring,Blitz Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); bonus bHit,(.@r/2)+5; if(.@r>=7){ bonus bAspd,1; } },{},{}
24218,Blitz_Shadow_Pendant,Blitz Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); bonus bAtk2,(.@r/2)+5; if(.@r>=7){ bonus bAspd,1; } },{},{}
@ -11282,18 +11281,18 @@
24228,Soul_Shadow_Weapon,Soul Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,70,1,,{ .@r = getrefine(); bonus bMatkRate,(.@r<7)?1:((.@r<9)?2:3); },{},{}
24229,Soul_Shadow_Earring,Soul Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,70,1,,{ .@r = getrefine(); bonus bMatk,(5+.@r); if(.@r>=7) bonus bMaxHPrate,1; if(.@r>=9) bonus bMatkRate,1; },{},{}
24230,Soul_Shadow_Pendant,Soul Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,70,1,,{ .@r = getrefine(); bonus bMatk,(5+.@r); if(.@r>=7) bonus bMaxHPrate,1; if(.@r>=9) bonus bMatkRate,1; },{},{}
24231,Blitz_Shadow_Shoes,Blitz Shadow Shoes,12,10,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bFlee,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; } },{},{}
24232,Blitz_Shadow_Shield,Blitz Shadow Shield,12,10,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bCritical,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; } },{},{}
24233,Exceeding_Shadow_Weapon,Exceeding Shadow Weapon,12,10,,0,,,,0,0xFFFFFFFF,63,2,131072,,100,1,,{ .@r = getrefine()/2; bonus bBaseAtk,5; bonus bMatk,5; bonus bAtkRate,.@r; bonus bMatkRate,.@r; },{},{}
24234,Titan_Shadow_Earring,Titan Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate; },{},{}
24235,Titan_Shadow_Pendant,Titan Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate; },{},{}
24236,Boned_Shadow_Earring,Boned Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate; },{},{}
24237,Boned_Shadow_Pendant,Boned Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate; },{},{}
24238,Gigantic_Shadow_Earring,Gigantic Shadow Earring,12,10,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate; },{},{}
24239,Gigantic_Shadow_Pendant,Gigantic Shadow Pendant,12,10,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate; },{},{}
24243,Reload_Shadow_Shoes,Reload Shadow Shoes,12,20,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ .@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3); },{},{}
24244,Reload_Shadow_Shield,Reload Shadow Shield,12,20,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3); },{},{}
24245,Reload_Shadow_Armor,Reload Shadow Armor,12,20,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3); },{},{}
24231,S_Blitz_Shoes,Blitz Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ bonus bFlee,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; } },{},{}
24232,S_Blitz_Shield,Blitz Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ bonus bCritical,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; } },{},{}
24233,S_Exceed_Weapon,Exceeding Shadow Weapon,12,0,,0,,,,0,0xFFFFFFFF,63,2,131072,,100,1,,{ .@r = getrefine()/2; bonus bBaseAtk,5; bonus bMatk,5; bonus bAtkRate,.@r; bonus bMatkRate,.@r; },{},{}
24234,S_Titan_Earring,Titan Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate; },{},{}
24235,S_Titan_Pendant,Titan Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate; },{},{}
24236,S_Boned_Earring,Boned Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate; },{},{}
24237,S_Boned_Pendant,Boned Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate; },{},{}
24238,S_Gigantic_Earring,Gigantic Shadow Earring,12,0,,0,,,,0,0xFFFFFFFF,63,2,1048576,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate; },{},{}
24239,S_Gigantic_Pendant,Gigantic Shadow Pendant,12,0,,0,,,,0,0xFFFFFFFF,63,2,2097152,,1,1,,{ .@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate; },{},{}
24243,S_Reload_Shoes,Reload Shadow Shoes,12,0,,0,,,,0,0xFFFFFFFF,63,2,524288,,1,1,,{ .@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3); },{},{}
24244,S_Reload_Shield,Reload Shadow Shield,12,0,,0,,,,0,0xFFFFFFFF,63,2,262144,,1,1,,{ .@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3); },{},{}
24245,S_Reload_Armor,Reload Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3); },{},{}
//
25132,Pumpkin_Deco,Pumpkin Deco,3,0,,0,,,,,,,,,,,,,{},{},{}
25133,Dried_White_Stem,Dried White Stem,3,0,,0,,,,,,,,,,,,,{},{},{}
@ -11339,8 +11338,8 @@
28102,Half_BF_Two_Handed_Axe1,Half BF Two Handed Axe1,5,20,,0,200,,1,0,0x000444A2,63,2,34,3,80,1,7,{ bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,30; bonus2 bAddRace,RC_Player,30; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player,10; bonus bUnbreakableWeapon,1; },{},{}
28103,Blue_Twohand_Axe,Blue Twohand Axe,5,10,,3000,330,,1,1,0x00000400,56,2,2,3,1,1,7,{ bonus bStr,5; bonus bVit,5; },{},{}
28104,Ru_Gold_Axe_M,Ru Gold Axe M,5,0,,3000,330,,1,2,0x00000400,56,2,34,3,120,1,7,{ bonus bStr,8; bonus bVit,8; },{},{}
28105,Infinity_Axe,Infinity Axe,5,10,,500,265,,1,1,0x00000022,7,2,34,4,100,1,7,{},{},{}
28106,Crimson_Two-Handed_Axe,Crimson Two-Handed Axe,5,20,,2000,200,,1,2,0x00000022,63,2,34,3,70,1,7,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1; },{},{}
28105,Infinity_Axe,Infinity Axe,5,10,,500,265,,1,1,0x000444A2,56,2,34,4,100,1,7,{},{},{}
28106,Crimson_Two-Handed_Axe,Crimson Two-Handed Axe,5,20,,2000,200,,1,2,0x000444A2,63,2,34,3,70,1,7,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1; },{},{}
//
28107,Two_Handed_Axe_of_Vicious_Mind,Two Handed Axe of Vicious Mind,5,20,,2500,250,,1,1,0x000444A2,63,2,34,4,160,1,7,{ bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,1; },{},{}
28200,End_Of_The_Horizon,End Of The Horizon,5,2700000,,2400,410,,9,1,0x40000000,63,2,34,4,110,1,21,{},{},{}
@ -11422,8 +11421,8 @@
28700,Ru_Gold_Dagger,Ru Gold Dagger,5,0,,1000,160,,1,2,0x00020000,56,2,2,3,120,1,1,{ bonus bStr,8; bonus bInt,8; },{},{}
28701,Ru_Gold_Knife,Ru Gold Knife,5,0,,500,160,,1,2,0x00010000,56,2,2,3,120,1,1,{ bonus bVit,8; bonus bInt,8; },{},{}
28702,Ru_Gold_Ashura,Ru Gold Ashura,5,0,,1000,150:150,,1,2,0x2000000,63,2,2,3,120,1,1,{},{},{}
28703,Infinity_Dagger,Infinity Dagger,5,10,,500,125,,1,1,0x0280026B,7,2,2,4,100,1,1,{},{},{}
28705,Crimson_Dagger,Crimson Dagger,5,20,,550,55,,1,2,0x02800271,63,2,2,3,70,1,1,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225); },{},{}
28703,Infinity_Dagger,Infinity Dagger,5,10,,500,125,,1,1,0x028F5EEF,56,2,2,4,100,1,1,{},{},{}
28705,Crimson_Dagger,Crimson Dagger,5,20,,550,55,,1,2,0x028F5EEF,63,2,2,3,70,1,1,{ .@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225); },{},{}
28706,Dagger_of_Vicious_Mind,Dagger of Vicious Mind,5,20,,1050,105:50,,1,1,0x028F5EEF,63,2,2,4,160,1,1,{ bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; },{},{}
28900,Guardsmen's_Shield,Guardsmen's Shield,4,20,,3000,,30,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); skill "LG_SHIELDSPELL",1; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",3,(10+(.@r*10)); bonus bDef,(.@r*10); bonus bMdef,.@r; },{},{}
28903,Scutum,Scutum,4,0,,500,,1,,1,0xFFFFFFFF,63,2,32,1,1,1,,{ .@r = getrefine(); bonus bFlee,5+(.@r*3); bonus bFlee2,1+(.@r*2); if (.@r > 10) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } },{},{}

View File

@ -792,6 +792,24 @@ IG_Mysterious_Travel_Sack3,13753,80,1,1,0,0,1 // 1x S_Mdef_Potion_Box30
IG_Mysterious_Travel_Sack3,13710,80,1,1,0,0,1 // 1x Max_Weight_Up_Box
IG_Mysterious_Travel_Sack3,13720,100,1,1,0,0,1 // 1x Regeneration_Box10
IG_Mysterious_Travel_Sack4,5140,1,1,1,0,0,1 // 1x Charming_Ribbon
IG_Mysterious_Travel_Sack4,5187,2,1,1,0,0,1 // 1x Twin_Ribbon
IG_Mysterious_Travel_Sack4,5194,2,1,1,0,0,1 // 1x Ribbon_Pink
IG_Mysterious_Travel_Sack4,5196,2,1,1,0,0,1 // 1x Ribbon_Orange
IG_Mysterious_Travel_Sack4,5197,2,1,1,0,0,1 // 1x Ribbon_White
IG_Mysterious_Travel_Sack4,5288,1,1,1,0,0,1 // 1x Red_Glasses
IG_Mysterious_Travel_Sack4,5801,2,1,1,0,0,1 // 1x Ribbon_Of_Bride
IG_Mysterious_Travel_Sack4,13553,5,1,1,0,0,1 // 1x Dun_Tele_Scroll1_Box
IG_Mysterious_Travel_Sack4,13710,80,1,1,0,0,1 // 1x Max_Weight_Up_Box
IG_Mysterious_Travel_Sack4,13712,203,1,1,0,0,1 // 1x Small_Life_Potion_Box30
IG_Mysterious_Travel_Sack4,13715,203,1,1,0,0,1 // 1x Med_Life_Potion_Box30
IG_Mysterious_Travel_Sack4,13720,203,1,1,0,0,1 // 1x Regeneration_Box10
IG_Mysterious_Travel_Sack4,13741,5,1,1,0,0,1 // 1x Shadow_Armor_S_Box10
IG_Mysterious_Travel_Sack4,13744,5,1,1,0,0,1 // 1x Holy_Armor_S_Box10
IG_Mysterious_Travel_Sack4,13747,203,1,1,0,0,1 // 1x S_Def_Potion_Box30
IG_Mysterious_Travel_Sack4,13753,80,1,1,0,0,1 // 1x S_Mdef_Potion_Box30
IG_Mysterious_Travel_Sack4,14527,1,1,1,0,0,1 // 1x Dun_Tele_Scroll1
IG_Magician_Card_Box,4327,0,1,0,0,0,1 // 1x Blood_Butterfly_Card
IG_Magician_Card_Box,4309,0,1,0,0,0,1 // 1x Parasite_Card
IG_Magician_Card_Box,4325,0,1,0,0,0,1 // 1x Harpy_Card

View File

@ -2774,7 +2774,7 @@
//3617,V_G_GERTIE_
//3618,V_G_ALPHOCCIO_
//3619,V_G_TRENTINI_
//
//3620,NYANGPORING
//3621,EP16_2_MM_CUTIE
//3622,EP16_2_MM_S_GUARDS
//3623,EP16_2_MM_U_ENERGY_R
@ -2809,7 +2809,7 @@
//3652,MD_ZOMBIE_120
//3653,MD_ZOMBIE_140
//3654,MD_ZOMBIE_160
//
//3655,E_MOBSTER
//3656,B_THE_PAPER
//3657,B_THE_PAPER2
//3658,MD_LICH_LORD_100
@ -2823,6 +2823,58 @@
//3666,MD_DRAINLIAR_100
//3667,MD_DRAINLIAR_160
//3668,B_KIEL_
//3669,DIABOLIC2
//3670,DELETER_2
//3671,JP_MAZEMOB_01
//3672,JP_MAZEMOB_02
//3673,JP_MAZEMOB_03
//3674,JP_MAZEMOB_04
//3675,JP_MAZEMOB_05
//3676,JP_MAZEMOB_06
//3677,JP_MAZEMOB_07
//3678,JP_MAZEMOB_08
//3679,JP_MAZEMOB_09
//3680,JP_MAZEMOB_10
//3681,JP_MAZEMOB_11
//3682,JP_MAZEMOB_12
//3683,JP_MAZEMOB_13
//3684,JP_MAZEMOB_14
//3685,JP_MAZEMOB_15
//3686,JP_MAZEMOB_16
//3687,JP_MAZEMOB_17
//3688,JP_MAZEMOB_18
//3689,JP_MAZEMOB_19
//3690,JP_MAZEMOB_20
//3691,JP_MAZEMOB_21
//3692,JP_MAZEMOB_22
//3693,JP_MAZEMOB_23
//3694,JP_MAZEMOB_24
//3695,JP_MAZEMOB_25
//3696,JP_MAZEMOB_26
//3697,JP_MAZEMOB_27
//3698,JP_MAZEMOB_28
//3699,JP_MAZEMOB_29
//3700,JP_MAZEMOB_30
//3701,JP_MAZEMOB_31
//3702,JP_MAZEMOB_32
//3703,JP_MAZEMOB_33
//3704,JP_MAZEMOB_34
//3705,JP_MAZEMOB_35
//3706,JP_MAZEMOB_36
//3707,JP_MAZEMOB_37
//3708,JP_MAZEMOB_38
//3709,JP_MAZEMOB_39
//3710,JP_MAZEMOB_40
//3711,JP_MAZEMOB_41
//3712,JP_MAZEMOB_42
//3713,JP_MAZEMOB_43
//3714,JP_MAZEMOB_44
//3715,JP_MAZEMOB_45
//3716,JP_MAZEMOB_46
//3717,JP_MAZEMOB_47
//3718,JP_MAZEMOB_48
//3719,JP_MAZEMOB_49
//3720,JP_MAZEMOB_50
//3721,QE_PORING
//3722,QE_POPORING
//3723,QE_DROPS
@ -2832,3 +2884,9 @@
//3727,QE_PICKY_
//3728,QE_ZOMBIE
//3729,QE_POISON_SPORE
//3730,BIG_DIPPER
//3731,SCATLETON
//3732,JP_ABYSS_BOSS_1
//3733,JP_ABYSS_BOSS_2
//3734,ORC_X2016
//3735,PORING_X2016

View File

@ -50,7 +50,7 @@
1023,ORK_WARRIOR,Orc Warrior,635,9017,10009,537,80,60,20,100,250,20,500,150,1,0,600,200,300,{ petskillattack2 "NPC_PIERCINGATT",100,1,0,10; },{ bonus bAtk,10; bonus bDef,-3; }
1026,MUNAK,Munak,636,9018,10008,537,80,60,20,100,250,20,500,150,0,0,300,750,300,{ petskillattack2 "NPC_DARKNESSATTACK",444,1,0,10; },{ bonus bInt,1; bonus bDef,1; }
1110,DOKEBI,Dokebi,637,9019,10005,537,80,60,20,100,250,20,500,150,0,0,300,300,800,{ petskillattack "BS_HAMMERFALL",1,0,10; },{ bonus bMatkRate,1; bonus bAtkRate,-1; }
1170,SOHEE,Sohee,638,9020,10016,537,80,60,10,100,250,20,500,150,0,0,100,1000,200,{ petheal 400,60,33,100; },{ bonus bStr,1; bonus bDex,1; }
1170,SOHEE,Sohee,638,9020,10016,537,80,60,10,100,250,20,500,150,0,0,100,1000,200,{ petskillsupport "AL_HEAL",5,60,33,100; },{ bonus bStr,1; bonus bDex,1; }
1029,ISIS,Isis,639,9021,10006,537,80,60,10,100,250,20,500,150,0,0,650,450,150,{ petskillsupport "PR_MAGNIFICAT",2,60,50,50; },{ bonus bMatkRate,-1; bonus bAtkRate,1; }
1155,PETIT,Petite,640,9022,10011,537,80,60,20,100,250,20,500,150,0,0,800,400,100,{ petskillattack2 "WZ_HEAVENDRIVE",500,1,0,10; },{ bonus bDef,-2; bonus bMdef,-2; bonus bAspdRate,1; }
1109,DEVIRUCHI,Deviruchi,641,9023,10004,711,80,60,10,100,250,20,500,150,0,0,800,200,100,{ petskillbonus bAgiDexStr,6,20,40; },{ bonus bMatkRate,1; bonus bAtkRate,1; bonus bMaxHPrate,-3; bonus bMaxSPrate,-3; }

View File

@ -1264,13 +1264,13 @@
//-- RA_CAMOUFLAGE
2247,0,0,0,10000,0,0,-1
//-- RA_MAGENTATRAP
2249,0,2000,0,15000,10000,0,-1
2249,0,2000,0,15000,0,0,-1
//-- RA_COBALTTRAP
2250,0,2000,0,15000,10000,0,-1
2250,0,2000,0,15000,0,0,-1
//-- RA_MAIZETRAP
2251,0,2000,0,15000,10000,0,-1
2251,0,2000,0,15000,0,0,-1
//-- RA_VERDURETRAP
2252,0,2000,0,15000,10000,0,-1
2252,0,2000,0,15000,0,0,-1
//-- RA_FIRINGTRAP
2253,0,0,0,15000,15000,0,-1
//-- RA_ICEBOUNDTRAP

View File

@ -549,7 +549,7 @@
//****
// Sniper
380,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0,0x0, SN_SIGHT,Falcon Eyes
381,9,8,1,-3,0x40,0,5,1,yes,0,0,0,misc,0,0x0, SN_FALCONASSAULT,Falcon Assault
381,9,8,1,0,0xC0,0,5,1,yes,0,0,0,misc,0,0x0, SN_FALCONASSAULT,Falcon Assault
382,9,8,1,-1,0,1,5,1,yes,0,0x40000,14,weapon,0,0x0, SN_SHARPSHOOTING,Focused Arrow Strike
383,0,6,4,0,0x3,-1,10,1,yes,0,0,0,weapon,0,0x0, SN_WINDWALK,Wind Walker
@ -1087,7 +1087,7 @@
2295,3,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_LAZINESS,Masquerade - Laziness
2296,3,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_UNLUCKY,Masquerade - Unlucky
2297,3,6,1,0,0x1,0,3,1,yes,0,0,0,none,0,0x0, SC_WEAKNESS,Masquerade - Weakness
2298,3,6,1,0,0x1,0,5,1,yes,0,0,0,none,0,0x8000, SC_STRIPACCESSARY,Strip Accessory
2298,3,6,1,0,0x1,0,5,1,yes,0,0,0,none,0,0x0, SC_STRIPACCESSARY,Strip Accessory
2299,7,6,2,0,0x1,0,3,1,yes,0,0,3,magic,0,0x0, SC_MANHOLE,Man Hole
2300,7,6,2,0,0x1,0,3,1,yes,0,0,1,magic,0,0x0, SC_DIMENSIONDOOR,Dimension Door
2301,7,6,2,0,0x1,0,3,1,yes,0,0x20000,0,magic,0,0x0, SC_CHAOSPANIC,Chaos Panic

View File

@ -20,7 +20,7 @@
// 0x00800(UF_DUALMODE) Spell has effects both at an interval and when you step in/out
// 0x01000(UF_NOKNOCKBACK) Cannot be knocked back (only unit that can be damaged)
// 0x02000(UF_RANGEDSINGLEUNIT) Layout hack, use layout range propriety but only display center.
// 0x04000(UF_REM_CRAZYWEED) Removed if be overlapped by GN_CRAZYWEED
// 0x04000(UF_CRAZYWEED_IMMUNE) Immune to GN_CRAZYWEED removal
// 0x08000(UF_REM_FIRERAIN) Removed if be overlapped by RL_FIRE_RAIN
// 0x10000(UF_KNOCKBACK_GROUP) Knock back a whole skill group (by default, skill unit is knocked back each unit)
// 0x20000(UF_HIDDEN_TRAP) Hidden trap, see 'traps_setting' skill config to enable this flag
@ -32,14 +32,14 @@
// u1 u2 lay r intr target flag
//
12,0x7e, , 0, 0, -1,all, 0x4003 //MG_SAFETYWALL
12,0x7e, , 0, 0, -1,all, 0x003 //MG_SAFETYWALL
18,0x7f, , -1, 0, 20,enemy, 0x8010 //MG_FIREWALL
21,0x86, , 0, 2:2:2:2:2:2:2:2:2:2:3,1000,enemy, 0x010 //MG_THUNDERSTORM
25,0x85, , 1, 0, -1,all, 0x6003 //AL_PNEUMA
25,0x85, , 1, 0, -1,all, 0x2003 //AL_PNEUMA
27,0x81,0x80, 0, 0, -1,all, 0x00E //AL_WARP
70,0x83, , -1, 1,1000,all, 0x018 //PR_SANCTUARY
79,0x84, , -1, 1,3000,enemy, 0x8018 //PR_MAGNUS
80,0x87,0x88, 0, 1,2000,enemy, 0x4006 //WZ_FIREPILLAR
80,0x87,0x88, 0, 1,2000,enemy, 0x006 //WZ_FIREPILLAR
83,0x86, , 0, 3,1000,enemy, 0x010 //WZ_METEOR
85,0x86, , 5:5:5:5:5:5:5:5:5:5:7, 1,1250,enemy,0x018 //WZ_VERMILION
86,0x86, , 0:1:1:2:2:2:2:2:2:2, 0,-1,noone, 0x010 //WZ_WATERBALL
@ -61,10 +61,10 @@
220,0xb0, , 0, 0, -1,all, 0x8002 //RG_GRAFFITI
229,0xb1, , 0, 1, 500,enemy, 0x006 //AM_DEMONSTRATION
254,0x86, , -1, 0, 300,enemy, 0x010 //CR_GRANDCROSS
285,0x9a, , 3, 0, -1,all, 0xC010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0xC010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0xC010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0xC010 //SA_LANDPROTECTOR
285,0x9a, , 3, 0, -1,all, 0xA010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0xA010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0xA010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0xA010 //SA_LANDPROTECTOR
306,0x9e, , 4, 0,6000,enemy, 0x200 //BD_LULLABY
307,0x9f, , 4, 0, -1,enemy, 0x220 //BD_RICHMANKIM
308,0xa0, , 4, 0, -1,enemy, 0x8200 //BD_ETERNALCHAOS
@ -131,10 +131,10 @@
2274,0xe3, , 2, 0, -1,ally, 0x000 //NC_STEALTHFIELD
2299,0xcc, , 0, 1,1000,all, 0x8006 //SC_MANHOLE
2300,0xcd, , 0, 0,1000,all, 0xC006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xE00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xE002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xE058 //SC_BLOODYLUST
2300,0xcd, , 0, 0,1000,all, 0x8006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xA00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xA002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xA058 //SC_BLOODYLUST
2304,0xd1, , 0, 2, 500,enemy, 0x018 //SC_FEINTBOMB
2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING
@ -156,13 +156,13 @@
2467,0xf3, , 0, 1,1000,all, 0x010 //SO_WIND_INSIGNIA
2468,0xf4, , 0, 1,1000,all, 0x010 //SO_EARTH_INSIGNIA
2479,0xe5, , 0, 1,1000,enemy, 0xC006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0xC000 //GN_WALLOFTHORN
2479,0xe5, , 0, 1,1000,enemy, 0x8006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0x8000 //GN_WALLOFTHORN
2484,0x86, , 0, 1, 100,enemy, 0x080 //GN_CRAZYWEED_ATK
2485,0xe7, , 0, 2,2000,enemy, 0x8098 //GN_DEMONIC_FIRE
2487,0xe8, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_SMOKE_POWDER
2488,0xe9, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_TEAR_GAS
2490,0xea, , 0, 1,1000,enemy, 0xC002 //GN_HELLS_PLANT
2490,0xea, , 0, 1,1000,enemy, 0x8002 //GN_HELLS_PLANT
2555,0x104, , 0, 1:2:2:3:3,500,enemy,0x6 //RL_B_TRAP
2567,0x105, , -1, 0,1000,enemy, 0x98 //RL_FIRE_RAIN

View File

@ -276,9 +276,11 @@ bonus bIgnoreDefRace,r; Disregard DEF against enemies of race r
bonus2 bIgnoreDefRaceRate,r,n; Disregard n% of the target's DEF if the target belongs to race r
bonus bIgnoreDefClass,c; Disregard DEF against enemies of class c
bonus bIgnoreMDefRace,r; Disregard MDEF against enemies of race r
bonus2 bIgnoreDefRaceRate,r,n; Disregard n% of the target's DEF if the target belongs to race r
bonus2 bIgnoreMdefRaceRate,r,n; Disregard n% of the target's MDEF if the target belongs to race r
bonus2 bIgnoreMdefRace2Rate,mr,n; Disregard n% of the target's MDEF if the target belongs to monster race mr
bonus bIgnoreMDefEle,e; Disregard MDEF against enemies of element e
bonus2 bIgnoreDefClassRate,c,n; Disregard n% of the target's DEF if the target belongs to class c
bonus2 bIgnoreMdefClassRate,c,n; Disregard n% of the target's MDEF if the target belongs to class c
Experience
@ -329,7 +331,8 @@ bonus2 bWeaponComaRace,r,n; Adds a n/100% chance to cause Coma when attacking
| 5. AutoSpell Bonuses |
========================
NOTES:
- For all AutoSpell bonuses, target must be within the spell's range to go off.
- For all AutoSpell bonuses, target does not have be within the spell's range to go off.
-- Enable conf/battle/battle.conf::autospell_check_range to force a range check.
- By default, AutoSpell skills are casted on target unless it is a self or support skill (inf = 4/16).
bonus3 bAutoSpell,sk,y,n; Adds a n/10% chance to cast skill sk of level y when attacking

54
doc/sample/randomopt.txt Normal file
View File

@ -0,0 +1,54 @@
//===== rAthena Script =======================================
//= Sample Random Option Script
//===== Description: =========================================
//= Enchant a weapon with a random element option
//= to a weapon with no random option.
//===== Changelogs: ==========================================
//= 1.0 First version. [Secretdataz]
//============================================================
prontera,162,195,4 script Elemental Master 1_M_WIZARD,{
disable_items;
mes "[Elemental Master]";
mes "I could enchant your weapon with an element.";
mes "Are you interested?";
next;
if(select("Yes, I'm interested in that.") == 1){
.@id = getequipid(EQI_HAND_R);
for(.@i = 0; .@i < .sz; ++.@i){
if(.@id == .alloweditems[.@i])
.@allowed = 1;
}
mes "[Elemental Master]";
if(.@id == -1) {
mes "You are not holding anything in your hand.";
close;
} else if(!.@allowed){
mes "Your item can't be enchanted.";
close;
} else if(getequiprandomoption(EQI_HAND_R,0,ROA_ID)){
mes "Your weapon has already been enchanted.";
close;
}
mes "Do you want to enchant your " + getitemname(.@id) + " with a random element?";
next;
if(select("Yes, proceed.") == 1){
mes "[Elemental Master]";
mes "*mumble mumble*";
progressbar "#00FF00",2;
next;
setrandomoption(EQI_HAND_R,0,RDMOPT_WEAPON_ATTR_NOTHING + rand(10),0,0);
mes "[Elemental Master]";
mes "Here's your weapon";
close;
}
close;
}
else{
close;
}
OnInit:
setarray .alloweditems[0],1201,1202; // Add more item ids here
.sz = getarraysize(.alloweditems);
}

View File

@ -1094,6 +1094,27 @@ to alberta (98,154) when clicked.
See also 'navigateto', which can be used for certain NPC events.
Items
-----
You can refer to items by using HTML-like links to certain items:
<ITEMLINK>Display Name<INFO>Item ID</INFO></ITEMLINK>
Where <Display Name> is the name that will be displayed for your link and
<Item ID> being the ID of the item you want to link to when clicked.
In 2015 the tag name was changed to <ITEM> resulting in the following syntax:
<ITEM>Display Name<INFO>Item ID</INFO></ITEM>
The following sample will open a preview window for Red Potion:
mes "Did you ever consume a <ITEMLINK>Red Potion<INFO>501</INFO></ITEMLINK>?";
// Or in 2015:
mes "Did you ever consume a <ITEM>Red Potion<INFO>501</INFO></ITEM>?";
NOTE: Be aware that item links are rendered incorrectly in 2015+ clients at the moment.
URLs
----
Similarly, you can create links to websites that launch in a new window:
@ -8758,9 +8779,7 @@ to be executed from pet scripts. They will modify the pet AI decision-making for
the current pet of the invoking character, and will NOT have any independent
effect by themselves, which is why only one of them each may be in effect at any
time for a specific pet. A pet may have 'petloot', 'petskillbonus',
'petskillattack' OR 'petpetskillattack2' and 'petskillsupport' OR 'petheal' at
the same time. 'petheal' is deprecated and is no longer used in the default pet
scripts.
'petskillattack' OR 'petpetskillattack2' and 'petskillsupport'.
All commands with delays and durations will only make the behavior active for
the specified duration of seconds, with a delay of the specified number of
@ -8815,13 +8834,11 @@ when pet performance is activated.
*petskillsupport <skill id>,<skill level>,<delay>,<percent hp>,<percent sp>;
*petskillsupport "<skill name>",<skill level>,<delay>,<percent hp>,<percent sp>;
*petheal <level>,<delay>,<percent hp>,<percent sp>;
This will make the pet use a specified support skill on the owner whenever the
HP and SP are below the given percent values, with a specified delay time
between activations. The skill numbers are as per 'db/(pre-)re/skill_db.txt'.
'petheal' works the same as 'petskillsupport' but has the skill ID hard-coded to
AL_HEAL (ID:28). This command is deprecated.
It's not quite certain who's stats will be used for the skills cast, the
character's or the pets. Probably, Skotlex can answer that question.

View File

@ -14,12 +14,12 @@ prontera,124,201,1 script Universal Rental NPC 726,{
if (ismounting()) {
message strcharinfo(0),"You must first remove your mount.";
end;
} else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) {
} else if (((eaclass()&EAJ_THIRDMASK)==EAJ_RANGER) && !countitem(6124)) {
if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) {
if(select(" ~ Falcon: ~ Warg")==1) setfalcon;
else getitem 6124,1; //Wolf's_Flute
} else getitem 6124,1; //Wolf's_Flute
} else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv("MC_PUSHCART")) {
} else if (((eaclass()&EAJ_THIRDMASK)==EAJ_MECHANIC) && !checkcart() && getskilllv("MC_PUSHCART")) {
if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) {
if(select(" ~ Cart: ~ Mado")==1) setcart;
else setmadogear;

View File

@ -418,7 +418,7 @@ morocc_in,116,101,3 script Old Scholar Tyus#hellion 735,3,3,{
mes "for yourself?! I must smite";
mes "you now before you are";
mes "consumed by its darkness!";
close;
close2;
percentheal -100,0;
end;
}

View File

@ -816,7 +816,7 @@ REPLACE INTO `item_db_re` VALUES (1439,'Half_BF_Spear1','Half BF Spear1',5,20,NU
REPLACE INTO `item_db_re` VALUES (1440,'Battle_Hook_','Battle Hook',5,20,NULL,900,'140',NULL,3,3,0x00004082,18,2,2,4,'65',1,4,'bonus2 bAddEff,Eff_Stun,500; bonus2 bAddRace,RC_DemiHuman,20; bonus2 bAddRace,RC_Player,20; skill "KN_PIERCE",3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1441,'Blue_Spear','Blue Spear',5,10,NULL,1200,'180:170',NULL,3,1,0x00004000,56,2,2,3,'100',1,4,'bonus bDex,5; bonus bInt,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1442,'Ru_Gold_Spear','Ru Gold Spear',5,0,NULL,1200,'180',NULL,3,2,0x00004000,56,2,2,3,'120',1,4,'bonus bStr,8; bonus bAgi,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1443,'Crimson_Spear','Crimson Spear',5,20,NULL,900,'90',NULL,3,2,0x00000002,56,2,2,3,'70',1,4,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1443,'Crimson_Spear','Crimson Spear',5,20,NULL,900,'90',NULL,3,2,0x00004082,56,2,2,3,'70',1,4,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1446,'Requiem_Spear','Requiem Spear',5,20,NULL,1000,'130',NULL,3,NULL,0x00004080,63,2,2,4,'100',1,4,'.@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b;',NULL,NULL);
#===================================================================
# 2-Handed Spears
@ -875,7 +875,7 @@ REPLACE INTO `item_db_re` VALUES (1494,'Undine_Spear','Spear Of Odin',5,50000,NU
REPLACE INTO `item_db_re` VALUES (1495,'TE_Woe_Lance','TE Woe Lance',5,0,NULL,0,'150',NULL,3,0,0x00004082,63,2,34,3,'40',1,5,'bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Blind,3000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1496,'Tanos_Two-Handed_Spear','Tanos Two-Handed Spear',5,10,NULL,3750,'250:50',NULL,NULL,1,0x00004082,63,2,34,4,'120',1,5,'bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus bAtkRate,5; bonus2 bHPLossRate,100,10000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1497,'Hell_Fire_','Hellfire',5,20,NULL,3500,'200',NULL,3,3,0x00004082,63,2,34,4,'48',1,5,'bonus bAtkEle,Ele_Fire; bonus3 bAutoSpell,"MG_FIREBALL",5,100; bonus bStr,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1498,'Crimson_Lance','Crimson Lance',5,20,NULL,1750,'175',NULL,1,2,0x00000002,63,2,34,3,'70',1,5,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1498,'Crimson_Lance','Crimson Lance',5,20,NULL,1750,'175',NULL,1,2,0x00004082,63,2,34,3,'70',1,5,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1499,'Requiem_Lance','Requiem Lance',5,20,NULL,1500,'220',NULL,3,NULL,0x00004080,63,2,34,4,'100',1,5,'.@r = getrefine(); .@b = 40; .@c = 5; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+30; .@c += (.@r-5); } bonus2 bAddRace2,RC2_BioLab,.@b; bonus2 bSubRace2,RC2_BioLab,.@c;',NULL,NULL);
#===================================================================
# Maces
@ -1060,7 +1060,7 @@ REPLACE INTO `item_db_re` VALUES (1676,'Baculum_Daemonicum','Baculum Daemonicum'
REPLACE INTO `item_db_re` VALUES (1677,'Blue_Wand','Blue Wand',5,10,NULL,0,'50',NULL,1,1,0x00000200,56,2,2,3,'100',1,10,'bonus bStr,5; bonus bInt,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1678,'Ru_Gold_Wand','Ru Gold Wand',5,0,NULL,0,'50',NULL,1,2,0x00000200,56,2,2,3,'120',1,10,'bonus bDex,8; bonus bInt,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1679,'Rafini_Staff_','Laphine Staff',5,20,NULL,500,'30:180',NULL,1,2,0x00818315,63,2,2,3,'100',1,10,'bonus bFixedCastRate,-getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1680,'Crimson_One-Handed_Staff','Crimson One-Handed Staff',5,10,NULL,600,'60:70',NULL,1,2,0x00800015,63,2,2,3,'70',1,10,'.@r = getrefine(); bonus bInt,4; bonus bMatk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1680,'Crimson_One-Handed_Staff','Crimson One-Handed Staff',5,10,NULL,600,'60:70',NULL,1,2,0x00818315,63,2,2,3,'70',1,10,'.@r = getrefine(); bonus bInt,4; bonus bMatk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1681,'Short_Foxtail_Staff','Short Foxtail Staff',5,20,NULL,0,'30',NULL,1,0,0x80000000,7,2,2,1,'1',1,10,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1682,'Shadow_Staff','Shadow Staff',5,0,NULL,600,'70:130',NULL,1,2,0x00000200,56,2,2,4,'90',1,10,'.@r = getrefine(); bonus2 bSkillAtk,"WL_HELLINFERNO",(getskilllv("WL_HELLINFERNO") >= 5 ? 100 : 0) + (.@r*10); bonus2 bIgnoreMdefRaceRate,RC_All,5; autobonus "{ bonus2 bVariableCastrate,\\\"WL_HELLINFERNO\\\",-30; }",.@r*20,5000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER }";',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1683,'Enriched_Foxtail_Staff','Enriched Foxtail Staff',5,20,NULL,200,'50:70',NULL,1,1,0x80000000,7,2,2,2,'12',1,10,'bonus bMaxSP,50;',NULL,NULL);
@ -1244,7 +1244,7 @@ REPLACE INTO `item_db_re` VALUES (1934,'Contrabass','Contrabass',5,20,NULL,250,'
REPLACE INTO `item_db_re` VALUES (1935,'Ozs_New_Ukulele','Oz\'s New Ukulele',5,20,NULL,2000,'160',NULL,1,2,0x00080000,63,1,2,4,'130',1,13,'bonus2 bSkillUseSP,"MI_RUSH_WINDMILL",-20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1936,'Blue_Violin','Blue Violin',5,10,NULL,1500,'180',NULL,2,1,0x00080000,63,1,2,3,'100',1,13,'bonus bDex,5; bonus bVit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1937,'Ru_Gold_Violin','Ru Gold Violin',5,0,NULL,1500,'180',NULL,1,2,0x00080000,56,2,2,3,'120',1,13,'bonus bDex,8; bonus bVit,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1938,'Infinity_Violin','Infinity Violin',5,10,NULL,500,'150',NULL,2,1,0x00080000,63,1,2,4,'100',1,13,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1938,'Infinity_Violin','Infinity Violin',5,10,NULL,500,'150',NULL,2,1,0x00080000,56,1,2,4,'100',1,13,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1939,'Crimson_Violin','Crimson Violin',5,20,NULL,800,'80',NULL,2,2,0x00080000,63,1,2,3,'70',1,13,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1940,'Trumpet_Shell','Trumpet Shell',5,0,NULL,600,'125',NULL,1,1,0x00080000,56,1,2,4,'130',1,13,'.@r = getrefine(); bonus bDex,.@r; bonus bInt,.@r; .@per = ((.@r > 9) ? 40 : ((.@r > 7) ? 20 : ((.@r > 5) ? 10 : 0))); bonus2 bSkillAtk,"WM_REVERBERATION",.@per; bonus2 bVariableCastrate,"WM_REVERBERATION",-.@per;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1942,'Requiem_Violin','Requiem Violin',5,20,NULL,500,'160:120',NULL,1,NULL,0x00080000,63,1,2,4,'100',1,13,'.@r = getrefine(); .@b = 40; bonus bUnbreakableWeapon,1; if(.@r>=5){ .@b += (.@r-5)*15+20; } if(.@r>=7) bonus2 bSkillAtk,"CG_ARROWVULCAN",200; bonus2 bAddRace2,RC2_BioLab,.@b;',NULL,NULL);
@ -1294,7 +1294,7 @@ REPLACE INTO `item_db_re` VALUES (1989,'Rhythmic_Gymnastics_Ribbon','Rhythmic Gy
REPLACE INTO `item_db_re` VALUES (1990,'Bloody_Floral_Decoration_Microphone','Bloody Floral Decoration Microphone',5,20,NULL,1000,'160',NULL,2,2,0x00080000,63,0,2,4,'130',1,14,'bonus2 bSkillUseSP,"CG_MOONLIT",-20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1991,'Blue_Whip','Blue Whip',5,10,NULL,1500,'180',NULL,2,1,0x00080000,63,0,2,3,'100',1,14,'bonus bDex,5; bonus bVit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1992,'Ru_Gold_Whip','Ru Gold Whip',5,0,NULL,1500,'180',NULL,2,2,0x00080000,56,2,2,3,'120',1,14,'bonus bDex,8; bonus bVit,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1994,'Infinity_Whip','Infinity Whip',5,10,NULL,500,'150',NULL,2,1,0x00080000,63,0,2,4,'100',1,14,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1994,'Infinity_Whip','Infinity Whip',5,10,NULL,500,'150',NULL,2,1,0x00080000,56,0,2,4,'100',1,14,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1995,'Crimson_Whip','Crimson Whip',5,20,NULL,800,'80',NULL,2,2,0x00080000,63,0,2,3,'70',1,14,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (1996,'Wire_of_Vicious_Mind','Wire of Vicious Mind',5,20,NULL,1300,'130:50',NULL,2,1,0x00080000,63,NULL,2,4,'160',1,14,'bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2;',NULL,NULL);
#===================================================================
@ -1324,8 +1324,8 @@ REPLACE INTO `item_db_re` VALUES (2020,'Jormungand','Jormungand',5,10,NULL,3000,
REPLACE INTO `item_db_re` VALUES (2021,'Ganbantein','Ganbantein',5,0,NULL,2000,'100:320',NULL,1,0,0x00000200,56,2,2,4,'100',1,10,'bonus bInt,25; bonus bDex,25; bonus3 bAddEff,Eff_Poison,1000,ATF_MAGIC; bonus3 bAutoSpell,"AB_SILENTIUM",1,100; bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2022,'Geffen_Staff','Staff of Geffen',5,20,NULL,1000,'100:300',NULL,1,1,0x00000200,18,2,34,1,'150',1,23,'bonus bInt,20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2023,'Tanos_Two-handed_Stick','Tanos Two-handed Stick',5,10,NULL,1400,'120:250',NULL,NULL,1,0x810200,63,2,34,4,'120',1,23,'bonus bInt,6; bonus bVit,6; bonus bLuk,-6; bonus bHealPower,18; bonus2 bHPLossRate,100,10000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2024,'Infinity_Two-handed_Stick','Infinity Two-handed Stick',5,10,NULL,500,'30:170',NULL,NULL,1,0x810200,63,2,34,4,'100',1,23,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2025,'Crimson_Two-Handed_Staff','Crimson Two-Handed Staff',5,20,NULL,1000,'100',NULL,1,2,0x000014,63,2,34,3,'70',1,23,'.@r = getrefine(); bonus bInt,5; bonus bMatk,150+((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2024,'Infinity_Two-handed_Stick','Infinity Two-handed Stick',5,10,NULL,500,'30:170',NULL,NULL,1,0x810200,56,2,34,4,'100',1,23,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2025,'Crimson_Two-Handed_Staff','Crimson Two-Handed Staff',5,20,NULL,1000,'100',NULL,1,2,0x800200,63,2,34,3,'70',1,23,'.@r = getrefine(); bonus bInt,5; bonus bMatk,150+((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2026,'Staff_of_Vicious_Mind','Staff of Vicious Mind',5,20,NULL,1000,'100:200',NULL,1,1,0x00810204,63,2,34,4,'160',1,23,'bonus bMatk,pow(min(getrefine(),15),2); bonus bInt,6; bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2027,'Sunflower_Kid','Sunflower Kid',5,10,NULL,1500,'150:320',NULL,NULL,2,0x00000200,40,2,34,4,'170',1,23,'bonus bInt,5; .@r = getrefine(); bonus bMatkRate,(.@r/2); bonus bDelayrate,(.@r*-1); bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (2032,'Requiem_Wizardry_Staff','Requiem Wizardry Staff',5,20,NULL,500,'100:230',NULL,1,NULL,0xFFFFFFFF,63,2,2,4,'100',1,10,'.@r = getrefine(); .@b = 40; .@c = 5; if(.@r>=5){ .@b += (.@r-5)*15+20; .@c += .@r-5; } bonus2 bMagicAddRace2,RC2_BioLab,.@b; bonus2 bSubRace2,RC2_BioLab,.@c; bonus2 bIgnoreMdefRace2Rate,RC2_BioLab,(.@r-5)*10;',NULL,NULL);
@ -2966,24 +2966,24 @@ REPLACE INTO `item_db_re` VALUES (4764,'Critical5','CRI+5',6,20,NULL,10,NULL,NUL
REPLACE INTO `item_db_re` VALUES (4765,'Critical7','CRI+7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,7;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4766,'Atk2','ATK+2%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4767,'Atk3','ATK+3%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4768,'Str1_J','STR+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4769,'Str2_J','STR+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4770,'Str3_J','STR+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4771,'Int1_J','INT+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4772,'Int2_J','INT+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4773,'Int3_J','INT+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4774,'Vit1_J','VIT+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4775,'Vit2_J','VIT+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4776,'Vit3_J','VIT+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4777,'Agi1_J','AGI+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4778,'Agi2_J','AGI+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4779,'Agi3_J','AGI+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4780,'Dex1_J','DEX+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4781,'Dex2_J','DEX+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4782,'Dex3_J','DEX+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4783,'Luk1_J','LUK+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4784,'Luk2_J','LUK+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4785,'Luk3_J','LUK+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4768,'Str1_J','Str + 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4769,'Str2_J','Str + 2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4770,'Str3_J','Str + 3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4771,'Int1_J','Int + 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4772,'Int2_J','Int + 2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4773,'Int3_J','Int + 3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4774,'Vit1_J','Vit + 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4775,'Vit2_J','Vit + 2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4776,'Vit3_J','Vit + 3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4777,'Agi1_J','Agi + 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4778,'Agi2_J','Agi + 2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4779,'Agi3_J','Agi + 3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4780,'Dex1_J','Dex + 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4781,'Dex2_J','Dex + 2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4782,'Dex3_J','Dex + 3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4783,'Luk1_J','Luk + 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4784,'Luk2_J','Luk + 2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4785,'Luk3_J','Luk + 3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4786,'Mdef2','MDEF+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4787,'Mdef4','MDEF+4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4788,'Mdef6','MDEF+6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,6;',NULL,NULL);
@ -3001,153 +3001,152 @@ REPLACE INTO `item_db_re` VALUES (4799,'HP500','HP+500',6,20,NULL,10,NULL,NULL,N
REPLACE INTO `item_db_re` VALUES (4800,'SP50','SP+50',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,50;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4801,'SP100','SP+100',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,100;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4802,'SP150','SP+150',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,150;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4803,'Highness_Heal_3sec','Recovery Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSkillCooldown,"AB_HIGHNESSHEAL",-3000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4804,'Coluceo_Heal30','Cathedral Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSkillUseSP,"AB_CHEAL",30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4805,'Heal_Amount2','Archbishop Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4803,'Highness_Heal_3sec','Cure1Lv.',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSkillCooldown,"AB_HIGHNESSHEAL",-3000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4804,'Coluceo_Heal30','Catholic1Lv.',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSkillUseSP,"AB_CHEAL",30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4805,'Heal_Amount2','Archbishop1Lv',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4806,'Matk3','MATK+3%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,3; bonus bFixedCastrate,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4807,'Atk_Speed1','ASPD+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspd,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4808,'Fighting_Spirit4','Fighting Lv4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,15; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4809,'Fighting_Spirit3','Fighting Lv3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,12; bonus bHit,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4810,'Fighting_Spirit2','Fighting Lv2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,9; bonus bHit,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4811,'Fighting_Spirit1','Fighting Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,6; bonus bHit,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4812,'Spell4','Force Lv4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,15; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4813,'Spell3','Force Lv3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,12; bonus bVariableCastrate,-8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4814,'Spell2','Force Lv2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,9; bonus bVariableCastrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4815,'Spell1','Force Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,6; bonus bVariableCastrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4816,'Sharp3','Sharp Lv3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,12; bonus bHit,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4817,'Sharp2','Sharp Lv2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,9; bonus bHit,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4818,'Sharp1','Sharp Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,6; bonus bHit,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4819,'Atk1','ATK+1%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4820,'Fighting_Spirit5','Fighting Lv5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,18; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4821,'Fighting_Spirit6','Fighting Lv6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,21; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4822,'Fighting_Spirit7','Fighting Lv7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,24; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4823,'Fighting_Spirit8','Fighting Lv8',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,27; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4824,'Fighting_Spirit9','Fighting Lv9',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,30; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4825,'Fighting_Spirit10','Fighting Lv10',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,50; bonus bHit,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4826,'Spell5','Force Lv5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,18; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4827,'Spell6','Force Lv6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,21; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4828,'Spell7','Force Lv7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,24; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4829,'Spell8','Force Lv8',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,27; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4830,'Spell9','Force Lv9',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,30; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4831,'Spell10','Force Lv10',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,50; bonus bVariableCastrate,-20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4832,'Expert_Archer1','Archer Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4833,'Expert_Archer2','Archer Lv2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4834,'Expert_Archer3','Archer Lv3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4835,'Expert_Archer4','Archer Lv4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4836,'Expert_Archer5','Archer Lv5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4837,'Expert_Archer6','Archer Lv6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,12;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4838,'Expert_Archer7','Archer Lv7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,14;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4839,'Expert_Archer8','Archer Lv8',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,16;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4840,'Expert_Archer9','Archer Lv9',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,18;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4841,'Expert_Archer10','Archer Lv10',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,20; bonus bAspd,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4842,'Atk_Speed2','ASPD+2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspd,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4843,'Sharp4','Sharp Lv4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,14; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4844,'Sharp5','Sharp Lv5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,15; bonus bHit,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4807,'Atk_Speed1','Atk Speed1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspd,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4808,'Fighting_Spirit4','Fighting Spirit4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,15; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4809,'Fighting_Spirit3','Fighting Spirit3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,12; bonus bHit,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4810,'Fighting_Spirit2','Fighting Spirit2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,9; bonus bHit,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4811,'Fighting_Spirit1','Fighting Spirit1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,6; bonus bHit,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4812,'Spell4','Spell4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,15; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4813,'Spell3','Spell3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,12; bonus bVariableCastrate,-8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4814,'Spell2','Spell2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,9; bonus bVariableCastrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4815,'Spell1','Spell1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,6; bonus bVariableCastrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4816,'Sharp3','Sharp3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,12; bonus bHit,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4817,'Sharp2','Sharp2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,9; bonus bHit,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4818,'Sharp1','Sharp1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,6; bonus bHit,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4819,'Atk1','Atk1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddClass,Class_All,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4820,'Fighting_Spirit5','Fighting Spirit5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,18; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4821,'Fighting_Spirit6','Fighting Spirit6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,21; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4822,'Fighting_Spirit7','Fighting Spirit7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,24; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4823,'Fighting_Spirit8','Fighting Spirit8',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,27; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4824,'Fighting_Spirit9','Fighting Spirit9',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,30; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4825,'Fighting_Spirit10','Fighting Spirit10',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,50; bonus bHit,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4826,'Spell5','Spell5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,18; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4827,'Spell6','Spell6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,21; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4828,'Spell7','Spell7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,24; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4829,'Spell8','Spell8',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,27; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4830,'Spell9','Spell9',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,30; bonus bVariableCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4831,'Spell10','Spell10',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,50; bonus bVariableCastrate,-20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4832,'Expert_Archer1','Expert Archer1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4833,'Expert_Archer2','Expert Archer2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4834,'Expert_Archer3','Expert Archer3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4835,'Expert_Archer4','Expert Archer4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4836,'Expert_Archer5','Expert Archer5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4837,'Expert_Archer6','Expert Archer6',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,12;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4838,'Expert_Archer7','Expert Archer7',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,14;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4839,'Expert_Archer8','Expert Archer8',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,16;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4840,'Expert_Archer9','Expert Archer9',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,18;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4841,'Expert_Archer10','Expert Archer10',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLongAtkRate,20; bonus bAspd,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4842,'Atk_Speed2','Atk Speed2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspd,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4843,'Sharp4','Sharp4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,14; bonus bHit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4844,'Sharp5','Sharp5',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,15; bonus bHit,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4845,'Sea_Energy','Strength Of Ocean',6,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
#REPLACE INTO `item_db_re` VALUES (4845,'Cobble_Stone','Cobble Stone',6,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4846,'2011val_Angel','Fully Loved Stone',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,10; bonus bMatk,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4847,'2011val_Devil','Spelled Stone',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,10; bonus bMatk,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4848,'Immuned1','Immune Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4849,'Cranial1','Crescent Lv1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4850,'Heal_Amount3','Archbishop Lv2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,6; bonus bUseSPrate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4851,'Heal_Amount4','Archbishop Lv3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,12; bonus bUseSPrate,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4852,'Heal_Amount5','Archbishop Lv4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,20; bonus bUseSPrate,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4853,'S_STR','Special STR',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bStr,1; .@r = getrefine(); if(.@r>7) { bonus bStr,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4854,'S_AGI','Special AGI',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAgi,1; .@r = getrefine(); if(.@r>7) { bonus bAgi,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4855,'S_VIT','Special VIT',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bVit,1; .@r = getrefine(); if(.@r>7) { bonus bVit,3; } if(.@r>8) { bonus bMaxSPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4856,'S_INT','Special INT',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bInt,1; .@r = getrefine(); if(.@r>7) { bonus bInt,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4857,'S_DEX','Special DEX',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDex,1; .@r = getrefine(); if(.@r>7) { bonus bDex,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4858,'S_LUK','Special LUK',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLuk,1; .@r = getrefine(); if(.@r>7) { bonus bLuk,3; } if(.@r>8) { bonus bMaxHPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4859,'Evasion1','Flee+1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4860,'Evasion3','Flee+3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4861,'MHP1','MaxHP+1%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4862,'MHP2','MaxHP+2%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4863,'Fatal1Lv','Fatal Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,4; bonus bCritical,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4864,'Fatal2Lv','Fatal Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,6; bonus bCritical,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4865,'Fatal3Lv','Fatal Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,8; bonus bCritical,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4866,'Fatal4Lv','Fatal Lv4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,10; bonus bCritical,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4867,'MHP3','MaxHP+3%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4868,'MHP4','MaxHP+4%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4869,'DelayafterAttack1Lv','DelayAfterAttack Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,4; bonus bDelayrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4846,'2011Valentin_Angel','Fully Loved Stone',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,10; bonus bMatk,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4847,'2011Valentin_Devil','Spelled Stone',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bBaseAtk,10; bonus bMatk,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4848,'Immuned1','Immune Level 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4849,'Cranial1','Cranial Level 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4850,'Heal_Amount3','Heal Amount2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,6; bonus bUseSPrate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4851,'Heal_Amount4','Heal Amount3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,12; bonus bUseSPrate,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4852,'Heal_Amount5','Heal Amount4',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHealPower,20; bonus bUseSPrate,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4853,'S_Str','Special Str',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bStr,1; .@r = getrefine(); if(.@r>7) { bonus bStr,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4854,'S_Agi','Special Agi',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAgi,1; .@r = getrefine(); if(.@r>7) { bonus bAgi,3; } if(.@r>8) { bonus2 bAddClass,Class_All,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4855,'S_Vital','Special Vit',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bVit,1; .@r = getrefine(); if(.@r>7) { bonus bVit,3; } if(.@r>8) { bonus bMaxSPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4856,'S_Int','Special Int',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bInt,1; .@r = getrefine(); if(.@r>7) { bonus bInt,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4857,'S_Dex','Special Dex',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDex,1; .@r = getrefine(); if(.@r>7) { bonus bDex,3; } if(.@r>8) { bonus bMatkRate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4858,'S_Luck','Special Luk',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLuk,1; .@r = getrefine(); if(.@r>7) { bonus bLuk,3; } if(.@r>8) { bonus bMaxHPrate,1; } if(.@r>11) { bonus bAspd,1; bonus bFixedCastrate,-7; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4859,'Evasion1','Evasion1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4860,'Evasion3','Evasion3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4861,'MHP1','MHP+1%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4862,'MHP2','MHP+2%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4863,'Fatal1','Fatal1Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,4; bonus bCritical,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4864,'Fatal2','Fatal2Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,6; bonus bCritical,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4865,'Fatal3','Fatal3Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,8; bonus bCritical,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4866,'Fatal4','Fatal4Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritAtkRate,10; bonus bCritical,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4867,'MHP3','MHP+3%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4868,'MHP4','MHP+4%',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4869,'Attack_Delay_1','DelayafterAttack1Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,4; bonus bDelayrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4870,'SP25','SP+25',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,25;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4871,'SP75','SP+75',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,75;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4872,'DelayafterAttack2Lv','DelayAfterAttack Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,6; bonus bDelayrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4873,'DelayafterAttack3Lv','DelayAfterAttack Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,8; bonus bDelayrate,-8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4875,'Strength_of_Bear','Strength of Bear',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'/*TODO: Confirm the rate*/ autobonus2 "{ bonus bStr,200; bonus2 bHPLossRate,500,1000; }",10,5000,BF_WEAPON,"{ active_transform 1060,5000; specialeffect2 EF_FIRESPLASHHIT; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4872,'Attack_Delay_2','DelayafterAttack2Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,6; bonus bDelayrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4873,'Attack_Delay_3','DelayafterAttack3Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,8; bonus bDelayrate,-8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4875,'Bear\'s_Power','Bear\'s Power',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus2 "{ bonus bStr,200; bonus2 bHPLossRate,500,1000; }",20,5000,BF_WEAPON,"{ active_transform 1060,5000; specialeffect2 EF_POTION_BERSERK; showscript \\\"Bigfoot Power !\\\"; }";',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4876,'Runaway_Magic','Runaway Magic',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus "{ bonus bInt,200; bonus2 bSPLossRate,200,1000; }",10,10000,BF_MAGIC,"{ specialeffect2 EF_LAMADAN; }";',NULL,'heal 0,-2000;');
REPLACE INTO `item_db_re` VALUES (4877,'Speed_of_Light','Speed of Light',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'/*TODO: Confirm the rate*/ autobonus "{ bonus bAspdRate,100; bonus bFlee,100; bonus2 bHPLossRate,400,1000; bonus2 bSPLossRate,50,1000;}",10,5000,BF_WEAPON,"{ specialeffect2 EF_AGIUP2; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4878,'Muscular_Endurance','Muscular Endurance',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus2 "{ bonus bDef,1000; bonus2 bAddRace,RC_All,-50; bonus bMatkRate,-50; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_GUARD3; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4879,'Hawk_Eye','Hawk Eye',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus "{ bonus bDex,200; bonus2 bSPLossRate,50,1000; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_BASH3D6; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4878,'Muscle_Fool','Muscle Fool',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus2 "{ bonus bDef,1000; bonus2 bAddRace,RC_All,-50; bonus bMatkRate,-50; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_GUARD3; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4879,'Hawkeye','Hawkeye',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus "{ bonus bDex,200; bonus2 bSPLossRate,50,1000; }",10,5000,BF_WEAPON,"{ specialeffect2 EF_BASH3D6; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4880,'Lucky_Day','Lucky Day',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'autobonus "{ bonus bLuk,200; }",10,5000,BF_WEAPON|BF_MAGIC,"{ specialeffect2 EF_DANCE_BLADE_ATK; }";',NULL,'heal 0,-300;');
REPLACE INTO `item_db_re` VALUES (4881,'DelayafterAttack4Lv','DelayAfterAttack Lv4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,10; bonus bDelayrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4882,'ATK_+_1%','ATK+1%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4883,'MATK_+_1%','MATK+1%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4884,'HIT_+_1','HIT+1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4885,'Spell_1','Spell 1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,5; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4886,'Spell_2','Spell 2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,10; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4887,'Spell_3','Spell 3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,15; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4888,'Spell_4','Spell 4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,20; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4889,'Spell_5','Spell 5',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,30; bonus bVariableCastrate,-5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4890,'MDEF+1','MDEF+1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4891,'MDEF+3','MDEF+3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4892,'MDEF+5','MDEF+5',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4893,'DEF+15','DEF+15',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4894,'ATK_+_4%','ATK+4%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4895,'ATK_+_5%','ATK+5%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4896,'MATK_+_2%','MATK+2%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4897,'MATK_+_3%','MATK+3%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4898,'MATK_+_4%','MATK+4%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4899,'MATK_+_5%','MATK+5%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4900,'MHP+5%','MaxHP+5%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4902,'DEF+18','DEF+18',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDef,18;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4903,'DEF+21','DEF+21',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDef,21;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4904,'ATK_+_6%','ATK+6%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4905,'ATK_+_7%','ATK+7%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,7;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4906,'MATK_+_6','MATK+6',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4907,'MATK_+_7%','MATK+7%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,7;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4908,'Essence_of_Evil_STR1','Essence of Evil STR1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bStr,1; bonus bBaseAtk,3; bonus bInt,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4909,'Essence_of_Evil_STR2','Essence of Evil STR2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bStr,2; bonus bBaseAtk,6; bonus bInt,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4910,'Essence_of_Evil_STR3','Essence of Evil STR3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bStr,4; bonus bBaseAtk,12; bonus bInt,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4911,'Essence_of_Evil_INT1','Essence of Evil INT1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bInt,1; bonus bMatk,3; bonus bStr,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4912,'Essence_of_Evil_INT2','Essence of Evil INT2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bInt,2; bonus bMatk,6; bonus bStr,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4913,'Essence_of_Evil_INT3','Essence of Evil INT3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bInt,4; bonus bMatk,12; bonus bStr,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4914,'Essence_of_Evil_AGI1','Essence of Evil AGI1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAgi,1; bonus bFlee,2; bonus bVit,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4915,'Essence_of_Evil_AGI2','Essence of Evil AGI2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAgi,2; bonus bFlee,4; bonus bVit,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4916,'Essence_of_Evil_AGI3','Essence of Evil AGI3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAgi,4; bonus bFlee,8; bonus bVit,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4917,'Essence_of_Evil_VIT1','Essence of Evil VIT1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bVit,1; bonus bDef,3; bonus bMdef,2; bonus bAgi,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4918,'Essence_of_Evil_VIT2','Essence of Evil VIT2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bVit,2; bonus bDef,6; bonus bMdef,4; bonus bAgi,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4919,'Essence_of_Evil_VIT3','Essence of Evil VIT3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bVit,4; bonus bDef,12; bonus bMdef,8; bonus bAgi,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4920,'Essence_of_Evil_DEX1','Essence of Evil DEX1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDex,1; bonus bHit,2; bonus bLuk,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4921,'Essence_of_Evil_DEX2','Essence of Evil DEX2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDex,2; bonus bHit,4; bonus bLuk,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4922,'Essence_of_Evil_DEX3','Essence of Evil DEX3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDex,4; bonus bHit,8; bonus bLuk,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4923,'Essence_of_Evil_LUK1','Essence of Evil LUK1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLuk,1; bonus bCritical,1; bonus bDex,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4924,'Essence_of_Evil_LUK2','Essence of Evil LUK2',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLuk,2; bonus bCritical,2; bonus bDex,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4925,'Essence_of_Evil_LUK3','Essence of Evil LUK3',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bLuk,4; bonus bCritical,4; bonus bDex,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4926,'Critical_Lv1','Critical Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4927,'MaxHP+50','MaxHP+50',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHP,50;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4928,'MaxSP+10','MaxSP+10',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4929,'MSP+1%','MaxSP+1%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSPrate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4930,'Increase_Recovery','Increase Recovery',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHPrecovRate,2; bonus bSPrecovRate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4931,'Healing_10','Healing 10',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bHPRegenRate,10,10000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4932,'SP_Recovery_1','SP Recovery 1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bSPGainValue,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4933,'Neutral_Properties_Lv1','Neutral Properties Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4934,'Neutral_Properties_Lv2','Neutral Properties Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4935,'Neutral_Properties_Lv3','Neutral Properties Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4936,'Large_Size_Attack_1','Large Size Attack 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Large,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4937,'Medium_Size_Attack_1','Medium Size Attack 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Medium,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4938,'Small_Size_Attack_1','Small Size Attack 1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Small,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4939,'Critical_Lv2','Critical Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4940,'Cricital_Lv3','Critical Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4941,'Critical_Lv4','Critical Lv4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4942,'Shedding_Lv1','Shedding Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee2,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4943,'Shedding_Lv2','Shedding Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee2,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4944,'Shedding_Lv3','Shedding Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee2,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4945,'Saving_Lv1','Saving Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bUseSPrate,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4946,'Saving_Lv2','Saving Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bUseSPrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4947,'Saving_Lv3','Saving Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bUseSPrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4948,'Delay_After_Skill_Lv1','Delay After Skill Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4949,'Delay_After_Skill_Lv2','Delay After Skill Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4950,'Delay_After_Skill_Lv3','Delay After Skill Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4881,'Attack_Delay_4','Attack Delay 4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAspdRate,10; bonus bDelayrate,-10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4882,'Atk1p','ATK + 1%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4883,'Matk1p','MATK + 1%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4884,'Hit1_','HIT + 1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4885,'Conjure1','Spell 1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,5; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4886,'Conjure2','Spell 2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,10; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4887,'Conjure3','Spell 3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,15; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4888,'Conjure4','Spell 4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,20; bonus bVariableCastrate,-3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4889,'Conjure5','Spell 5',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatk,30; bonus bVariableCastrate,-5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4890,'Mdef1','MDEF+1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4891,'Mdef3','MDEF+3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4892,'Mdef5','MDEF+5',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4893,'Def15','DEF+15',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMdef,15;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4894,'Atk4p','ATK + 4%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4895,'Atk5p','ATK + 5%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4896,'Matk2p','MATK + 2%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4897,'Matk3p','MATK + 3%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4898,'Matk4p','MATK + 4%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4899,'Matk5p','MATK + 5%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4900,'MHP5','MHP+5%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHPrate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4902,'Def18','DEF+18',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDef,18;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4903,'Def21','DEF+21',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDef,21;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4904,'Atk6p','ATK + 6%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4905,'Atk7p','ATK + 7%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bAtkRate,7;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4906,'Matk6p','MATK + 6',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4907,'Matk7p','MATK + 7%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMatkRate,7;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4908,'Force1','Darklord Essence Force1',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bStr,1; bonus bBaseAtk,3; bonus bInt,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4909,'Force2','Darklord Essence Force2',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bStr,2; bonus bBaseAtk,6; bonus bInt,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4910,'Force3','Darklord Essence Force3',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bStr,4; bonus bBaseAtk,12; bonus bInt,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4911,'Intellect1','Darklord Essence Intelligence1',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bInt,1; bonus bMatk,3; bonus bStr,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4912,'Intellect2','Darklord Essence Intelligence2',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bInt,2; bonus bMatk,6; bonus bStr,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4913,'Intellect3','Darklord Essence Intelligence3',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bInt,4; bonus bMatk,12; bonus bStr,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4914,'Swiftness1','Darklord Essence Speed1',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bAgi,1; bonus bFlee,2; bonus bVit,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4915,'Swiftness2','Darklord Essence Speed2',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bAgi,2; bonus bFlee,4; bonus bVit,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4916,'Swiftness3','Darklord Essence Speed3',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bAgi,4; bonus bFlee,8; bonus bVit,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4917,'Tough1','Darklord Essence Vitality1',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bVit,1; bonus bDef,3; bonus bMdef,2; bonus bAgi,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4918,'Tough2','Darklord Essence Vitality2',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bVit,2; bonus bDef,6; bonus bMdef,4; bonus bAgi,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4919,'Tough3','Darklord Essence Vitality3',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bVit,4; bonus bDef,12; bonus bMdef,8; bonus bAgi,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4920,'Artful1','Darklord Essence Concentration1',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bDex,1; bonus bHit,2; bonus bLuk,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4921,'Artful2','Darklord Essence Concentration2',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bDex,2; bonus bHit,4; bonus bLuk,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4922,'Artful3','Darklord Essence Concentration3',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bDex,4; bonus bHit,8; bonus bLuk,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4923,'Fortune1','Darklord Essence Luck1',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bLuk,1; bonus bCritical,1; bonus bDex,-1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4924,'Fortune2','Darklord Essence Luck2',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bLuk,2; bonus bCritical,2; bonus bDex,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4925,'Fortune3','Darklord Essence Luck3',6,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1021,NULL,NULL,NULL,NULL,'bonus bLuk,4; bonus bCritical,4; bonus bDex,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4926,'Critical_Lv1','Cri 1Lv',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4927,'HP50','MaxHP50',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxHP,50;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4928,'SP10','MaxSP+10',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSP,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4929,'MSP1','MSP+1%',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bMaxSPrate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4930,'HEAL2','Recovery UP',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bHPrecovRate,2; bonus bSPrecovRate,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4931,'HEALHP1','Heal 10',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bHPRegenRate,10,10000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4932,'HEALSP1','SP recovery1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bSPGainValue,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4933,'Tolerance_Not1','Neutral Resistance Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4934,'Tolerance_Not2','Neutral Resistance Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4935,'Tolerance_Not3','Neutral Resistance Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bSubEle,Ele_Neutral,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4936,'ATK_BIG1','Attack big1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Large,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4937,'ATK_MEDIUM1','Attack mid1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Medium,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4938,'ATK_SMALL1','Attack small1',6,20,NULL,10,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus2 bAddSize,Size_Small,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4939,'Critical2','CRI Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4940,'Cricital3','CRI Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4941,'Critical4','CRI Lv4',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bCritical,6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4942,'Dodge1','Parrying Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee2,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4943,'Dodge2','Parrying Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee2,4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4944,'Dodge3','Parrying Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bFlee2,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4945,'Thrift1','Economy Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bUseSPrate,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4946,'Thrift2','Economy Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bUseSPrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4947,'Thrift3','Economy Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bUseSPrate,-6;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4948,'Skill_Delay1','After Skill Delay Lv1',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4949,'Skill_Delay2','After Skill Delay Lv2',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-4;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (4950,'Skill_Delay3','After Skill Delay Lv3',6,10,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bonus bDelayrate,-6;',NULL,NULL);
#===================================================================
# More Headgears
#===================================================================
@ -3938,7 +3937,7 @@ REPLACE INTO `item_db_re` VALUES (5784,'PinkBunny_Hairband','PinkBunny Hairband'
REPLACE INTO `item_db_re` VALUES (5785,'Green_Bunny_Hairband','Green Bunny Hairband',4,20,NULL,200,NULL,0,NULL,0,0xFFFFFFFF,63,2,256,NULL,'1',1,664,'bonus bStr,2; bonus bInt,1; bonus bDex,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5786,'Ancient_Elven_Ear','Ancient Elven Ear',4,10,NULL,200,NULL,1,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,665,'bonus bLuk,1; bonus bMaxHP,100; bonus bMaxSP,30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5787,'Tha_Maero_Mask','Tha Maero Mask',4,20,NULL,100,NULL,0,NULL,0,0xFFFFFFFF,63,2,513,NULL,'30',0,666,'bonus bMdef,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5788,'3D_Glasses','3D Glasses',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,661,'.@eac = eaclass()&EAJ_BASEMASK; if((.@eac==EAJ_SWORDMAN) || (.@eac==EAJ_MERCHANT) || (.@eac==EAJ_ARCHER) || (.@eac==EAJ_GUNSLINGER)) bonus bAtkRate,3; if((Class==Job_Soul_Linker) || (.@eac==EAJ_MAGE) || (.@eac==EAJ_NINJA)) bonus bMatkRate,3; if(.@eac==EAJ_THIEF) bonus bFleeRate,3; if((.@eac==EAJ_NOVICE) || (.@eac==EAJ_TAEKWON) || (Class==Job_Star_Gladiator) || (Class=Job_Star_Gladiator2)) bonus bMaxHPrate,3; bonus bMaxSPrate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5788,'3D_Glasses','3D Glasses',4,20,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,63,2,512,NULL,'1',0,661,'.@eac = eaclass()&EAJ_BASEMASK; if((.@eac==EAJ_SWORDMAN) || (.@eac==EAJ_MERCHANT) || (.@eac==EAJ_ARCHER) || (.@eac==EAJ_GUNSLINGER)) bonus bAtkRate,3; if((Class==Job_Soul_Linker) || (.@eac==EAJ_MAGE) || (.@eac==EAJ_NINJA)) bonus bMatkRate,3; if(.@eac==EAJ_THIEF) bonus bFleeRate,3; if((.@eac==EAJ_NOVICE) || (.@eac==EAJ_TAEKWON) || (Class==Job_Star_Gladiator) || (Class==Job_Star_Gladiator2)) bonus bMaxHPrate,3; bonus bMaxSPrate,3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5789,'Thanatos_Mal_Mask','Thanatos Mal Mask',4,20,NULL,100,NULL,3,NULL,0,0xFFFFFFFF,63,2,513,NULL,'30',0,667,'bonus bVit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5790,'Holy_Mom_Love','TM',4,20,NULL,500,NULL,0,NULL,1,0xFFFFFFFF,63,2,768,NULL,'45',1,610,'bonus2 bSubRace,RC_Demon,-5; bonus2 bSubRace,RC_Undead,-5; bonus3 bAutoSpell,"MG_COLDBOLT",1,20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (5791,'Tenkaippin_Ramen','Tenkaippin Ramen',4,20,NULL,500,NULL,1,NULL,0,0xFFFFFFFF,63,2,256,NULL,'30',0,668,'bonus bInt,-1; bonus bDex,4;',NULL,NULL);
@ -7274,7 +7273,7 @@ REPLACE INTO `item_db_re` VALUES (13120,'Heaven\'s_Feather_and_Hell\'s_Fire','He
REPLACE INTO `item_db_re` VALUES (13122,'Altea_and_Ares','Altea & Ares',5,1450000,NULL,1000,'200',NULL,9,0,0x40000000,63,2,34,3,'140',1,17,'bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13124,'Altea_and_Ares_','Altea & Ares',5,1450000,NULL,1000,'200',NULL,9,1,0x40000000,63,2,34,3,'140',1,17,'bonus bHit,5; bonus bDelayrate,10; bonus bLongAtkRate,30;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13125,'Metal_Revolver','Metal Revolver',5,0,NULL,0,'30',NULL,7,1,0x41000000,63,2,34,3,'1',0,17,'bonus bBaseAtk,getrefine(); bonus bLongAtkRate,1; if (BaseLevel >= 20 && BaseLevel <= 120) { bonus bBaseAtk,3*(BaseLevel/10); }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13126,'Infinity_Pistol','Infinity Pistol',5,10,NULL,500,'175',NULL,7,1,0x41000000,63,2,34,4,'100',0,17,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13126,'Infinity_Pistol','Infinity Pistol',5,10,NULL,500,'175',NULL,7,1,0x40000000,63,2,34,4,'100',0,17,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13127,'Crimson_Revolver','Crimson Revolver',5,20,NULL,1000,'100',NULL,7,2,0x41000000,63,2,34,3,'70',1,17,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
#===================================================================
# Guns
@ -7436,8 +7435,8 @@ REPLACE INTO `item_db_re` VALUES (13316,'Upg_Huuma_Shuriken','Upg Huuma Shuriken
REPLACE INTO `item_db_re` VALUES (13317,'TE_Woe_Huuma','TE Woe Huuma',5,0,NULL,0,'80:100',NULL,1,0,0x22000000,63,2,2,3,'40',1,22,'bonus2 bAddRace,RC_Player,40; bonus2 bAddEff,Eff_Bleeding,3000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13321,'Half_BF_Huuma_Shuriken2','Half BF Huuma Shuriken',5,20,NULL,0,'55',NULL,1,0,0x02000000,63,2,34,3,'80',1,22,'bonus bStr,2; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,40; bonus2 bAddRace,RC_Player,40; autobonus "{ bonus2 bSkillAtk,\\\"NJ_HUUMA\\\",100; bonus2 bSkillAtk,\\\"NJ_ISSEN\\\",100; }",50,10000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13322,'Huuma_Metal_Shuriken','Huuma Metal Shuriken',5,20,NULL,0,'50',NULL,1,1,0x02000000,63,2,34,3,'1',1,22,'bonus bUnbreakableWeapon,1; .@r = getrefine(); bonus bBaseAtk,.@r*5; bonus bMatk,.@r*3; if(.@r>=2) bonus bNearAtkDef,1*.@r/2; if (BaseLevel >= 20 && BaseLevel <= 120) bonus bBaseAtk,3*.@r/10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13323,'Infinity_Shuriken','Infinity Shuriken',5,0,NULL,500,'150:40',NULL,1,1,0x02000000,63,2,34,4,'100',1,22,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13327,'Crimson_Huuma_Shuriken','Crimson Huuma Shuriken',5,20,NULL,1000,'100',NULL,1,2,0x02000000,63,2,34,3,'70',1,22,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13323,'Infinity_Shuriken','Infinity Shuriken',5,0,NULL,500,'150:40',NULL,1,1,0x20000000,63,2,34,4,'100',1,22,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13327,'Crimson_Huuma_Shuriken','Crimson Huuma Shuriken',5,20,NULL,1000,'100',NULL,1,2,0x22000000,63,2,34,3,'70',1,22,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13328,'Huuma_Shuriken_of_Vicious_Mind','Huuma Shuriken of Vicious Mind',5,20,NULL,1500,'150:50',NULL,1,1,0x22000000,63,2,34,4,'160',1,22,'bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2; bonus bUnbreakableWeapon,1;',NULL,NULL);
#===================================================================
# More 1-Handed Swords
@ -7488,7 +7487,7 @@ REPLACE INTO `item_db_re` VALUES (13449,'Gladius_Daemonicus','Gladius Daemonicus
REPLACE INTO `item_db_re` VALUES (13450,'Saber__','Saber',5,10,NULL,1000,'115',NULL,NULL,2,0x000654E2,63,2,2,3,'27',1,0,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13451,'Blue_Sword','Blue Sword',5,10,NULL,1200,'190',NULL,1,1,0x00000080,56,2,2,3,'100',1,2,'bonus bStr,5; bonus bAgi,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13452,'Ru_Gold_Sword','Ru Gold Sword',5,0,NULL,1200,'190',NULL,1,2,0x00000080,56,2,2,3,'120',1,2,'bonus bStr,8; bonus bAgi,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13454,'Crimson_Saber','Crimson Saber',5,20,NULL,850,'85',NULL,1,2,0x00000063,56,2,2,3,'70',1,2,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13454,'Crimson_Saber','Crimson Saber',5,20,NULL,850,'85',NULL,1,2,0x000654E3,56,2,2,3,'70',1,2,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (13455,'Saber_of_Vicious_Mind','Saber of Vicious Mind',5,20,NULL,1350,'135',NULL,1,1,0x000654E3,63,2,2,4,'160',1,2,'bonus bAtk,pow(min(getrefine(),15),2);',NULL,NULL);
#===================================================================
# More Cash Shop Items
@ -8717,9 +8716,9 @@ REPLACE INTO `item_db_re` VALUES (16034,'Half_Mjolnir','Half Mjolnir',5,20,NULL,
REPLACE INTO `item_db_re` VALUES (16035,'Half_BF_Morning_Star1','Half BF Morning Star1',5,20,NULL,0,'105',NULL,1,0,0x0004C5B3,63,2,2,3,'80',1,8,'bonus bStr,1; bonus bDex,1; bonus2 bAddRace,RC_DemiHuman,35; bonus2 bAddRace,RC_Player,35; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player,10; bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16036,'Blue_Mace','Blue Mace',5,10,NULL,1500,'170',NULL,1,1,0x00008000,56,2,2,3,'100',1,8,'bonus bVit,5; bonus bInt,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16037,'Ru_Gold_Mace','Ru Gold Mace',5,0,NULL,1500,'170',NULL,1,2,0x00008000,56,2,2,3,'120',1,8,'bonus bVit,8; bonus bInt,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16038,'Infinity_Mace','Infinity Mace',5,10,NULL,500,'155',NULL,1,1,0x00000032,40,2,2,4,'100',1,8,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16039,'Spoon','Spoon',5,10,NULL,1000,'80',NULL,1,1,0x00000033,63,2,2,3,'40',1,8,'bonus bAspd,10; bonus2 bAddEff,Eff_Curse,1000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16040,'Crimson_Mace','Crimson Mace',5,20,NULL,800,'80',NULL,1,2,0x00000033,63,2,2,3,'70',1,8,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16038,'Infinity_Mace','Infinity Mace',5,10,NULL,500,'155',NULL,1,1,0x0004C780,56,2,2,4,'100',1,8,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16039,'Spoon','Spoon',5,10,NULL,1000,'80',NULL,1,1,0x0004C5B3,63,2,2,3,'40',1,8,'bonus bAspd,10; bonus2 bAddEff,Eff_Curse,1000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16040,'Crimson_Mace','Crimson Mace',5,20,NULL,800,'80',NULL,1,2,0x0004C5B3,63,2,2,3,'70',1,8,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16041,'Mace_of_Vicious_Mind','Mace of Vicious Mind',5,20,NULL,1300,'130',NULL,1,1,0x0004C5B3,63,2,2,4,'160',1,8,'bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16043,'Meteor_Strike','Meteor Strike',5,0,NULL,20000,'1',NULL,1,2,0x00000001,63,2,2,4,'110',1,8,'bonus bBaseAtk,10*getskilllv("BS_WEAPONRESEARCH"); bonus bBaseAtk,30*getskilllv("MO_IRONHAND"); .@s = getskilllv("AM_AXEMASTERY"); bonus bBaseAtk,7*.@s; bonus bHit,5*.@s; bonus bBaseAtk,10*getrefine(); if (getskilllv("MC_PUSHCART") > 9) skill "MC_CARTREVOLUTION",1; if (getskilllv("SM_SWORD") > 0) skill "KN_BOWLINGBASH",1; .@str = readparam(bStr); if (.@str > 119) bonus bUseSPrate,-30; else if (.@str > 107) bonus bUseSPrate,-20;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (16051,'Valkyrie_Hammer','Valkyrie Hammer',5,0,NULL,100,'50',NULL,1,4,0x0004C3B3,63,2,2,1,'70',1,8,'if ((eaclass()&EAJ_BASEMASK) == EAJ_NOVICE) { bonus bUseSPrate,-5; .@r = getrefine(); bonus bVit,.@r; bonus bMaxHP,200; bonus bFlee2,1; bonus bAspdRate,1; bonus bVariableCast,.@r/2; } else if ((eaclass()&EAJ_BASEMASK) == EAJ_SWORDMAN) { bonus bVit,getrefine(); bonus bMaxHP,500; bonus bMaxSP,100; } else if ((eaclass()&EAJL_2) == EAJ_PRIEST) { bonus bBaseAtk,50; bonus bMatk,100; bonus bAspdRate,getrefine(); } else if ((eaclass()&EAJL_2) == EAJ_MONK) { bonus bMaxSP,200; bonus bUseSPrate,-5; bonus bFlee2,getrefine(); } else if ((eaclass()&EAJ_BASEMASK) == EAJ_MERCHANT) { bonus bBaseAtk,100; bonus bHit,10; bonus bVariableCast,getrefine()/2; }',NULL,NULL);
@ -9449,8 +9448,8 @@ REPLACE INTO `item_db_re` VALUES (18124,'Half_BF_Bow1','Half BF Bow1',5,20,NULL,
REPLACE INTO `item_db_re` VALUES (18125,'Arcus_Daemonicus','Arcus Daemonicus',5,20,NULL,1000,'130',NULL,5,2,0x00020008,63,2,34,4,'80',1,11,'/*Fix me: bonus bAtkRate,50; when equipped with shadow arrows*/ if(getrefine()>9){ bonus bAspd,1; bonus bUseSPrate,-20; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18126,'Blue_Bow','Blue Bow',5,10,NULL,1200,'150',NULL,5,1,0x00000800,56,2,2,3,'100',1,11,'bonus bAgi,5; bonus bDex,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18127,'Ru_Gold_Bow','Ru Gold Bow',5,0,NULL,1200,'150',NULL,5,2,0x00000800,56,2,34,3,'120',1,11,'bonus bAgi,8; bonus bDex,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18128,'Infinity_Bow','Infinity Bow',5,20,NULL,500,'160',NULL,5,1,0x00020048,63,2,34,4,'100',1,11,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18130,'Crimson_Bow','Crimson Bow',5,20,NULL,1200,'120',NULL,5,2,0x00080048,63,2,34,3,'70',1,11,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18128,'Infinity_Bow','Infinity Bow',5,20,NULL,500,'160',NULL,5,1,0x00020800,56,2,34,4,'100',1,11,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18130,'Crimson_Bow','Crimson Bow',5,20,NULL,1200,'120',NULL,5,2,0x000A0848,63,2,34,3,'70',1,11,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18137,'Burning_Bow_','Burning Bow',5,20,NULL,1400,'95',NULL,5,2,0x000A0808,63,2,34,3,'55',1,11,'bonus2 bSubEle,Ele_Fire,10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18138,'Frozen_Bow_','Frozen Bow',5,20,NULL,1400,'100',NULL,5,2,0x000A0808,63,2,34,3,'55',1,11,'bonus2 bAddEff,Eff_Freeze,1000;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (18139,'Earth_Bow_','Earth Bow',5,20,NULL,1400,'105',NULL,5,2,0x000A0808,63,2,34,3,'55',1,11,NULL,NULL,NULL);
@ -10803,8 +10802,8 @@ REPLACE INTO `item_db_re` VALUES (21010,'Tw_Sword_Of_Evil_Slayer','Tw Sword Of E
REPLACE INTO `item_db_re` VALUES (21011,'Gigantic_Blade','Gigantic Blade',5,10,NULL,5000,'300',NULL,1,1,0x00004082,56,2,2,4,'130',1,3,'bonus bUnbreakableWeapon,1; bonus bAspdRate,-5; if(readparam(bStr)<=110){ bonus bBaseAtk,-250; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21012,'Some_Wizard_MagicSword','Some Wizard MagicSword',5,0,NULL,2200,'200:150',NULL,1,2,0x00000080,56,2,34,4,'110',1,3,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21013,'Hetairoi_Sword','Hetairoi Sword',5,0,NULL,2200,'210',NULL,1,2,0x00000080,56,2,34,4,'110',1,3,'bonus2 bSkillUseSP,"KN_AUTOCOUNTER",2; bonus2 bSkillUseSP,"LK_PARRYING",25;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21014,'Infinity_Two-Handed_Sword','Infinity Two-Handed Sword',5,20,NULL,500,'230',NULL,1,1,0x00000002,63,2,34,4,'100',1,3,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21015,'Crimson_Two-Handed_Sword','Crimson Two-Handed Sword',5,20,NULL,1700,'170',NULL,1,2,0x00000002,63,2,34,3,'70',1,3,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21014,'Infinity_Two-Handed_Sword','Infinity Two-Handed Sword',5,20,NULL,500,'230',NULL,1,1,0x00004082,56,2,34,4,'100',1,3,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21015,'Crimson_Two-Handed_Sword','Crimson Two-Handed Sword',5,20,NULL,1700,'170',NULL,1,2,0x00004082,63,2,34,3,'70',1,3,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21016,'Two_Handed_Sword_of_Vicious_Mind','Two-Handed Sword of Vicious Mind',5,20,NULL,2200,'220',NULL,1,1,0x00004082,63,2,34,4,'160',1,3,'bonus bAtk,pow(min(getrefine(),15),2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21018,'Lindy_Hop','Lindy Hop',5,20,NULL,3400,'340',NULL,1,2,0x00000002,40,2,34,4,'170',1,3,'.@r = getrefine(); bonus bAtkRate,(.@r/2); bonus bAspdRate,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (21019,'Onimaru','Onimaru',5,0,NULL,4200,'75',NULL,1,2,0x00000080,56,2,34,4,'130',1,3,'.@bstr = readparam(bStr); .@r = getrefine(); bonus bBaseAtk,(min(120,.@bstr)); if (.@bstr > 119) bonus bBaseAtk,160; else if (.@bstr > 107) bonus bBaseAtk,80; else if (.@bstr > 94) bonus bBaseAtk,40; if (.@r > 6) bonus bUnbreakableWeapon,1; bonus4 bAutoSpell,"NPC_WIDECURSE",4,100,0; if (.@r > 8) bonus4 bAutoSpellOnSkill,"LK_BERSERK","BS_OVERTHRUST",5,100;',NULL,NULL);
@ -11083,222 +11082,222 @@ REPLACE INTO `item_db_re` VALUES (23196,'Shining_Blue_Lucky_Egg','Shining Blue L
#===================================================================
# Shadow Equipments
#===================================================================
REPLACE INTO `item_db_re` VALUES (24000,'T_STR1_Armor_Shadow','T STR1 Armor Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',NULL,NULL,'bonus bStr,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24001,'T_DEX1_Weapon_Shadow','T DEX1 Weapon Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',NULL,NULL,'bonus bDex,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24002,'T_LUK1_Shield_Shadow','T LUK1 Shield Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',NULL,NULL,'bonus bLuk,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24003,'T_AGI1_Shoes_Shadow','T AGI1 Shoes Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',NULL,NULL,'bonus bAgi,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24004,'T_VIT1_Earrings_Shadow(R)','T VIT1 Earrings Shadow(R)',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',NULL,NULL,'bonus bVit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24005,'T_INT1_Pendant_Shadow(L)','T INT1 Pendant Shadow(L)',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',NULL,NULL,'bonus bInt,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24006,'T_STR2_Armor_Shadow','T STR2 Armor Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'30',NULL,NULL,'bonus bStr,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24007,'T_DEX2_Weapon_Shadow','T DEX2 Weapon Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'30',NULL,NULL,'bonus bDex,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24008,'T_LUK2_Shield_Shadow','T LUK2 Shield Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'60',NULL,NULL,'bonus bLuk,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24009,'T_AGI2_Shoes_Shadow','T AGI2 Shoes Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'90',NULL,NULL,'bonus bAgi,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24010,'T_VIT2_Earrings_Shadow(R)','T VIT2 Earrings Shadow(R)',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'120',NULL,NULL,'bonus bVit,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24011,'T_INT2_Pendant_Shadow(L)','T INT2 Pendant Shadow(L)',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'150',NULL,NULL,'bonus bInt,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24012,'Promotional_Weapon_Shadow','Promotional Weapon Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',NULL,NULL,'bonus bDex,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24013,'Promotional_Armor_Shadow','Promotional Armor Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',NULL,NULL,'bonus bLuk,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24014,'Promotional_Shoes_Shadow','Promotional Shoes Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',NULL,NULL,'bonus bAgi,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24015,'Promotional_Shield_Shadow','Promotional Shield Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',NULL,NULL,'bonus bVit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24016,'Promotional_Earrings_Shadow','Promotional Earrings Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',NULL,NULL,'bonus bInt,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24017,'Promotional_Pendant_Shadow','Promotional Pendant Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',NULL,NULL,'bonus bStr,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24018,'Shadow_Physical_Earring','Shadow Physical Earring',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bAspdRate,(getrefine()>=7)?2:1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24019,'Shadow_Physical_Weapon','Shadow Physical Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bBaseAtk,10; if(getrefine()>=7) { bonus bAtkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24020,'Shadow_Physical_Pendant','Shadow Physical Pendant',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bMaxHP,100; if(getrefine()>=7) { bonus bMaxHPrate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24021,'Shadow_Magical_Earring','Shadow Magical Earring',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bVariableCastrate,-(getrefine()>=7)?2:1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24022,'Shadow_Magical_Weapon','Shadow Magical Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bMatk,10; if(getrefine()>=7) { bonus bMatkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24023,'Shadow_Magical_Pendant','Shadow Magical Pendant',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bMaxSP,50; if(getrefine()>=7) { bonus bMaxSPrate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24024,'Shadow_Breeze_Armor','Shadow Breeze Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',NULL,NULL,'bonus bFlee,5+(getrefine()>=7 ? 10 : 0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24025,'Shadow_Champion_Shoes','Shadow Champion Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus bMaxHP,20; bonus bMaxSP,20; if(getrefine()>=7) { bonus bMaxHP,1; bonus bMaxSP,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24026,'Shadow_Athena_Shield','Shadow Athena Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus bDef,(getrefine()>=7)?20:10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24027,'Immune_Shadow_Armor','Immune Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubEle,0,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24028,'Hard_Shadow_Armor','Hard Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bMaxHP,50; if(getrefine()>=7) { bonus bMaxHPrate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24029,'Ancient_Shadow_Armor','Ancient Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bHit,(getrefine()>=7)?20:10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24030,'Critital_Shadow_Armor','Critital Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bCritical,(getrefine()>=7)?10:5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24031,'King_Bird_Shadow_Weapon','King Bird Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bBaseAtk,10; if(getrefine()>=7) { bonus bLongAtkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24032,'Critical_Hit_Shadow_Weapon','Critical Hit Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bBaseAtk,10; if(getrefine()>=7) { bonus bCritAtkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24034,'Lucky_Shadow_Weapon','Lucky Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bLuk,1; if(getrefine()>=7) { bonus bLuk,1; } if(getrefine()>=9) { bonus bLuk,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24033,'Healing_Shadow_Weapon','Healing Shadow Weapon',12,10,NULL,0,'0:10',NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'if (getrefine()>=7) bonus bHealPower2,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24035,'Power_Shadow_Earring','Power Shadow Earring',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bStr,1; .@r = getrefine(); if(.@r>=7) { bonus bStr,1; } if(.@r>=9) { bonus bStr,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24036,'Ect_Shadow_Pendant','Ect Shadow Pendant',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bInt,1; .@r = getrefine(); if(.@r>=7) { bonus bInt,1; } if(.@r>=9) { bonus bInt,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24037,'Dexter_travelers_Shadow_Armor','Dexter travelers Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bDex,1; .@r = getrefine(); if(.@r>=7) { bonus bDex,1; } if(.@r>=9) { bonus bDex,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24038,'Vital_Shadow_Shoes','Vital Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus bVit,1; .@r = getrefine(); if(.@r>=7) { bonus bVit,1; } if(.@r>=9) { bonus bVit,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24039,'Athletic_Shadow_Shield','Athletic Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus bAgi,1; .@r = getrefine(); if(.@r>=7) { bonus bAgi,1; } if(.@r>=9) { bonus bAgi,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24040,'Lucky_Shadow_Armor','Lucky Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bLuk,1; bonus bCritical,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24041,'Power_Shadow_Pendant','Power Shadow Pendant',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bStr,1; bonus bBaseAtk,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24042,'Ect_Shadow_Earring','Ect Shadow Earring',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bInt,1; bonus bMatk,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24043,'Dexter_Travelers_Shadow_Weapon','Dexter Travelers Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bDex,1; bonus bHit,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24044,'Vital_Shadow_Shield','Vital Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus bVit,1; bonus bDef,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24045,'Athletic_Shadow_Shoes','Athletic Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus bAgi,1; bonus bFlee,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24046,'Resist_Spell_Power_Shadow_Pendant','Resist Spell Power Shadow Pendant',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bMdef,(getrefine()>=7)?6:3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24047,'Rapid_Shadow_Pendant','Rapid Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus bAspdRate,1+((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24048,'Casters_Shadow_Pendant','Casters Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus bVariableCastrate,1+((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24049,'Hard_Shadow_Earring','Hard Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMaxHP,100; .@r = getrefine(); bonus bMaxHPRate,((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24050,'Wise_Shadow_Earring','Wise Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMaxSP,50; .@r = getrefine(); bonus bMaxSPRate,((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24051,'Athena_Shadow_Earring','Athena Shadow Earring',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bDef,(getrefine()>=7)?20:10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24052,'Cranial_Shadow_Shield','Cranial Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,7,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,7,1; } if(.@r>=9) { bonus2 bSubRace,7,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24053,'Safeguard_Shadow_Shield','Safeguard Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,10,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,10,1; } if(.@r>=9) { bonus2 bSubRace,10,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24054,'Brutal_Shadow_Shield','Brutal Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,2,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,2,1; } if(.@r>=9) { bonus2 bSubRace,2,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24055,'Gargantua_Shadow_Shield','Gargantua Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,4,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,4,1; } if(.@r>=9) { bonus2 bSubRace,4,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24056,'Homer\'s_Shadow_Shield','Homer\'s Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,5,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,5,1; } if(.@r>=9) { bonus2 bSubRace,5,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24057,'Dragoon_Shadow_Shield','Dragoon Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,9,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,9,1; } if(.@r>=9) { bonus2 bSubRace,9,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24058,'Satanic_Shadow_Shield','Satanic Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,8,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,8,1; } if(.@r>=9) { bonus2 bSubRace,8,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24059,'Fire-Proof_Shadow_Shield','Fire-Proof Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,0,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,0,1; } if(.@r>=9) { bonus2 bSubRace,0,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24060,'Requiem_Shadow_Shield','Requiem Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,1,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,1,1; } if(.@r>=9) { bonus2 bSubRace,1,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24061,'Cadi_Shadow_Shield','Cadi Shadow Shield',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,3,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,3,1; } if(.@r>=9) { bonus2 bSubRace,3,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24062,'Bloody_Shadow_Shoes','Bloody Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,7,1; bonus2 bMagicAddRace,7,1; } if(.@r>=9) { bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24063,'Liberation_Shadow_Shoes','Liberation Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,10,1; bonus2 bMagicAddRace,10,1; } if(.@r>=9) { bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24064,'Chemical_Shadow_Shoes','Chemical Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,3,1; bonus2 bMagicAddRace,3,1; } if(.@r>=9) { bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24065,'Glamorous_Shadow_Shoes','Glamorous Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,2,1; bonus2 bMagicAddRace,2,1; } if(.@r>=9) { bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24066,'Sekti_Side_Shadow_Shoes','Sekti Side Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,4,1; bonus2 bMagicAddRace,4,1; } if(.@r>=9) { bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24067,'Fisher_Shadow_Shoes','Fisher Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,5,1; bonus2 bMagicAddRace,5,1; } if(.@r>=9) { bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24068,'Seraphim_Shadow_Shoes','Seraphim Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,8,1; bonus2 bMagicAddRace,8,1; } if(.@r>=9) { bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24069,'Beholder_Shadow_Shoes','Beholder Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,0,1; bonus2 bMagicAddRace,0,1; } if(.@r>=9) { bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24070,'Divine_Shadow_Shoes','Divine Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,1,1; bonus2 bMagicAddRace,1,1; } if(.@r>=9) { bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24071,'Dragoons_Shadow_Shoes','Dragoons Shadow Shoes',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,9,1; bonus2 bMagicAddRace,9,1; } if(.@r>=9) { bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24072,'Large_Shadow_Armor','Large Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,2,1; } if(.@r>=9) { bonus2 bSubSize,2,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24073,'Medium_Shadow_Armor','Medium Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,1,1; } if(.@r>=9) { bonus2 bSubSize,1,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24074,'Small_Shadow_Armor','Small Shadow Armor',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,0,1; } if(.@r>=9) { bonus2 bSubSize,0,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24075,'Large_Shadow_Weapon','Large Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus2 bAddSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,2,1; } if(.@r>=9) { bonus2 bAddSize,2,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24076,'Medium_Shadow_Weapon','Medium Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus2 bAddSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,1,1; } if(.@r>=9) { bonus2 bAddSize,1,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24077,'Small_Shadow_Weapon','Small Shadow Weapon',12,10,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus2 bAddSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,0,1; } if(.@r>=9) { bonus2 bAddSize,0,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24078,'Spiritual_Shadow_Weapon','Spiritual Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bUseSPrate,-5; if(getrefine()>=7){bonus bSPrecovRate,5;}',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24079,'Spiritual_Shadow_Earring','Spiritual Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMaxSP,50;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24080,'Spiritual_Shadow_Pendant','Spiritual Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bMaxSPrate,(getrefine()>=7?2:1);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24081,'Mali_Shas_Shadow_Armor','Mali Shas Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bMaxHP,100; if(getrefine()>=7){bonus bMaxHPrate,1;}',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24082,'Mali_Shas_Shadow_Shoes','Mali Shas Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bMaxHPrate,(getrefine()>=7?2:1);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24083,'Mali_Shas_Shadow_Shield','Mali Shas Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bHPrecovRate,(getrefine()>=7?10:5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24084,'Gemstone_Shadow_Armor','Gemstone Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bCritical,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24085,'Gemstone_Shadow_Shoes','Gemstone Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bFlee,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24086,'Gemstone_Shadow_Shield','Gemstone Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bDef,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24087,'Gemstone_Shadow_Weapon','Gemstone Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bHit,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24088,'Gemstone_Shadow_Earring','Gemstone Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMatk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24089,'Gemstone_Shadow_Pendant','Gemstone Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bBaseAtk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24090,'Stability_Shadow_Shield','Stability Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bDef,3; .@r = getrefine(); bonus2 bResEff,Eff_Stun,.@r/2; bonus2 bResEff,Eff_Freeze,.@r/2; bonus2 bResEff,Eff_Curse,.@r/2; bonus2 bResEff,Eff_Bleeding,.@r/2; bonus2 bResEff,Eff_Stone,.@r; bonus2 bResEff,Eff_Sleep,.@r; bonus2 bResEff,Eff_Silence,.@r; bonus2 bResEff,Eff_Blind,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24091,'Harrods_Plaster_Shadow_Armor','Harrods Plaster Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24092,'Harrods_Plaster_Shadow_Shoes','Harrods Plaster Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24093,'Insomnia_Shadow_Armor','Insomnia Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24094,'Insomnia_Shadow_Shoes','Insomnia Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24095,'Peerless_Shadow_Armor','Peerless Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24096,'Peerless_Shadow_Shoes','Peerless Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24097,'Andre_Shadow_Armor','Andre Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24098,'Andre_Shadow_Shoes','Andre Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24099,'Freezing_Frozen_Shadow_Weapon','Freezing Frozen Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24100,'Freezing_Frozen_Shadow_Earring','Freezing Frozen Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24101,'Freezing_Frozen_Shadow_Pendant','Freezing Frozen Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24102,'Vitality_Shadow_Earring','Vitality Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24103,'Vitality_Shadow_Pendant','Vitality Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24104,'Neutral_Shadow_Weapon','Neutral Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine()/2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24105,'Neutral_Shadow_Earring','Neutral Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24106,'Neutral_Shadow_Pendant','Neutral Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24107,'Frozen_Curse_Shadow_Earring','Frozen Curse Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24108,'Frozen_Curse_Shadow_Pendant','Frozen Curse Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24109,'Caster_Shadow_Earrings','Caster Shadow Earrings',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bVariableCastrate,-1-((getrefine()>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24110,'Caster_Shadow_Weapon','Caster Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'.@r = getrefine(); bonus bVariableCastrate,-1-((.@r>=7)?1:0)-((.@r>=9)?2:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24111,'Spell_Flow_Shadow_Shoes','Spell Flow Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bUseSPrate,1; if(getrefine()>=7) bonus bSPrecovRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24112,'Spell_Flow_Shadow_Armor','Spell Flow Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bUseSPrate,1+((getrefine()>=7)?1:0)+((getrefine()>=9)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24113,'Spell_Flow_Shadow_Shield','Spell Flow Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bUseSPrate,1; if(getrefine()>=7) bonus bMaxSPrate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24114,'Grid_Shadow_Armor','Grid Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",100-(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24115,'Grid_Shadow_Shoes','Grid Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24116,'Grid_Shadow_Shield','Grid Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24117,'Grid_Shadow_Weapon','Grid Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24118,'Grid_Shadow_Earring','Grid Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24119,'Grid_Shadow_Pendant','Grid Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24120,'Heal_Shadow_Armor','Heal Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24121,'Heal_Shadow_Shoes','Heal Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24122,'Heal_Shadow_Shield','Heal Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24123,'Heal_Shadow_Weapon','Heal Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24124,'Heal_Shadow_Earring','Heal Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24125,'Heal_Shadow_Pendant','Heal Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24126,'Hiding_Shadow_Armor','Hiding Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24127,'Hiding_Shadow_Shoes','Hiding Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24128,'Hiding_Shadow_Shield','Hiding Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24129,'Hiding_Shadow_Weapon','Hiding Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24130,'Hiding_Shadow_Earring','Hiding Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24131,'Hiding_Shadow_Pendant','Hiding Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24132,'Cloaking_Shadow_Armor','Cloaking Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24133,'Cloaking_Shadow_Shoes','Cloaking Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24134,'Cloaking_Shadow_Shield','Cloaking Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24135,'Cloaking_Shadow_Weapon','Cloaking Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24136,'Cloaking_Shadow_Earring','Cloaking Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24137,'Cloaking_Shadow_Pendant','Cloaking Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24138,'Teleport_Shadow_Armor','Teleport Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24139,'Teleport_Shadow_Shoes','Teleport Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24140,'Teleport_Shadow_Shield','Teleport Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24141,'Teleport_Shadow_Weapon','Teleport Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24142,'Teleport_Shadow_Earring','Teleport Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24143,'Teleport_Shadow_Pendant','Teleport Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24144,'Steal_Shadow_Armor','Steal Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24145,'Steal_Shadow_Shoes','Steal Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24146,'Steal_Shadow_Shield','Steal Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24147,'Steal_Shadow_Weapon','Steal Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24148,'Steal_Shadow_Earring','Steal Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24149,'Steal_Shadow_Pendant','Steal Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24150,'Infinity_Shadow_Earring','Infinity Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24151,'Infinity_Shadow_Pendant','Infinity Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24152,'Solid_Shadow_Weapon','Solid Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bBaseAtk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24153,'Solid_Shadow_Earring','Solid Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bHit,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24154,'Solid_Shadow_Armor','Solid Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24155,'Solid_Shadow_Pendant','Solid Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bMdef,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24156,'Demi-Human_Shadow_Weapon','Demi-Human Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24157,'Exorcist_Shadow_Weapon','Exorcist Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Demon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24158,'Hunting_Shadow_Weapon','Hunting Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Brute,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24159,'Insect_Shadow_Weapon','Insect Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Insect,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24160,'Fishing_Shadow_Weapon','Fishing Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Fish,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24161,'Dragon_Killer_Shadow_Weapon','Dragon Killer Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Dragon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24162,'Angelus_Shadow_Weapon','Angelus Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Angel,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24163,'Formless_Shadow_Weapon','Formless Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Formless,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24164,'Holy_Water_Shadow_Weapon','Holy Water Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Undead,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24165,'Plant_Shadow_Weapon','Plant Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Plant,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24166,'Penetration_Shadow_Earring','Penetration Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24167,'Penetration_Shadow_Pendant','Penetration Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24168,'Tempest_Shadow_Earring','Tempest Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24169,'Tempest_Pendant_Shadow','Tempest Pendant Shadow',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24170,'Magic_Demi-Human_Shadow_Weapon','Magic Demi-Human Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24171,'Magic_Exorcist_Shadow_Weapon','Magic Exorcist Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Demon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24172,'Magic_Hunting_Shadow_Weapon','Magic Hunting Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Brute,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24173,'Magic_Insect_Shadow_Weapon','Magic Insect Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Insect,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24174,'Magic_Fishing_Shadow_Weapon','Magic Fishing Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Fish,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24175,'Magic_Dragon_Killer_Shadow_Weapon','Magic Dragon Killer Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Dragon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24176,'Magic_Angelus_Shadow_Weapon','Magic Angelus Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Angel,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24177,'Magic_Formless_Shadow_Weapon','Magic Formless Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Formless,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24178,'Magic_Holy_Water_Shadow_Weapon','Magic Holy Water Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Undead,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24179,'Magic_Caesars_Shadow_Weapon','Magic Caesars Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Plant,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24180,'Bearer\'s_Shadow_Armor','Bearer\'s Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bMdef,1+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24181,'Bearer\'s_Shadow_Shoes','Bearer\'s Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bMaxSP,50+(5*(getrefine()/2));',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24182,'Bearer\'s_Shadow_Shield','Bearer\'s Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bDef,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24183,'Bearer\'s_Shadow_Weapon','Bearer\'s Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bMaxHP,100+(10*(getrefine()/2));',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24184,'Bearer\'s_Shadow_Earring','Bearer\'s Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMatk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24185,'Bearer\'s_Shadow_Pendant','Bearer\'s Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bBaseAtk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24186,'Basis_Shadow_Armor','Basis Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Neutral,1+(.@r/2); bonus2 bMagicAddEle,Ele_Neutral,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24187,'Hallowed_Shadow_Armor','Hallowed Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Dark,1+(.@r/2); bonus2 bMagicAddEle,Ele_Dark,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24188,'Underneith_Shadow_Armor','Underneith Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Water,1+(.@r/2); bonus2 bMagicAddEle,Ele_Water,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24189,'Underneath_Shadow_Armor','Underneath Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Earth,1+(.@r/2); bonus2 bMagicAddEle,Ele_Earth,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24190,'Flame_Shadow_Armor','Flame Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Fire,1+(.@r/2); bonus2 bMagicAddEle,Ele_Fire,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24191,'Windy_Shadow_Armor','Windy Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Wind,1+(.@r/2); bonus2 bMagicAddEle,Ele_Wind,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24192,'Envenom_Shadow_Armor','Envenom Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Poison,1+(.@r/2); bonus2 bMagicAddEle,Ele_Poison,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24193,'Damned_Shadow_Armor','Damned Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Holy,1+(.@r/2); bonus2 bMagicAddEle,Ele_Holy,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24194,'Exorcism_Shadow_Armor','Exorcism Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Ghost,1+(.@r/2); bonus2 bMagicAddEle,Ele_Ghost,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24195,'Divine_Shadow_Armor','Divine Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Undead,1+(.@r/2); bonus2 bMagicAddEle,Ele_Undead,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24196,'Hasty_Shadow_Shoes','Hasty Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bFlee,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24197,'Hasty_Shadow_Armor','Hasty Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bFlee,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24198,'Basis_Shadow_Shield','Basis Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Neutral,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24199,'Hallowed_Shadow_Shield','Hallowed Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Dark,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24200,'Saharic_Shadow_Shield','Saharic Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Water,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24201,'Underneath_Shadow_Shield','Underneath Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Earth,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24202,'Flammable_Shadow_Shield','Flammable Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Fire,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24203,'Windy_Shadow_Shield','Windy Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Wind,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24204,'Envenom_Shadow_Shield','Envenom Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Poison,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24205,'Damned_Shadow_Shield','Damned Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Holy,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24206,'Exorcism_Shadow_Shield','Exorcism Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Ghost,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24207,'Divine_Shadow_Shield','Divine Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Undead,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24208,'Expert_Shadow_Shoes','Expert Shadow Shoes',12,20,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'150:175',1,NULL,'bonus2 bExpAddRace,RC_All,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24209,'Expert_Shield_Shadow','Expert Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'150:175',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/4);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24210,'Beginner_Shadow_Shoes','Beginner Shadow Shoes',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1:49',1,NULL,'bonus2 bExpAddRace,RC_All,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24211,'Beginner_Shadow_Shield','Beginner Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1:49',1,NULL,'bonus2 bExpAddRace,RC_All,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24212,'Rookie_Shadow_Shoes','Rookie Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'50:99',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24213,'Rookie_Shadow_Shield','Rookie Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'50:99',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24214,'Advanced_Shadow_Shoes','Advanced Shadow Shoes',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'100:149',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24215,'Advanced_Shadow_Shield','Advanced Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'100:149',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24000,'T1_Shadow_Armor','Shadow Armor (Tier 1)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',NULL,NULL,'bonus bStr,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24001,'T1_Shadow_Weapon','Shadow Gauntlets (Tier 1)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',NULL,NULL,'bonus bDex,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24002,'T1_Shadow_Shield','Shadow Shield (Tier 1)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',NULL,NULL,'bonus bLuk,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24003,'T1_Shadow_Shoes','Shadow Shoes (Tier 1)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',NULL,NULL,'bonus bAgi,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24004,'T1_Shadow_R_Accessory','Shadow Ring (Tier 1)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',NULL,NULL,'bonus bVit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24005,'T1_Shadow_L_Accessory','Shadow Pendant (Tier 1)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',NULL,NULL,'bonus bInt,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24006,'T2_Shadow_Armor','Shadow Armor (Tier 2)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'30',NULL,NULL,'bonus bStr,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24007,'T2_Shadow_Weapon','Shadow Gauntlets (Tier 2)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'30',NULL,NULL,'bonus bDex,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24008,'T2_Shadow_Shield','Shadow Shield (Tier 2)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'60',NULL,NULL,'bonus bLuk,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24009,'T2_Shadow_Shoes','Shadow Shoes (Tier 2)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'90',NULL,NULL,'bonus bAgi,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24010,'T2_Shadow_R_Accessory','Shadow Ring (Tier 2)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'120',NULL,NULL,'bonus bVit,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24011,'T2_Shadow_L_Accessory','Shadow Pendant (Tier 2)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'150',NULL,NULL,'bonus bInt,2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24012,'S_Promotion_Weapon','Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',NULL,NULL,'bonus bDex,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24013,'S_Promotion_Armor','Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',NULL,NULL,'bonus bLuk,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24014,'S_Promotion_Shoes','Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',NULL,NULL,'bonus bAgi,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24015,'S_Promotion_Shield','Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',NULL,NULL,'bonus bVit,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24016,'S_Promotion_Earring','Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',NULL,NULL,'bonus bInt,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24017,'S_Promotion_Pendant','Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',NULL,NULL,'bonus bStr,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24018,'S_Physical_Earring','Physical Earring (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bAspdRate,(getrefine()>=7)?2:1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24019,'S_Physical_Weapon','Physical Weapon (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bBaseAtk,10; if(getrefine()>=7) { bonus bAtkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24020,'S_Physical_Pendant','Physical Pendant (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bMaxHP,100; if(getrefine()>=7) { bonus bMaxHPrate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24021,'S_Magical_Earring','Magical Earring (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bVariableCastrate,-(getrefine()>=7)?2:1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24022,'S_Magical_Weapon','Magical Weapon (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bMatk,10; if(getrefine()>=7) { bonus bMatkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24023,'S_Magical_Pendant','Magical Pencil (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bMaxSP,50; if(getrefine()>=7) { bonus bMaxSPrate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24024,'S_Breezy_Armor','Breeze Armor (Shadow)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',NULL,NULL,'bonus bFlee,5+(getrefine()>=7 ? 10 : 0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24025,'S_Champion_Shoes','Champion Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus bMaxHP,20; bonus bMaxSP,20; if(getrefine()>=7) { bonus bMaxHP,1; bonus bMaxSP,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24026,'S_Athena_Shield','Athena Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus bDef,(getrefine()>=7)?20:10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24027,'S_Immune_Armor','Immune Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubEle,0,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24028,'S_Hard_Armor','Hard Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bMaxHP,50; if(getrefine()>=7) { bonus bMaxHPrate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24029,'S_Ancient_Armor','Ancient Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bHit,(getrefine()>=7)?20:10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24030,'S_Critical_Armor','Critital Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bCritical,(getrefine()>=7)?10:5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24031,'S_Kingbird_Weapon','Kingbird\'s Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bBaseAtk,10; if(getrefine()>=7) { bonus bLongAtkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24032,'S_Cri_Hit_Weapon','Critical Hit Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bBaseAtk,10; if(getrefine()>=7) { bonus bCritAtkRate,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24033,'S_Healing_Weapon','Healing Shadow Weapon',12,0,NULL,0,'0:10',NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'if (getrefine()>=7) bonus bHealPower2,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24034,'S_Lucky_Weapon','Lucky Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bLuk,1; if(getrefine()>=7) { bonus bLuk,1; } if(getrefine()>=9) { bonus bLuk,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24035,'S_Power_Earring','Power Shadow Earring',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bStr,1; .@r = getrefine(); if(.@r>=7) { bonus bStr,1; } if(.@r>=9) { bonus bStr,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24036,'S_Int_Pendant','Intelligent Shadow Pendant',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bInt,1; .@r = getrefine(); if(.@r>=7) { bonus bInt,1; } if(.@r>=9) { bonus bInt,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24037,'S_Dexterous_Armor','Dexterous Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bDex,1; .@r = getrefine(); if(.@r>=7) { bonus bDex,1; } if(.@r>=9) { bonus bDex,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24038,'S_Vital_Shoes','Vital Shadow Shoes',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus bVit,1; .@r = getrefine(); if(.@r>=7) { bonus bVit,1; } if(.@r>=9) { bonus bVit,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24039,'S_Athletic_Shield','Athletic Shadow Shield',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus bAgi,1; .@r = getrefine(); if(.@r>=7) { bonus bAgi,1; } if(.@r>=9) { bonus bAgi,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24040,'S_Lucky_Armor','Lucky Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus bLuk,1; bonus bCritical,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24041,'S_Power_Pendant','Power Shadow Pendant',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bStr,1; bonus bBaseAtk,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24042,'S_Int_Earring','Intelligent Shadow Earring',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bInt,1; bonus bMatk,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24043,'S_Dexterous_Weapon','Dexterous Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bDex,1; bonus bHit,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24044,'S_Vital_Shield','Vital Shadow Shield',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus bVit,1; bonus bDef,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24045,'S_Athletic_Shoes','Athletic Shadow Shoes',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus bAgi,1; bonus bFlee,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24046,'S_Resist_Spell_Pendant','Resist Spell Power Pendant (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,0,'bonus bMdef,(getrefine()>=7)?6:3;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24047,'S_Rapid_Pendant','Rapid Pendant (Shadow)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus bAspdRate,1+((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24048,'S_Caster_Pendant','Caster Pendant (Shadow)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus bVariableCastrate,1+((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24049,'S_Hard_Earring','Hard Earring (Shadow)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMaxHP,100; .@r = getrefine(); bonus bMaxHPRate,((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24050,'S_Wise_Earring','Wise Earring (Shadow)',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMaxSP,50; .@r = getrefine(); bonus bMaxSPRate,((.@r>=9)?2:(.@r>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24051,'S_Athena_Earring','Athena Earring (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,0,'bonus bDef,(getrefine()>=7)?20:10;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24052,'S_Cranial_Shield','Cranial Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,7,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,7,1; } if(.@r>=9) { bonus2 bSubRace,7,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24053,'S_Safeguard_Shield','Safeguard Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,10,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,10,1; } if(.@r>=9) { bonus2 bSubRace,10,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24054,'S_Brutal_Shield','Brutal Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,2,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,2,1; } if(.@r>=9) { bonus2 bSubRace,2,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24055,'S_Gargantua_Shield','Gargantua Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,4,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,4,1; } if(.@r>=9) { bonus2 bSubRace,4,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24056,'S_Homers_Shield','Homers Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,5,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,5,1; } if(.@r>=9) { bonus2 bSubRace,5,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24057,'S_Dragoon_Shield','Dragoon Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,9,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,9,1; } if(.@r>=9) { bonus2 bSubRace,9,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24058,'S_Satanic_Shield','Satanic Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,8,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,8,1; } if(.@r>=9) { bonus2 bSubRace,8,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24059,'S_Flameguard_Shield','Flameguard Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,0,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,0,1; } if(.@r>=9) { bonus2 bSubRace,0,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24060,'S_Requiem_Shield','Requiem Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,1,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,1,1; } if(.@r>=9) { bonus2 bSubRace,1,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24061,'S_Cadi_Shield','Cadi Shield (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,0,'bonus2 bSubRace,3,1; .@r = getrefine(); if(.@r>=7) { bonus2 bSubRace,3,1; } if(.@r>=9) { bonus2 bSubRace,3,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24062,'S_Bloody_Shoes','Bloody Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,7,1; bonus2 bMagicAddRace,7,1; } if(.@r>=9) { bonus2 bAddRace,7,2; bonus2 bMagicAddRace,7,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24063,'S_Liberation_Shoes','Liberation Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,10,1; bonus2 bMagicAddRace,10,1; } if(.@r>=9) { bonus2 bAddRace,10,2; bonus2 bMagicAddRace,10,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24064,'S_Chemical_Shoes','Chemical Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,3,1; bonus2 bMagicAddRace,3,1; } if(.@r>=9) { bonus2 bAddRace,3,2; bonus2 bMagicAddRace,3,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24065,'S_Clamorous_Shoes','Clamorous Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,2,1; bonus2 bMagicAddRace,2,1; } if(.@r>=9) { bonus2 bAddRace,2,2; bonus2 bMagicAddRace,2,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24066,'S_Insecticide_Shoes','Insecticide Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,4,1; bonus2 bMagicAddRace,4,1; } if(.@r>=9) { bonus2 bAddRace,4,2; bonus2 bMagicAddRace,4,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24067,'S_Fisher_Shoes','Fisher Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,5,1; bonus2 bMagicAddRace,5,1; } if(.@r>=9) { bonus2 bAddRace,5,2; bonus2 bMagicAddRace,5,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24068,'S_Seraphim_Shoes','Seraphim Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,8,1; bonus2 bMagicAddRace,8,1; } if(.@r>=9) { bonus2 bAddRace,8,2; bonus2 bMagicAddRace,8,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24069,'S_Beholder_Shoes','Beholder Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,0,1; bonus2 bMagicAddRace,0,1; } if(.@r>=9) { bonus2 bAddRace,0,2; bonus2 bMagicAddRace,0,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24070,'S_Divine_Shoes','Divine Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,1,1; bonus2 bMagicAddRace,1,1; } if(.@r>=9) { bonus2 bAddRace,1,2; bonus2 bMagicAddRace,1,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24071,'S_Dragoon_Shoes','Dragoon Shoes (Shadow)',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,0,'bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddRace,9,1; bonus2 bMagicAddRace,9,1; } if(.@r>=9) { bonus2 bAddRace,9,2; bonus2 bMagicAddRace,9,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24072,'S_Big_Armor','Large Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,2,1; } if(.@r>=9) { bonus2 bSubSize,2,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24073,'S_Medium_Armor','Medium Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,1,1; } if(.@r>=9) { bonus2 bSubSize,1,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24074,'S_Small_Armor','Small Shadow Armor',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,0,'bonus2 bSubSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bSubSize,0,1; } if(.@r>=9) { bonus2 bSubSize,0,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24075,'S_Big_Weapon','Large Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus2 bAddSize,2,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,2,1; } if(.@r>=9) { bonus2 bAddSize,2,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24076,'S_Medium_Weapon','Medium Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus2 bAddSize,1,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,1,1; } if(.@r>=9) { bonus2 bAddSize,1,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24077,'S_Small_Weapon','Small Shadow Weapon',12,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus2 bAddSize,0,2; .@r = getrefine(); if(.@r>=7) { bonus2 bAddSize,0,1; } if(.@r>=9) { bonus2 bAddSize,0,2; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24078,'S_Spiritual_Weapon','Spiritual Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,131072,NULL,'1',1,0,'bonus bUseSPrate,-5; if(getrefine()>=7){bonus bSPrecovRate,5;}',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24079,'S_Spiritual_Earring','Spiritual Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMaxSP,50;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24080,'S_Spiritual_Pendent','Spiritual Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bMaxSPrate,(getrefine()>=7?2:1);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24081,'S_Malicious_Armor','Malicious Shas Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bMaxHP,100; if(getrefine()>=7){bonus bMaxHPrate,1;}',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24082,'S_Malicious_Shoes','Malicious Shas Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bMaxHPrate,(getrefine()>=7?2:1);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24083,'S_Malicious_Shield','Malicious Shas Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bHPrecovRate,(getrefine()>=7?10:5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24084,'S_Gemstone_Armor','Gemstone Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bCritical,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24085,'S_Gemstone_Shoes','Gemstone Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bFlee,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24086,'S_Gemstone_Shield','Gemstone Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bDef,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24087,'S_Gemstone_Weapon','Gemstone Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bHit,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24088,'S_Gemstone_Earring','Gemstone Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMatk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24089,'S_Gemstone_Pendent','Gemstone Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bBaseAtk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24090,'S_Stability_Shield','Stability Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bDef,3; .@r = getrefine(); bonus2 bResEff,Eff_Stun,.@r/2; bonus2 bResEff,Eff_Freeze,.@r/2; bonus2 bResEff,Eff_Curse,.@r/2; bonus2 bResEff,Eff_Bleeding,.@r/2; bonus2 bResEff,Eff_Stone,.@r; bonus2 bResEff,Eff_Sleep,.@r; bonus2 bResEff,Eff_Silence,.@r; bonus2 bResEff,Eff_Blind,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24091,'S_Plasterer\'s_Armor','Harrods Plaster Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24092,'S_Plasterer\'s_Shoes','Harrods Plaster Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stone,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24093,'S_Insomniac_Armor','Insomnia Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24094,'S_Insomniac_Shoes','Insomnia Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Sleep,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24095,'S_Peerless_Armor','Peerless Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24096,'S_Peerless_Shoes','Peerless Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Silence,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24097,'S_Adurate_Armor','Andre Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24098,'S_Adurate_Shoes','Andre Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Blind,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24099,'Unfreez_Weapon_S','Unfreezing Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24100,'Unfreeze_Earing_S','Unfreezing Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24101,'Unfreeze_Pendent_S','Unfreezing Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Freeze,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24102,'Vitality_Earing_S','Vitality Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24103,'Vitality_Pendant_S','Vitality Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Bleeding,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24104,'S_Neutral_Weapon','Neutral Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine()/2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24105,'S_Neutral_Earring','Neutral Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24106,'S_Neutral_Pendent','Neutral Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Stun,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24107,'S_Curse_Lift_Earring','Frozen Curse Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24108,'S_Curse_Lift_Pendent','Frozen Curse Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bDef,1; bonus2 bResEff,Eff_Curse,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24109,'S_Caster_earring','Caster Shadow Earrings',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bVariableCastrate,-1-((getrefine()>=7)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24110,'S_Caster_Weapon','Caster Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'.@r = getrefine(); bonus bVariableCastrate,-1-((.@r>=7)?1:0)-((.@r>=9)?2:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24111,'S_Spell_Flow_Shoes','Spellflow Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bUseSPrate,1; if(getrefine()>=7) bonus bSPrecovRate,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24112,'S_Spell_Flow_Armor','Spellflow Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bUseSPrate,1+((getrefine()>=7)?1:0)+((getrefine()>=9)?1:0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24113,'S_Spell_Flow_Shield','Spellflow Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bUseSPrate,1; if(getrefine()>=7) bonus bMaxSPrate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24114,'S_Greed_Armor','Grid Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",100-(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24115,'S_Greed_Shoes','Grid Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24116,'S_Greed_Shield','Grid Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24117,'S_Greed_Weapon','Grid Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24118,'S_Greed_Earring','Grid Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24119,'S_Greed_Pendant','Grid Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "BS_GREED",1; bonus2 bSkillUseSP,"BS_GREED",-100+(getrefine()*10);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24120,'S_Heal_Armor','Heal Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24121,'S_Heal_Shoes','Heal Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24122,'S_Heal_Shield','Heal Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24123,'S_Heal_Weapon','Heal Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24124,'S_Heal_Earring','Heal Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24125,'S_Heal_Pendant','Heal Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "AL_HEAL",1; bonus2 bSkillUseSP,"AL_HEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24126,'S_Hiding_Armor','Hiding Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24127,'S_Hiding_Shoes','Hiding Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24128,'S_Hiding_Shield','Hiding Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24129,'S_Hiding_Weapon','Hiding Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24130,'S_Hiding_Earring','Hiding Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24131,'S_Hiding_Pendant','Hiding Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "TF_HIDING",1; bonus2 bSkillUseSP,"TF_HIDING",-50+(getrefine()*5);',NULL,'sc_end SC_HIDING;');
REPLACE INTO `item_db_re` VALUES (24132,'S_Cloaking_Armor','Cloaking Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24133,'S_Cloaking_Shoes','Cloaking Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24134,'S_Cloaking_Shield','Cloaking Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24135,'S_Cloaking_Weapon','Cloaking Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24136,'S_Cloaking_Earring','Cloaking Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24137,'S_Cloaking_Pendant','Cloaking Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "AS_CLOAKING",1; bonus2 bSkillUseSP,"AS_CLOAKING",-50+(getrefine()*5);',NULL,'sc_end SC_CLOAKING;');
REPLACE INTO `item_db_re` VALUES (24138,'S_Teleport_Armor','Teleport Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24139,'S_Teleport_Shoes','Teleport Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24140,'S_Teleport_Shield','Teleport Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24141,'S_Teleport_Weapon','Teleport Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24142,'S_Teleport_Earring','Teleport Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24143,'S_Teleport_Pendant','Teleport Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24144,'S_Steal_Armor','Steal Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24145,'S_Steal_Shoes','Steal Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24146,'S_Steal_Shield','Steal Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24147,'S_Steal_Weapon','Steal Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24148,'S_Steal_Earring','Steal Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24149,'S_Steal_Pendant','Steal Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'skill "TF_STEAL",1; bonus2 bSkillUseSP,"TF_STEAL",-50+(getrefine()*5);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24150,'S_Infinity_Earring','Infinity Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24151,'S_Infinity_Pendant','Infinity Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubSize,Size_All,1+((.@r >= 9) ? 2 : (.@r >= 7) ? 1 : 0);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24152,'S_Solid_Weapon','Solid Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bBaseAtk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24153,'S_Solid_Earring','Solid Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bHit,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24154,'S_Immortal_Armor','Solid Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bDef,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24155,'S_Immortal_Pendant','Solid Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bMdef,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24156,'S_Executioner_Weapon','Demi-Human Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_DemiHuman,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24157,'S_Exorcist_Weapon','Exorcist Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Demon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24158,'S_Hunting_Weapon','Hunting Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Brute,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24159,'S_Insect_Net_Weapon','Insect Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Insect,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24160,'S_Fishing_Weapon','Fishing Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Fish,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24161,'S_Dragon_Killer_Weapon','Dragon Killer Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Dragon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24162,'S_Corrupt_Weapon','Angelus Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Angel,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24163,'S_Vibration_Weapon','Formless Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Formless,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24164,'S_Holy_Water_Weapon','Holy Water Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Undead,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24165,'S_Scissors_Weapon','Plant Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreDefRaceRate,RC_Plant,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24166,'S_Penetration_Earring','Penetration Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24167,'S_Penetration_Pendent','Penetration Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bIgnoreDefRaceRate,RC_All,5+(.@r/2); bonus2 bIgnoreDefRaceRate,RC_Player,-5-(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24168,'S_Tempest_Earring','Tempest Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24169,'S_Tempest_Pendent','Tempest Pendant Shadow',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus2 bIgnoreMdefClassRate,Class_Normal,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24170,'S_M_Executioner_Weapon','Magic Demi-Human Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24171,'S_M_Exorcist_Weapon','Magic Exorcist Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Demon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24172,'S_M_Hunting_Weapon','Magic Hunting Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Brute,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24173,'S_M_Insect_Net_Weapon','Magic Insect Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Insect,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24174,'S_M_Fishing_Weapon','Magic Fishing Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Fish,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24175,'S_M_Dragon_K_Weapon','Magic Dragon Killer Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Dragon,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24176,'S_M_Corrupt_Weapon','Magic Angelus Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Angel,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24177,'S_M_Vibration_Weapon','Magic Formless Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Formless,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24178,'S_M_Holy_Water_Weapon','Magic Holy Water Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Undead,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24179,'S_M_Scissors_Weapon','Magic Caesars Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus2 bIgnoreMdefRaceRate,RC_Plant,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24180,'S_Bearers_Armor','Bearer\'s Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bMdef,1+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24181,'S_Bearers_Shoes','Bearer\'s Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bMaxSP,50+(5*(getrefine()/2));',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24182,'S_Bearers_Shield','Bearer\'s Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bDef,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24183,'S_Bearers_Weapon','Bearer\'s Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'1',1,NULL,'bonus bMaxHP,100+(10*(getrefine()/2));',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24184,'S_Bearers_Earring','Bearer\'s Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'bonus bMatk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24185,'S_Bearers_Pendent','Bearer\'s Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'bonus bBaseAtk,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24186,'S_Basis_Armor','Basis Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Neutral,1+(.@r/2); bonus2 bMagicAddEle,Ele_Neutral,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24187,'S_Hallowed_Armor','Hallowed Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Dark,1+(.@r/2); bonus2 bMagicAddEle,Ele_Dark,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24188,'S_Saharic_Armor','Underneith Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Water,1+(.@r/2); bonus2 bMagicAddEle,Ele_Water,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24189,'S_Underneath_Armor','Underneath Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Earth,1+(.@r/2); bonus2 bMagicAddEle,Ele_Earth,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24190,'S_Flam_Armor','Flame Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Fire,1+(.@r/2); bonus2 bMagicAddEle,Ele_Fire,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24191,'S_Windy_Armor','Windy Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Wind,1+(.@r/2); bonus2 bMagicAddEle,Ele_Wind,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24192,'S_Envenom_Armor','Envenom Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Poison,1+(.@r/2); bonus2 bMagicAddEle,Ele_Poison,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24193,'S_Damned_Armor','Damned Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Holy,1+(.@r/2); bonus2 bMagicAddEle,Ele_Holy,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24194,'S_Geist_Armor','Exorcism Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Ghost,1+(.@r/2); bonus2 bMagicAddEle,Ele_Ghost,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24195,'S_Divine_Armor','Divine Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bAddEle,Ele_Undead,1+(.@r/2); bonus2 bMagicAddEle,Ele_Undead,1+(.@r/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24196,'S_Hasty_Shoes','Hasty Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bFlee,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24197,'S_Hasty_Armor','Hasty Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'bonus bFlee,5+(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24198,'S_Basis_Shield','Basis Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Neutral,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24199,'S_Hallowed_Shield','Hallowed Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Dark,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24200,'S_Saharic_Shield','Saharic Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Water,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24201,'S_Underneath_Shield','Underneath Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Earth,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24202,'S_Flam_Shield','Flame Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Fire,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24203,'S_Windy_Shield','Windy Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Wind,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24204,'S_Envenom_Shield','Envenom Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Poison,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24205,'S_Damned_Shield','Damned Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Holy,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24206,'S_Geist_Shield','Exorcism Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Ghost,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24207,'S_Divine_Shield','Divine Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus2 bSubEle,Ele_Undead,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24208,'S_Expert_Shoes','Expert Shadow Shoes',12,20,NULL,100,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'150:175',1,NULL,'bonus2 bExpAddRace,RC_All,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24209,'S_Expert_Shield','Expert Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'150:175',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/4);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24210,'S_Beginner_Shoes','Beginner Shadow Shoes',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1:49',1,NULL,'bonus2 bExpAddRace,RC_All,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24211,'S_Beginner_Shield','Beginner Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1:49',1,NULL,'bonus2 bExpAddRace,RC_All,getrefine();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24212,'S_Rookie_Shoes','Rookie Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'50:99',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24213,'S_Rookie_Shield','Rookie Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'50:99',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/2);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24214,'S_Advanced_Shoes','Advanced Shadow Shoes',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'100:149',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24215,'S_Advanced_Shield','Advanced Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'100:149',1,NULL,'bonus2 bExpAddRace,RC_All,(getrefine()/3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24216,'Attack_Shadow_Armor','Attack Shadow Armor',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); autobonus "{ bonus bAtk2,(.@r*5); }",(.@r*20)+100,3000,BF_NORMAL;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24217,'Blitz_Shadow_Earring','Blitz Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); bonus bHit,(.@r/2)+5; if(.@r>=7){ bonus bAspd,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24218,'Blitz_Shadow_Pendant','Blitz Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); bonus bAtk2,(.@r/2)+5; if(.@r>=7){ bonus bAspd,1; }',NULL,NULL);
@ -11314,18 +11313,18 @@ REPLACE INTO `item_db_re` VALUES (24227,'Enhanced_Soul_Shadow_Weapon','Enhanced
REPLACE INTO `item_db_re` VALUES (24228,'Soul_Shadow_Weapon','Soul Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'70',1,NULL,'.@r = getrefine(); bonus bMatkRate,(.@r<7)?1:((.@r<9)?2:3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24229,'Soul_Shadow_Earring','Soul Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'70',1,NULL,'.@r = getrefine(); bonus bMatk,(5+.@r); if(.@r>=7) bonus bMaxHPrate,1; if(.@r>=9) bonus bMatkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24230,'Soul_Shadow_Pendant','Soul Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'70',1,NULL,'.@r = getrefine(); bonus bMatk,(5+.@r); if(.@r>=7) bonus bMaxHPrate,1; if(.@r>=9) bonus bMatkRate,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24231,'Blitz_Shadow_Shoes','Blitz Shadow Shoes',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bFlee,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24232,'Blitz_Shadow_Shield','Blitz Shadow Shield',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bCritical,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24233,'Exceeding_Shadow_Weapon','Exceeding Shadow Weapon',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'100',1,NULL,'.@r = getrefine()/2; bonus bBaseAtk,5; bonus bMatk,5; bonus bAtkRate,.@r; bonus bMatkRate,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24234,'Titan_Shadow_Earring','Titan Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24235,'Titan_Shadow_Pendant','Titan Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24236,'Boned_Shadow_Earring','Boned Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24237,'Boned_Shadow_Pendant','Boned Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24238,'Gigantic_Shadow_Earring','Gigantic Shadow Earring',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24239,'Gigantic_Shadow_Pendant','Gigantic Shadow Pendant',12,10,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24243,'Reload_Shadow_Shoes','Reload Shadow Shoes',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'.@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24244,'Reload_Shadow_Shield','Reload Shadow Shield',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24245,'Reload_Shadow_Armor','Reload Shadow Armor',12,20,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24231,'S_Blitz_Shoes','Blitz Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'bonus bFlee,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24232,'S_Blitz_Shield','Blitz Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'bonus bCritical,5; .@r = getrefine(); if(.@r>=2){ bonus bCritical,2; } if(.@r>=7){ bonus bAspd,1; } if(.@r>=9){ bonus bAspd,1; }',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24233,'S_Exceed_Weapon','Exceeding Shadow Weapon',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,131072,NULL,'100',1,NULL,'.@r = getrefine()/2; bonus bBaseAtk,5; bonus bMatk,5; bonus bAtkRate,.@r; bonus bMatkRate,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24234,'S_Titan_Earring','Titan Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24235,'S_Titan_Pendant','Titan Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Large,.@rate; bonus2 bMagicAddSize,Size_Large,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24236,'S_Boned_Earring','Boned Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24237,'S_Boned_Pendant','Boned Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Medium,.@rate; bonus2 bMagicAddSize,Size_Medium,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24238,'S_Gigantic_Earring','Gigantic Shadow Earring',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,1048576,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24239,'S_Gigantic_Pendant','Gigantic Shadow Pendant',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,2097152,NULL,'1',1,NULL,'.@r = getrefine(); .@rate = (.@r<7)?1:((.@r<9)?2:4); bonus2 bAddSize,Size_Small,.@rate; bonus2 bMagicAddSize,Size_Small,.@rate;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24243,'S_Reload_Shoes','Reload Shadow Shoes',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,524288,NULL,'1',1,NULL,'.@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24244,'S_Reload_Shield','Reload Shadow Shield',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,262144,NULL,'1',1,NULL,'.@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (24245,'S_Reload_Armor','Reload Shadow Armor',12,0,NULL,0,NULL,NULL,NULL,0,0xFFFFFFFF,63,2,65536,NULL,'1',1,NULL,'.@r = getrefine(); bonus bDelayrate,(.@r<7)?-1:((.@r<9)?-2:-3);',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (25132,'Pumpkin_Deco','Pumpkin Deco',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (25133,'Dried_White_Stem','Dried White Stem',3,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -11371,8 +11370,8 @@ REPLACE INTO `item_db_re` VALUES (28101,'Axe_Tornado','Axe Tornado',5,10,NULL,40
REPLACE INTO `item_db_re` VALUES (28102,'Half_BF_Two_Handed_Axe1','Half BF Two Handed Axe1',5,20,NULL,0,'200',NULL,1,0,0x000444A2,63,2,34,3,'80',1,7,'bonus bStr,3; bonus2 bAddRace,RC_DemiHuman,30; bonus2 bAddRace,RC_Player,30; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10; bonus2 bIgnoreDefRaceRate,RC_Player,10; bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28103,'Blue_Twohand_Axe','Blue Twohand Axe',5,10,NULL,3000,'330',NULL,1,1,0x00000400,56,2,2,3,'1',1,7,'bonus bStr,5; bonus bVit,5;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28104,'Ru_Gold_Axe_M','Ru Gold Axe M',5,0,NULL,3000,'330',NULL,1,2,0x00000400,56,2,34,3,'120',1,7,'bonus bStr,8; bonus bVit,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28105,'Infinity_Axe','Infinity Axe',5,10,NULL,500,'265',NULL,1,1,0x00000022,7,2,34,4,'100',1,7,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28106,'Crimson_Two-Handed_Axe','Crimson Two-Handed Axe',5,20,NULL,2000,'200',NULL,1,2,0x00000022,63,2,34,3,'70',1,7,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28105,'Infinity_Axe','Infinity Axe',5,10,NULL,500,'265',NULL,1,1,0x000444A2,56,2,34,4,'100',1,7,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28106,'Crimson_Two-Handed_Axe','Crimson Two-Handed Axe',5,20,NULL,2000,'200',NULL,1,2,0x000444A2,63,2,34,3,'70',1,7,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bUnbreakableWeapon,1;',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (28107,'Two_Handed_Axe_of_Vicious_Mind','Two Handed Axe of Vicious Mind',5,20,NULL,2500,'250',NULL,1,1,0x000444A2,63,2,34,4,'160',1,7,'bonus bAtk,pow(min(getrefine(),15),2); bonus bUnbreakableWeapon,1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28200,'End_Of_The_Horizon','End Of The Horizon',5,2700000,NULL,2400,'410',NULL,9,1,0x40000000,63,2,34,4,'110',1,21,NULL,NULL,NULL);
@ -11454,8 +11453,8 @@ REPLACE INTO `item_db_re` VALUES (28605,'Book_of_Vicious_Mind','Book of Vicious
REPLACE INTO `item_db_re` VALUES (28700,'Ru_Gold_Dagger','Ru Gold Dagger',5,0,NULL,1000,'160',NULL,1,2,0x00020000,56,2,2,3,'120',1,1,'bonus bStr,8; bonus bInt,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28701,'Ru_Gold_Knife','Ru Gold Knife',5,0,NULL,500,'160',NULL,1,2,0x00010000,56,2,2,3,'120',1,1,'bonus bVit,8; bonus bInt,8;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28702,'Ru_Gold_Ashura','Ru Gold Ashura',5,0,NULL,1000,'150:150',NULL,1,2,0x2000000,63,2,2,3,'120',1,1,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28703,'Infinity_Dagger','Infinity Dagger',5,10,NULL,500,'125',NULL,1,1,0x0280026B,7,2,2,4,'100',1,1,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28705,'Crimson_Dagger','Crimson Dagger',5,20,NULL,550,'55',NULL,1,2,0x02800271,63,2,2,3,'70',1,1,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28703,'Infinity_Dagger','Infinity Dagger',5,10,NULL,500,'125',NULL,1,1,0x028F5EEF,56,2,2,4,'100',1,1,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28705,'Crimson_Dagger','Crimson Dagger',5,20,NULL,550,'55',NULL,1,2,0x028F5EEF,63,2,2,3,'70',1,1,'.@r = getrefine(); bonus bBaseAtk,((BaseLevel/10)*5)+(.@r<=15?pow(.@r,2):225); bonus bMatk,(.@r<=15?(pow(.@r,2)/2):225);',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28706,'Dagger_of_Vicious_Mind','Dagger of Vicious Mind',5,20,NULL,1050,'105:50',NULL,1,1,0x028F5EEF,63,2,2,4,'160',1,1,'bonus bAtk,pow(min(getrefine(),15),2); bonus bMatk,pow(min(getrefine(),15),2)/2;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28900,'Guardsmen\'s_Shield','Guardsmen\'s Shield',4,20,NULL,3000,NULL,30,NULL,1,0xFFFFFFFF,63,2,32,NULL,'100',1,1,'.@r = getrefine(); skill "LG_SHIELDSPELL",1; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",3,(10+(.@r*10)); bonus bDef,(.@r*10); bonus bMdef,.@r;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (28903,'Scutum','Scutum',4,0,NULL,500,NULL,1,NULL,1,0xFFFFFFFF,63,2,32,1,'1',1,NULL,'.@r = getrefine(); bonus bFlee,5+(.@r*3); bonus bFlee2,1+(.@r*2); if (.@r > 10) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; }',NULL,NULL);

View File

@ -715,7 +715,7 @@ CREATE TABLE IF NOT EXISTS `mapreg` (
--
CREATE TABLE IF NOT EXISTS `market` (
`name` varchar(32) NOT NULL DEFAULT '',
`name` varchar(50) NOT NULL DEFAULT '',
`nameid` SMALLINT(5) UNSIGNED NOT NULL,
`price` INT(11) UNSIGNED NOT NULL,
`amount` SMALLINT(5) UNSIGNED NOT NULL,

View File

@ -2840,7 +2840,7 @@ REPLACE INTO `mob_db_re` VALUES (3246,'V_B_TRENTINI','Wanderer Trentini','Wander
#3617,V_G_GERTIE_
#3618,V_G_ALPHOCCIO_
#3619,V_G_TRENTINI_
#
#3620,NYANGPORING
#3621,EP16_2_MM_CUTIE
#3622,EP16_2_MM_S_GUARDS
#3623,EP16_2_MM_U_ENERGY_R
@ -2875,7 +2875,7 @@ REPLACE INTO `mob_db_re` VALUES (3246,'V_B_TRENTINI','Wanderer Trentini','Wander
#3652,MD_ZOMBIE_120
#3653,MD_ZOMBIE_140
#3654,MD_ZOMBIE_160
#
#3655,E_MOBSTER
#3656,B_THE_PAPER
#3657,B_THE_PAPER2
#3658,MD_LICH_LORD_100
@ -2889,6 +2889,58 @@ REPLACE INTO `mob_db_re` VALUES (3246,'V_B_TRENTINI','Wanderer Trentini','Wander
#3666,MD_DRAINLIAR_100
#3667,MD_DRAINLIAR_160
#3668,B_KIEL_
#3669,DIABOLIC2
#3670,DELETER_2
#3671,JP_MAZEMOB_01
#3672,JP_MAZEMOB_02
#3673,JP_MAZEMOB_03
#3674,JP_MAZEMOB_04
#3675,JP_MAZEMOB_05
#3676,JP_MAZEMOB_06
#3677,JP_MAZEMOB_07
#3678,JP_MAZEMOB_08
#3679,JP_MAZEMOB_09
#3680,JP_MAZEMOB_10
#3681,JP_MAZEMOB_11
#3682,JP_MAZEMOB_12
#3683,JP_MAZEMOB_13
#3684,JP_MAZEMOB_14
#3685,JP_MAZEMOB_15
#3686,JP_MAZEMOB_16
#3687,JP_MAZEMOB_17
#3688,JP_MAZEMOB_18
#3689,JP_MAZEMOB_19
#3690,JP_MAZEMOB_20
#3691,JP_MAZEMOB_21
#3692,JP_MAZEMOB_22
#3693,JP_MAZEMOB_23
#3694,JP_MAZEMOB_24
#3695,JP_MAZEMOB_25
#3696,JP_MAZEMOB_26
#3697,JP_MAZEMOB_27
#3698,JP_MAZEMOB_28
#3699,JP_MAZEMOB_29
#3700,JP_MAZEMOB_30
#3701,JP_MAZEMOB_31
#3702,JP_MAZEMOB_32
#3703,JP_MAZEMOB_33
#3704,JP_MAZEMOB_34
#3705,JP_MAZEMOB_35
#3706,JP_MAZEMOB_36
#3707,JP_MAZEMOB_37
#3708,JP_MAZEMOB_38
#3709,JP_MAZEMOB_39
#3710,JP_MAZEMOB_40
#3711,JP_MAZEMOB_41
#3712,JP_MAZEMOB_42
#3713,JP_MAZEMOB_43
#3714,JP_MAZEMOB_44
#3715,JP_MAZEMOB_45
#3716,JP_MAZEMOB_46
#3717,JP_MAZEMOB_47
#3718,JP_MAZEMOB_48
#3719,JP_MAZEMOB_49
#3720,JP_MAZEMOB_50
#3721,QE_PORING
#3722,QE_POPORING
#3723,QE_DROPS
@ -2898,4 +2950,10 @@ REPLACE INTO `mob_db_re` VALUES (3246,'V_B_TRENTINI','Wanderer Trentini','Wander
#3727,QE_PICKY_
#3728,QE_ZOMBIE
#3729,QE_POISON_SPORE
#3730,BIG_DIPPER
#3731,SCATLETON
#3732,JP_ABYSS_BOSS_1
#3733,JP_ABYSS_BOSS_2
#3734,ORC_X2016
#3735,PORING_X2016

View File

@ -0,0 +1,2 @@
ALTER TABLE `market`
MODIFY `name` varchar(50) NOT NULL DEFAULT '';

View File

@ -1742,7 +1742,7 @@ int char_mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
WBUFW(buf,106) = ( p->rename > 0 ) ? 0 : 1;
offset += 2;
#if (PACKETVER >= 20100720 && PACKETVER <= 20100727) || PACKETVER >= 20100803
mapindex_getmapname_ext(mapindex_id2name(p->last_point.map), (char*)WBUFP(buf,108));
mapindex_getmapname_ext(mapindex_id2name(p->last_point.map), WBUFCP(buf,108));
offset += MAP_NAME_LENGTH_EXT;
#endif
#if PACKETVER >= 20100803
@ -3032,7 +3032,8 @@ int do_init(int argc, char **argv)
char_sql_config_read(SQL_CONF_NAME);
msg_config_read(MSG_CONF_NAME_EN);
if (strcmp(charserv_config.userid, "s1")==0 && strcmp(charserv_config.passwd, "p1")==0) {
// Skip this check if the server is run with run-once flag
if (runflag!=CORE_ST_STOP && strcmp(charserv_config.userid, "s1")==0 && strcmp(charserv_config.passwd, "p1")==0) {
ShowWarning("Using the default user/password s1/p1 is NOT RECOMMENDED.\n");
ShowNotice("Please edit your 'login' table to create a proper inter-server user/password (gender 'S')\n");
ShowNotice("And then change the user/password to use in conf/char_athena.conf (or conf/import/char_conf.txt)\n");

View File

@ -152,7 +152,7 @@ int chclif_parse_pincode_check( int fd, struct char_session_data* sd ){
return 1;
memset(pin,0,PINCODE_LENGTH+1);
strncpy((char*)pin, (char*)RFIFOP(fd, 6), PINCODE_LENGTH);
strncpy((char*)pin, RFIFOCP(fd, 6), PINCODE_LENGTH);
RFIFOSKIP(fd,10);
char_pincode_decrypt(sd->pincode_seed, pin );
@ -246,8 +246,8 @@ int chclif_parse_pincode_change( int fd, struct char_session_data* sd ){
memset(oldpin,0,PINCODE_LENGTH+1);
memset(newpin,0,PINCODE_LENGTH+1);
strncpy(oldpin, (char*)RFIFOP(fd,6), PINCODE_LENGTH);
strncpy(newpin, (char*)RFIFOP(fd,10), PINCODE_LENGTH);
strncpy(oldpin, RFIFOCP(fd,6), PINCODE_LENGTH);
strncpy(newpin, RFIFOCP(fd,10), PINCODE_LENGTH);
RFIFOSKIP(fd,14);
char_pincode_decrypt(sd->pincode_seed,oldpin);
@ -280,7 +280,7 @@ int chclif_parse_pincode_setnew( int fd, struct char_session_data* sd ){
else {
char newpin[PINCODE_LENGTH+1];
memset(newpin,0,PINCODE_LENGTH+1);
strncpy( newpin, (char*)RFIFOP(fd,6), PINCODE_LENGTH );
strncpy( newpin, RFIFOCP(fd,6), PINCODE_LENGTH );
RFIFOSKIP(fd,10);
char_pincode_decrypt( sd->pincode_seed, newpin );
@ -672,8 +672,8 @@ int chclif_parse_maplogin(int fd){
return 0;
else {
int i;
char* l_user = (char*)RFIFOP(fd,2);
char* l_pass = (char*)RFIFOP(fd,26);
char* l_user = RFIFOCP(fd,2);
char* l_pass = RFIFOCP(fd,26);
l_user[23] = '\0';
l_pass[23] = '\0';
ARR_FIND( 0, ARRAYLENGTH(map_server), i, map_server[i].fd <= 0 );
@ -904,7 +904,7 @@ int chclif_parse_charselect(int fd, struct char_session_data* sd,uint32 ipl){
WFIFOHEAD(fd,28);
WFIFOW(fd,0) = 0x71;
WFIFOL(fd,2) = cd->char_id;
mapindex_getmapname_ext(mapindex_id2name(cd->last_point.map), (char*)WFIFOP(fd,6));
mapindex_getmapname_ext(mapindex_id2name(cd->last_point.map), WFIFOCP(fd,6));
subnet_map_ip = char_lan_subnetcheck(ipl); // Advanced subnet check [LuzZza]
WFIFOL(fd,22) = htonl((subnet_map_ip) ? subnet_map_ip : map_server[i].ip);
WFIFOW(fd,26) = ntows(htons(map_server[i].port)); // [!] LE byte order here [!]
@ -941,13 +941,13 @@ int chclif_parse_createnewchar(int fd, struct char_session_data* sd,int cmd){
i = -2;
else {
#if PACKETVER >= 20151001
i = char_make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29),RFIFOW(fd,31),RFIFOW(fd,32),RFIFOB(fd,35));
i = char_make_new_char_sql(sd, RFIFOCP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29),RFIFOW(fd,31),RFIFOW(fd,32),RFIFOB(fd,35));
RFIFOSKIP(fd,36);
#elif PACKETVER >= 20120307
i = char_make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29));
i = char_make_new_char_sql(sd, RFIFOCP(fd,2),RFIFOB(fd,26),RFIFOW(fd,27),RFIFOW(fd,29));
RFIFOSKIP(fd,31);
#else
i = char_make_new_char_sql(sd, (char*)RFIFOP(fd,2),RFIFOB(fd,26),RFIFOB(fd,27),RFIFOB(fd,28),RFIFOB(fd,29),RFIFOB(fd,30),RFIFOB(fd,31),RFIFOB(fd,32),RFIFOW(fd,33),RFIFOW(fd,35));
i = char_make_new_char_sql(sd, RFIFOCP(fd,2),RFIFOB(fd,26),RFIFOB(fd,27),RFIFOB(fd,28),RFIFOB(fd,29),RFIFOB(fd,30),RFIFOB(fd,31),RFIFOB(fd,32),RFIFOW(fd,33),RFIFOW(fd,35));
RFIFOSKIP(fd,37);
#endif
}
@ -1065,7 +1065,7 @@ int chclif_parse_reqrename(int fd, struct char_session_data* sd, int cmd){
if(cmd == 0x8fc){
FIFOSD_CHECK(30)
cid =RFIFOL(fd,2);
safestrncpy(name, (char *)RFIFOP(fd,6), NAME_LENGTH);
safestrncpy(name, RFIFOCP(fd,6), NAME_LENGTH);
RFIFOSKIP(fd,30);
}
else if(cmd == 0x28d) {
@ -1073,7 +1073,7 @@ int chclif_parse_reqrename(int fd, struct char_session_data* sd, int cmd){
FIFOSD_CHECK(34);
aid = RFIFOL(fd,2);
cid =RFIFOL(fd,6);
safestrncpy(name, (char *)RFIFOP(fd,10), NAME_LENGTH);
safestrncpy(name, RFIFOCP(fd,10), NAME_LENGTH);
RFIFOSKIP(fd,34);
if( aid != sd->account_id )
return 1;

View File

@ -37,7 +37,7 @@ void chlogif_pincode_notifyLoginPinUpdate( uint32 account_id, char* pin ){
WFIFOW(login_fd,0) = 0x2738;
WFIFOW(login_fd,2) = size;
WFIFOL(login_fd,4) = account_id;
strncpy( (char*)WFIFOP(login_fd,8), pin, PINCODE_LENGTH+1 );
strncpy( WFIFOCP(login_fd,8), pin, PINCODE_LENGTH+1 );
WFIFOSET(login_fd,size);
}
}
@ -188,7 +188,7 @@ void chlogif_send_global_accreg(const char *key, unsigned int index, intptr_t va
WFIFOB(login_fd, nlen) = (unsigned char)len; // won't be higher; the column size is 32
nlen += 1;
safestrncpy((char*)WFIFOP(login_fd,nlen), key, len);
safestrncpy(WFIFOCP(login_fd,nlen), key, len);
nlen += len;
WFIFOL(login_fd, nlen) = index;
@ -205,7 +205,7 @@ void chlogif_send_global_accreg(const char *key, unsigned int index, intptr_t va
WFIFOB(login_fd, nlen) = (unsigned char)len; // won't be higher; the column size is 254
nlen += 1;
safestrncpy((char*)WFIFOP(login_fd,nlen), sval, len);
safestrncpy(WFIFOCP(login_fd,nlen), sval, len);
nlen += len;
}
} else {
@ -315,7 +315,7 @@ int chlogif_parse_ackaccreq(int fd, struct char_session_data* sd){
sd->version = version;
sd->clienttype = clienttype;
if(sd->version != date2version(PACKETVER))
ShowWarning("s aid=%d has an incorect version=%d in clientinfo. Server compiled for %d\n",
ShowWarning("aid=%d has an incorect version=%d in clientinfo. Server compiled for %d\n",
sd->account_id,sd->version,date2version(PACKETVER));
switch( result )
@ -355,8 +355,8 @@ int chlogif_parse_reqaccdata(int fd, struct char_session_data* sd){
sd->char_slots = MAX_CHARS;/* cap to maximum */
} else if ( !sd->char_slots )/* no value aka 0 in sql */
sd->char_slots = MIN_CHARS;/* cap to minimum */
safestrncpy(sd->birthdate, (const char*)RFIFOP(fd,52), sizeof(sd->birthdate));
safestrncpy(sd->pincode, (const char*)RFIFOP(fd,63), sizeof(sd->pincode));
safestrncpy(sd->birthdate, RFIFOCP(fd,52), sizeof(sd->birthdate));
safestrncpy(sd->pincode, RFIFOCP(fd,63), sizeof(sd->pincode));
sd->pincode_change = (time_t)RFIFOL(fd,68);
sd->isvip = RFIFOB(fd,72);
sd->chars_vip = RFIFOB(fd,73);
@ -694,8 +694,8 @@ int chlogif_parse_AccInfoAck(int fd) {
}
type>>=1;
mapif_accinfo_ack(true, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14), type, RFIFOL(fd,19), RFIFOL(fd,23), RFIFOL(fd,27),
(char*)RFIFOP(fd,31), (char*)RFIFOP(fd,71), (char*)RFIFOP(fd,87), (char*)RFIFOP(fd,111),
(char*)RFIFOP(fd,122), (char*)RFIFOP(fd,155), (char*)RFIFOP(fd,155+PINCODE_LENGTH));
RFIFOCP(fd,31), RFIFOCP(fd,71), RFIFOCP(fd,87), RFIFOCP(fd,111),
RFIFOCP(fd,122), RFIFOCP(fd,155), RFIFOCP(fd,155+PINCODE_LENGTH));
RFIFOSKIP(fd,155+PINCODE_LENGTH+NAME_LENGTH);
}
return 1;

View File

@ -697,7 +697,7 @@ int chmapif_parse_reqcharname(int fd){
WFIFOHEAD(fd,30);
WFIFOW(fd,0) = 0x2b09;
WFIFOL(fd,2) = RFIFOL(fd,2);
char_loadName((int)RFIFOL(fd,2), (char*)WFIFOP(fd,6));
char_loadName((int)RFIFOL(fd,2), WFIFOCP(fd,6));
WFIFOSET(fd,30);
RFIFOSKIP(fd,6);
@ -736,7 +736,7 @@ int chmapif_parse_fwlog_changestatus(int fd){
char esc_name[NAME_LENGTH*2+1];
char answer = true;
int aid = RFIFOL(fd,2); // account_id of who ask (-1 if server itself made this request)
const char* name = (char*)RFIFOP(fd,6); // name of the target character
const char* name = RFIFOCP(fd,6); // name of the target character
int operation = RFIFOW(fd,30); // type of operation @see enum chrif_req_op
int32 timediff = 0;
int val1 = 0, sex = SEX_MALE;
@ -825,7 +825,7 @@ int chmapif_parse_fwlog_changestatus(int fd){
WFIFOHEAD(fd,34);
WFIFOW(fd, 0) = 0x2b0f;
WFIFOL(fd, 2) = aid;
safestrncpy((char*)WFIFOP(fd,6), name, NAME_LENGTH);
safestrncpy(WFIFOCP(fd,6), name, NAME_LENGTH);
WFIFOW(fd,30) = operation;
WFIFOW(fd,32) = result;
WFIFOSET(fd,34);
@ -1133,7 +1133,7 @@ int chmapif_parse_fw_configstats(int fd){
session[sfd]->flag.server = 1;/* to ensure we won't drop our own packet */
WFIFOHEAD(sfd, RFIFOW(fd,2) );
memcpy((char*)WFIFOP(sfd,0), (char*)RFIFOP(fd, 0), RFIFOW(fd,2));
memcpy(WFIFOCP(sfd,0), RFIFOCP(fd, 0), RFIFOW(fd,2));
WFIFOSET(sfd, RFIFOW(fd,2) );
flush_fifo(sfd);
do_close(sfd);
@ -1225,7 +1225,7 @@ int chmapif_parse_reqcharban(int fd){
else {
//int aid = RFIFOL(fd,2); aid of player who as requested the ban
int timediff = RFIFOL(fd,6);
const char* name = (char*)RFIFOP(fd,10); // name of the target character
const char* name = RFIFOCP(fd,10); // name of the target character
RFIFOSKIP(fd,10+NAME_LENGTH);
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `account_id`,`char_id`,`unban_time` FROM `%s` WHERE `name` = '%s'", schema_config.char_db, name) )
@ -1290,7 +1290,7 @@ int chmapif_parse_reqcharunban(int fd){
if (RFIFOREST(fd) < 6+NAME_LENGTH)
return 0;
else {
const char* name = (char*)RFIFOP(fd,6);
const char* name = RFIFOCP(fd,6);
RFIFOSKIP(fd,6+NAME_LENGTH);
if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `unban_time` = '0' WHERE `name` = '%s' LIMIT 1", schema_config.char_db, name) ) {

View File

@ -464,7 +464,7 @@ static void mapif_parse_Auction_bid(int fd)
}
auction->buyer_id = char_id;
safestrncpy(auction->buyer_name, (char*)RFIFOP(fd,16), NAME_LENGTH);
safestrncpy(auction->buyer_name, RFIFOCP(fd,16), NAME_LENGTH);
auction->price = bid;
if( bid >= auction->buynow )

View File

@ -1844,21 +1844,21 @@ int inter_guild_parse_frommap(int fd)
{
RFIFOHEAD(fd);
switch(RFIFOW(fd,0)) {
case 0x3030: mapif_parse_CreateGuild(fd,RFIFOL(fd,4),(char*)RFIFOP(fd,8),(struct guild_member *)RFIFOP(fd,32)); break;
case 0x3030: mapif_parse_CreateGuild(fd,RFIFOL(fd,4),RFIFOCP(fd,8),(struct guild_member *)RFIFOP(fd,32)); break;
case 0x3031: mapif_parse_GuildInfo(fd,RFIFOL(fd,2)); break;
case 0x3032: mapif_parse_GuildAddMember(fd,RFIFOL(fd,4),(struct guild_member *)RFIFOP(fd,8)); break;
case 0x3033: mapif_parse_GuildMasterChange(fd,RFIFOL(fd,4),(const char*)RFIFOP(fd,8),RFIFOW(fd,2)-8); break;
case 0x3034: mapif_parse_GuildLeave(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),(const char*)RFIFOP(fd,15)); break;
case 0x3033: mapif_parse_GuildMasterChange(fd,RFIFOL(fd,4),RFIFOCP(fd,8),RFIFOW(fd,2)-8); break;
case 0x3034: mapif_parse_GuildLeave(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOCP(fd,15)); break;
case 0x3035: mapif_parse_GuildChangeMemberInfoShort(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOW(fd,17)); break;
case 0x3036: mapif_parse_BreakGuild(fd,RFIFOL(fd,2)); break;
case 0x3037: mapif_parse_GuildMessage(fd,RFIFOL(fd,4),RFIFOL(fd,8),(char*)RFIFOP(fd,12),RFIFOW(fd,2)-12); break;
case 0x3039: mapif_parse_GuildBasicInfoChange(fd,RFIFOL(fd,4),RFIFOW(fd,8),(const char*)RFIFOP(fd,10),RFIFOW(fd,2)-10); break;
case 0x303A: mapif_parse_GuildMemberInfoChange(fd,RFIFOL(fd,4),RFIFOL(fd,8),RFIFOL(fd,12),RFIFOW(fd,16),(const char*)RFIFOP(fd,18),RFIFOW(fd,2)-18); break;
case 0x3037: mapif_parse_GuildMessage(fd,RFIFOL(fd,4),RFIFOL(fd,8),RFIFOCP(fd,12),RFIFOW(fd,2)-12); break;
case 0x3039: mapif_parse_GuildBasicInfoChange(fd,RFIFOL(fd,4),RFIFOW(fd,8),RFIFOCP(fd,10),RFIFOW(fd,2)-10); break;
case 0x303A: mapif_parse_GuildMemberInfoChange(fd,RFIFOL(fd,4),RFIFOL(fd,8),RFIFOL(fd,12),RFIFOW(fd,16),RFIFOCP(fd,18),RFIFOW(fd,2)-18); break;
case 0x303B: mapif_parse_GuildPosition(fd,RFIFOL(fd,4),RFIFOL(fd,8),(struct guild_position *)RFIFOP(fd,12)); break;
case 0x303C: mapif_parse_GuildSkillUp(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOL(fd,14)); break;
case 0x303D: mapif_parse_GuildAlliance(fd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOL(fd,14),RFIFOB(fd,18)); break;
case 0x303E: mapif_parse_GuildNotice(fd,RFIFOL(fd,2),(const char*)RFIFOP(fd,6),(const char*)RFIFOP(fd,66)); break;
case 0x303F: mapif_parse_GuildEmblem(fd,RFIFOW(fd,2)-12,RFIFOL(fd,4),RFIFOL(fd,8),(const char*)RFIFOP(fd,12)); break;
case 0x303E: mapif_parse_GuildNotice(fd,RFIFOL(fd,2),RFIFOCP(fd,6),RFIFOCP(fd,66)); break;
case 0x303F: mapif_parse_GuildEmblem(fd,RFIFOW(fd,2)-12,RFIFOL(fd,4),RFIFOL(fd,8),RFIFOCP(fd,12)); break;
case 0x3040: mapif_parse_GuildCastleDataLoad(fd,RFIFOW(fd,2),(int *)RFIFOP(fd,4)); break;
case 0x3041: mapif_parse_GuildCastleDataSave(fd,RFIFOW(fd,2),RFIFOB(fd,4),RFIFOL(fd,5)); break;

View File

@ -76,7 +76,7 @@ static void mapif_homunculus_renamed(int fd, uint32 account_id, uint32 char_id,
WFIFOL(fd, 2) = account_id;
WFIFOL(fd, 6) = char_id;
WFIFOB(fd,10) = flag;
safestrncpy((char*)WFIFOP(fd,11), name, NAME_LENGTH);
safestrncpy(WFIFOCP(fd,11), name, NAME_LENGTH);
WFIFOSET(fd, NAME_LENGTH+12);
}
@ -305,7 +305,7 @@ int inter_homunculus_parse_frommap(int fd)
case 0x3091: mapif_parse_homunculus_load (fd, (int)RFIFOL(fd,2), (int)RFIFOL(fd,6)); break;
case 0x3092: mapif_parse_homunculus_save (fd, (int)RFIFOW(fd,2), (int)RFIFOL(fd,4), (struct s_homunculus*)RFIFOP(fd,8)); break;
case 0x3093: mapif_parse_homunculus_delete(fd, (int)RFIFOL(fd,2)); break;
case 0x3094: mapif_parse_homunculus_rename(fd, (int)RFIFOL(fd,2), (int)RFIFOL(fd,6), (char*)RFIFOP(fd,10)); break;
case 0x3094: mapif_parse_homunculus_rename(fd, (int)RFIFOL(fd,2), (int)RFIFOL(fd,6), RFIFOCP(fd,10)); break;
default:
return 0;
}

View File

@ -774,14 +774,14 @@ int inter_party_parse_frommap(int fd)
{
RFIFOHEAD(fd);
switch(RFIFOW(fd,0)) {
case 0x3020: mapif_parse_CreateParty(fd, (char*)RFIFOP(fd,4), RFIFOB(fd,28), RFIFOB(fd,29), (struct party_member*)RFIFOP(fd,30)); break;
case 0x3020: mapif_parse_CreateParty(fd, RFIFOCP(fd,4), RFIFOB(fd,28), RFIFOB(fd,29), (struct party_member*)RFIFOP(fd,30)); break;
case 0x3021: mapif_parse_PartyInfo(fd, RFIFOL(fd,2), RFIFOL(fd,6)); break;
case 0x3022: mapif_parse_PartyAddMember(fd, RFIFOL(fd,4), (struct party_member*)RFIFOP(fd,8)); break;
case 0x3023: mapif_parse_PartyChangeOption(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOW(fd,10), RFIFOW(fd,12)); break;
case 0x3024: mapif_parse_PartyLeave(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), (char *)RFIFOP(fd,14), (enum e_party_member_withdraw)RFIFOB(fd,14+NAME_LENGTH)); break;
case 0x3024: mapif_parse_PartyLeave(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOCP(fd,14), (enum e_party_member_withdraw)RFIFOB(fd,14+NAME_LENGTH)); break;
case 0x3025: mapif_parse_PartyChangeMap(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOW(fd,14), RFIFOB(fd,16), RFIFOW(fd,17)); break;
case 0x3026: mapif_parse_BreakParty(fd, RFIFOL(fd,2)); break;
case 0x3027: mapif_parse_PartyMessage(fd, RFIFOL(fd,4), RFIFOL(fd,8), (char*)RFIFOP(fd,12), RFIFOW(fd,2)-12); break;
case 0x3027: mapif_parse_PartyMessage(fd, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOCP(fd,12), RFIFOW(fd,2)-12); break;
case 0x3029: mapif_parse_PartyLeaderChange(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); break;
case 0x302A: mapif_parse_PartyShareLevel(fd, RFIFOL(fd,2)); break;
default:

View File

@ -271,7 +271,7 @@ int mapif_delete_pet(int fd, int pet_id){
int mapif_parse_CreatePet(int fd){
RFIFOHEAD(fd);
mapif_create_pet(fd, RFIFOL(fd, 2), RFIFOL(fd, 6), RFIFOW(fd, 10), RFIFOW(fd, 12), RFIFOW(fd, 14), RFIFOW(fd, 16), RFIFOW(fd, 18),
RFIFOW(fd, 20), RFIFOB(fd, 22), RFIFOB(fd, 23), (char*)RFIFOP(fd, 24));
RFIFOW(fd, 20), RFIFOB(fd, 22), RFIFOB(fd, 23), RFIFOCP(fd, 24));
return 0;
}

View File

@ -370,7 +370,7 @@ void inter_to_fd(int fd, int u_fd, int aid, char* msg, ...) {
WFIFOW(fd,2) = 12 + (unsigned short)len;
WFIFOL(fd,4) = u_fd;
WFIFOL(fd,8) = aid;
safestrncpy((char*)WFIFOP(fd,12), msg_out, len);
safestrncpy(WFIFOCP(fd,12), msg_out, len);
WFIFOSET(fd,12 + len);
@ -389,7 +389,7 @@ static void mapif_acc_info_ack(int fd, int u_fd, int acc_id, const char* acc_nam
WFIFOW(fd,0) = 0x3808;
WFIFOL(fd,2) = u_fd;
WFIFOL(fd,6) = acc_id;
safestrncpy((char*)WFIFOP(fd,10),acc_name,NAME_LENGTH);
safestrncpy(WFIFOCP(fd,10),acc_name,NAME_LENGTH);
WFIFOSET(fd,10 + NAME_LENGTH);
}
@ -405,7 +405,7 @@ void mapif_parse_accinfo(int fd) {
uint32 account_id = 0;
char *data;
safestrncpy(query, (char*) RFIFOP(fd,15), NAME_LENGTH);
safestrncpy(query, RFIFOCP(fd,15), NAME_LENGTH);
Sql_EscapeString(sql_handle, query_esq, query);
account_id = atoi(query);
@ -614,7 +614,7 @@ int inter_accreg_fromsql(uint32 account_id, uint32 char_id, int fd, int type)
WFIFOB(fd, plen) = (unsigned char)len; // won't be higher; the column size is 32
plen += 1;
safestrncpy((char*)WFIFOP(fd,plen), data, len);
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
Sql_GetData(sql_handle, 1, &data, NULL);
@ -628,7 +628,7 @@ int inter_accreg_fromsql(uint32 account_id, uint32 char_id, int fd, int type)
WFIFOB(fd, plen) = (unsigned char)len; // won't be higher; the column size is 254
plen += 1;
safestrncpy((char*)WFIFOP(fd,plen), data, len);
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
WFIFOW(fd, 14) += 1;
@ -694,7 +694,7 @@ int inter_accreg_fromsql(uint32 account_id, uint32 char_id, int fd, int type)
WFIFOB(fd, plen) = (unsigned char)len;/* won't be higher; the column size is 32 */
plen += 1;
safestrncpy((char*)WFIFOP(fd,plen), data, len);
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
Sql_GetData(sql_handle, 1, &data, NULL);
@ -1122,7 +1122,7 @@ int mapif_parse_WisRequest(int fd)
return 0;
}
safestrncpy(name, (char*)RFIFOP(fd,28), NAME_LENGTH); //Received name may be too large and not contain \0! [Skotlex]
safestrncpy(name, RFIFOCP(fd,28), NAME_LENGTH); //Received name may be too large and not contain \0! [Skotlex]
Sql_EscapeStringLen(sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));
if( SQL_ERROR == Sql_Query(sql_handle, "SELECT `name` FROM `%s` WHERE `name`='%s'", schema_config.char_db, esc_name) )
@ -1144,7 +1144,7 @@ int mapif_parse_WisRequest(int fd)
memset(name, 0, NAME_LENGTH);
memcpy(name, data, zmin(len, NAME_LENGTH));
// if source is destination, don't ask other servers.
if( strncmp((const char*)RFIFOP(fd,4), name, NAME_LENGTH) == 0 )
if( strncmp(RFIFOCP(fd,4), name, NAME_LENGTH) == 0 )
{
uint8 buf[27];
WBUFW(buf, 0) = 0x3802;
@ -1225,7 +1225,7 @@ int mapif_parse_Registry(int fd)
for(i = 0; i < count; i++) {
unsigned int index;
safestrncpy(key, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(key, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
index = RFIFOL(fd, cursor);
@ -1242,7 +1242,7 @@ int mapif_parse_Registry(int fd)
break;
// str
case 2:
safestrncpy(sval, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(sval, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
inter_savereg(account_id,char_id,key,index,(intptr_t)sval,true);
break;
@ -1296,7 +1296,7 @@ int mapif_parse_NameChangeRequest(int fd)
account_id = RFIFOL(fd,2);
char_id = RFIFOL(fd,6);
type = RFIFOB(fd,10);
name = (char*)RFIFOP(fd,11);
name = RFIFOCP(fd,11);
// Check Authorised letters/symbols in the name
if (charserv_config.char_config.char_name_option == 1) { // only letters/symbols in char_name_letters are authorised

View File

@ -97,6 +97,8 @@
//Includes null-terminator as it is the length of the array.
#define NAME_LENGTH (23 + 1)
#define PASSWD_LENGTH (32+1)
//NPC names can be longer than it's displayed on client (NAME_LENGTH).
#define NPC_NAME_LENGTH 50
//For item names, which tend to have much longer names.
#define ITEM_NAME_LENGTH 50
//For Map Names, which the client considers to be 16 in length including the .gat extension

View File

@ -25,6 +25,8 @@
#define RFIFOP(fd,pos) (session[fd]->rdata + session[fd]->rdata_pos + (pos))
#define WFIFOP(fd,pos) (session[fd]->wdata + session[fd]->wdata_size + (pos))
#define RFIFOCP(fd,pos) ((char*)RFIFOP(fd,pos))
#define WFIFOCP(fd,pos) ((char*)WFIFOP(fd,pos))
#define RFIFOB(fd,pos) (*(uint8*)RFIFOP(fd,pos))
#define WFIFOB(fd,pos) (*(uint8*)WFIFOP(fd,pos))
#define RFIFOW(fd,pos) (*(uint16*)RFIFOP(fd,pos))
@ -50,12 +52,14 @@
// buffer I/O macros
#define RBUFP(p,pos) (((uint8*)(p)) + (pos))
#define RBUFCP(p,pos) ((char*)RBUFP((p),(pos)))
#define RBUFB(p,pos) (*(uint8*)RBUFP((p),(pos)))
#define RBUFW(p,pos) (*(uint16*)RBUFP((p),(pos)))
#define RBUFL(p,pos) (*(uint32*)RBUFP((p),(pos)))
#define RBUFQ(p,pos) (*(uint64*)RBUFP((p),(pos)))
#define WBUFP(p,pos) (((uint8*)(p)) + (pos))
#define WBUFCP(p,pos) ((char*)WBUFP((p),(pos)))
#define WBUFB(p,pos) (*(uint8*)WBUFP((p),(pos)))
#define WBUFW(p,pos) (*(uint16*)WBUFP((p),(pos)))
#define WBUFL(p,pos) (*(uint32*)WBUFP((p),(pos)))

View File

@ -657,7 +657,7 @@ void mmo_save_global_accreg(AccountDB* self, int fd, int account_id, int char_id
for (i = 0; i < count; i++) {
unsigned int index;
safestrncpy(key, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(key, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
index = RFIFOL(fd, cursor);
@ -676,7 +676,7 @@ void mmo_save_global_accreg(AccountDB* self, int fd, int account_id, int char_id
break;
// str
case 2:
safestrncpy(sval, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(sval, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
if( SQL_ERROR == Sql_Query(sql_handle, "REPLACE INTO `%s` (`account_id`,`key`,`index`,`value`) VALUES ('%d','%s','%u','%s')", db->global_acc_reg_str_table, account_id, key, index, sval) )
Sql_ShowDebug(sql_handle);
@ -726,7 +726,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, int account_id, int char_id
WFIFOB(fd, plen) = (unsigned char)len; // won't be higher; the column size is 32
plen += 1;
safestrncpy((char*)WFIFOP(fd,plen), data, len);
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
Sql_GetData(sql_handle, 1, &data, NULL);
@ -740,7 +740,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, int account_id, int char_id
WFIFOB(fd, plen) = (unsigned char)len; // won't be higher; the column size is 254
plen += 1;
safestrncpy((char*)WFIFOP(fd,plen), data, len);
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
WFIFOW(fd, 14) += 1;
@ -793,7 +793,7 @@ void mmo_send_global_accreg(AccountDB* self, int fd, int account_id, int char_id
WFIFOB(fd, plen) = (unsigned char)len; // won't be higher; the column size is 32
plen += 1;
safestrncpy((char*)WFIFOP(fd,plen), data, len);
safestrncpy(WFIFOCP(fd,plen), data, len);
plen += len;
Sql_GetData(sql_handle, 1, &data, NULL);

View File

@ -216,7 +216,7 @@ void ipban_init(void) {
Sql_Free(sql_handle);
exit(EXIT_FAILURE);
}
ShowInfo("Ipban conection made\n");
ShowInfo("Ipban connection made.\n");
if( codepage[0] != '\0' && SQL_ERROR == Sql_SetEncoding(sql_handle, codepage) )
Sql_ShowDebug(sql_handle);

View File

@ -190,12 +190,12 @@ int logchrif_send_accdata(int fd, uint32 aid) {
WFIFOHEAD(fd,75);
WFIFOW(fd,0) = 0x2717;
WFIFOL(fd,2) = aid;
safestrncpy((char*)WFIFOP(fd,6), email, 40);
safestrncpy(WFIFOCP(fd,6), email, 40);
WFIFOL(fd,46) = (uint32)expiration_time;
WFIFOB(fd,50) = (unsigned char)group_id;
WFIFOB(fd,51) = char_slots;
safestrncpy((char*)WFIFOP(fd,52), birthdate, 10+1);
safestrncpy((char*)WFIFOP(fd,63), pincode, 4+1 );
safestrncpy(WFIFOCP(fd,52), birthdate, 10+1);
safestrncpy(WFIFOCP(fd,63), pincode, 4+1 );
WFIFOL(fd,68) = (uint32)acc.pincode_change;
WFIFOB(fd,72) = isvip;
WFIFOB(fd,73) = char_vip;
@ -276,8 +276,8 @@ int logchrif_parse_reqchangemail(int fd, int id, char* ip){
char new_email[40];
uint32 account_id = RFIFOL(fd,2);
safestrncpy(actual_email, (char*)RFIFOP(fd,6), 40);
safestrncpy(new_email, (char*)RFIFOP(fd,46), 40);
safestrncpy(actual_email, RFIFOCP(fd,6), 40);
safestrncpy(new_email, RFIFOCP(fd,46), 40);
RFIFOSKIP(fd, 86);
if( e_mail_check(actual_email) == 0 )
@ -612,7 +612,7 @@ int logchrif_parse_updpincode(int fd){
AccountDB* accounts = login_get_accounts_db();
if( accounts->load_num(accounts, &acc, RFIFOL(fd,4) ) ){
strncpy( acc.pincode, (char*)RFIFOP(fd,8), PINCODE_LENGTH+1 );
strncpy( acc.pincode, RFIFOCP(fd,8), PINCODE_LENGTH+1 );
acc.pincode_change = time( NULL );
accounts->save(accounts, &acc);
}
@ -736,19 +736,19 @@ int logchrif_parse_accinfo(int fd) {
WFIFOL(fd, 19) = acc.group_id;
WFIFOL(fd, 23) = acc.logincount;
WFIFOL(fd, 27) = acc.state;
safestrncpy((char*)WFIFOP(fd, 31), acc.email, 40);
safestrncpy((char*)WFIFOP(fd, 71), acc.last_ip, 16);
safestrncpy((char*)WFIFOP(fd, 87), acc.lastlogin, 24);
safestrncpy((char*)WFIFOP(fd, 111), acc.birthdate, 11);
safestrncpy(WFIFOCP(fd, 31), acc.email, 40);
safestrncpy(WFIFOCP(fd, 71), acc.last_ip, 16);
safestrncpy(WFIFOCP(fd, 87), acc.lastlogin, 24);
safestrncpy(WFIFOCP(fd, 111), acc.birthdate, 11);
if ((unsigned int)u_group >= acc.group_id) {
safestrncpy((char*)WFIFOP(fd, 122), acc.pass, 33);
safestrncpy((char*)WFIFOP(fd, 155), acc.pincode, PINCODE_LENGTH);
safestrncpy(WFIFOCP(fd, 122), acc.pass, 33);
safestrncpy(WFIFOCP(fd, 155), acc.pincode, PINCODE_LENGTH);
}
else {
memset(WFIFOP(fd, 122), '\0', 33);
memset(WFIFOP(fd, 155), '\0', PINCODE_LENGTH);
}
safestrncpy((char*)WFIFOP(fd, 155 + PINCODE_LENGTH), acc.userid, NAME_LENGTH);
safestrncpy(WFIFOCP(fd, 155 + PINCODE_LENGTH), acc.userid, NAME_LENGTH);
WFIFOSET(fd, len);
}
else {

View File

@ -211,7 +211,7 @@ static void logclif_auth_failed(struct login_session_data* sd, int result) {
struct mmo_account acc;
AccountDB* accounts = login_get_accounts_db();
time_t unban_time = ( accounts->load_str(accounts, &acc, sd->userid) ) ? acc.unban_time : 0;
timestamp2string((char*)WFIFOP(fd,6), 20, unban_time, login_config.date_format);
timestamp2string(WFIFOCP(fd,6), 20, unban_time, login_config.date_format);
}
WFIFOSET(fd,26);
}
@ -226,7 +226,7 @@ static void logclif_auth_failed(struct login_session_data* sd, int result) {
struct mmo_account acc;
AccountDB* accounts = login_get_accounts_db();
time_t unban_time = ( accounts->load_str(accounts, &acc, sd->userid) ) ? acc.unban_time : 0;
timestamp2string((char*)WFIFOP(fd,3), 20, unban_time, login_config.date_format);
timestamp2string(WFIFOCP(fd,3), 20, unban_time, login_config.date_format);
}
WFIFOSET(fd,23);
}
@ -299,8 +299,8 @@ static int logclif_parse_reqauth(int fd, struct login_session_data *sd, int comm
// Shinryo: For the time being, just use token as password.
if(command == 0x0825) {
char *accname = (char *)RFIFOP(fd, 9);
char *token = (char *)RFIFOP(fd, 0x5C);
char *accname = RFIFOCP(fd, 9);
char *token = RFIFOCP(fd, 0x5C);
size_t uAccLen = strlen(accname);
size_t uTokenLen = RFIFOREST(fd) - 0x5C;
@ -319,10 +319,10 @@ static int logclif_parse_reqauth(int fd, struct login_session_data *sd, int comm
else
{
version = RFIFOL(fd,2);
safestrncpy(username, (const char*)RFIFOP(fd,6), NAME_LENGTH);
safestrncpy(username, RFIFOCP(fd,6), NAME_LENGTH);
if( israwpass )
{
safestrncpy(password, (const char*)RFIFOP(fd,30), PASSWD_LENGTH);
safestrncpy(password, RFIFOCP(fd,30), PASSWD_LENGTH);
clienttype = RFIFOB(fd,54);
}
else
@ -409,15 +409,15 @@ static int logclif_parse_reqcharconnec(int fd, struct login_session_data *sd, ch
uint16 type;
uint16 new_;
safestrncpy(sd->userid, (char*)RFIFOP(fd,2), NAME_LENGTH);
safestrncpy(sd->passwd, (char*)RFIFOP(fd,26), NAME_LENGTH);
safestrncpy(sd->userid, RFIFOCP(fd,2), NAME_LENGTH);
safestrncpy(sd->passwd, RFIFOCP(fd,26), NAME_LENGTH);
if( login_config.use_md5_passwds )
MD5_String(sd->passwd, sd->passwd);
sd->passwdenc = 0;
sd->version = login_config.client_version_to_connect; // hack to skip version check
server_ip = ntohl(RFIFOL(fd,54));
server_port = ntohs(RFIFOW(fd,58));
safestrncpy(server_name, (char*)RFIFOP(fd,60), 20);
safestrncpy(server_name, RFIFOCP(fd,60), 20);
type = RFIFOW(fd,82);
new_ = RFIFOW(fd,84);
RFIFOSKIP(fd,86);

View File

@ -8030,9 +8030,9 @@ ACMD_FUNC(fakename)
if( sd->fakename[0] )
{
sd->fakename[0] = '\0';
clif_charnameack(0, &sd->bl);
clif_name_area(&sd->bl);
if (sd->disguise)
clif_charnameack(sd->fd, &sd->bl);
clif_name_self(&sd->bl);
clif_displaymessage(sd->fd, msg_txt(sd,1307)); // Returned to real name.
return 0;
}
@ -8048,9 +8048,9 @@ ACMD_FUNC(fakename)
}
safestrncpy(sd->fakename, message, sizeof(sd->fakename));
clif_charnameack(0, &sd->bl);
clif_name_area(&sd->bl);
if (sd->disguise) // Another packet should be sent so the client updates the name for sd
clif_charnameack(sd->fd, &sd->bl);
clif_name_self(&sd->bl);
clif_displaymessage(sd->fd, msg_txt(sd,1310)); // Fake name enabled.
return 0;
@ -9587,10 +9587,10 @@ ACMD_FUNC(vip) {
ACMD_FUNC(showrate) {
nullpo_retr(-1,sd);
if (!sd->vip.disableshowrate) {
sprintf(atcmd_output,msg_txt(sd,718)); //Personal rate information is not displayed now.
safestrncpy(atcmd_output,msg_txt(sd,718),CHAT_SIZE_MAX); //Personal rate information is not displayed now.
sd->vip.disableshowrate = 1;
} else {
sprintf(atcmd_output,msg_txt(sd,719)); //Personal rate information will be shown.
safestrncpy(atcmd_output,msg_txt(sd,719),CHAT_SIZE_MAX); //Personal rate information will be shown.
sd->vip.disableshowrate = 0;
}
clif_displaymessage(fd,atcmd_output);

View File

@ -3524,7 +3524,7 @@ static int battle_calc_attack_skill_ratio(struct Damage wd, struct block_list *s
skillratio += 50 * skill_lv;
break;
case MO_INVESTIGATE:
skillratio += 100 + 150 * skill_lv;
skillratio += 75 * skill_lv;
break;
case MO_EXTREMITYFIST:
skillratio += 100 * (7 + sstatus->sp / 10);
@ -4344,7 +4344,6 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, s
struct map_session_data *sd = BL_CAST(BL_PC, src);
struct status_change *sc = status_get_sc(src);
struct status_data *sstatus = status_get_status_data(src);
struct status_data *tstatus = status_get_status_data(target);
int inf3 = skill_get_inf3(skill_id);
// Kagerou/Oboro Earth Charm effect +15% wATK
@ -4369,6 +4368,8 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, s
if (sc->data[SC_MADNESSCANCEL])
ATK_ADD(wd.equipAtk, wd.equipAtk2, 100);
if (sc->data[SC_GATLINGFEVER]) {
struct status_data *tstatus = status_get_status_data(target);
if (tstatus->size == SZ_SMALL) {
ATK_ADD(wd.equipAtk, wd.equipAtk2, 10 * sc->data[SC_GATLINGFEVER]->val1);
} else if (tstatus->size == SZ_MEDIUM) {
@ -4660,8 +4661,8 @@ struct Damage battle_calc_defense_reduction(struct Damage wd, struct block_list
if( def1 == -400 ) /* -400 creates a division by 0 and subsequently crashes */
def1 = -399;
ATK_ADD2(wd.damage, wd.damage2,
is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (def1/2) : 0,
is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (def1/2) : 0
is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0,
is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_L) ? (def1*battle_calc_attack_skill_ratio(wd, src, target, skill_id, skill_lv))/200 : 0
);
if( !attack_ignores_def(wd, src, target, skill_id, skill_lv, EQI_HAND_R) && !is_attack_piercing(wd, src, target, skill_id, skill_lv, EQI_HAND_R) )
wd.damage = wd.damage * (4000+def1) / (4000+10*def1) - vit_def;
@ -6316,15 +6317,8 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
s_ele = skill_get_ele(skill_id, skill_lv);
if (s_ele < 0 && s_ele != -3) //Attack that takes weapon's element for misc attacks? Make it neutral [Skotlex]
s_ele = ELE_NEUTRAL;
else if (s_ele == -3) { //Use random element
if (skill_id == SN_FALCONASSAULT) {
if (sstatus->rhw.ele && !status_get_attack_sc_element(src, status_get_sc(src)))
s_ele = sstatus->rhw.ele;
else
s_ele = status_get_attack_sc_element(src, status_get_sc(src));
} else
s_ele = rnd()%ELE_ALL;
}
else if (s_ele == -3) //Use random element
s_ele = rnd()%ELE_ALL;
//Skill Range Criteria
md.flag |= battle_range_type(src, target, skill_id, skill_lv);
@ -8299,7 +8293,6 @@ static const struct _battle_data {
{ "feature.autotrade_head_direction", &battle_config.feature_autotrade_head_direction,0, -1, 2, },
{ "feature.autotrade_sit", &battle_config.feature_autotrade_sit, 1, -1, 1, },
{ "feature.autotrade_open_delay", &battle_config.feature_autotrade_open_delay, 5000, 1000, INT_MAX, },
{ "disp_serverbank_msg", &battle_config.disp_serverbank_msg, 0, 0, 1, },
{ "disp_servervip_msg", &battle_config.disp_servervip_msg, 0, 0, 1, },
{ "warg_can_falcon", &battle_config.warg_can_falcon, 0, 0, 1, },
{ "path_blown_halt", &battle_config.path_blown_halt, 1, 0, 1, },
@ -8458,9 +8451,9 @@ void rAthena_report(char* date, char *time_c) {
WBUFW(buf,2) = 6 + 12 + 9 + 24 + 4 + 4 + 4 + 4 + ( bd_size * ( BFLAG_LENGTH + 4 ) );
WBUFW(buf,4) = 0x9c;
safestrncpy((char*)WBUFP(buf,6), date, 12);
safestrncpy((char*)WBUFP(buf,6 + 12), time_c, 9);
safestrncpy((char*)WBUFP(buf,6 + 12 + 9), timestring, 24);
safestrncpy(WBUFCP(buf,6), date, 12);
safestrncpy(WBUFCP(buf,6 + 12), time_c, 9);
safestrncpy(WBUFCP(buf,6 + 12 + 9), timestring, 24);
WBUFL(buf,6 + 12 + 9 + 24) = rev;
WBUFL(buf,6 + 12 + 9 + 24 + 4) = map_getusers();
@ -8469,7 +8462,7 @@ void rAthena_report(char* date, char *time_c) {
WBUFL(buf,6 + 12 + 9 + 24 + 4 + 4 + 4) = bd_size;
for( i = 0; i < bd_size; i++ ) {
safestrncpy((char*)WBUFP(buf,6 + 12 + 9+ 24 + 4 + 4 + 4 + 4 + ( i * ( BFLAG_LENGTH + 4 ) ) ), battle_data[i].str, 35);
safestrncpy(WBUFCP(buf,6 + 12 + 9+ 24 + 4 + 4 + 4 + 4 + ( i * ( BFLAG_LENGTH + 4 ) ) ), battle_data[i].str, 35);
WBUFL(buf,6 + 12 + 9 + 24 + 4 + 4 + 4 + 4 + BFLAG_LENGTH + ( i * ( BFLAG_LENGTH + 4 ) ) ) = *battle_data[i].val;
}

View File

@ -565,7 +565,6 @@ extern struct Battle_Config
int fame_pharmacy_7;
int fame_pharmacy_10;
int disp_serverbank_msg;
int disp_servervip_msg;
int warg_can_falcon;
int path_blown_halt;

View File

@ -868,7 +868,7 @@ int chrif_req_login_operation(int aid, const char* character_name, enum chrif_re
WFIFOHEAD(char_fd,44);
WFIFOW(char_fd,0) = 0x2b0e;
WFIFOL(char_fd,2) = aid;
safestrncpy((char*)WFIFOP(char_fd,6), character_name, NAME_LENGTH);
safestrncpy(WFIFOCP(char_fd,6), character_name, NAME_LENGTH);
WFIFOW(char_fd,30) = operation_type;
if ( operation_type == CHRIF_OP_LOGIN_BAN || operation_type == CHRIF_OP_LOGIN_VIP)
@ -890,7 +890,7 @@ int chrif_changesex(struct map_session_data *sd, bool change_account) {
WFIFOHEAD(char_fd,44);
WFIFOW(char_fd,0) = 0x2b0e;
WFIFOL(char_fd,2) = sd->status.account_id;
safestrncpy((char*)WFIFOP(char_fd,6), sd->status.name, NAME_LENGTH);
safestrncpy(WFIFOCP(char_fd,6), sd->status.name, NAME_LENGTH);
WFIFOW(char_fd,30) = (change_account ? CHRIF_OP_LOGIN_CHANGESEX : CHRIF_OP_CHANGECHARSEX);
if (!change_account)
WFIFOB(char_fd,32) = sd->status.sex == SEX_MALE ? SEX_FEMALE : SEX_MALE;
@ -1138,7 +1138,7 @@ int chrif_req_charban(int aid, const char* character_name, int32 timediff){
WFIFOW(char_fd,0) = 0x2b28;
WFIFOL(char_fd,2) = aid;
WFIFOL(char_fd,6) = timediff;
safestrncpy((char*)WFIFOP(char_fd,10), character_name, NAME_LENGTH);
safestrncpy(WFIFOCP(char_fd,10), character_name, NAME_LENGTH);
WFIFOSET(char_fd,10+NAME_LENGTH); //default 34
return 0;
}
@ -1149,7 +1149,7 @@ int chrif_req_charunban(int aid, const char* character_name){
WFIFOHEAD(char_fd,6+NAME_LENGTH);
WFIFOW(char_fd,0) = 0x2b2a;
WFIFOL(char_fd,2) = aid;
safestrncpy((char*)WFIFOP(char_fd,6), character_name, NAME_LENGTH);
safestrncpy(WFIFOCP(char_fd,6), character_name, NAME_LENGTH);
WFIFOSET(char_fd,6+NAME_LENGTH);
return 0;
}
@ -1812,10 +1812,10 @@ int chrif_parse(int fd) {
case 0x2b03: clif_charselectok(RFIFOL(fd,2), RFIFOB(fd,6)); break;
case 0x2b04: chrif_recvmap(fd); break;
case 0x2b06: chrif_changemapserverack(RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14), RFIFOW(fd,18), RFIFOW(fd,20), RFIFOW(fd,22), RFIFOL(fd,24), RFIFOW(fd,28)); break;
case 0x2b09: map_addnickdb(RFIFOL(fd,2), (char*)RFIFOP(fd,6)); break;
case 0x2b09: map_addnickdb(RFIFOL(fd,2), RFIFOCP(fd,6)); break;
case 0x2b0b: chrif_skillcooldown_load(fd); break;
case 0x2b0d: chrif_changedsex(fd); break;
case 0x2b0f: chrif_ack_login_req(RFIFOL(fd,2), (char*)RFIFOP(fd,6), RFIFOW(fd,30), RFIFOW(fd,32)); break;
case 0x2b0f: chrif_ack_login_req(RFIFOL(fd,2), RFIFOCP(fd,6), RFIFOW(fd,30), RFIFOW(fd,32)); break;
case 0x2b12: chrif_divorceack(RFIFOL(fd,2), RFIFOL(fd,6)); break;
case 0x2b14: chrif_ban(fd); break;
case 0x2b1b: chrif_recvfamelist(fd); break;

File diff suppressed because it is too large Load Diff

View File

@ -671,8 +671,9 @@ void clif_wis_message(int fd, const char* nick, const char* mes, int mes_len);
void clif_wis_end(int fd, int result);
void clif_solved_charname(int fd, int charid, const char* name);
void clif_charnameack(int fd, struct block_list *bl);
void clif_charnameupdate(struct map_session_data *ssd);
void clif_name( struct block_list* src, struct block_list *bl, send_target target );
#define clif_name_self(bl) clif_name( (bl), (bl), SELF )
#define clif_name_area(bl) clif_name( (bl), (bl), AREA )
void clif_use_card(struct map_session_data *sd,int idx);
void clif_insert_card(struct map_session_data *sd,int idx_equip,int idx_card,int flag);
@ -730,7 +731,7 @@ void clif_hpmeter_single(int fd, int id, unsigned int hp, unsigned int maxhp);
// guild
void clif_guild_created(struct map_session_data *sd,int flag);
void clif_guild_belonginfo(struct map_session_data *sd, struct guild *g);
void clif_guild_belonginfo(struct map_session_data *sd);
void clif_guild_masterormember(struct map_session_data *sd);
void clif_guild_basicinfo(struct map_session_data *sd);
void clif_guild_allianceinfo(struct map_session_data *sd);
@ -746,7 +747,7 @@ void clif_guild_positionchanged(struct guild *g,int idx);
void clif_guild_memberpositionchanged(struct guild *g,int idx);
void clif_guild_emblem(struct map_session_data *sd,struct guild *g);
void clif_guild_emblem_area(struct block_list* bl);
void clif_guild_notice(struct map_session_data* sd, struct guild* g);
void clif_guild_notice(struct map_session_data* sd);
void clif_guild_message(struct guild *g,uint32 account_id,const char *mes,int len);
void clif_guild_reqalliance(struct map_session_data *sd,uint32 account_id,const char *name);
void clif_guild_allianceack(struct map_session_data *sd,int flag);

View File

@ -241,11 +241,11 @@ int guild_getindex(struct guild *g,uint32 account_id,uint32 char_id) {
}
/// lookup: player sd -> member position
int guild_getposition(struct guild* g, struct map_session_data* sd) {
int guild_getposition(struct map_session_data* sd) {
int i;
struct guild *g;
if( g == NULL && (g=sd->guild) == NULL )
return -1;
nullpo_retr( -1, g = sd->guild );
ARR_FIND( 0, g->max_member, i, g->member[i].account_id == sd->status.account_id && g->member[i].char_id == sd->status.char_id );
return( i < g->max_member ) ? g->member[i].position : -1;
@ -505,7 +505,7 @@ int guild_recv_info(struct guild *sg) {
//Also set the guild master flag.
sd->guild = g;
sd->state.gmaster_flag = 1;
clif_charnameupdate(sd); // [LuzZza]
clif_name_area(&sd->bl); // [LuzZza]
clif_guild_masterormember(sd);
}
} else {
@ -521,7 +521,7 @@ int guild_recv_info(struct guild *sg) {
for(i=bm=m=0;i<g->max_member;i++){
if(g->member[i].account_id>0){
sd = g->member[i].sd = guild_sd_check(g->guild_id, g->member[i].account_id, g->member[i].char_id);
if (sd) clif_charnameupdate(sd); // [LuzZza]
if (sd) clif_name_area(&sd->bl); // [LuzZza]
m++;
}else
g->member[i].sd=NULL;
@ -552,8 +552,8 @@ int guild_recv_info(struct guild *sg) {
clif_guild_skillinfo(sd); //Submit information skills
if (guild_new) { // Send information and affiliation if unsent
clif_guild_belonginfo(sd, g);
clif_guild_notice(sd, g);
clif_guild_belonginfo(sd);
clif_guild_notice(sd);
sd->guild_emblem_id = g->emblem_id;
}
if (g->instance_id != 0)
@ -588,7 +588,7 @@ int guild_invite(struct map_session_data *sd, struct map_session_data *tsd) {
if(tsd==NULL || g==NULL)
return 0;
if( (i=guild_getposition(g,sd))<0 || !(g->position[i].mode&0x0001) )
if( (i=guild_getposition(sd))<0 || !(g->position[i].mode&0x0001) )
return 0; //Invite permission.
if(!battle_config.invite_request_check) {
@ -742,8 +742,8 @@ int guild_member_added(int guild_id,uint32 account_id,uint32 char_id,int flag) {
sd->guild_emblem_id = g->emblem_id;
sd->guild = g;
//Packets which were sent in the previous 'guild_sent' implementation.
clif_guild_belonginfo(sd,g);
clif_guild_notice(sd,g);
clif_guild_belonginfo(sd);
clif_guild_notice(sd);
//TODO: send new emblem info to others
@ -800,7 +800,7 @@ int guild_expulsion(struct map_session_data* sd, int guild_id, uint32 account_id
if(sd->status.guild_id!=guild_id)
return 0;
if( (ps=guild_getposition(g,sd))<0 || !(g->position[ps].mode&0x0010) )
if( (ps=guild_getposition(sd))<0 || !(g->position[ps].mode&0x0010) )
return 0; //Expulsion permission
//Can't leave inside guild castles.
@ -883,7 +883,7 @@ int guild_member_withdraw(int guild_id, uint32 account_id, uint32 char_id, int f
}
}
clif_charnameupdate(sd); //Update display name [Skotlex]
clif_name_area(&sd->bl); //Update display name [Skotlex]
status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER);
status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER);
status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER);
@ -966,7 +966,7 @@ int guild_send_memberinfoshort(struct map_session_data *sd,int online) { // clea
}
if(sd->state.connect_new) { //Note that this works because it is invoked in parse_LoadEndAck before connect_new is cleared.
clif_guild_belonginfo(sd,g);
clif_guild_belonginfo(sd);
sd->guild_emblem_id = g->emblem_id;
}
return 0;
@ -1080,7 +1080,7 @@ int guild_memberposition_changed(struct guild *g,int idx,int pos) {
// Update char position in client [LuzZza]
if(g->member[idx].sd != NULL)
clif_charnameupdate(g->member[idx].sd);
clif_name_area(&g->member[idx].sd->bl);
return 0;
}
@ -1114,7 +1114,7 @@ int guild_position_changed(int guild_id,int idx,struct guild_position *p) {
// Update char name in client [LuzZza]
for(i=0;i<g->max_member;i++)
if(g->member[i].position == idx && g->member[i].sd != NULL)
clif_charnameupdate(g->member[i].sd);
clif_name_area(&g->member[i].sd->bl);
return 0;
}
@ -1144,7 +1144,7 @@ int guild_notice_changed(int guild_id,const char *mes1,const char *mes2) {
for(i=0;i<g->max_member;i++){
struct map_session_data *sd = g->member[i].sd;
if(sd != NULL)
clif_guild_notice(sd,g);
clif_guild_notice(sd);
}
return 0;
}
@ -1182,7 +1182,7 @@ int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data) {
for(i=0;i<g->max_member;i++){
if((sd=g->member[i].sd)!=NULL){
sd->guild_emblem_id=emblem_id;
clif_guild_belonginfo(sd,g);
clif_guild_belonginfo(sd);
clif_guild_emblem(sd,g);
clif_guild_emblem_area(&sd->bl);
}
@ -1254,7 +1254,7 @@ unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp) {
if (sd->status.guild_id == 0 ||
(g = sd->guild) == NULL ||
(per = guild_getposition(g,sd)) < 0 ||
(per = guild_getposition(sd)) < 0 ||
(per = g->position[per].exp_mode) < 1)
return 0;
@ -1735,7 +1735,7 @@ int guild_broken(int guild_id,int flag) {
sd->guild = NULL;
sd->state.gmaster_flag = 0;
clif_guild_broken(g->member[i].sd,0);
clif_charnameupdate(sd); // [LuzZza]
clif_name_area(&sd->bl); // [LuzZza]
status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER);
status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER);
status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER);

View File

@ -40,7 +40,7 @@ struct guild_castle* guild_mapindex2gc(short mapindex);
struct map_session_data *guild_getavailablesd(struct guild *g);
int guild_getindex(struct guild *g,uint32 account_id,uint32 char_id);
int guild_getposition(struct guild *g, struct map_session_data *sd);
int guild_getposition(struct map_session_data *sd);
unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp);
int guild_getexp(struct map_session_data *sd,int exp); // [Celest]

View File

@ -959,7 +959,7 @@ void hom_change_name_ack(struct map_session_data *sd, char* name, int flag)
return;
}
safestrncpy(hd->homunculus.name,name,NAME_LENGTH);
clif_charnameack (0,&hd->bl);
clif_name_area(&hd->bl);
hd->homunculus.rename_flag = 1;
clif_hominfo(sd,hd,0);
}

View File

@ -602,6 +602,9 @@ int instance_destroy(unsigned short instance_id)
map_delinstancemap(im->map[i]->m);
ers_free(instance_maps_ers, im->map[i]);
}
im->cnt_map = 0;
aFree(im->map);
im->map = NULL;
}
if(im->keep_timer != INVALID_TIMER) {
@ -813,17 +816,18 @@ static bool instance_db_free_sub(struct instance_db *db);
static bool instance_readdb_sub(char* str[], int columns, int current)
{
uint8 i;
int id = atoi(str[0]);
char *ptr;
int id = strtol(str[0], &ptr, 10);
struct instance_db *db;
bool isNew = false;
if (!id || id > USHRT_MAX) {
ShowError("instance_readdb_sub: Cannot add instance with ID '%d'. Valid ID is 1 ~ %d.\n", id, USHRT_MAX);
if (!id || id > USHRT_MAX || *ptr) {
ShowError("instance_readdb_sub: Cannot add instance with ID '%d'. Valid IDs are 1 ~ %d, skipping...\n", id, USHRT_MAX);
return false;
}
if (mapindex_name2id(str[4]) == 0) {
ShowError("instance_readdb_sub: Invalid map '%s' as entrance map.\n", str[4]);
ShowError("instance_readdb_sub: Invalid map '%s' as entrance map, skipping...\n", str[4]);
return false;
}
@ -833,8 +837,7 @@ static bool instance_readdb_sub(char* str[], int columns, int current)
db->name = StringBuf_Malloc();
db->enter.mapname = StringBuf_Malloc();
isNew = true;
}
else {
} else {
StringBuf_Clear(db->name);
StringBuf_Clear(db->enter.mapname);
if (db->maplist_count) {
@ -846,11 +849,36 @@ static bool instance_readdb_sub(char* str[], int columns, int current)
}
StringBuf_AppendStr(db->name, str[1]);
db->limit = atoi(str[2]);
db->timeout = atoi(str[3]);
db->limit = strtol(str[2], &ptr, 10);
if (*ptr) {
ShowError("instance_readdb_sub: TimeLimit must be an integer value for instance '%d', skipping...\n", id);
instance_db_free_sub(db);
return false;
}
db->timeout = strtol(str[3], &ptr, 10);
if (*ptr) {
ShowError("instance_readdb_sub: IdleTimeOut must be an integer value for instance '%d', skipping...\n", id);
instance_db_free_sub(db);
return false;
}
StringBuf_AppendStr(db->enter.mapname, str[4]);
db->enter.x = atoi(str[5]);
db->enter.y = atoi(str[6]);
db->enter.x = (short)strtol(str[5], &ptr, 10);
if (*ptr) {
ShowError("instance_readdb_sub: EnterX must be an integer value for instance '%d', skipping...\n", id);
instance_db_free_sub(db);
return false;
}
db->enter.y = (short)strtol(str[6], &ptr, 10);
if (*ptr) {
ShowError("instance_readdb_sub: EnterY must be an integer value for instance '%d', skipping...\n", id);
instance_db_free_sub(db);
return false;
}
//Instance maps
for (i = 7; i < columns; i++) {

View File

@ -419,7 +419,7 @@ int intif_saveregistry(struct map_session_data *sd)
WFIFOB(inter_fd, plen) = (unsigned char)len; // won't be higher; the column size is 32
plen += 1;
safestrncpy((char*)WFIFOP(inter_fd,plen), varname, len);
safestrncpy(WFIFOCP(inter_fd,plen), varname, len);
plen += len;
WFIFOL(inter_fd, plen) = script_getvaridx(key.i64);
@ -437,7 +437,7 @@ int intif_saveregistry(struct map_session_data *sd)
WFIFOB(inter_fd, plen) = (unsigned char)len; // won't be higher; the column size is 254
plen += 1;
safestrncpy((char*)WFIFOP(inter_fd,plen), p->value, len);
safestrncpy(WFIFOCP(inter_fd,plen), p->value, len);
plen += len;
} else {
script_reg_destroy_single(sd,key.i64,&p->flag);
@ -648,7 +648,7 @@ int intif_party_leave(int party_id, uint32 account_id, uint32 char_id, char *nam
WFIFOL(inter_fd,2) = party_id;
WFIFOL(inter_fd,6) = account_id;
WFIFOL(inter_fd,10) = char_id;
memcpy((char *)WFIFOP(inter_fd,14), name, NAME_LENGTH);
memcpy(WFIFOCP(inter_fd,14), name, NAME_LENGTH);
WFIFOB(inter_fd,14+NAME_LENGTH) = type;
WFIFOSET(inter_fd,15+NAME_LENGTH);
return 1;
@ -863,7 +863,7 @@ int intif_guild_leave(int guild_id,uint32 account_id,uint32 char_id,int flag,con
WFIFOL(inter_fd, 6) = account_id;
WFIFOL(inter_fd,10) = char_id;
WFIFOB(inter_fd,14) = flag;
safestrncpy((char*)WFIFOP(inter_fd,15),mes,40);
safestrncpy(WFIFOCP(inter_fd,15),mes,40);
WFIFOSET(inter_fd,55);
return 1;
}
@ -1231,7 +1231,7 @@ int intif_parse_WisMessage(int fd)
id=RFIFOL(fd,4);
safestrncpy(name, (char*)RFIFOP(fd,32), NAME_LENGTH);
safestrncpy(name, RFIFOCP(fd,32), NAME_LENGTH);
sd = map_nick2sd(name);
if(sd == NULL || strcmp(sd->status.name, name) != 0)
{ //Not found
@ -1242,7 +1242,7 @@ int intif_parse_WisMessage(int fd)
intif_wis_replay(id, 2);
return 0;
}
wisp_source = (char *) RFIFOP(fd,8); // speed up [Yor]
wisp_source = RFIFOCP(fd,8); // speed up [Yor]
for(i=0; i < MAX_IGNORE_LIST &&
sd->ignore[i].name[0] != '\0' &&
strcmp(sd->ignore[i].name, wisp_source) != 0
@ -1254,7 +1254,7 @@ int intif_parse_WisMessage(int fd)
return 0;
}
//Success to send whisper.
clif_wis_message(sd->fd, wisp_source, (char*)RFIFOP(fd,56),RFIFOW(fd,2)-56);
clif_wis_message(sd->fd, wisp_source, RFIFOCP(fd,56),RFIFOW(fd,2)-56);
intif_wis_replay(id,0); // success
return 1;
}
@ -1270,7 +1270,7 @@ int intif_parse_WisEnd(int fd)
if (battle_config.etc_log)
ShowInfo("intif_parse_wisend: player: %s, flag: %d\n", RFIFOP(fd,2), RFIFOB(fd,26)); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
sd = (struct map_session_data *)map_nick2sd((char *) RFIFOP(fd,2));
sd = (struct map_session_data *)map_nick2sd(RFIFOCP(fd,2));
if (sd != NULL)
clif_wis_end(sd->fd, RFIFOB(fd,26));
@ -1317,8 +1317,8 @@ int mapif_parse_WisToGM(int fd)
message = (char *) aMalloc(mes_len+1);
permission = RFIFOL(fd,4+NAME_LENGTH);
safestrncpy(Wisp_name, (char*)RFIFOP(fd,4), NAME_LENGTH);
safestrncpy(message, (char*)RFIFOP(fd,8+NAME_LENGTH), mes_len+1);
safestrncpy(Wisp_name, RFIFOCP(fd,4), NAME_LENGTH);
safestrncpy(message, RFIFOCP(fd,8+NAME_LENGTH), mes_len+1);
// information is sent to all online GM
map_foreachpc(mapif_parse_WisToGM_sub, permission, Wisp_name, message, mes_len);
aFree(message);
@ -1384,13 +1384,13 @@ void intif_parse_Registers(int fd)
if (type) {
for(i = 0; i < max; i++) {
char sval[254];
safestrncpy(key, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(key, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
index = RFIFOL(fd, cursor);
cursor += 4;
safestrncpy(sval, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(sval, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
set_reg(NULL,sd,reference_uid(add_str(key), index), key, (void*)sval, NULL);
@ -1404,7 +1404,7 @@ void intif_parse_Registers(int fd)
} else {
for(i = 0; i < max; i++) {
int ival;
safestrncpy(key, (char*)RFIFOP(fd, cursor + 1), RFIFOB(fd, cursor));
safestrncpy(key, RFIFOCP(fd, cursor + 1), RFIFOB(fd, cursor));
cursor += RFIFOB(fd, cursor) + 1;
index = RFIFOL(fd, cursor);
@ -1493,7 +1493,7 @@ int intif_parse_PartyCreated(int fd)
{
if(battle_config.etc_log)
ShowInfo("intif: party created by account %d\n\n", RFIFOL(fd,2));
party_created(RFIFOL(fd,2), RFIFOL(fd,6),RFIFOB(fd,10),RFIFOL(fd,11), (char *)RFIFOP(fd,15));
party_created(RFIFOL(fd,2), RFIFOL(fd,6),RFIFOB(fd,10),RFIFOL(fd,11), RFIFOCP(fd,15));
return 1;
}
@ -1548,8 +1548,8 @@ int intif_parse_PartyOptionChanged(int fd)
int intif_parse_PartyMemberWithdraw(int fd)
{
if(battle_config.etc_log)
ShowInfo("intif: party member withdraw: Type(%d) Party(%d), Account(%d), Char(%d), Name(%s)\n",RFIFOB(fd,14+NAME_LENGTH),RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),(char*)RFIFOP(fd,14));
party_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),(char*)RFIFOP(fd,14),(enum e_party_member_withdraw)RFIFOB(fd,14+NAME_LENGTH));
ShowInfo("intif: party member withdraw: Type(%d) Party(%d), Account(%d), Char(%d), Name(%s)\n",RFIFOB(fd,14+NAME_LENGTH),RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOCP(fd,14));
party_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOCP(fd,14),(enum e_party_member_withdraw)RFIFOB(fd,14+NAME_LENGTH));
return 1;
}
@ -1582,7 +1582,7 @@ int intif_parse_PartyMove(int fd)
*/
int intif_parse_PartyMessage(int fd)
{
party_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),(char *) RFIFOP(fd,12),RFIFOW(fd,2)-12);
party_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),RFIFOCP(fd,12),RFIFOW(fd,2)-12);
return 1;
}
@ -1635,7 +1635,7 @@ int intif_parse_GuildMemberAdded(int fd)
*/
int intif_parse_GuildMemberWithdraw(int fd)
{
guild_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),(char *)RFIFOP(fd,55),(char *)RFIFOP(fd,15));
guild_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOCP(fd,55),RFIFOCP(fd,15));
return 1;
}
@ -1756,7 +1756,7 @@ int intif_parse_GuildSkillUp(int fd)
*/
int intif_parse_GuildAlliance(int fd)
{
guild_allianceack(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOL(fd,14),RFIFOB(fd,18),(char *) RFIFOP(fd,19),(char *) RFIFOP(fd,43));
guild_allianceack(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOL(fd,14),RFIFOB(fd,18),RFIFOCP(fd,19),RFIFOCP(fd,43));
return 1;
}
@ -1767,7 +1767,7 @@ int intif_parse_GuildAlliance(int fd)
*/
int intif_parse_GuildNotice(int fd)
{
guild_notice_changed(RFIFOL(fd,2),(char *) RFIFOP(fd,6),(char *) RFIFOP(fd,66));
guild_notice_changed(RFIFOL(fd,2),RFIFOCP(fd,6),RFIFOCP(fd,66));
return 1;
}
@ -1778,7 +1778,7 @@ int intif_parse_GuildNotice(int fd)
*/
int intif_parse_GuildEmblem(int fd)
{
guild_emblem_changed(RFIFOW(fd,2)-12,RFIFOL(fd,4),RFIFOL(fd,8), (char *)RFIFOP(fd,12));
guild_emblem_changed(RFIFOW(fd,2)-12,RFIFOL(fd,4),RFIFOL(fd,8), RFIFOCP(fd,12));
return 1;
}
@ -1789,7 +1789,7 @@ int intif_parse_GuildEmblem(int fd)
*/
int intif_parse_GuildMessage(int fd)
{
guild_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),(char *) RFIFOP(fd,12),RFIFOW(fd,2)-12);
guild_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),RFIFOCP(fd,12),RFIFOW(fd,2)-12);
return 1;
}
@ -1888,10 +1888,10 @@ int intif_parse_ChangeNameOk(int fd)
case 0: //Players [NOT SUPPORTED YET]
break;
case 1: //Pets
pet_change_name_ack(sd, (char*)RFIFOP(fd,12), RFIFOB(fd,11));
pet_change_name_ack(sd, RFIFOCP(fd,12), RFIFOB(fd,11));
break;
case 2: //Hom
hom_change_name_ack(sd, (char*)RFIFOP(fd,12), RFIFOB(fd,11));
hom_change_name_ack(sd, RFIFOCP(fd,12), RFIFOB(fd,11));
break;
}
return 1;
@ -2393,8 +2393,8 @@ static void intif_parse_Mail_new(int fd)
{
struct map_session_data *sd = map_charid2sd(RFIFOL(fd,2));
int mail_id = RFIFOL(fd,6);
const char* sender_name = (char*)RFIFOP(fd,10);
const char* title = (char*)RFIFOP(fd,34);
const char* sender_name = RFIFOCP(fd,10);
const char* title = RFIFOCP(fd,34);
if( sd == NULL )
return;
@ -2932,7 +2932,7 @@ int intif_request_accinfo(int u_fd, int aid, int group_lv, char* query, char typ
WFIFOL(inter_fd,6) = aid;
WFIFOL(inter_fd,10) = group_lv;
WFIFOB(inter_fd,14) = type;
safestrncpy((char *)WFIFOP(inter_fd,15), query, NAME_LENGTH);
safestrncpy(WFIFOCP(inter_fd,15), query, NAME_LENGTH);
WFIFOSET(inter_fd,2 + 4 + 4 + 4 + 1 + NAME_LENGTH);
return 1;
@ -2946,7 +2946,7 @@ void intif_parse_accinfo_ack( int fd ) {
char acc_name[NAME_LENGTH];
int u_fd = RFIFOL(fd,2);
int acc_id = RFIFOL(fd,6);
safestrncpy(acc_name, (char*)RFIFOP(fd,10), NAME_LENGTH);
safestrncpy(acc_name, RFIFOCP(fd,10), NAME_LENGTH);
clif_account_name(u_fd, acc_id, acc_name);
}
@ -2963,7 +2963,7 @@ void intif_parse_MessageToFD(int fd) {
/* matching e.g. previous fd owner didn't dc during request or is still the same */
if( sd->bl.id == aid ) {
char msg[512];
safestrncpy(msg, (char*)RFIFOP(fd,12), RFIFOW(fd,2) - 12);
safestrncpy(msg, RFIFOCP(fd,12), RFIFOW(fd,2) - 12);
clif_displaymessage(u_fd,msg);
}
@ -3007,7 +3007,7 @@ int intif_broadcast_obtain_special_item(struct map_session_data *sd, unsigned sh
WFIFOW(inter_fd, 4) = nameid;
WFIFOW(inter_fd, 6) = sourceid;
WFIFOB(inter_fd, 8) = type;
safestrncpy((char *)WFIFOP(inter_fd, 9), sd->status.name, NAME_LENGTH);
safestrncpy(WFIFOCP(inter_fd, 9), sd->status.name, NAME_LENGTH);
WFIFOSET(inter_fd, WFIFOW(inter_fd, 2));
return 1;
@ -3040,8 +3040,8 @@ int intif_broadcast_obtain_special_item_npc(struct map_session_data *sd, unsigne
WFIFOW(inter_fd, 4) = nameid;
WFIFOW(inter_fd, 6) = 0;
WFIFOB(inter_fd, 8) = ITEMOBTAIN_TYPE_NPC;
safestrncpy((char *)WFIFOP(inter_fd, 9), sd->status.name, NAME_LENGTH);
safestrncpy((char *)WFIFOP(inter_fd, 9 + NAME_LENGTH), srcname, NAME_LENGTH);
safestrncpy(WFIFOCP(inter_fd, 9), sd->status.name, NAME_LENGTH);
safestrncpy(WFIFOCP(inter_fd, 9 + NAME_LENGTH), srcname, NAME_LENGTH);
WFIFOSET(inter_fd, WFIFOW(inter_fd, 2));
return 1;
@ -3056,9 +3056,9 @@ void intif_parse_broadcast_obtain_special_item(int fd) {
int type = RFIFOB(fd, 8);
char name[NAME_LENGTH], srcname[NAME_LENGTH];
safestrncpy(name, (char *)RFIFOP(fd, 9), NAME_LENGTH);
safestrncpy(name, RFIFOCP(fd, 9), NAME_LENGTH);
if (type == ITEMOBTAIN_TYPE_NPC)
safestrncpy(name, (char *)RFIFOP(fd, 9 + NAME_LENGTH), NAME_LENGTH);
safestrncpy(name, RFIFOCP(fd, 9 + NAME_LENGTH), NAME_LENGTH);
clif_broadcast_obtain_special_item(name, RFIFOW(fd, 4), RFIFOW(fd, 6), (enum BROADCASTING_SPECIAL_ITEM_OBTAIN)type, srcname);
}
@ -3391,9 +3391,9 @@ int intif_parse(int fd)
switch(cmd){
case 0x3800:
if (RFIFOL(fd,4) == 0xFF000000) //Normal announce.
clif_broadcast(NULL, (char *) RFIFOP(fd,16), packet_len-16, BC_DEFAULT, ALL_CLIENT);
clif_broadcast(NULL, RFIFOCP(fd,16), packet_len-16, BC_DEFAULT, ALL_CLIENT);
else //Color announce.
clif_broadcast2(NULL, (char *) RFIFOP(fd,16), packet_len-16, RFIFOL(fd,4), RFIFOW(fd,8), RFIFOW(fd,10), RFIFOW(fd,12), RFIFOW(fd,14), ALL_CLIENT);
clif_broadcast2(NULL, RFIFOCP(fd,16), packet_len-16, RFIFOL(fd,4), RFIFOW(fd,8), RFIFOW(fd,10), RFIFOW(fd,12), RFIFOW(fd,14), ALL_CLIENT);
break;
case 0x3801: intif_parse_WisMessage(fd); break;
case 0x3802: intif_parse_WisEnd(fd); break;

View File

@ -211,8 +211,8 @@ enum e_mapid {
#define CHATROOM_PASS_SIZE (8 + 1)
//Max allowed chat text length
#define CHAT_SIZE_MAX (255 + 1)
//24 for npc name + 24 for label + 2 for a "::" and 1 for EOS
#define EVENT_NAME_LENGTH ( NAME_LENGTH * 2 + 3 )
// <NPC_NAME_LENGTH> for npc name + 2 for a "::" + <NAME_LENGTH> for label + 1 for EOS
#define EVENT_NAME_LENGTH ( NPC_NAME_LENGTH + 2 + NAME_LENGTH + 1 )
#define DEFAULT_AUTOSAVE_INTERVAL 5*60*1000

View File

@ -1344,7 +1344,9 @@ static int mob_ai_sub_hard_slavemob(struct mob_data *md,unsigned int tick)
if (ud) {
struct block_list *tbl=NULL;
if (ud->target && ud->state.attack_continue)
tbl=map_id2bl(ud->target);
tbl = map_id2bl(ud->target);
else if (ud->target_to && ud->state.attack_continue)
tbl = map_id2bl(ud->target_to);
else if (ud->skilltarget) {
tbl = map_id2bl(ud->skilltarget);
//Required check as skilltarget is not always an enemy. [Skotlex]
@ -2244,7 +2246,7 @@ void mob_damage(struct mob_data *md, struct block_list *src, int damage)
}
if (battle_config.show_mob_info&3)
clif_charnameack(0, &md->bl);
clif_name_area(&md->bl);
#if PACKETVER >= 20120404
if( battle_config.monster_hp_bars_info){
@ -2912,7 +2914,7 @@ void mob_revive(struct mob_data *md, unsigned int hp)
skill_unit_move(&md->bl,tick,1);
mobskill_use(md, tick, MSC_SPAWN);
if (battle_config.show_mob_info&3)
clif_charnameack (0, &md->bl);
clif_name_area(&md->bl);
}
int mob_guardian_guildchange(struct mob_data *md)
@ -3045,7 +3047,7 @@ int mob_class_change (struct mob_data *md, int mob_id)
md->target_id = md->attacked_id = md->norm_attacked_id = 0;
//Need to update name display.
clif_charnameack(0, &md->bl);
clif_name_area(&md->bl);
return 0;
}
@ -3055,7 +3057,7 @@ int mob_class_change (struct mob_data *md, int mob_id)
void mob_heal(struct mob_data *md,unsigned int heal)
{
if (battle_config.show_mob_info&3)
clif_charnameack (0, &md->bl);
clif_name_area(&md->bl);
#if PACKETVER >= 20120404
if( battle_config.monster_hp_bars_info){
int i;
@ -4273,7 +4275,7 @@ static bool mob_parse_row_chatdb(char* fields[], int columns, int current)
msg_id = atoi(fields[0]);
if (msg_id <= 0 || msg_id > MAX_MOB_CHAT){
ShowError("mob_parse_row_chatdb: Invalid chat ID: %d at %s, line %d\n", msg_id, columns, current);
ShowError("mob_parse_row_chatdb: Invalid chat ID '%d' in line %d\n", msg_id, current);
return false;
}
@ -4435,8 +4437,8 @@ static bool mob_parse_row_mobskilldb(char** str, int columns, int current)
if( j < ARRAYLENGTH(state) )
ms->state = state[j].id;
else {
ShowWarning("mob_parse_row_mobskilldb: Unrecognized state %s\n", str[2]);
ms->state = MSS_ANY;
ShowError("mob_parse_row_mobskilldb: Unrecognized state '%s' in line %d\n", str[2], current);
return false;
}
//Skill ID

View File

@ -44,7 +44,7 @@ static int npc_cache_mob=0;
#if PACKETVER >= 20131223
struct s_npc_market {
struct npc_item_list *list;
char exname[NAME_LENGTH+1];
char exname[NPC_NAME_LENGTH+1];
uint16 count;
};
static DBMap *NPCMarketDB; /// Stock persistency! Temporary market stocks from `market` table. struct s_npc_market, key: NPC exname
@ -336,6 +336,14 @@ static int npc_event_export(struct npc_data *nd, int i)
if ((lname[0] == 'O' || lname[0] == 'o') && (lname[1] == 'N' || lname[1] == 'n')) {
struct event_data *ev;
char buf[EVENT_NAME_LENGTH];
// NPC:<name> the prefix uses 4 characters
if( !strncasecmp( lname, script_config.onwhisper_event_name, NAME_LENGTH ) && strlen(nd->exname) > ( NAME_LENGTH - 4 ) ){
// The client only allows that many character so that NPC could not be whispered by unmodified clients
ShowWarning( "Whisper event in npc '"CL_WHITE"%s"CL_RESET"' was ignored, because it's name is too long.\n", nd->exname );
return 0;
}
snprintf(buf, ARRAYLENGTH(buf), "%s::%s", nd->exname, lname);
// generate the data and insert it
CREATE(ev, struct event_data, 1);
@ -430,7 +438,7 @@ int npc_event_doall(const char* name)
int npc_event_doall_id(const char* name, int rid)
{
int c = 0;
char buf[64];
char buf[EVENT_NAME_LENGTH];
safesnprintf(buf, sizeof(buf), "::%s", name);
ev_db->foreach(ev_db,npc_event_doall_sub,&c,buf,rid);
return c;
@ -445,7 +453,7 @@ int npc_event_do_clock(int tid, unsigned int tick, int id, intptr_t data)
static struct tm ev_tm_b; // tracks previous execution time
time_t timer;
struct tm* t;
char buf[64];
char buf[EVENT_NAME_LENGTH];
int c = 0;
timer = time(NULL);
@ -1358,6 +1366,63 @@ int npc_buysellsel(struct map_session_data* sd, int id, int type)
return 0;
}
/** Payment Process for NPCTYPE_CASHSHOP, NPCTYPE_ITEMSHOP, and NPCTYPE_POINTSHOP
* @param nd NPC Shop data
* @param price Price must be paid
* @param points Total points that player has
* @param sd Player data
* @return e_CASHSHOP_ACK
**/
static enum e_CASHSHOP_ACK npc_cashshop_process_payment(struct npc_data *nd, int price, int points, struct map_session_data *sd) {
int cost[2] = { 0, 0 };
npc_shop_currency_type(sd, nd, cost, false);
switch(nd->subtype) {
case NPCTYPE_CASHSHOP:
if (cost[1] < points || cost[0] < (price - points))
return ERROR_TYPE_MONEY;
pc_paycash(sd, price, points, LOG_TYPE_NPC);
break;
case NPCTYPE_ITEMSHOP:
{
struct item_data *id = itemdb_exists(nd->u.shop.itemshop_nameid);
if (cost[0] < (price - points)) {
char output[CHAT_SIZE_MAX];
memset(output, '\0', sizeof(output));
sprintf(output, msg_txt(sd, 712), (id) ? id->jname : "NULL", (id) ? id->nameid : 0); // You do not have enough %s (%hu).
clif_colormes(sd->fd, color_table[COLOR_RED], output);
return ERROR_TYPE_PURCHASE_FAIL;
}
if (id)
pc_delitem(sd, pc_search_inventory(sd, nd->u.shop.itemshop_nameid), price - points, 0, 0, LOG_TYPE_NPC);
else
ShowWarning("Failed to delete item %hu from itemshop NPC '%s' (%s, %d, %d)!\n", nd->u.shop.itemshop_nameid, nd->exname, map[nd->bl.m].name, nd->bl.x, nd->bl.y);
}
break;
case NPCTYPE_POINTSHOP:
{
char output[CHAT_SIZE_MAX];
memset(output, '\0', sizeof(output));
if (cost[0] < (price - points)) {
sprintf(output, msg_txt(sd, 713), nd->u.shop.pointshop_str); // You do not have enough '%s'.
clif_colormes(sd->fd, color_table[COLOR_RED], output);
return ERROR_TYPE_PURCHASE_FAIL;
}
pc_setreg2(sd, nd->u.shop.pointshop_str, cost[0] - (price - points));
sprintf(output, msg_txt(sd, 716), nd->u.shop.pointshop_str, cost[0] - (price - points)); // Your '%s' is now: %d
clif_disp_onlyself(sd, output, strlen(output) + 1);
}
break;
}
return ERROR_TYPE_NONE;
}
/**
* Cash Shop Buy List for clients 2010-11-16 and newer
* @param sd: Player data
@ -1368,9 +1433,10 @@ int npc_buysellsel(struct map_session_data* sd, int id, int type)
*/
int npc_cashshop_buylist(struct map_session_data *sd, int points, int count, unsigned short* item_list)
{
int i, j, amount, new_, w, vt, cost[2] = { 0, 0 };
int i, j, amount, new_, w, vt;
unsigned short nameid;
struct npc_data *nd = (struct npc_data *)map_id2bl(sd->npc_shopid);
enum e_CASHSHOP_ACK res;
if( !nd || ( nd->subtype != NPCTYPE_CASHSHOP && nd->subtype != NPCTYPE_ITEMSHOP && nd->subtype != NPCTYPE_POINTSHOP ) )
return ERROR_TYPE_NPC;
@ -1421,51 +1487,8 @@ int npc_cashshop_buylist(struct map_session_data *sd, int points, int count, uns
return ERROR_TYPE_INVENTORY_WEIGHT;
if( points > vt ) points = vt;
// Payment Process ----------------------------------------------------
npc_shop_currency_type(sd, nd, cost, false);
switch(nd->subtype) {
case NPCTYPE_CASHSHOP:
if (cost[1] < points || cost[0] < (vt - points))
return ERROR_TYPE_MONEY;
pc_paycash(sd, vt, points, LOG_TYPE_NPC);
break;
case NPCTYPE_ITEMSHOP:
{
struct item_data *id = itemdb_exists(nd->u.shop.itemshop_nameid);
if (cost[0] < (vt - points)) {
char output[CHAT_SIZE_MAX];
memset(output, '\0', sizeof(output));
sprintf(output, msg_txt(sd, 712), (id) ? id->jname : "NULL", (id) ? id->nameid : 0); // You do not have enough %s (%hu).
clif_colormes(sd->fd, color_table[COLOR_RED], output);
return ERROR_TYPE_PURCHASE_FAIL;
}
if (id)
pc_delitem(sd, pc_search_inventory(sd, nd->u.shop.itemshop_nameid), vt - points, 0, 0, LOG_TYPE_NPC);
else
ShowWarning("Failed to delete item %hu from itemshop NPC '%s' (%s, %d, %d)!\n", nd->u.shop.itemshop_nameid, nd->exname, map[nd->bl.m].name, nd->bl.x, nd->bl.y);
}
break;
case NPCTYPE_POINTSHOP:
{
char output[CHAT_SIZE_MAX];
memset(output, '\0', sizeof(output));
if (cost[0] < (vt - points)) {
sprintf(output, msg_txt(sd, 713), nd->u.shop.pointshop_str); // You do not have enough '%s'.
clif_colormes(sd->fd, color_table[COLOR_RED], output);
return ERROR_TYPE_PURCHASE_FAIL;
}
pc_setreg2(sd, nd->u.shop.pointshop_str, cost[0] - (vt - points));
sprintf(output, msg_txt(sd, 716), nd->u.shop.pointshop_str, cost[0] - (vt - points)); // Your '%s' is now: %d
clif_disp_onlyself(sd, output, strlen(output) + 1);
}
break;
}
if ((res = npc_cashshop_process_payment(nd, vt, points, sd)) != ERROR_TYPE_NONE)
return res;
// Delivery Process ----------------------------------------------------
for( i = 0; i < count; i++ ) {
@ -1565,6 +1588,7 @@ int npc_cashshop_buy(struct map_session_data *sd, unsigned short nameid, int amo
struct npc_data *nd = (struct npc_data *)map_id2bl(sd->npc_shopid);
struct item_data *item;
int i, price, w;
enum e_CASHSHOP_ACK res;
if( amount <= 0 )
return ERROR_TYPE_ITEM_ID;
@ -1572,7 +1596,7 @@ int npc_cashshop_buy(struct map_session_data *sd, unsigned short nameid, int amo
if( points < 0 )
return ERROR_TYPE_MONEY;
if( !nd || nd->subtype != NPCTYPE_CASHSHOP )
if( !nd || (nd->subtype != NPCTYPE_CASHSHOP && nd->subtype != NPCTYPE_ITEMSHOP && nd->subtype != NPCTYPE_POINTSHOP) )
return ERROR_TYPE_NPC;
if( sd->state.trading )
@ -1622,10 +1646,8 @@ int npc_cashshop_buy(struct map_session_data *sd, unsigned short nameid, int amo
if( points > price )
points = price;
if( (sd->kafraPoints < points) || (sd->cashPoints < price - points) )
return ERROR_TYPE_MONEY;
pc_paycash(sd, price, points, LOG_TYPE_NPC);
if ((res = npc_cashshop_process_payment(nd, price, points, sd)) != ERROR_TYPE_NONE)
return res;
if( !pet_create_egg(sd, nameid) ) {
struct item item_tmp;
@ -2222,27 +2244,27 @@ static void npc_parsename(struct npc_data* nd, const char* name, const char* sta
{
const char* p;
struct npc_data* dnd;// duplicate npc
char newname[NAME_LENGTH];
char newname[NPC_NAME_LENGTH+1];
// parse name
p = strstr(name,"::");
if( p ) { // <Display name>::<Unique name>
size_t len = p-name;
if( len > NAME_LENGTH ) {
ShowWarning("npc_parsename: Display name of '%s' is too long (len=%u) in file '%s', line'%d'. Truncating to %u characters.\n", name, (unsigned int)len, filepath, strline(buffer,start-buffer), NAME_LENGTH);
if( len > NPC_NAME_LENGTH ) {
ShowWarning("npc_parsename: Display name of '%s' is too long (len=%u) in file '%s', line'%d'. Truncating to %u characters.\n", name, (unsigned int)len, filepath, strline(buffer,start-buffer), NPC_NAME_LENGTH);
safestrncpy(nd->name, name, sizeof(nd->name));
} else {
memcpy(nd->name, name, len);
memset(nd->name+len, 0, sizeof(nd->name)-len);
}
len = strlen(p+2);
if( len > NAME_LENGTH )
ShowWarning("npc_parsename: Unique name of '%s' is too long (len=%u) in file '%s', line'%d'. Truncating to %u characters.\n", name, (unsigned int)len, filepath, strline(buffer,start-buffer), NAME_LENGTH);
if( len > NPC_NAME_LENGTH )
ShowWarning("npc_parsename: Unique name of '%s' is too long (len=%u) in file '%s', line'%d'. Truncating to %u characters.\n", name, (unsigned int)len, filepath, strline(buffer,start-buffer), NPC_NAME_LENGTH);
safestrncpy(nd->exname, p+2, sizeof(nd->exname));
} else {// <Display name>
size_t len = strlen(name);
if( len > NAME_LENGTH )
ShowWarning("npc_parsename: Name '%s' is too long (len=%u) in file '%s', line'%d'. Truncating to %u characters.\n", name, (unsigned int)len, filepath, strline(buffer,start-buffer), NAME_LENGTH);
if( len > NPC_NAME_LENGTH )
ShowWarning("npc_parsename: Name '%s' is too long (len=%u) in file '%s', line'%d'. Truncating to %u characters.\n", name, (unsigned int)len, filepath, strline(buffer,start-buffer), NPC_NAME_LENGTH);
safestrncpy(nd->name, name, sizeof(nd->name));
safestrncpy(nd->exname, name, sizeof(nd->exname));
}
@ -2773,9 +2795,9 @@ int npc_convertlabel_db(DBKey key, DBData *data, va_list ap)
len = p-lname;
// here we check if the label fit into the buffer
if( len > 23 )
if( len > NAME_LENGTH )
{
ShowError("npc_parse_script: label name longer than 23 chars! '%s'\n (%s)", lname, filepath);
ShowError("npc_parse_script: label name longer than %d chars! '%s'\n (%s)", NAME_LENGTH, lname, filepath);
return 0;
}
@ -3152,7 +3174,7 @@ const char* npc_parse_duplicate(char* w1, char* w2, char* w3, char* w4, const ch
}
int npc_duplicate4instance(struct npc_data *snd, int16 m) {
char newname[NAME_LENGTH];
char newname[NPC_NAME_LENGTH+1];
if( map[m].instance_id == 0 )
return 1;
@ -3393,7 +3415,7 @@ static void npc_market_fromsql(void) {
if (!(market = (struct s_npc_market *)strdb_get(NPCMarketDB,data))) {
CREATE(market, struct s_npc_market, 1);
market->count = 0;
safestrncpy(market->exname, data, strlen(data)+1);
safestrncpy(market->exname, data, NPC_NAME_LENGTH);
strdb_put(NPCMarketDB, market->exname, market);
}
@ -3508,7 +3530,7 @@ void npc_setdisplayname(struct npc_data* nd, const char* newname)
safestrncpy(nd->name, newname, sizeof(nd->name));
if( map[nd->bl.m].users )
clif_charnameack(0, &nd->bl);
clif_name_area(&nd->bl);
}
/// Changes the display class of the npc.
@ -3550,7 +3572,7 @@ int npc_do_atcmd_event(struct map_session_data* sd, const char* command, const c
int l;
ARR_FIND( 0, MAX_EVENTQUEUE, l, sd->eventqueue[l][0] == '\0' );
if( l < MAX_EVENTQUEUE ) {
safestrncpy(sd->eventqueue[l],eventname,50); //Event enqueued.
safestrncpy(sd->eventqueue[l],eventname,EVENT_NAME_LENGTH); //Event enqueued.
return 0;
}
@ -4380,9 +4402,9 @@ void npc_read_event_script(void)
DBIterator* iter;
DBKey key;
DBData *data;
char name[EVENT_NAME_LENGTH];
char name[64]="::";
safestrncpy(name+2,config[i].event_name,62);
safesnprintf(name,EVENT_NAME_LENGTH,"::%s",config[i].event_name);
script_event[i].event_count = 0;
iter = db_iterator(ev_db);
@ -4627,11 +4649,11 @@ void do_init_npc(void){
for( i = MAX_NPC_CLASS2_START; i < MAX_NPC_CLASS2_END; i++ )
npc_viewdb2[i - MAX_NPC_CLASS2_START].class_ = i;
ev_db = strdb_alloc((DBOptions)(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA),2*NAME_LENGTH+2+1);
npcname_db = strdb_alloc(DB_OPT_BASE,NAME_LENGTH);
ev_db = strdb_alloc((DBOptions)(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA), EVENT_NAME_LENGTH);
npcname_db = strdb_alloc(DB_OPT_BASE, NPC_NAME_LENGTH+1);
npc_path_db = strdb_alloc(DB_OPT_BASE|DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA,80);
#if PACKETVER >= 20131223
NPCMarketDB = strdb_alloc(DB_OPT_BASE, NAME_LENGTH+1);
NPCMarketDB = strdb_alloc(DB_OPT_BASE, NPC_NAME_LENGTH+1);
npc_market_fromsql();
#endif

View File

@ -17,7 +17,7 @@ struct npc_timerevent_list {
};
struct npc_label_list {
char name[NAME_LENGTH];
char name[NAME_LENGTH+1];
int pos;
};
@ -44,8 +44,8 @@ struct npc_data {
struct status_change sc; //They can't have status changes, but.. they want the visual opt values.
struct npc_data *master_nd;
short class_,speed,instance_id;
char name[NAME_LENGTH+1];// display name
char exname[NAME_LENGTH+1];// unique npc name
char name[NPC_NAME_LENGTH+1];// display name
char exname[NPC_NAME_LENGTH+1];// unique npc name
int chat_id,touching_id;
unsigned int next_walktime;
@ -108,7 +108,7 @@ enum actor_classes
#define MAX_NPC_CLASS 1000
// New NPC range
#define MAX_NPC_CLASS2_START 10000
#define MAX_NPC_CLASS2_END 10203
#define MAX_NPC_CLASS2_END 10208
//Checks if a given id is a valid npc id. [Skotlex]
//Since new npcs are added all the time, the max valid value is the one before the first mob (Scorpion = 1001)

View File

@ -332,7 +332,7 @@ int party_recv_info(struct party* sp, uint32 char_id)
if( sd == NULL )
continue;// not online
clif_charnameupdate(sd); //Update other people's display. [Skotlex]
clif_name_area(&sd->bl); //Update other people's display. [Skotlex]
clif_party_member_info(p,sd);
// Only send this on party creation, otherwise it will be sent by party_send_movemap [Lemongrass]
if( sd->party_creating ){
@ -435,6 +435,14 @@ int party_reply_invite(struct map_session_data *sd,int party_id,int flag)
return 0;
}
// The character is already in a party, possibly left a party invite open and created his own party
if( sd->status.party_id != 0 ){
// On Aegis no rejection packet is sent to the inviting player
sd->party_invite = 0;
sd->party_invite_account = 0;
return 0;
}
tsd = map_id2sd(sd->party_invite_account);
if( flag == 1 && !sd->party_creating && !sd->party_joining ) { // accepted and allowed
@ -528,7 +536,7 @@ int party_member_added(int party_id,uint32 account_id,uint32 char_id, int flag)
clif_party_hp(sd);
clif_party_xy(sd);
clif_charnameupdate(sd); //Update char name's display [Skotlex]
clif_name_area(&sd->bl); //Update char name's display [Skotlex]
if( p->instance_id )
instance_reqinfo(sd,p->instance_id);
@ -639,7 +647,7 @@ int party_member_withdraw(int party_id, uint32 account_id, uint32 char_id, char
#endif
sd->status.party_id = 0;
clif_charnameupdate(sd); //Update name display [Skotlex]
clif_name_area(&sd->bl); //Update name display [Skotlex]
//TODO: hp bars should be cleared too
if( p->instance_id ) {

View File

@ -512,7 +512,7 @@ void pc_inventory_rental_clear(struct map_session_data *sd)
void pc_inventory_rentals(struct map_session_data *sd)
{
int i, c = 0;
unsigned int expire_tick, next_tick = UINT_MAX;
unsigned int next_tick = UINT_MAX;
for( i = 0; i < MAX_INVENTORY; i++ ) { // Check for Rentals on Inventory
if( sd->inventory.u.items_inventory[i].nameid == 0 )
@ -525,8 +525,9 @@ void pc_inventory_rentals(struct map_session_data *sd)
clif_rental_expired(sd->fd, i, sd->inventory.u.items_inventory[i].nameid);
pc_delitem(sd, i, sd->inventory.u.items_inventory[i].amount, 0, 0, LOG_TYPE_OTHER);
} else {
expire_tick = (unsigned int)(sd->inventory.u.items_inventory[i].expire_time - time(NULL)) * 1000;
clif_rental_time(sd->fd, sd->inventory.u.items_inventory[i].nameid, (int)(expire_tick / 1000));
unsigned int expire_tick = (unsigned int)(sd->inventory.u.items_inventory[i].expire_time - time(NULL));
clif_rental_time(sd->fd, sd->inventory.u.items_inventory[i].nameid, (int)expire_tick);
next_tick = umin(expire_tick, next_tick);
c++;
}
@ -3534,7 +3535,7 @@ void pc_bonus2(struct map_session_data *sd,int type,int type2,int val)
sd->ignore_def_by_race[type2] += val;
break;
case SP_IGNORE_DEF_CLASS_RATE: // bonus2 bIgnoreDefClassRate,r,n;
PC_BONUS_CHK_RACE(type2, SP_IGNORE_DEF_CLASS_RATE);
PC_BONUS_CHK_CLASS(type2, SP_IGNORE_DEF_CLASS_RATE);
if (sd->state.lr_flag != 2)
sd->ignore_def_by_class[type2] += val;
break;
@ -4742,6 +4743,7 @@ bool pc_isUseitem(struct map_session_data *sd,int n)
case ITEMID_ANODYNE:
if( map_flag_gvg(sd->bl.m) )
return false;
break;
case ITEMID_WING_OF_FLY:
case ITEMID_GIANT_FLY_WING:
if( map[sd->bl.m].flag.noteleport || map_flag_gvg(sd->bl.m) ) {
@ -7619,7 +7621,7 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
if( battle_config.show_mob_info&4 )
{// update name with new level
clif_charnameack(0, &md->bl);
clif_name_area(&md->bl);
}
}
src = battle_get_master(src); // Maybe Player Summon
@ -9095,6 +9097,8 @@ int pc_setregistry_str(struct map_session_data *sd, int64 reg, const char *val)
script_array_update(&sd->regs, reg, false);
p->value = aStrdup(val);
} else {
if (p->value)
aFree(p->value);
p->value = NULL;
if( index )
script_array_update(&sd->regs, reg, true);

View File

@ -838,7 +838,7 @@ int pet_change_name_ack(struct map_session_data *sd, char* name, int flag)
}
memcpy(pd->pet.name, name, NAME_LENGTH);
clif_charnameack (0,&pd->bl);
clif_name_area(&pd->bl);
pd->pet.rename_flag = 1;
clif_pet_equip_area(pd);
clif_send_petstatus(sd);

View File

@ -181,6 +181,7 @@ struct Script_Config script_config = {
1, // warn_func_mismatch_argtypes
1, 65535, 2048, //warn_func_mismatch_paramnum/check_cmdcount/check_gotocount
0, INT_MAX, // input_min_value/input_max_value
// NOTE: None of these event labels should be longer than <NAME_LENGTH> characters
"OnPCDieEvent", //die_event_name
"OnPCKillEvent", //kill_pc_event_name
"OnNPCKillEvent", //kill_mob_event_name
@ -192,6 +193,7 @@ struct Script_Config script_config = {
"OnPCStatCalcEvent", //stat_calc_event_name
"OnTouch_", //ontouch_name (runs on first visible char to enter area, picks another char if the first char leaves)
"OnTouch", //ontouch2_name (run whenever a char walks into the OnTouch area)
"OnWhisperGlobal", //onwhisper_event_name (is executed when a player sends a whisper message to the NPC)
};
static jmp_buf error_jump;
@ -13707,45 +13709,6 @@ BUILDIN_FUNC(petrecovery)
return SCRIPT_CMD_SUCCESS;
}
/*==========================================
* pet healing [Valaris] //Rewritten by [Skotlex]
*------------------------------------------*/
BUILDIN_FUNC(petheal)
{
struct pet_data *pd;
TBL_PC *sd=script_rid2sd(st);
if(sd==NULL || sd->pd==NULL)
return SCRIPT_CMD_SUCCESS;
pd=sd->pd;
if (pd->s_skill)
{ //Clear previous skill
if (pd->s_skill->timer != INVALID_TIMER)
{
if (pd->s_skill->id)
delete_timer(pd->s_skill->timer, pet_skill_support_timer);
else
delete_timer(pd->s_skill->timer, pet_heal_timer);
}
} else //init memory
pd->s_skill = (struct pet_skill_support *) aMalloc(sizeof(struct pet_skill_support));
pd->s_skill->id=0; //This id identifies that it IS petheal rather than pet_skillsupport
//Use the lv as the amount to heal
pd->s_skill->lv=script_getnum(st,2);
pd->s_skill->delay=script_getnum(st,3);
pd->s_skill->hp=script_getnum(st,4);
pd->s_skill->sp=script_getnum(st,5);
//Use delay as initial offset to avoid skill/heal exploits
if (battle_config.pet_equip_required && pd->pet.equip == 0)
pd->s_skill->timer = INVALID_TIMER;
else
pd->s_skill->timer = add_timer(gettick()+pd->s_skill->delay*1000,pet_heal_timer,sd->bl.id,0);
return SCRIPT_CMD_SUCCESS;
}
/*==========================================
* pet attack skills [Valaris] //Rewritten by [Skotlex]
*------------------------------------------*/
@ -17333,8 +17296,8 @@ BUILDIN_FUNC(setunitdata)
switch (type) {
case UMOB_SIZE: md->status.size = (unsigned char)value; break;
case UMOB_LEVEL: md->level = (unsigned short)value; break;
case UMOB_HP: status_set_hp(bl, (unsigned int)value, 0); clif_charnameack(0, &md->bl); break;
case UMOB_MAXHP: status_set_maxhp(bl, (unsigned int)value, 0); clif_charnameack(0, &md->bl); break;
case UMOB_HP: status_set_hp(bl, (unsigned int)value, 0); clif_name_area(&md->bl); break;
case UMOB_MAXHP: status_set_maxhp(bl, (unsigned int)value, 0); clif_name_area(&md->bl); break;
case UMOB_MASTERAID: md->master_id = value; break;
case UMOB_MAPID: if (mapname) value = map_mapname2mapid(mapname); unit_warp(bl, (short)value, 0, 0, CLR_TELEPORT); break;
case UMOB_X: if (!unit_walktoxy(bl, (short)value, md->bl.y, 2)) unit_movepos(bl, (short)value, md->bl.y, 0, 0); break;
@ -17738,7 +17701,7 @@ BUILDIN_FUNC(setunitname)
ShowWarning("buildin_setunitname: Unknown object type!\n");
return SCRIPT_CMD_FAILURE;
}
clif_charnameack(0, bl); // Send update to client.
clif_name_area(bl); // Send update to client.
return SCRIPT_CMD_SUCCESS;
}
@ -18994,7 +18957,7 @@ BUILDIN_FUNC(bg_monster_set_team)
mob_stop_attack(md);
mob_stop_walking(md, 0);
md->target_id = md->attacked_id = 0;
clif_charnameack(0, &md->bl);
clif_name_area(&md->bl);
return SCRIPT_CMD_SUCCESS;
}
@ -22331,7 +22294,6 @@ struct script_function buildin_func[] = {
BUILDIN_DEF(petskillbonus,"iiii"), // [Valaris]
BUILDIN_DEF(petrecovery,"ii"), // [Valaris]
BUILDIN_DEF(petloot,"i"), // [Valaris]
BUILDIN_DEF(petheal,"iiii"), // [Valaris]
BUILDIN_DEF(petskillattack,"viii"), // [Skotlex]
BUILDIN_DEF(petskillattack2,"viiii"), // [Valaris]
BUILDIN_DEF(petskillsupport,"viiii"), // [Skotlex]

View File

@ -160,6 +160,7 @@ extern struct Script_Config {
const char* ontouch_name;
const char* ontouch2_name;
const char* onwhisper_event_name;
} script_config;
typedef enum c_op {

View File

@ -2043,7 +2043,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
}
}
if (battle_config.autospell_check_range &&
!battle_check_range(src, tbl, skill_get_range2(src, skill, autospl_skill_lv, true)))
!battle_check_range(bl, tbl, skill_get_range2(src, skill, autospl_skill_lv, true)))
continue;
if (skill == AS_SONICBLOW)
@ -2172,7 +2172,7 @@ int skill_onskillusage(struct map_session_data *sd, struct block_list *bl, uint1
}
}
if (battle_config.autospell_check_range &&
!battle_check_range(&sd->bl, tbl, skill_get_range2(&sd->bl, skill, skill_lv, true)))
!battle_check_range(bl, tbl, skill_get_range2(&sd->bl, skill, skill_lv, true)))
continue;
sd->state.autocast = 1;
@ -2383,7 +2383,7 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
}
}
if (!battle_check_range(src, tbl, skill_get_range2(src, autospl_skill_id, autospl_skill_lv, true)) && battle_config.autospell_check_range)
if (!battle_check_range(bl, tbl, skill_get_range2(src, autospl_skill_id, autospl_skill_lv, true)) && battle_config.autospell_check_range)
continue;
dstsd->state.autocast = 1;
@ -5085,20 +5085,16 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
break;
#endif
case RK_DRAGONBREATH_WATER:
case RK_DRAGONBREATH: {
struct status_change *tsc2 = NULL;
if( (tsc2 = status_get_sc(bl)) && (tsc2->data[SC_HIDING] )) {
clif_skill_nodamage(src,src,skill_id,skill_lv,1);
} else
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
}
case RK_DRAGONBREATH:
if( tsc && tsc->data[SC_HIDING] )
clif_skill_nodamage(src,src,skill_id,skill_lv,1);
else
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;
case NPC_SELFDESTRUCTION: {
struct status_change *tsc2 = NULL;
if( (tsc2 = status_get_sc(bl)) && tsc2->data[SC_HIDING] )
case NPC_SELFDESTRUCTION:
if( tsc && tsc->data[SC_HIDING] )
break;
}
case HVAN_EXPLOSION:
if (src != bl)
skill_attack(BF_MISC,src,src,bl,skill_id,skill_lv,tick,flag);
@ -5558,15 +5554,13 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
break;
case SO_POISON_BUSTER: {
struct status_change *tsc2 = status_get_sc(bl);
if( tsc2 && tsc2->data[SC_POISON] ) {
skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
status_change_end(bl, SC_POISON, INVALID_TIMER);
}
else if( sd )
clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
case SO_POISON_BUSTER:
if( tsc && tsc->data[SC_POISON] ) {
skill_attack(skill_get_type(skill_id), src, src, bl, skill_id, skill_lv, tick, flag);
status_change_end(bl, SC_POISON, INVALID_TIMER);
}
else if( sd )
clif_skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0);
break;
case GN_SPORE_EXPLOSION:
@ -5660,14 +5654,13 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case EL_TIDAL_WEAPON:
if( src->type == BL_ELEM ) {
struct elemental_data *ele = BL_CAST(BL_ELEM,src);
struct status_change *sc2 = status_get_sc(&ele->bl);
struct status_change *tsc2 = status_get_sc(bl);
struct status_change *tsc_ele = status_get_sc(&ele->bl);
sc_type type = status_skill2sc(skill_id), type2;
type2 = type-1;
clif_skill_nodamage(src,battle_get_master(src),skill_id,skill_lv,1);
clif_skill_damage(src, src, tick, status_get_amotion(src), 0, -30000, 1, skill_id, skill_lv, DMG_SKILL);
if( (sc2 && sc2->data[type2]) || (tsc2 && tsc2->data[type]) ) {
if( (tsc_ele && tsc_ele->data[type2]) || (tsc && tsc->data[type]) ) {
elemental_clean_single_effect(ele, skill_id);
}
if( rnd()%100 < 50 )
@ -10925,10 +10918,10 @@ static int8 skill_castend_id_check(struct block_list *src, struct block_list *ta
case MER_LEXDIVINA:
{
//If it's not an enemy, and not silenced, you can't use the skill on them. [Skotlex]
if (battle_check_target(src,target, BCT_ENEMY) <= 0 && (!tsc || !tsc->data[SC_SILENCE])) {
clif_skill_nodamage (src, target, skill_id, skill_lv, 0);
return USESKILL_FAIL_MAX;
}
if (battle_check_target(src,target, BCT_ENEMY) <= 0 && (!tsc || !tsc->data[SC_SILENCE]))
return USESKILL_FAIL_LEVEL;
else
return -1; //Works on silenced allies
}
break;
case RA_WUGSTRIKE:
@ -10976,12 +10969,10 @@ static int8 skill_castend_id_check(struct block_list *src, struct block_list *ta
case WZ_ESTIMATION:
case SL_SKE:
case SL_SKA:
case RK_PHANTOMTHRUST:
if (target->type == BL_MOB && ((TBL_MOB*)target)->mob_id == MOBID_EMPERIUM)
return USESKILL_FAIL_MAX;
break;
case RK_PHANTOMTHRUST:
if (!map_flag_vs(src->m))
return USESKILL_FAIL_MAX;
}
if (inf && battle_check_target(src, target, inf) <= 0) {
@ -13379,7 +13370,7 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, uns
struct block_list *ss;
TBL_PC* tsd;
struct status_data *tstatus;
struct status_change *tsc;
struct status_change *sc, *tsc;
struct skill_unit_group_tickset *ts;
enum sc_type type;
uint16 skill_id;
@ -13396,10 +13387,14 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, uns
tsd = BL_CAST(BL_PC, bl);
tsc = status_get_sc(bl);
sc = status_get_sc(ss);
tstatus = status_get_status_data(bl);
type = status_skill2sc(sg->skill_id);
skill_id = sg->skill_id;
if (sc && sc->data[SC_VOICEOFSIREN] && sc->data[SC_VOICEOFSIREN]->val2 == bl->id && (skill_get_inf2(skill_id)&INF2_TRAP))
return 0; // Traps cannot be activated by the Maestro or Wanderer that enticed the trapper with this skill.
if (tsc && tsc->data[SC_HOVERING] && skill_get_inf3(skill_id)&INF3_NO_EFF_HOVERING)
return 0; // Under Hovering characters are immune to trap and ground target skills.
@ -13494,13 +13489,6 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, uns
skill_area_temp[3] = 0;
skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;
case GN_CRAZYWEED_ATK:
if( bl->type == BL_SKILL ) {
struct skill_unit *su = (struct skill_unit *)bl;
if( su && !(skill_get_inf2(su->group->skill_id)&INF2_TRAP) )
break;
}
//Fall through
default:
skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
}
@ -15693,10 +15681,23 @@ bool skill_check_condition_castend(struct map_session_data* sd, uint16 skill_id,
}
if( require.ammo ) { //Skill requires stuff equipped in the ammo slot.
uint8 extra_ammo = 0;
#ifdef RENEWAL
switch(skill_id) { // 2016-10-26 kRO update made these skills require an extra ammo to cast
case WM_SEVERE_RAINSTORM:
case RL_R_TRIP:
case RL_FIRE_RAIN:
extra_ammo = 1;
break;
default:
break;
}
#endif
if((i=sd->equip_index[EQI_AMMO]) < 0 || !sd->inventory_data[i] ) {
clif_arrow_fail(sd,0);
return false;
} else if( sd->inventory.u.items_inventory[i].amount < require.ammo_qty ) {
} else if( sd->inventory.u.items_inventory[i].amount < require.ammo_qty + extra_ammo ) {
char e_msg[100];
if (require.ammo&(1<<AMMO_BULLET|1<<AMMO_GRENADE|1<<AMMO_SHELL)) {
clif_skill_fail(sd,skill_id,USESKILL_FAIL_NEED_MORE_BULLET,0);
@ -16200,7 +16201,7 @@ int skill_castfix(struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
// Skill-specific reductions work regardless of flag
for(i = 0; i < ARRAYLENGTH(sd->skillcastrate) && sd->skillcastrate[i].id; i++) {
if (sd->skillcastrate[i].id == skill_id) {
reduce_cast_rate -= sd->skillcastrate[i].val;
time += time * sd->skillcastrate[i].val / 100;
break;
}
}
@ -17131,6 +17132,9 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap)
return 1;
}
break;
case GN_CRAZYWEED_ATK:
if (skill_get_unit_flag(unit->group->skill_id)&UF_CRAZYWEED_IMMUNE)
break;
case HW_GANBANTEIN:
case LG_EARTHDRIVE:
// Officially songs/dances are removed
@ -17190,14 +17194,6 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap)
return 1;
}
break;
case GN_CRAZYWEED_ATK:
if (unit->group->skill_id == WZ_FIREPILLAR && unit->group->unit_id != UNT_FIREPILLAR_ACTIVE)
break;
if (skill_get_unit_flag(unit->group->skill_id)&UF_REM_CRAZYWEED) {
skill_delunit(unit);
return 1;
}
break;
case RL_FIRE_RAIN:
if (skill_get_unit_flag(unit->group->skill_id)&UF_REM_FIRERAIN) {
skill_delunit(unit);
@ -17284,8 +17280,12 @@ static int skill_trap_splash(struct block_list *bl, va_list ap)
case UNT_COBALTTRAP:
case UNT_MAIZETRAP:
case UNT_VERDURETRAP:
if( bl->type != BL_PC && status_get_class_(bl) != CLASS_BOSS )
sc_start2(ss,bl,SC_ELEMENTALCHANGE,100,sg->skill_lv,skill_get_ele(sg->skill_id,sg->skill_lv),skill_get_time2(sg->skill_id,sg->skill_lv));
if( bl->type == BL_MOB && status_get_class_(bl) != CLASS_BOSS ) {
struct status_data *status = status_get_status_data(bl);
status->def_ele = skill_get_ele(sg->skill_id, sg->skill_lv);
status->ele_lv = (unsigned char)sg->skill_lv;
}
break;
case UNT_REVERBERATION: // For proper skill delay animation when used with Dominion Impulse
skill_addtimerskill(ss, tick + status_get_amotion(ss), bl->id, 0, 0, WM_REVERBERATION_MELEE, sg->skill_lv, BF_WEAPON, 0);

View File

@ -322,7 +322,7 @@ enum e_skill_unit_flag {
UF_DUALMODE = 0x00800, // Spells should trigger both ontimer and onplace/onout/onleft effects.
UF_NOKNOCKBACK = 0x01000, // Skill unit cannot be knocked back
UF_RANGEDSINGLEUNIT = 0x02000, // hack for ranged layout, only display center
UF_REM_CRAZYWEED = 0x04000, // removed by Crazyweed
UF_CRAZYWEED_IMMUNE = 0x04000, // Immune to Crazy Weed removal
UF_REM_FIRERAIN = 0x08000, // removed by Fire Rain
UF_KNOCKBACK_GROUP = 0x10000, // knockback skill unit with its group instead of single unit
UF_HIDDEN_TRAP = 0x20000, // Hidden trap [Cydh]

View File

@ -667,10 +667,6 @@ void initChangeTables(void)
set_sc( RA_WUGDASH , SC_WUGDASH , SI_WUGDASH , SCB_SPEED|SCB_DSPD );
set_sc( RA_WUGBITE , SC_BITE , SI_WUGBITE , SCB_NONE );
set_sc( RA_CAMOUFLAGE , SC_CAMOUFLAGE , SI_CAMOUFLAGE , SCB_SPEED|SCB_DEF|SCB_DEF2 );
add_sc( RA_MAGENTATRAP , SC_ELEMENTALCHANGE );
add_sc( RA_COBALTTRAP , SC_ELEMENTALCHANGE );
add_sc( RA_MAIZETRAP , SC_ELEMENTALCHANGE );
add_sc( RA_VERDURETRAP , SC_ELEMENTALCHANGE );
set_sc( RA_FIRINGTRAP , SC_BURNING , SI_BURNT , SCB_MDEF );
set_sc_with_vfx( RA_ICEBOUNDTRAP, SC_FREEZING , SI_FROSTMISTY , SCB_SPEED|SCB_ASPD|SCB_DEF|SCB_DEF2 );
set_sc( RA_UNLIMIT , SC_UNLIMIT , SI_UNLIMIT , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 );
@ -2014,6 +2010,10 @@ bool status_check_skilluse(struct block_list *src, struct block_list *target, ui
&& (src->type != BL_PC || ((TBL_PC*)src)->skillitem != skill_id))
return false;
break;
case SC_MANHOLE:
// Skill is disabled against special racial grouped monsters(GvG and Battleground)
if (target && ( status_get_race2(target) == RC2_GVG || status_get_race2(target) == RC2_BATTLEFIELD ) )
return false;
default:
break;
}
@ -2034,6 +2034,9 @@ bool status_check_skilluse(struct block_list *src, struct block_list *target, ui
return false;
}
if (flag == 1 && sc->data[SC_CURSEDCIRCLE_TARGET] && skill_id == MO_ABSORBSPIRITS) // Absorb Spirits fails to go through
return false;
if (skill_id != RK_REFRESH && sc->opt1 && !(sc->opt1 == OPT1_CRYSTALIZE && src->type == BL_MOB) && sc->opt1 != OPT1_BURNING && skill_id != SR_GENTLETOUCH_CURE) { // Stuned/Frozen/etc
if (flag != 1) // Can't cast, casted stuff can't damage.
return false;
@ -8751,15 +8754,13 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
case SC_MOONLITSERENADE:
case SC_RUSHWINDMILL:
case SC_ECHOSONG:
case SC_HARMONIZE:
case SC_FRIGG_SONG: // Group A doesn't overlap
case SC_HARMONIZE: // Group A doesn't overlap
if (type != SC_SWINGDANCE) status_change_end(bl, SC_SWINGDANCE, INVALID_TIMER);
if (type != SC_SYMPHONYOFLOVER) status_change_end(bl, SC_SYMPHONYOFLOVER, INVALID_TIMER);
if (type != SC_MOONLITSERENADE) status_change_end(bl, SC_MOONLITSERENADE, INVALID_TIMER);
if (type != SC_RUSHWINDMILL) status_change_end(bl, SC_RUSHWINDMILL, INVALID_TIMER);
if (type != SC_ECHOSONG) status_change_end(bl, SC_ECHOSONG, INVALID_TIMER);
if (type != SC_HARMONIZE) status_change_end(bl, SC_HARMONIZE, INVALID_TIMER);
if (type != SC_FRIGG_SONG) status_change_end(bl, SC_FRIGG_SONG, INVALID_TIMER);
break;
case SC_VOICEOFSIREN:
case SC_DEEPSLEEP:
@ -11216,7 +11217,18 @@ int status_change_clear(struct block_list* bl, int type)
sc = status_get_sc(bl);
if (!sc || !sc->count)
if (!sc)
return 0;
// Cleaning all extras vars
sc->comet_x = 0;
sc->comet_y = 0;
#ifndef RENEWAL
sc->sg_counter = 0;
#endif
sc->bs_counter = 0;
if (!sc->count)
return 0;
for(i = 0; i < SC_MAX; i++) {
@ -11368,14 +11380,6 @@ int status_change_clear(struct block_list* bl, int type)
sc->opt2 = 0;
sc->opt3 = 0;
// Cleaning all extras vars
sc->comet_x = 0;
sc->comet_y = 0;
#ifndef RENEWAL
sc->sg_counter = 0;
#endif
sc->bs_counter = 0;
if( type == 0 || type == 2 )
clif_changeoption(bl);

View File

@ -54,7 +54,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -52,7 +52,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -51,7 +51,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;..\3rdparty\libconfig;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -50,7 +50,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -55,7 +55,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -54,7 +54,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -53,7 +53,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;..\3rdparty\libconfig;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -52,7 +52,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -54,7 +54,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -54,7 +54,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -53,7 +53,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;..\3rdparty\libconfig;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -52,7 +52,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -54,7 +54,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -54,7 +54,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;WITH_SQL;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -53,7 +53,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;..\3rdparty\libconfig;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -52,7 +52,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\3rdparty\libconfig;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
<ExceptionHandling>

View File

@ -44,7 +44,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST"
PreprocessorDefinitions="$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST"
GeneratePreprocessedFile="0"
ExceptionHandling="0"
BasicRuntimeChecks="3"

View File

@ -41,7 +41,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DBGHELPPLUG_EXPORTS"
PreprocessorDefinitions="$(DefineConstants);WIN32;_DEBUG;_WINDOWS;_USRDLL;DBGHELPPLUG_EXPORTS"
StringPooling="false"
MinimalRebuild="true"
ExceptionHandling="0"

View File

@ -44,7 +44,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;WITH_SQL"
PreprocessorDefinitions="$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;WITH_SQL"
GeneratePreprocessedFile="0"
ExceptionHandling="0"
BasicRuntimeChecks="3"

View File

@ -43,7 +43,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\3rdparty\libconfig;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar"
PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST"
PreprocessorDefinitions="$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;PCRE_SUPPORT;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST"
GeneratePreprocessedFile="0"
ExceptionHandling="0"
BasicRuntimeChecks="3"

View File

@ -43,7 +43,7 @@
AdditionalOptions="/MP"
Optimization="0"
AdditionalIncludeDirectories="..\3rdparty\libconfig;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include"
PreprocessorDefinitions="WIN32;_WIN32;__WIN32;_DEBUG;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST"
PreprocessorDefinitions="$(DefineConstants);WIN32;_WIN32;__WIN32;_DEBUG;MINICORE;LIBCONFIG_STATIC;YY_USE_CONST"
GeneratePreprocessedFile="0"
ExceptionHandling="0"
BasicRuntimeChecks="3"