summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrianluau <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-04-01 18:58:39 +0000
committerbrianluau <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-04-01 18:58:39 +0000
commiteb9881621f72ae96f0fdabb2680e57db6ac56d22 (patch)
treecee54b71c04450d015a534ddeabe724ff7a05481
parent6f88f2409f1853ae205573257865462540f935fc (diff)
downloadhercules-eb9881621f72ae96f0fdabb2680e57db6ac56d22.tar.gz
hercules-eb9881621f72ae96f0fdabb2680e57db6ac56d22.tar.bz2
hercules-eb9881621f72ae96f0fdabb2680e57db6ac56d22.tar.xz
hercules-eb9881621f72ae96f0fdabb2680e57db6ac56d22.zip
- Fixed 'OnPCLogoutEvent' being queued and never executed if
the player was already talking to an npc. (bugreport:1209) - Fixed 'OnPCLogoutEvent' not triggering when changing map-servers (pc_setpos). - Combined some isequipped() in item scripts. (bugreport:4158) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14278 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--db/item_db.txt24
-rw-r--r--sql-files/item_db.sql24
-rw-r--r--src/map/map.c3
-rw-r--r--src/map/pc.c3
4 files changed, 30 insertions, 24 deletions
diff --git a/db/item_db.txt b/db/item_db.txt
index f2259a9a9..4eaae1d11 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -1065,7 +1065,7 @@
2106,Shield_,Shield,5,56000,,1300,,6,,1,0x00004082,7,2,32,,0,1,3,{},{},{}
2107,Mirror_Shield,Mirror Shield,5,60000,,1000,,4,,0,0x00404082,7,2,32,,0,1,4,{ bonus bMdef,5; },{},{}
2108,Mirror_Shield_,Mirror Shield,5,60000,,1000,,4,,1,0x00404082,7,2,32,,0,1,4,{ bonus bMdef,5; },{},{}
-2109,Memorize_Book,Memory Book,5,20,,1000,,3,,0,0x00810204,7,2,32,,0,1,0,{ bonus bInt,1; bonus bMdef,2; if (isequipped(2717) && isequipped(2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }; },{},{}
+2109,Memorize_Book,Memory Book,5,20,,1000,,3,,0,0x00810204,7,2,32,,0,1,0,{ bonus bInt,1; bonus bMdef,2; if (isequipped(2717,2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }; },{},{}
2110,Holy_Guard,Holy Guard,5,85000,,1400,,5,,0,0x00004000,7,2,32,,68,0,3,{ bonus bVit,2; bonus bMdef,2; },{},{}
2111,Herald_Of_GOD,Sacred Mission,5,128000,,1600,,5,,0,0x00004000,7,2,32,,83,1,3,{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0; },{},{}
2112,Novice_Guard,Novice Guard,5,1,,1,,3,,0,0x00000001,7,2,32,,0,0,1,{},{},{}
@@ -1077,7 +1077,7 @@
2118,Arm_Guard_,Arm Guard,5,10000,,150,,5,,1,0x02000000,7,2,32,,20,1,,{},{},{}
2119,Improved_Arm_Guard,Improved Arm Guard,5,40000,,150,,4,,0,0x02000000,7,2,32,,50,1,,{ bonus bMdef,5; },{},{}
2120,Improved_Arm_Guard_,Improved Arm Guard,5,40000,,150,,4,,1,0x02000000,7,2,32,,50,1,,{ bonus bMdef,5; },{},{}
-2121,Memorize_Book_,Memory Book,5,20,,1000,,3,,1,0x00810204,7,2,32,,0,1,0,{ bonus bInt,1; bonus bMdef,2; if (isequipped(2717) && isequipped(2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }; },{},{}
+2121,Memorize_Book_,Memory Book,5,20,,1000,,3,,1,0x00810204,7,2,32,,0,1,0,{ bonus bInt,1; bonus bMdef,2; if (isequipped(2717,2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }; },{},{}
2122,Platinum_Shield,Platinum Shield,5,20,,1200,,5,,0,0xFFFFFFFE,2,2,32,,68,1,1,{ bonus bMdef,5; bonus2 bSubSize,1,15; bonus2 bSubSize,2,15; bonus2 bSubRace,RC_Undead,10; bonus5 bAutoSpellWhenHit,"NPC_MAGICMIRROR",2,150,BF_MAGIC,0; },{},{}
2123,Orleans_Server,Orleans' Plate,5,20,,1000,,5,,1,0xFFFFFFFE,2,2,32,,55,1,1,{ bonus bMDef,2; bonus bMagicDamageReturn,5; if (isequipped(2701)) bonus bCastrate,-10; },{},{}
2124,Thorny_Buckler,Thorny Shield,5,20,,1000,,5,,1,0xFFFFFFFE,2,2,32,,55,1,1,{ bonus bMDef,2; if (isequipped(2702)) { bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; } },{},{}
@@ -1276,25 +1276,25 @@
2373,Holy_Robe_,Holy Robe,5,20,,1700,,7,,1,0x00008110,7,2,16,,60,1,0,{ bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10; },{},{}
2374,Diabolus_Robe,Diabolus Robe,5,20,,300,,6,,1,0x00098B1C,2,2,16,,55,1,0,{ bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10; if (isequipped(2729)) { bonus bAtkRate,3; bonus bMatkRate,3; } },{},{}
2375,Diabolus_Armor,Diabolus Armor,5,20,,600,,7,,1,0x000654E2,2,2,16,,55,1,0,{ bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; if (isequipped(2729)) { bonus bAtkRate,3; bonus bMatkRate,3; } },{},{}
-2376,Assaulter_Plate,Assaulter Plate,5,0,,0,,7,,1,0x006444A2,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538) && isequipped(2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bVit,3; bonus bMaxHPRate,12; bonus2 bSkillHeal2,"AL_HEAL",10; bonus2 bAddItemHealRate,IG_Recovery,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }; },{},{}
-2377,Elite_Engineer_Armor,Elite Engineer Armor,5,0,,0,,7,,1,0x00040420,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538) && isequipped(2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor,0; }; },{},{}
-2378,Assassin_Robe,Assassin Robe,5,0,,0,,7,,1,0x02021040,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538) && isequipped(2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }; },{},{}
-2379,Warlock_Battle_Robe,Warlock's Battle Robe,5,0,,0,,3,,1,0x00810204,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539) && isequipped(2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }; },{},{}
-2380,Medic_Robe,Medic's Robe,5,0,,0,,3,,1,0x00008110,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539) && isequipped(2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,156,-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }; },{},{}
-2381,Elite_Archer_Suit,Elite Archer Suit,5,0,,0,,3,,1,0x00080808,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539) && isequipped(2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }; },{},{}
-2382,Elite_Shooter_Suit,Elite Shooter Suit,5,0,,0,,3,,1,0x01000000,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2540) && isequipped(2437)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }; },{},{}
+2376,Assaulter_Plate,Assaulter Plate,5,0,,0,,7,,1,0x006444A2,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bVit,3; bonus bMaxHPRate,12; bonus2 bSkillHeal2,"AL_HEAL",10; bonus2 bAddItemHealRate,IG_Recovery,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }; },{},{}
+2377,Elite_Engineer_Armor,Elite Engineer Armor,5,0,,0,,7,,1,0x00040420,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor,0; }; },{},{}
+2378,Assassin_Robe,Assassin Robe,5,0,,0,,7,,1,0x02021040,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_HEAL; }"; }; },{},{}
+2379,Warlock_Battle_Robe,Warlock's Battle Robe,5,0,,0,,3,,1,0x00810204,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }; },{},{}
+2380,Medic_Robe,Medic's Robe,5,0,,0,,3,,1,0x00008110,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,156,-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect2 EF_ENERGYCOAT; }"; }; },{},{}
+2381,Elite_Archer_Suit,Elite Archer Suit,5,0,,0,,3,,1,0x00080808,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }; },{},{}
+2382,Elite_Shooter_Suit,Elite Shooter Suit,5,0,,0,,3,,1,0x01000000,7,2,16,,80,1,0,{ bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2540,2437)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; }; },{},{}
2383,Brynhild,Brynhild,5,0,,400,,,,0,0xFFFFFFFF,7,2,16,,94,0,0,{ bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddRace,RC_NonBoss,10; bonus2 bAddRace,RC_Boss,10; bonus bMatkRate,10; bonus bUnbreakableArmor,0; bonus bNoKnockback,0; },{},{}
2384,Spritual_Tunic,Spiritual Tunic,5,20,,0,,10,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bMaxHP,800; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20; },{},{}
2385,Recuperative_Armor,Recuperative Armor,5,20,,0,,12,,0,0xFFFFFFFF,7,2,16,,0,0,0,{ bonus bNoRegen,1; bonus bNoRegen,2; bonus bHPGainValue,60; bonus bSPGainValue,6; bonus bMagicHPGainValue,60; bonus bMagicSPGainValue,6; },{},{ heal 0,-100; }
2386,Chameleon_Armor,Chameleon Armor,5,20,,1700,,5,,0,0x000FDF80,2,2,16,,70,1,0,{ bonus bMaxHP,(BaseLevel*7); bonus bMaxSP,(BaseLevel/2); autobonus2 "{ bonus bNoMagicDamage,100; }",10,2000,BF_MAGIC,"{ specialeffect2 EF_ENERGYCOAT; }"; if( BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte ) bonus bMdef,5; else if( BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief ) bonus bDef,3; },{},{}
-2387,Sprint_Mail,Sprint Mail,5,20,,1000,,3,,1,0x000FDF80,2,2,16,,70,1,0,{ bonus bVit,1; bonus bHPrecovRate,5; bonus2 bAddItemHealRate,IG_Recovery,3; bonus2 bSkillHeal,"AL_HEAL",3; if( isequipped(2440) && isequipped(2744) ) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; } },{},{}
+2387,Sprint_Mail,Sprint Mail,5,20,,1000,,3,,1,0x000FDF80,2,2,16,,70,1,0,{ bonus bVit,1; bonus bHPrecovRate,5; bonus2 bAddItemHealRate,IG_Recovery,3; bonus2 bSkillHeal,"AL_HEAL",3; if( isequipped(2440,2744) ) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; } },{},{}
2388,Kandura,Gandora,5,20,,300,,4,,1,0x00001000,2,2,16,,70,1,0,{ bonus bAgi,1; bonus bFlee,5; bonus bAspdRate,2; },{},{}
2389,Armor_Of_Naga,Naga Scale Armor,5,20,,1000,,5,,1,0x00CFDF80,2,2,16,,70,1,0,{ bonus bMdef,2; autobonus2 "{ bonus bBaseAtk,20; }",10,10000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; },{},{}
2390,Improved_Tights,Refined Tights,5,20,,400,,6,,1,0x00080808,2,2,16,,75,1,0,{ bonus bMdef,2; bonus bFlee2,3; },{},{}
2391,Life_Link,Life Link,5,20,,3500,,9,,1,0x00004082,2,2,16,,82,1,0,{ bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50; },{},{}
2392,Old_Pant,Old Pant,5,0,,0,,10,,0,0xFFFFFFFF,7,2,16,,0,1,0,{ bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,"MO_CALLSPIRITS",5,20; bonus bMdef,1; },{},{}
2393,N_Adventurer's_Suit,Novice Adventure Suit,5,1,,0,,8,,1,0x00000001,7,2,16,,0,0,0,{},{},{}
-2394,Krieger_Suit1,Glorious Suit,5,0,,0,,0,,0,0xFFFFFFFE,7,2,16,,81,1,0,{ bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; if( isequipped(2444) && isequipped(2549) ) { bonus bAtkRate,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; } },{},{}
+2394,Krieger_Suit1,Glorious Suit,5,0,,0,,0,,0,0xFFFFFFFE,7,2,16,,81,1,0,{ bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; if( isequipped(2444,2549) ) { bonus bAtkRate,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; } },{},{}
2395,Krieger_Suit2,Glorious Popularized Suit,5,0,,0,,0,,0,0xFFFFFFFE,7,2,16,,61,1,0,{ bonus bMaxHP,600; bonus bSPrecovRate,10; },{},{}
2396,Krieger_Suit3,Glorious Mass-Production Suit,5,0,,0,,0,,0,0xFFFFFFFE,7,2,16,,61,1,0,{ bonus bMaxHP,500; },{},{}
2397,Incredible_Coat,Incredible Coat,5,0,,900,,2,,0,0xFFFFFFFF,7,2,16,,0,1,0,{},{},{}
@@ -2618,7 +2618,7 @@
5479,Shaman's_Hair_Ornament,Shaman's Hair Ornament,5,,,300,,2,,0,0xFFFFFFFF,7,2,256,,1,1,476,{ bonus bMdef,3; bonus2 bSubEle,Ele_Neutral,5; },{},{}
5480,Bizofnil_Wing_Deco,Feather Of Vizofnir,5,,,1000,,6,,1,0xFFFFFFFF,7,2,256,,1,1,477,{ bonus bAllStats,2; bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Poison,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Undead,5; bonus2 bHPRegenRate,2,10000; bonus2 bSPRegenRate,1,10000; },{},{}
5481,Hermose_Cap,Hermose Cap,5,,,1000,,2,,0,0xFFFFFFFF,7,2,256,,1,1,478,{ bonus bAspdRate,5; bonus bAtkRate,3; },{},{}
-5482,Dark_Knight_Mask,Dark Knight Mask,5,,,3000,,5,,0,0xFFFFFFFF,7,2,769,,1,1,479,{ bonus bStr,3; if(isequipped(2779) && isequipped(2780)) { bonus bMatkRate,10; bonus bInt,5; } },{},{}
+5482,Dark_Knight_Mask,Dark Knight Mask,5,,,3000,,5,,0,0xFFFFFFFF,7,2,769,,1,1,479,{ bonus bStr,3; if(isequipped(2779,2780)) { bonus bMatkRate,10; bonus bInt,5; } },{},{}
5483,Odin_Mask,Odin Mask,5,,,100,,1,,0,0xFFFFFFFF,7,2,512,,1,1,480,{ bonus2 bSubRace,RC_Boss,2; },{},{}
//5484,Taiwan_Flag_Hat,Holidays Hat,5,,,500,,4,,0,0xFFFFFFFF,7,2,256,,0,1,482,{ bonus bAllStats,5; bonus2 bResEff,Eff_Stun,500; },{},{}
5485,Tiger_Face,Tiger Face,5,,,1000,,3,,0,0xFFFFFFFF,7,2,769,,60,1,483,{ bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Brute,5; },{},{}
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index b1c895a62..93d74cce7 100644
--- a/sql-files/item_db.sql
+++ b/sql-files/item_db.sql
@@ -1096,7 +1096,7 @@ REPLACE INTO `item_db` VALUES (2105,'Shield','Shield',5,56000,NULL,1300,NULL,6,N
REPLACE INTO `item_db` VALUES (2106,'Shield_','Shield',5,56000,NULL,1300,NULL,6,NULL,1,0x00004082,7,2,32,NULL,0,1,3,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (2107,'Mirror_Shield','Mirror Shield',5,60000,NULL,1000,NULL,4,NULL,0,0x00404082,7,2,32,NULL,0,1,4,'bonus bMdef,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2108,'Mirror_Shield_','Mirror Shield',5,60000,NULL,1000,NULL,4,NULL,1,0x00404082,7,2,32,NULL,0,1,4,'bonus bMdef,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2109,'Memorize_Book','Memory Book',5,20,NULL,1000,NULL,3,NULL,0,0x00810204,7,2,32,NULL,0,1,0,'bonus bInt,1; bonus bMdef,2; if (isequipped(2717) && isequipped(2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2109,'Memorize_Book','Memory Book',5,20,NULL,1000,NULL,3,NULL,0,0x00810204,7,2,32,NULL,0,1,0,'bonus bInt,1; bonus bMdef,2; if (isequipped(2717,2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; };',NULL,NULL);
REPLACE INTO `item_db` VALUES (2110,'Holy_Guard','Holy Guard',5,85000,NULL,1400,NULL,5,NULL,0,0x00004000,7,2,32,NULL,68,0,3,'bonus bVit,2; bonus bMdef,2;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2111,'Herald_Of_GOD','Sacred Mission',5,128000,NULL,1600,NULL,5,NULL,0,0x00004000,7,2,32,NULL,83,1,3,'bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2112,'Novice_Guard','Novice Guard',5,1,NULL,1,NULL,3,NULL,0,0x00000001,7,2,32,NULL,0,0,1,NULL,NULL,NULL);
@@ -1108,7 +1108,7 @@ REPLACE INTO `item_db` VALUES (2117,'Arm_Guard','Arm Guard',5,10000,NULL,150,NUL
REPLACE INTO `item_db` VALUES (2118,'Arm_Guard_','Arm Guard',5,10000,NULL,150,NULL,5,NULL,1,0x02000000,7,2,32,NULL,20,1,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db` VALUES (2119,'Improved_Arm_Guard','Improved Arm Guard',5,40000,NULL,150,NULL,4,NULL,0,0x02000000,7,2,32,NULL,50,1,NULL,'bonus bMdef,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2120,'Improved_Arm_Guard_','Improved Arm Guard',5,40000,NULL,150,NULL,4,NULL,1,0x02000000,7,2,32,NULL,50,1,NULL,'bonus bMdef,5;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2121,'Memorize_Book_','Memory Book',5,20,NULL,1000,NULL,3,NULL,1,0x00810204,7,2,32,NULL,0,1,0,'bonus bInt,1; bonus bMdef,2; if (isequipped(2717) && isequipped(2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2121,'Memorize_Book_','Memory Book',5,20,NULL,1000,NULL,3,NULL,1,0x00810204,7,2,32,NULL,0,1,0,'bonus bInt,1; bonus bMdef,2; if (isequipped(2717,2239)) { bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; };',NULL,NULL);
REPLACE INTO `item_db` VALUES (2122,'Platinum_Shield','Platinum Shield',5,20,NULL,1200,NULL,5,NULL,0,0xFFFFFFFE,2,2,32,NULL,68,1,1,'bonus bMdef,5; bonus2 bSubSize,1,15; bonus2 bSubSize,2,15; bonus2 bSubRace,RC_Undead,10; bonus5 bAutoSpellWhenHit,\"NPC_MAGICMIRROR\",2,150,BF_MAGIC,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2123,'Orleans_Server','Orleans\' Plate',5,20,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,2,2,32,NULL,55,1,1,'bonus bMDef,2; bonus bMagicDamageReturn,5; if (isequipped(2701)) bonus bCastrate,-10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2124,'Thorny_Buckler','Thorny Shield',5,20,NULL,1000,NULL,5,NULL,1,0xFFFFFFFE,2,2,32,NULL,55,1,1,'bonus bMDef,2; if (isequipped(2702)) { bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; }',NULL,NULL);
@@ -1307,25 +1307,25 @@ REPLACE INTO `item_db` VALUES (2372,'Mage_Coat_','Mage Coat',5,20,NULL,600,NULL,
REPLACE INTO `item_db` VALUES (2373,'Holy_Robe_','Holy Robe',5,20,NULL,1700,NULL,7,NULL,1,0x00008110,7,2,16,NULL,60,1,0,'bonus bMdef,5; bonus2 bSubRace,RC_Demon,15; bonus2 bSubEle,Ele_Dark,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2374,'Diabolus_Robe','Diabolus Robe',5,20,NULL,300,NULL,6,NULL,1,0x00098B1C,2,2,16,NULL,55,1,0,'bonus bMaxSP,150; bonus bMdef,5; bonus bHealPower,6; bonus bDelayRate,-10; if (isequipped(2729)) { bonus bAtkRate,3; bonus bMatkRate,3; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (2375,'Diabolus_Armor','Diabolus Armor',5,20,NULL,600,NULL,7,NULL,1,0x000654E2,2,2,16,NULL,55,1,0,'bonus bStr,2; bonus bDex,1; bonus bMaxHP,150; bonus2 bResEff,Eff_Stun,500; bonus2 bResEff,Eff_Stone,500; if (isequipped(2729)) { bonus bAtkRate,3; bonus bMatkRate,3; }',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2376,'Assaulter_Plate','Assaulter Plate',5,0,NULL,0,NULL,7,NULL,1,0x006444A2,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538) && isequipped(2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bVit,3; bonus bMaxHPRate,12; bonus2 bSkillHeal2,\"AL_HEAL\",10; bonus2 bAddItemHealRate,IG_Recovery,10; autobonus2 \"{ bonus2 bHPRegenRate,600,1000; }\",5,10000,BF_WEAPON,\"{ specialeffect2 EF_HEAL; }\"; };',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2377,'Elite_Engineer_Armor','Elite Engineer Armor',5,0,NULL,0,NULL,7,NULL,1,0x00040420,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538) && isequipped(2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,\"MC_MAMMONITE\",20; bonus2 bSkillHeal,\"AM_POTIONPITCHER\",10; bonus2 bSkillHeal2,\"AM_POTIONPITCHER\",10; bonus2 bSkillHeal2,\"AL_HEAL\",10; bonus bUnbreakableArmor,0; };',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2378,'Assassin_Robe','Assassin Robe',5,0,NULL,0,NULL,7,NULL,1,0x02021040,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538) && isequipped(2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus \"{ bonus2 bHPRegenRate,300,1000; }\",10,10000,BF_WEAPON,\"{ specialeffect2 EF_HEAL; }\"; };',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2379,'Warlock_Battle_Robe','Warlock\'s Battle Robe',5,0,NULL,0,NULL,3,NULL,1,0x00810204,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539) && isequipped(2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 \"{ bonus bDefEle,Ele_Ghost; }\",30,10000,BF_WEAPON,\"{ specialeffect2 EF_ENERGYCOAT; }\"; };',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2380,'Medic_Robe','Medic\'s Robe',5,0,NULL,0,NULL,3,NULL,1,0x00008110,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539) && isequipped(2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,156,-50; bonus bHealPower,6; autobonus2 \"{ bonus bDefEle,Ele_Ghost; }\",30,10000,BF_WEAPON,\"{ specialeffect2 EF_ENERGYCOAT; }\"; };',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2381,'Elite_Archer_Suit','Elite Archer Suit',5,0,NULL,0,NULL,3,NULL,1,0x00080808,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539) && isequipped(2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; };',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2382,'Elite_Shooter_Suit','Elite Shooter Suit',5,0,NULL,0,NULL,3,NULL,1,0x01000000,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2540) && isequipped(2437)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2376,'Assaulter_Plate','Assaulter Plate',5,0,NULL,0,NULL,7,NULL,1,0x006444A2,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bVit,3; bonus bMaxHPRate,12; bonus2 bSkillHeal2,\"AL_HEAL\",10; bonus2 bAddItemHealRate,IG_Recovery,10; autobonus2 \"{ bonus2 bHPRegenRate,600,1000; }\",5,10000,BF_WEAPON,\"{ specialeffect2 EF_HEAL; }\"; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2377,'Elite_Engineer_Armor','Elite Engineer Armor',5,0,NULL,0,NULL,7,NULL,1,0x00040420,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bStr,3; bonus bMaxHPRate,12; bonus2 bSkillAtk,\"MC_MAMMONITE\",20; bonus2 bSkillHeal,\"AM_POTIONPITCHER\",10; bonus2 bSkillHeal2,\"AM_POTIONPITCHER\",10; bonus2 bSkillHeal2,\"AL_HEAL\",10; bonus bUnbreakableArmor,0; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2378,'Assassin_Robe','Assassin Robe',5,0,NULL,0,NULL,7,NULL,1,0x02021040,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2538,2435)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bAgi,3; bonus bMaxHPRate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus \"{ bonus2 bHPRegenRate,300,1000; }\",10,10000,BF_WEAPON,\"{ specialeffect2 EF_HEAL; }\"; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2379,'Warlock_Battle_Robe','Warlock\'s Battle Robe',5,0,NULL,0,NULL,3,NULL,1,0x00810204,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 \"{ bonus bDefEle,Ele_Ghost; }\",30,10000,BF_WEAPON,\"{ specialeffect2 EF_ENERGYCOAT; }\"; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2380,'Medic_Robe','Medic\'s Robe',5,0,NULL,0,NULL,3,NULL,1,0x00008110,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bInt,3; bonus bMaxHPRate,12; bonus2 bCastrate,156,-50; bonus bHealPower,6; autobonus2 \"{ bonus bDefEle,Ele_Ghost; }\",30,10000,BF_WEAPON,\"{ specialeffect2 EF_ENERGYCOAT; }\"; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2381,'Elite_Archer_Suit','Elite Archer Suit',5,0,NULL,0,NULL,3,NULL,1,0x00080808,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2539,2436)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; };',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2382,'Elite_Shooter_Suit','Elite Shooter Suit',5,0,NULL,0,NULL,3,NULL,1,0x01000000,7,2,16,NULL,80,1,0,'bonus bMaxHP,150; bonus bMdef,2; bonus2 bSubRace,RC_DemiHuman,2; if (isequipped(2540,2437)) { bonus2 bSubRace,RC_NonDemiHuman,-300; bonus bDex,3; bonus bMaxHPRate,12; bonus bLongAtkDef,10; bonus bDelayRate,-25; };',NULL,NULL);
REPLACE INTO `item_db` VALUES (2383,'Brynhild','Brynhild',5,0,NULL,400,NULL,NULL,NULL,0,0xFFFFFFFF,7,2,16,NULL,94,0,0,'bonus bMdef,10; bonus bMaxHP,20*BaseLevel; bonus bMaxSP,5*BaseLevel; bonus2 bAddRace,RC_NonBoss,10; bonus2 bAddRace,RC_Boss,10; bonus bMatkRate,10; bonus bUnbreakableArmor,0; bonus bNoKnockback,0;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2384,'Spritual_Tunic','Spiritual Tunic',5,20,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bMaxHP,800; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubEle,Ele_Earth,20; bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Wind,20; bonus2 bSubEle,Ele_Poison,20; bonus2 bSubEle,Ele_Holy,20; bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Ghost,20; bonus2 bSubEle,Ele_Undead,20;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2385,'Recuperative_Armor','Recuperative Armor',5,20,NULL,0,NULL,12,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,0,0,'bonus bNoRegen,1; bonus bNoRegen,2; bonus bHPGainValue,60; bonus bSPGainValue,6; bonus bMagicHPGainValue,60; bonus bMagicSPGainValue,6;',NULL,'heal 0,-100;');
REPLACE INTO `item_db` VALUES (2386,'Chameleon_Armor','Chameleon Armor',5,20,NULL,1700,NULL,5,NULL,0,0x000FDF80,2,2,16,NULL,70,1,0,'bonus bMaxHP,(BaseLevel*7); bonus bMaxSP,(BaseLevel/2); autobonus2 \"{ bonus bNoMagicDamage,100; }\",10,2000,BF_MAGIC,\"{ specialeffect2 EF_ENERGYCOAT; }\"; if( BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte ) bonus bMdef,5; else if( BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief ) bonus bDef,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (2387,'Sprint_Mail','Sprint Mail',5,20,NULL,1000,NULL,3,NULL,1,0x000FDF80,2,2,16,NULL,70,1,0,'bonus bVit,1; bonus bHPrecovRate,5; bonus2 bAddItemHealRate,IG_Recovery,3; bonus2 bSkillHeal,\"AL_HEAL\",3; if( isequipped(2440) && isequipped(2744) ) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2387,'Sprint_Mail','Sprint Mail',5,20,NULL,1000,NULL,3,NULL,1,0x000FDF80,2,2,16,NULL,70,1,0,'bonus bVit,1; bonus bHPrecovRate,5; bonus2 bAddItemHealRate,IG_Recovery,3; bonus2 bSkillHeal,\"AL_HEAL\",3; if( isequipped(2440,2744) ) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (2388,'Kandura','Gandora',5,20,NULL,300,NULL,4,NULL,1,0x00001000,2,2,16,NULL,70,1,0,'bonus bAgi,1; bonus bFlee,5; bonus bAspdRate,2;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2389,'Armor_Of_Naga','Naga Scale Armor',5,20,NULL,1000,NULL,5,NULL,1,0x00CFDF80,2,2,16,NULL,70,1,0,'bonus bMdef,2; autobonus2 \"{ bonus bBaseAtk,20; }\",10,10000,BF_WEAPON,\"{ specialeffect2 EF_ENHANCE; }\";',NULL,NULL);
REPLACE INTO `item_db` VALUES (2390,'Improved_Tights','Refined Tights',5,20,NULL,400,NULL,6,NULL,1,0x00080808,2,2,16,NULL,75,1,0,'bonus bMdef,2; bonus bFlee2,3;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2391,'Life_Link','Life Link',5,20,NULL,3500,NULL,9,NULL,1,0x00004082,2,2,16,NULL,82,1,0,'bonus bVit,2; bonus bMdef,5; bonus bHPrecovRate,50;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2392,'Old_Pant','Old Pant',5,0,NULL,0,NULL,10,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,1,0,'bonus bStr,2; bonus bVit,2; bonus bMaxHP,200; bonus3 bAutoSpellWhenHit,\"MO_CALLSPIRITS\",5,20; bonus bMdef,1;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2393,'N_Adventurer\'s_Suit','Novice Adventure Suit',5,1,NULL,0,NULL,8,NULL,1,0x00000001,7,2,16,NULL,0,0,0,NULL,NULL,NULL);
-REPLACE INTO `item_db` VALUES (2394,'Krieger_Suit1','Glorious Suit',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,81,1,0,'bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; if( isequipped(2444) && isequipped(2549) ) { bonus bAtkRate,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,\"AM_POTIONPITCHER\",3; bonus2 bSkillHeal2,\"AL_HEAL\",3; bonus2 bSkillHeal2,\"PR_SANCTUARY\",3; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (2394,'Krieger_Suit1','Glorious Suit',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,81,1,0,'bonus bMaxHPRate,20; bonus2 bSubRace,RC_DemiHuman,7; if( isequipped(2444,2549) ) { bonus bAtkRate,5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,\"AM_POTIONPITCHER\",3; bonus2 bSkillHeal2,\"AL_HEAL\",3; bonus2 bSkillHeal2,\"PR_SANCTUARY\",3; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (2395,'Krieger_Suit2','Glorious Popularized Suit',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,61,1,0,'bonus bMaxHP,600; bonus bSPrecovRate,10;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2396,'Krieger_Suit3','Glorious Mass-Production Suit',5,0,NULL,0,NULL,0,NULL,0,0xFFFFFFFE,7,2,16,NULL,61,1,0,'bonus bMaxHP,500;',NULL,NULL);
REPLACE INTO `item_db` VALUES (2397,'Incredible_Coat','Incredible Coat',5,0,NULL,900,NULL,2,NULL,0,0xFFFFFFFF,7,2,16,NULL,0,1,0,NULL,NULL,NULL);
@@ -2649,7 +2649,7 @@ REPLACE INTO `item_db` VALUES (5478,'Classic_Hat','Classic Hat',5,NULL,NULL,500,
REPLACE INTO `item_db` VALUES (5479,'Shaman\'s_Hair_Ornament','Shaman\'s Hair Ornament',5,NULL,NULL,300,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,1,1,476,'bonus bMdef,3; bonus2 bSubEle,Ele_Neutral,5;',NULL,NULL);
REPLACE INTO `item_db` VALUES (5480,'Bizofnil_Wing_Deco','Feather Of Vizofnir',5,NULL,NULL,1000,NULL,6,NULL,1,0xFFFFFFFF,7,2,256,NULL,1,1,477,'bonus bAllStats,2; bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Poison,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Undead,5; bonus2 bHPRegenRate,2,10000; bonus2 bSPRegenRate,1,10000;',NULL,NULL);
REPLACE INTO `item_db` VALUES (5481,'Hermose_Cap','Hermose Cap',5,NULL,NULL,1000,NULL,2,NULL,0,0xFFFFFFFF,7,2,256,NULL,1,1,478,'bonus bAspdRate,5; bonus bAtkRate,3;',NULL,NULL);
-REPLACE INTO `item_db` VALUES (5482,'Dark_Knight_Mask','Dark Knight Mask',5,NULL,NULL,3000,NULL,5,NULL,0,0xFFFFFFFF,7,2,769,NULL,1,1,479,'bonus bStr,3; if(isequipped(2779) && isequipped(2780)) { bonus bMatkRate,10; bonus bInt,5; }',NULL,NULL);
+REPLACE INTO `item_db` VALUES (5482,'Dark_Knight_Mask','Dark Knight Mask',5,NULL,NULL,3000,NULL,5,NULL,0,0xFFFFFFFF,7,2,769,NULL,1,1,479,'bonus bStr,3; if(isequipped(2779,2780)) { bonus bMatkRate,10; bonus bInt,5; }',NULL,NULL);
REPLACE INTO `item_db` VALUES (5483,'Odin_Mask','Odin Mask',5,NULL,NULL,100,NULL,1,NULL,0,0xFFFFFFFF,7,2,512,NULL,1,1,480,'bonus2 bSubRace,RC_Boss,2;',NULL,NULL);
# REPLACE INTO `item_db` VALUES (5484,'Taiwan_Flag_Hat','Holidays Hat',5,NULL,NULL,500,NULL,4,NULL,0,0xFFFFFFFF,7,2,256,NULL,0,1,482,'bonus bAllStats,5; bonus2 bResEff,Eff_Stun,500;',NULL,NULL);
REPLACE INTO `item_db` VALUES (5485,'Tiger_Face','Tiger Face',5,NULL,NULL,1000,NULL,3,NULL,0,0xFFFFFFFF,7,2,769,NULL,60,1,483,'bonus2 bSubRace,RC_Brute,5; bonus2 bAddRace,RC_Brute,5; bonus2 bMagicAddRace,RC_Brute,5;',NULL,NULL);
diff --git a/src/map/map.c b/src/map/map.c
index b58033f1f..fb488cf15 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1569,6 +1569,9 @@ int map_quit(struct map_session_data *sd)
if (sd->npc_timer_id != -1) //Cancel the event timer.
npc_timerevent_quit(sd);
+ if (sd->npc_id)
+ npc_event_dequeue(sd);
+
npc_script_event(sd, NPCE_LOGOUT);
//Unit_free handles clearing the player related data,
diff --git a/src/map/pc.c b/src/map/pc.c
index 0df3cda48..91017cf22 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4005,6 +4005,9 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y
if(!sd->mapindex || map_mapname2ipport(mapindex,&ip,&port))
return 2;
+ if (sd->npc_id)
+ npc_event_dequeue(sd);
+ npc_script_event(sd, NPCE_LOGOUT);
//remove from map, THEN change x/y coordinates
unit_remove_map_pc(sd,clrtype);
sd->mapindex = mapindex;