Procházet zdrojové kódy

Update Itemdb (JRO item) (#4161)

* The items implementation is based on JRO description instead of IRO description
* Yinyang combo items will be implemented later when more infos will be available
Joam před 5 roky
rodič
revize
aae31a19a5

+ 190 - 2
db/re/item_combo_db.txt

@@ -43,6 +43,9 @@
 15141:20779:22075,{ .@r = getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES); bonus bMaxHP,1000; bonus bHealPower,min(5+.@r,30); bonus bHealPower2,min(5+.@r,30); }
 15186:19168,{ bonus2 bExpAddClass,Class_All,5; bonus2 bDropAddClass,Class_All,5; }
 1535:4361,{ bonus bBreakArmorRate,900; bonus bBreakWeaponRate,900; }
+15384:4119,{ bonus2 bResEff,Eff_Freeze,10000; }
+15409:18849,{ .@r = getequiprefinerycnt(EQI_ARMOR); .@a = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,20*.@r; bonus bAllStats,.@r; if (.@a>=7) bonus2 bMagicAddClass,Class_Boss,15; if (.@a>=9) bonus2 bMagicAddClass,Class_Boss,15; }
+15409:2980,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,1; bonus5 bAutoSpell,"WL_SOULEXPANSION",1,60,BF_WEAPON,1; bonus5 bAutoSpell,"WL_TELEKINESIS_INTENSE",1,60,BF_MAGIC,0; bonus5 bAutoSpellWhenHit,"AL_HEAL",5,60,BF_WEAPON|BF_MAGIC,0; }
 1558:27085,{ bonus bBaseAtk,100; bonus bMatk,100; }
 1559:5467,{ bonus bAspd,1; bonus bFlee2,3; }
 1564:2186,{ bonus bAspdRate,getequiprefinerycnt(EQI_HAND_R); }
@@ -53,13 +56,19 @@
 1580:2186,{ bonus bAspdRate,15; }
 1615:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bVariableCastrate,-10; }
 1616:2515,{ bonus bSpeedRate,25; }
-1617:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
 1618:2509,{ bonus bMaxHP,300; bonus bMatkRate,min(5, getequiprefinerycnt(EQI_HAND_R)-5); bonus2 bSubEle,Ele_Neutral,min(30, getequiprefinerycnt(EQI_GARMENT)*3); }
+1618:2509:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1618:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
 1618:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
+1618:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatk,10*.@r; if (.@r>=10) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",15; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",15; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",70; bonus2 bSkillAtk,"WZ_JUPITEL",70; } if (BaseLevel>=100) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",30; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",30; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",140; bonus2 bSkillAtk,"WZ_JUPITEL",140; } }
+1618:20813,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; }
+1618:20813:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1618:20847,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = min(.@weapon,10); bonus bMaxHP,1000; bonus bMatk,(-50+(20*.@weapon)); bonus bDelayrate,-(3*(.@weapon/3)); bonus2 bSubEle,Ele_Neutral,(min(.@eq,10)/2); }
-1619:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
+1620:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatk,10*.@r; if (.@r>=10) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",15; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",15; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",70; bonus2 bSkillAtk,"WZ_JUPITEL",70; } if (BaseLevel>=100) { bonus bVariableCastrate,-3; bonus2 bSkillAtk,"WL_EARTHSTRAIN",30; bonus2 bSkillAtk,"WL_CHAINLIGHTNING",30; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",140; bonus2 bSkillAtk,"WZ_JUPITEL",140; } }
+1620:20813,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; }
+1620:20813:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1620:2509,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; if(getequiprefinerycnt(EQI_GARMENT) > 10) { bonus2 bSubEle,Ele_Neutral,30; } else { bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; } }
+1620:2509:19139,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bMatkRate,1; if (.@r >= 5) { bonus bMatkRate,2; if (.@r >= 7) { bonus bMatkRate,2; } } }
 1620:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
 1620:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bMatk,.@r; if (.@r >= 10) { autobonus "{ bonus bVariableCastrate,-50; }",100,5000,BF_MAGIC; /* Confirm: Success rate? */ } }
 1629:5045,{ bonus bDex,2; bonus bInt,2; bonus bSPrecovRate,5; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R); }
@@ -272,6 +281,7 @@
 2507:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxSPrate,10+.@r; bonus bFlee,10+.@r; }
 2507:15163,{ bonus bVariableCastrate,-(2*getequiprefinerycnt(EQI_ARMOR)); bonus bNoCastCancel; }
 2509:15146,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bMaxHPrate,10+.@r; bonus bMatkRate,2+.@r; }
+2509:22170,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bMatkRate,10; if (.@r>=7) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } if (.@r>=9) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } }
 2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel; bonus bVariableCastrate,25; }
 2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }
 2519:15147,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bIgnoreDefRaceRate,RC_DemiHuman,15; bonus2 bIgnoreDefRaceRate,RC_Demon,15; bonus2 bIgnoreDefRaceRate,RC_Undead,15; bonus bLuk,3+.@r; bonus bCritical,10+.@r; }
@@ -344,11 +354,39 @@
 2780:2826:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
 2782:19156,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r < 4) { .@a = 4; } else { .@a = min(.@r,10); } bonus3 bAutoSpell,"WZ_WATERBALL",.@a,(.@a*10); }
 2826:2827:5577,{ autobonus "{ bonus bAspdRate,2; }",50,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }"; bonus bMaxHP,BaseLevel*15; bonus bMaxSP,(BaseLevel*12)/10; bonus2 bAddClass,Class_All,3; }
+28513:18848,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); .@a = min(.@r,10); bonus bAllStats,.@a; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; } }
+28513:18849,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bAllStats,.@r; bonus2 bMagicAddClass,Class_Boss,10; bonus bFixedCastrate,-50; if (.@r>=7) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; } if (.@r>=9) { bonus2 bMagicAddClass,Class_Boss,20; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+28513:2980,{ bonus bBaseAtk,50; bonus bMatk,50; bonus bAspd,2; bonus3 bAutoSpell,"SO_EARTHGRAVE",1,20; bonus3 bAutoSpell,"SO_VARETYR_SPEAR",1,20; bonus3 bAutoSpell,"WL_RECOGNIZEDSPELL",1,10; bonus3 bAutoSpell,"WZ_QUAGMIRE",3,50; }
+28520:15061,{ .@r = getequiprefinerycnt(EQI_ARMOR); if (.@r >= 7) { .@val = 5000; } else { .@val = 2500; } bonus2 bResEff,Eff_Stun,.@val; bonus2 bResEff,Eff_Silence,.@val; }
+28520:15061:18728:20700:2495,{ bonus bFlee2,30; bonus2 bSubEle,Ele_Water,15; bonus2 bResEff,Eff_Freeze,10000; }
+28520:18728,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus bAllStats,5; if (getequiprefinerycnt(EQI_HEAD_TOP)>=7) { bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus bAllStats,5; } }
+28520:20700,{ if (getequiprefinerycnt(EQI_GARMENT)>=7) .@val = 2; else .@val = 1; bonus2 bSubEle,Ele_Fire,25*.@val; bonus2 bSubEle,Ele_Water,25*.@val; }
+28520:2495,{ if (getequiprefinerycnt(EQI_SHOES)>=7) .@val = 2; else .@val = 1; bonus bMaxHPrate,10*.@val; bonus bMaxSPrate,10*.@val; }
+28520:4525,{ bonus bMdef,15; bonus bFlee,100; bonus bMaxHPrate,15; skill "RG_TUNNELDRIVE",1; bonus bIntravision; }
+28521:1387,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"WS_CARTTERMINATION",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"WS_CARTTERMINATION",10; } }
+28521:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"LK_SPIRALPIERCE",5; bonus2 bSkillAtk,"RK_SONICWAVE",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"LK_SPIRALPIERCE",10; bonus2 bSkillAtk,"RK_SONICWAVE",10; } }
+28521:18122,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bLongAtkRate,2*(readparam(bStr)/10); if (.@r>=7) { bonus2 bAddClass,Class_Boss,5; bonus2 bSkillAtk,"RA_ARROWSTORM",5; bonus2 bSkillAtk,"RA_AIMEDBOLT",5; } if (.@r>=9) { bonus2 bAddClass,Class_Boss,10; bonus2 bSkillAtk,"RA_ARROWSTORM",10; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
 2855:5360,{ bonus bCritAtkRate,10; if(getequiprefinerycnt(EQI_HEAD_TOP)>5) bonus bCritical,5; }
 2913:2710,{ bonus bBaseAtk,10; }
+28910:20800,{ bonus bLongAtkDef,-35; }
+28918:2998,{ bonus2 bSubRace,RC_Undead,4; bonus2 bSubRace,RC_Demon,4; bonus2 bSubRace,RC_Demihuman,3; bonus2 bSubRace,RC_Player,3; }
+28929:4058,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=6) bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=8) bonus2 bExpAddRace,RC_DemiHuman,5; }
+28929:4066,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
+28929:4074,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Insect,5; if (.@r>=6) bonus2 bExpAddRace,RC_Insect,5; if (.@r>=8) bonus2 bExpAddRace,RC_Insect,5; }
+28929:4083,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Fish,5; if (.@r>=6) bonus2 bExpAddRace,RC_Fish,5; if (.@r>=8) bonus2 bExpAddRace,RC_Fish,5; }
+28929:4120,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Dragon,5; if (.@r>=6) bonus2 bExpAddRace,RC_Dragon,5; if (.@r>=8) bonus2 bExpAddRace,RC_Dragon,5; }
+28929:4136,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Demon,5; if (.@r>=6) bonus2 bExpAddRace,RC_Demon,5; if (.@r>=8) bonus2 bExpAddRace,RC_Demon,5; }
+28929:4138,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Angel,5; if (.@r>=6) bonus2 bExpAddRace,RC_Angel,5; if (.@r>=8) bonus2 bExpAddRace,RC_Angel,5; }
+28929:4314,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Formless,5; if (.@r>=6) bonus2 bExpAddRace,RC_Formless,5; if (.@r>=8) bonus2 bExpAddRace,RC_Formless,5; }
+28929:4340,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Undead,5; if (.@r>=6) bonus2 bExpAddRace,RC_Undead,5; if (.@r>=8) bonus2 bExpAddRace,RC_Undead,5; }
+28929:4515,{ .@r = getequiprefinerycnt(EQI_HAND_L); bonus2 bExpAddRace,RC_Plant,5; if (.@r>=6) bonus2 bExpAddRace,RC_Plant,5; if (.@r>=8) bonus2 bExpAddRace,RC_Plant,5; }
 2913:15040,{ bonus bBaseAtk,2*getequiprefinerycnt(EQI_ARMOR); }
 2913:2408,{ bonus bBaseAtk,getequiprefinerycnt(EQI_SHOES); }
 2913:5104,{ bonus bBaseAtk,10; }
+2935:2387,{ bonus bMaxHPrate,3; if (getequiprefinerycnt(EQI_ARMOR)>=7) { bonus bMaxSPrate,2; } }
+2935:2387:2440,{ bonus bVariableCastrate,-5; bonus bDelayRate,-5; }
+2935:2440,{ bonus bMaxSPrate,3; if (getequiprefinerycnt(EQI_SHOES)>=7) { bonus bMaxHPrate,2; } }
+2935:2744,{ bonus bVariableCastrate,-4; bonus bDelayRate,-4; }
 2950:15067:20709:22012,{ bonus2 bExpAddRace,RC_All,30; }
 2957:2958,{ bonus4 bAutoSpell,"MO_EXTREMITYFIST",1,3,1; bonus3 bAutoSpell,"PR_LEXAETERNA",1,20; bonus3 bAutoSpell,"AS_SONICBLOW",5,50; bonus3 bAutoSpell,"MO_INVESTIGATE",5,20; bonus3 bAutoSpell,"ASC_METEORASSAULT",2,50; }
 2959:18756,{ .@r = 3+(3*getequiprefinerycnt(EQI_HEAD_TOP)); autobonus "{ bonus2 bSPLossRate,5,1000; bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ transform 1785,5000; specialeffect2 EF_POTION_BERSERK; }"; autobonus2 "{ bonus2 bSPLossRate,5,1000; bonus bBaseAtk,30; }",.@r,5000,BF_WEAPON,"{ transform 1785,5000; specialeffect2 EF_POTION_BERSERK; }"; }
@@ -400,6 +438,20 @@
 2990:2991,{ bonus bAllStats,5; bonus5 bAutoSpellWhenHit,"SC_MAELSTROM",1,100,BF_MAGIC,0; }
 2995:15110,{ bonus2 bSkillAtk,"NC_AXEBOOMERANG",100; }
 2997:2999,{ bonus2 bAddClass,Class_All,10; bonus bMatkRate,10; }
+32242:18971,{ bonus2 bFixedCastrate,"RK_STORMBLAST",-100; }
+32242:18972,{ bonus bMaxHPRate,50; }
+32242:18973,{ bonus2 bSkillAtk,"NC_FLAMELAUNCHER",70; bonus2 bSkillAtk,"NC_COLDSLOWER",70; }
+32242:18974,{ bonus2 bSkillAtk,"NC_FLAMELAUNCHER",70; bonus2 bSkillAtk,"NC_COLDSLOWER",70; }
+32242:18975,{ bonus2 bSkillAtk,"SC_TRIANGLESHOT",70; }
+32242:18976,{ bonus2 bResEff,Eff_Freeze,10000; }
+32242:18977,{ bonus2 bVariableCastrate,"GN_MANDRAGORA",-100; }
+32242:18978,{ bonus bMatk,100; bonus2 bSkillCooldown,"WL_CRIMSONROCK",-500; }
+32242:18979,{ bonus2 bSkillAtk,"SR_RIDEINLIGHTNING",70; }
+32242:18980,{ skill "LG_TRAMPLE",3; }
+32242:18981,{ bonus2 bResEff,Eff_Stun,10000; }
+32242:18982,{ autobonus3 "{ bonus bStr,200; }",1000,20000,"GC_COUNTERSLASH","{}"; }
+32242:18983,{ bonus2 bSkillAtk,"LG_CANNONSPEAR",70; }
+32242:18984,{ bonus bCritical,70; bonus bCritAtkRate,70; }
 4001:4197,{ bonus bFlee,18; }
 4006:4266,{ bonus bFlee,18; }
 4009:4179,{ bonus bFlee,18; }
@@ -427,6 +479,7 @@
 4129:27335,{ bonus bCritAtkRate,15; }
 4131:27081,{ autobonus "{ bonus bFlee2,10; }",70,5000,BF_SHORT; }
 4139:18619,{ bonus3 bAutoSpell,"RG_SNATCHER",5,20; bonus bDex,2; bonus bAgi,1; bonus bInt,-1; }
+4144:20932,{ bonus bMaxHPrate,15; bonus2 bSubEle,Ele_Dark,100; bonus2 bSubEle,Ele_Fire,50; bonus2 bResEff,Eff_Curse,10000; }
 4152:5967,{ bonus2 bAddItemGroupHealRate,IG_Juice,1000; }
 4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
 4153:18554,{ bonus2 bAddEle,Ele_Water,10; }
@@ -550,6 +603,7 @@
 5548:5766,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bBaseAtk,min(.@r,10); bonus bMatk,min(.@r,10); }
 5917:1525,{ bonus bLongAtkDef,10; }
 5920:18542,{ bonus bHealPower,2*getequiprefinerycnt(EQI_HEAD_TOP); }
+5933:19112,{ bonus2 bAddSize,Size_All,1; bonus bLongAtkRate,1; if(readparam(bStr)>=108) { bonus2 bAddSize,Size_All,2; bonus bLongAtkRate,1; } if(readparam(bStr)>=120) { bonus2 bAddSize,Size_All,3; bonus bLongAtkRate,1; } }
 5967:28321,{ bonus2 bSubSkill,"HT_BLITZBEAT",200; }
 5918:19306,{ .@aspd = 1; .@crit_dmg = 2 + 2 * (readparam(bDex) / 10); .@sub_demi = 2; .@luk = readparam(bLuk); if (.@luk > 107) { .@aspd += 1; .@crit_dmg += 2; .@sub_demi += 2; } if (.@luk > 119) { .@aspd += 2; .@crit_dmg += 4; .@sub_demi += 4; bonus bSplashRange,1; } bonus bAspd,.@aspd; bonus bCritAtkRate,.@crit_dmg; bonus2 bSubRace,RC_DemiHuman,.@sub_demi; bonus2 bSubSkill,"NPC_CRITICALSLASH",100; }
 //9024:18832,{ bonus3 bAutoSpell,"BS_ADRENALINE",2,(GetPetRelationship >= 3)?15:10; }
@@ -583,10 +637,17 @@
 15129:20789:22084:28381:28414,{ bonus bMaxHPrate,20; bonus bMaxSPrate,10; bonus bHealPower,20; skill "AL_HEAL",7,1; }
 15138:19026,{ bonus2 bSubRace,RC_Fish,(10+getequiprefinerycnt(EQI_ARMOR)); }
 15138:19026:20756:22059,{ bonus bMaxHP,1000; bonus bMaxSP,100; bonus2 bExpAddRace,RC_Fish,20; bonus2 bMagicAddRace,RC_Fish,50; bonus2 bSubEle,Ele_Water,50; }
+15145:18652,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r >= 9 ) { bonus2 bHPDrainRate,-60,-8; bonus2 bSPDrainRate,-20,-4; } else if (.@r >= 8 ) { bonus2 bHPDrainRate,-50,-5; bonus2 bSPDrainRate,-10,-2; } else if (.@r >= 7 ) { bonus2 bHPDrainRate,-30,-5; bonus2 bSPDrainRate,-10,-2; } else if (.@r >= 5 ) { bonus2 bHPDrainRate,-10,-3; bonus2 bSPDrainRate,-10,-1; } else { bonus2 bHPDrainRate,-10,-1; bonus2 bSPDrainRate,-10,-1; } }
+15145:2554,{ bonus2 bSPDrainRate,-10,1; }
+15145:5208,{ .@i = (getequiprefinerycnt(EQI_HEAD_TOP)>8)?2:1; bonus2 bHPDrainRate,-50,8*.@i; bonus2 bSPDrainRate,-10,4*.@i; }
 15156:20790:22085,{ bonus bMaxHP,4000; bonus bNoCastCancel; bonus bFixedCastrate,-25-(getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES)); }
 15156:20790:22085:28382:28418,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus2 bSkillAtk,"SU_CN_METEOR",200; }
 15156:20790:22085:28380:28421,{ bonus bMaxHPrate,30; bonus bMaxSPrate,9; bonus2 bSkillAtk,"SU_LUNATICCARROTBEAT",200; }
 15156:20790:22085:28381:28415,{ bonus bMaxHPrate,25; bonus bMaxSPrate,15; bonus bHealPower,30; skill "AL_HEAL",9,1; }
+15166:1647,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bHealPower,4*.@r; }
+15166:5968,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bFlee2,.@r; bonus bHealPower,2*.@r; }
+15169:1649,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getequiprefinerycnt(EQI_ARMOR); bonus bMatk,(3*.@r); if(.@b >=7) { bonus bMatk,(5*.@r); } if(.@b >=8) { bonus bMatk,(7*.@r); } }
+15169:4054,{ if(getequiprefinerycnt(EQI_ARMOR) >=9) { bonus2 bResEff,Eff_Freeze,10000; } }
 15176:18145:28441,{ bonus2 bSkillAtk,"AC_DOUBLE",50; bonus2 bSkillUseSP,"SC_TRIANGLESHOT",10; }
 15177:20820:28608,{ bonus5 bAutoSpell,"MG_FIREBALL",max(5,getskilllv("MG_FIREBALL")),50,BF_MAGIC,1; autobonus3 "{ bonus bMatk,50; }",1000,60000,"PF_DOUBLECASTING","{ specialeffect2 EF_ENCHANCE; }"; }
 15178:20821:28721,{ bonus2 bSkillAtk,"KO_BAKURETSU",20; bonus2 bSkillAtk,"KO_HAPPOKUNAI",50; }
@@ -607,9 +668,13 @@
 15183:28467:28468,{ bonus bAtk,40; bonus2 bSubEle,Ele_All,4; bonus2 bSubEle,Ele_Neutral,-4; bonus2 bExpAddClass,Class_All,2; }
 15184:28469:28470,{ bonus bAtk,50; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; bonus2 bExpAddClass,Class_All,2; }
 15185:28471:28472,{ bonus bAtk,50; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; bonus2 bExpAddClass,Class_All,2; bonus bNoCastCancel; }
+15189:20748,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bBaseAtk,3*.@r; if (.@r >= 7) bonus bBaseAtk,5*(readparam(bStr)/10); if (.@r >= 8) bonus bBaseAtk,7*(readparam(bStr)/10); }
+15189:20749,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bBaseAtk,3*.@r; if (.@r >= 7) bonus bBaseAtk,5*(readparam(bStr)/10); if (.@r >= 8) bonus bBaseAtk,7*(readparam(bStr)/10); }
+15189:4141,{ if (getequiprefinerycnt(EQI_ARMOR) >= 9) bonus2 bResEff,Eff_Curse,10000; }
 15195:16063,{ .@matk = 100; .@recovery = 20; .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_ARMOR); if (.@weapon >= 7 && .@eq >= 7) { .@matk += 50; } if ((.@weapon + .@eq) >= 18) { .@recovery += 15; if ((.@weapon + .@eq) >= 22) { bonus bDelayrate,-15; } } bonus bMatk,.@matk; bonus bHealPower2,.@recovery; }
 15195:19209,{ bonus bSpeedRate,25; /* unknown speed value */ bonus bHealPower,10; }
 15212:22141,{ bonus bAspdRate,getequiprefinerycnt(EQI_SHOES); }
+15205:4114,{ if (getequiprefinerycnt(EQI_ARMOR)>=9) { bonus2 bResEff,Eff_Freeze,10000; } }
 15212:20856,{ bonus bDelayrate,-getequiprefinerycnt(EQI_GARMENT); }
 15212:20856:22141,{ if ((getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES)) >= 39) { autobonus "{ bonus bIgnoreDefClass,Class_Normal; bonus bIgnoreDefClass,Class_Boss; }",50,5000; } }
 15348:19366:20923:22192,{ bonus bVit,5; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; .@hp = 15; .@r[0] = getequiprefinerycnt(EQI_ARMOR); .@r[1] = getequiprefinerycnt(EQI_HEAD_TOP); .@r[2] = getequiprefinerycnt(EQI_GARMENT); .@r[3] = getequiprefinerycnt(EQI_SHOES); .@sum = .@r[0]+.@r[1]+.@r[2]+.@r[3]; if (.@r[0] >= 7 && .@r[1] >= 7 && .@r[2] >= 7 && .@r[3] >= 7) { .@hp += 10; } bonus bMaxHPrate,.@hp; if (.@sum >= 36) { bonus bFixedCast,-700; if (.@sum >= 40) { bonus bDelayrate,-20; } } }
@@ -640,6 +705,7 @@
 18507:18539,{ bonus bUseSPrate,-3; }
 18559:18560,{ bonus bCritAtkRate,5; }
 18563:18564,{ bonus bFixedCastrate,-10; }
+18652:32227,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); if (.@r>=6) { bonus bDelayrate,-5; bonus bAspdRate,5; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } if (.@r>=8) { bonus bDelayrate,-10; bonus bAspdRate,10; bonus2 bAddClass,Class_All,5; bonus2 bIgnoreDefClassRate,Class_All,25; } }
 18776:20710,{ bonus bBaseAtk,10; }
 18776:22015,{ bonus bMatk,20; }
 18823:19246,{ .@atk = 40; .@aspd = 3; .@dmg = 2; .@agi = readparam(bAgi); if (.@agi > 107) { .@atk += 60; .@aspd += 5; .@dmg += 2; } if (.@agi > 119) { .@atk += 80; .@aspd += 7; .@dmg += 4; } bonus bBaseAtk,.@atk; bonus bAspdRate,.@aspd; bonus2 bSubRace,RC_Player,.@dmg; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; }
@@ -647,25 +713,57 @@
 18823:28551,{ bonus2 bSkillDelay,"LG_OVERBRAND",-2000; bonus bLongAtkRate,getskilllv("LG_CANNONSPEAR") * 2; bonus bLongAtkRate,getskilllv("LG_OVERBRAND") * 2; bonus2 bSkillAtk,"LG_CANNONSPEAR",30; bonus2 bSkillAtk,"LG_OVERBRAND",20; }
 18849:32237,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bFixedCast,-300; if (.@r > 0) { bonus bMatk,(10*.@r); if (.@r >= 7) { bonus2 bMagicAddRace,RC_DemiHuman,10; bonus2 bMagicAddRace,RC_Player,10; bonus2 bMagicAddRace,RC_Demon,10; if (.@r >= 9) { bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Wind,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Fire,10; bonus2 bMagicAtkEle,Ele_Neutral,10; if (.@r >= 11) { bonus2 bMagicAddClass,Class_Boss,20; } } } } }
 18867:1720,{ bonus bLongAtkRate,3+(getequiprefinerycnt(EQI_HAND_R) > 6 ? 5:0); }
+18868:28320,{ bonus2 bAddRace,RC_DemiHuman,10; bonus2 bAddRace,RC_Player,10; }
+18933:19082,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",(5*.@r); }
+18933:2268,{ bonus bDelayrate,-5; }
+18933:4229,{ bonus bVariableCastrate,-10; }
 18937:28302,{ bonus bInt,8; bonus bMaxSPrate,5;}
 18937:28303,{ bonus bInt,8; bonus bBaseAtk,20;}
 18937:28304,{ bonus bInt,8; bonus bFlee,15;}
 18937:28305,{ bonus bInt,8; bonus bHit,10;}
+18937:28352,{ bonus bMaxSPrate,5; if (BaseLevel>=20) { bonus bInt,(BaseLevel/20); } }
+18937:28353,{ bonus bMaxHPrate,5; if (BaseLevel>=20) { bonus bStr,(BaseLevel/20); } }
+18937:28357,{ bonus bAspdRate,5; if (BaseLevel>=20) { bonus bAgi,(BaseLevel/20); } }
+18937:28359,{ bonus bVariableCastrate,-5; if (BaseLevel>=20) { bonus bDex,(BaseLevel/20); } }
 18985:28321,{ bonus2 bSkillAtk,"HT_BLITZBEAT",100; }
 18985:28321:28322,{ bonus2 bSkillAtk,"HT_BLITZBEAT",200; }
 18985:28322,{ bonus2 bSkillAtk,"SN_FALCONASSAULT",50; }
 18997:28326:28327,{ bonus bSpeedRate,10; bonus bBaseAtk,50; bonus bMatk,50; if(getequiprefinerycnt(EQI_HEAD_TOP)>=9){ bonus bMaxHPrate,10; bonus bMaxSPrate,50; } }
+19024:19381,{ bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; bonus2 bSubRace,RC_Player,3; if (readparam(bVit)>=108) { bonus bMdef,5; bonus bDef,50; bonus bAspdRate,5; bonus bVit,5; } if (readparam(bVit)>=120) { bonus bMdef,10; bonus bDef,100; bonus bVit,10; } }
 19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace,RC_Fish,10; bonus3 bAddMonsterDropItem,544,RC_Fish,(5+.@r); bonus3 bAddMonsterDropItem,551,RC_Fish,(5+.@r); bonus2 bAddItemHealRate,544,5*(1+.@r); bonus2 bAddItemHealRate,551,5*(1+.@r); }
 19026:22059,{ bonus2 bCriticalAddRace,RC_Fish,(10+getequiprefinerycnt(EQI_SHOES)); }
 19038:19039,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP)+getequiprefinerycnt(EQI_HEAD_MID); if((.@r==7)||(.@r==8)){ bonus bCritical,12; bonus bHit,12; } if(.@r>=9){ bonus bMaxHP,1200; bonus bMaxSP,120; } }
+19082:18933:2268,{ bonus2 bSkillUseSP,"GN_SPORE_EXPLOSION",20; }
+19114:4226,{ bonus2 bSubSize,Size_All,10; }
+19114:5548,{ bonus2 bSubSize,Size_All,5; }
 19117:22101,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
 19118:22101,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; if(getequiprefinerycnt(EQI_SHOES) >= 12) { bonus bFixedCast,-400; } }
+19138:19327,{ .@cast = -(readparam(bInt)/8); .@sub = 2; .@heal = 5; if (.@i >= 120) { .@cast -= 10; .@sub += 6; .@heal += 25; } else if (.@i >= 108) { .@cast -= 4; .@sub += 2; .@heal += 10; } bonus bVariableCastrate,.@cast; bonus2 bSubRace,RC_DemiHuman,.@sub; bonus2 bSubRace,RC_Player,.@sub; bonus bHealPower,.@heal; bonus bAddItemHealRate,.@heal; bonus2 bVariableCastrate,"AB_CHEAL",-100; bonus2 bResEff,EFF_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; }
+19139:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bMagicAtkEle,Ele_Earth,20; bonus2 bMagicAtkEle,Ele_Wind,20; if (.@r>=7) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } if (.@r>=9) { bonus bVit,4; bonus bVariableCastrate,-6; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } }
+19139:20813,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bFixedCastrate,-50; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; if (.@r>=5) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+19139:22170,{ bonus bVit,4; bonus bInt,5; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; }
+19172:28500,{ bonus bDelayrate,-15; }
+19172:4403,{ bonus bDelayrate,30; }
 19247:28762,{ bonus bMatk,50; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bVariableCastrate,-10; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAddSize,Size_Small,15; bonus2 bMagicAddSize,Size_Medium,15; if ((.@eq + .@weapon) >= 22) { autobonus "{ bonus bMatk,50; bonus2 bMagicAtkEle,Ele_Fire,20; }",5,10000,BF_MAGIC; /* unknown rate */ } } }
+19272:4365,{ bonus bVariableCastrate,-100; bonus2 bSkillCooldown,"WL_TELEKINESIS_INTENSE",-120000; }
+19299:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player, getequiprefinerycnt(EQI_HAND_R)*2; } }
+19299:5966,{ .@a = readparam(bDex); bonus bMatk,10; bonus bVariableCastrate,-2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; if (.@a>=108) { bonus bMatk,20; bonus bVariableCastrate,-3; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@a>=120) { bonus bMatk,30; bonus bVariableCastrate,-5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; } }
+19326:4187,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=6) bonus2 bExpAddRace,RC_DEMON,5; if (.@r>=8) bonus2 bExpAddRace,RC_DEMON,5; }
+19326:4190,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Undead,5; if (.@r>=6) bonus2 bExpAddRace,RC_Undead,5; if (.@r>=8) bonus2 bExpAddRace,RC_Undead,5; }
+19326:4224,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Brute,5; if (.@r>=6) bonus2 bExpAddRace,RC_Brute,5; if (.@r>=8) bonus2 bExpAddRace,RC_Brute,5; }
+19326:4256,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=6) bonus2 bExpAddRace,RC_DemiHuman,5; if (.@r>=8) bonus2 bExpAddRace,RC_DemiHuman,5; }
+19326:4262,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_PLANT,5; if (.@r>=6) bonus2 bExpAddRace,RC_PLANT,5; if (.@r>=8) bonus2 bExpAddRace,RC_PLANT,5; }
+19326:4344,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_Insect,5; if (.@r>=6) bonus2 bExpAddRace,RC_Insect,5; if (.@r>=8) bonus2 bExpAddRace,RC_Insect,5; }
+19326:4347,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_FISH,5; if (.@r>=6) bonus2 bExpAddRace,RC_FISH,5; if (.@r>=8) bonus2 bExpAddRace,RC_FISH,5; }
+19326:4377,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_FORMLESS,5; if (.@r>=6) bonus2 bExpAddRace,RC_FORMLESS,5; if (.@r>=8) bonus2 bExpAddRace,RC_FORMLESS,5; }
+19326:4385,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_DRAGON,5; if (.@r>=6) bonus2 bExpAddRace,RC_DRAGON,5; if (.@r>=8) bonus2 bExpAddRace,RC_DRAGON,5; }
+19326:4391,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bExpAddRace,RC_ANGEL,5; if (.@r>=6) bonus2 bExpAddRace,RC_ANGEL,5; if (.@r>=8) bonus2 bExpAddRace,RC_ANGEL,5; }
 19344:28244,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bAddClass,Class_All,10; if (.@weapon >= 7 && .@eq >= 7) { bonus bAspd,2; } if ((.@weapon + .@eq) >= 18) { bonus bLongAtkRate,10; if ((.@weapon + .@eq) >= 22) { bonus2 bSkillAtk,"GS_SPREADATTACK",30; } } }
 19344:32301,{ bonus bBaseAtk,30; .@eq = getequiprefinerycnt(EQI_HEAD_TOP); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bAddClass,Class_All,5; } if ((.@eq + .@weapon) >= 18) { bonus2 bSubSize,Size_Small,20; bonus2 bSubSize,Size_Medium,20; if ((.@eq + .@weapon) >= 22) { autobonus3 "{ bonus bBaseAtk,100; bonus bLongAtkRate,15; }",5,10000,"RL_FIREDANCE"; /* unknown rate */ } } }
 19428:20948:32238:32239,{ bonus bInt,5; bonus bMaxSPrate,10; bonus bDef,100; bonus2 bMagicAtkEle,Ele_Water,10; bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Neutral,10; .@head = getequiprefinerycnt(EQI_HEAD_TOP); .@garment = getequiprefinerycnt(EQI_GARMENT); if (.@head >= 7 && .@garment >= 7) { .@matk = 40; } if ((.@head + .@garment) >= 18) { .@matk += 40; bonus2 bMagicAtkEle,Ele_Ghost,15; bonus2 bMagicAtkEle,Ele_Wind,15; bonus2 bMagicAtkEle,Ele_Holy,15; if ((.@head + .@garment) >= 22) { bonus bMatkRate,10; bonus2 bIgnoreMdefRaceRate,RC_Formless,50; bonus2 bIgnoreMdefRaceRate,RC_Demon,50; bonus2 bIgnoreMdefRaceRate,RC_Brute,50; } } bonus bMatk,.@matk; }
 20135:20136,{ bonus bAllStats,12; }
 20701:2165,{ .@a = getequiprefinerycnt(EQI_GARMENT); .@b = getequiprefinerycnt(EQI_HAND_L); bonus2 bAddEle,Ele_Earth,.@b; bonus2 bSubRace,RC_Fish,.@a; }
+20714:28320,{ .@val = min(12,getequiprefinerycnt(EQI_GARMENT)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player,.@val; }
 20717:22000,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22001,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20717:22002,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
@@ -715,17 +813,54 @@
 20718:22117,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20718:22118,{ bonus bMaxHPRate,15; bonus bMaxSPRate,5; }
 20725:2189,{ .@a = getequiprefinerycnt(EQI_GARMENT); autobonus "{ bonus2 bHPLossRate,30,1000; bonus bMatk,5*("+.@a+"/3); }",30+.@a,10000,BF_MAGIC,"{ active_transform 1930,10000; specialeffect2 EF_POTION_BERSERK; /*Confirm Special Effect*/ }"; .@b = getequiprefinerycnt(EQI_HAND_L); if(.@b>=7) bonus2 bSubEle,Ele_All,2*.@b; }
+20778:4606,{ bonus bSPGainValue,-1*(20+(getequiprefinerycnt(EQI_GARMENT)/2)); bonus bMaxSPrate,44; }
 20783:4174,{ bonus2 bSubEle,Ele_Neutral,-50; }
 20797:2339,{ bonus bInt,15; bonus bMaxHPrate,5; bonus bMaxSPrate,5; if (getequiprefinerycnt(EQI_ARMOR) > 6) bonus bNoCastCancel; }
 20797:4174,{ bonus2 bSubEle,Ele_All,50; bonus2 bSubEle,Ele_Neutral,-50; }
+20799:1752:1730,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20799:1754:1731,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20799:1755:1733,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20799:1756:1732,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSkillAtk,"RA_ARROWSTORM",(5*.@r); bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",(5*.@r); if(getequiprefinerycnt(EQI_HAND_R)>=10) { bonus bAspd,1; } }
+20800:4045,{ bonus bLongAtkDef,-35; }
+20813:22170,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus bMatkRate,10; if (.@r>=7) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } if (.@r>=9) { bonus2 bSubEle,Ele_Earth,15; bonus2 bSubEle,Ele_Wind,15; } }
+20813:4174,{ bonus2 bSubEle,Ele_Neutral,-30; }
+20814:4588,{ bonus bBaseAtk,-5*readparam(bStr)/10; }
 20819:5397,{ bonus bAspd,1; bonus bNoCastCancel; }
+20831:4596,{ bonus bMatk,-5*(readparam(bInt)/10); }
 20838:26109,{ bonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10; .@eq = getequiprefinerycnt(EQI_GARMENT); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus2 bSkillAtk,"SO_EARTHGRAVE",40; } if ((.@eq + .@weapon) >= 18) { bonus2 bMagicAtkEle,Ele_Neutral,10; bonus2 bMagicAtkEle,Ele_Earth,10; if ((.@eq + .@weapon) >= 22) { bonus2 bMagicAtkEle,Ele_Water,10; } } }
 20840:28725,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 80; if (.@weapon >= 7 && .@eq >= 7) { .@val += 80; } if ((.@weapon + .@eq) >= 18) { .@val += 40; } if ((.@weapon + .@eq) >= 22) { bonus2 bMagicAtkEle,Ele_Fire,15; } bonus bMatk,.@val; }
+20846:22000,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22001,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22002,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22003,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22004,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22005,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22006,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bBaseAtk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22007,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAddItemHealRate,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22008,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bLongAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22009,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bMatk,30; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22010,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
+20846:22011,{ bonus bMaxHPrate,15; bonus bMdef,10; bonus bCritAtkRate,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; }
 20847:28745,{ .@weapon = getequiprefinerycnt(EQI_HAND_R); .@eq = getequiprefinerycnt(EQI_GARMENT); .@val = 10; if (.@weapon >= 7 && .@eq >= 7) { bonus bCritAtkRate,15; } if ((.@weapon + .@eq) >= 18) { .@val += 15; if ((.@weapon + .@eq) >= 22) { skill "TF_DOUBLE",4; bonus bDoubleRate,20; } } bonus bAspdRate,.@val; }
+20859:4121,{ bonus bPerfectHitAddRate,50; bonus2 bResEff,Eff_Stone,10000; }
+20863:4593,{ bonus bLongAtkRate,-1*readparam(bDex)/10; }
+20922:4306,{ bonus2 bSubEle,Ele_Neutral,20; bonus bMaxHPrate,10; bonus bMdef,10; }
+20925:22035,{ bonus bAgi,10; bonus bInt,10; bonus bVariableCastrate,-10; bonus2 bSubRace,RC_Player,5; }
+20925:22036,{ bonus bStr,10; bonus bDex,10; bonus bDelayrate,-20; bonus2 bSubRace,RC_Player,5; }
+20925:22037,{ bonus bVit,10; bonus bLuk,10; bonus bHealPower,20; bonus2 bSubRace,RC_Player,5; bonus bUseSPrate,-10; }
+20931:1752,{ bonus2 bSubEle,Ele_Fire,75; }
+20931:1754,{ bonus2 bSubEle,Ele_Water,75; }
+20931:1755,{ bonus2 bSubEle,Ele_Wind,75; }
+20931:1756,{ bonus2 bSubEle,Ele_Earth,75; }
 20933:22196,{ bonus bCritAtkRate,10; }
 20933:22197,{ bonus bVariableCastrate,-10; }
 20934:22196,{ bonus bLongAtkRate,10; }
 20934:22197,{ bonus2 bMagicAtkEle,Ele_All,10; }
+20941:4197,{ bonus bFlee,20; bonus bMaxHPrate,10; bonus bMdef,10; }
+20969:1752,{ bonus2 bSubEle,Ele_Fire,75; }
+20969:1754,{ bonus2 bSubEle,Ele_Water,75; }
+20969:1755,{ bonus2 bSubEle,Ele_Wind,75; }
+20969:1756,{ bonus2 bSubEle,Ele_Earth,75; }
 21050:22190,{ bonus bLongAtkRate,3; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bVariableCastrate,-10; } if ((.@eq + .@weapon) >= 18) { bonus bFixedCast,-500; if ((.@eq + .@weapon) >= 22) { bonus2 bSkillAtk,"RK_DRAGONBREATH",20; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",20; } } }
 22069:2195,{ bonus2 bSubEle,Ele_Neutral,5; bonus2 bAddEle,Ele_Neutral,getequiprefinerycnt(EQI_HAND_L); }
 22069:20753,{ bonus2 bAddEle,Ele_Neutral,5; .@r = getequiprefinerycnt(EQI_GARMENT); bonus bMaxHPrate,.@r; bonus bMaxSPrate,.@r; }
@@ -735,7 +870,12 @@
 22101:29151,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus2 bSubEle,Ele_Neutral,2; } if(.@r >= 9) { bonus2 bSubEle,Ele_Neutral,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29152,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bLongAtkRate,2; } if(.@r >= 9) { bonus bLongAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
 22101:29153,{ bonus bMaxHPRate,5; bonus bMaxSPRate,5; .@r = getequiprefinerycnt(EQI_SHOES); if(.@r >= 7) { bonus bCritAtkRate,2; } if(.@r >= 9) { bonus bCritAtkRate,3; } if(.@r >= 12) { bonus bDelayrate,-5; } }
+22104:1646,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getskilllv("WZ_FROSTNOVA"); .@c = getskilllv("WZ_WATERBALL"); bonus2 bMagicAtkEle,Ele_Water,4*.@r; bonus2 bIgnoreMdefClassRate,Class_Normal,5*.@b; bonus2 bIgnoreMdefClassRate,Class_Boss,5*.@b; bonus2 bSkillAtk,"WZ_WATERBALL",(30*.@c)+(20*.@r); }
+22106:1387,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus2 bSubRace,RC_DemiHuman,30; bonus2 bSubRace,RC_Player,30; if (.@b>=7) { bonus2 bSkillAtk,"WS_CARTTERMINATION",8; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"WS_CARTTERMINATION",12; bonus2 bAddClass,Class_Boss,30; } } }
+22106:1490,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,40; bonus2 bSubRace,RC_Player,40; bonus4 bAutoSpellOnSkill,"LK_SPIRALPIERCE","RK_SONICWAVE",getskilllv("RK_SONICWAVE"),10000; if (.@r>=7) { bonus2 bSkillAtk,"RK_SONICWAVE",20; bonus2 bSkillAtk,"LK_SPIRALPIERCE",20; bonus2 bSubClass,Class_Boss,20; } if (.@r>=9) { bonus2 bSkillAtk,"RK_SONICWAVE",30; bonus2 bSkillAtk,"LK_SPIRALPIERCE",30; bonus2 bSubClass,Class_Boss,30; } }
+22106:18122,{ .@r = getequiprefinerycnt(EQI_SHOES); .@b = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { bonus bLongAtkRate,3*(readparam(bStr)/10); if (.@b>=7) { bonus2 bSkillAtk,"RA_ARROWSTORM",20; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; bonus2 bAddClass,Class_Boss,20; } if (.@b>=9) { bonus2 bSkillAtk,"RA_ARROWSTORM",30; bonus2 bSkillAtk,"RA_AIMEDBOLT",30; bonus2 bAddClass,Class_Boss,30; } } }
 22106:2160,{ .@r = getequiprefinerycnt(EQI_SHOES); if (.@r > 6) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } if (.@r > 8) { bonus2 bSubSize,Size_Large,2; bonus2 bSubClass,Class_Boss,2; } }
+22120:1631,{ .@r = getequiprefinerycnt(EQI_HAND_R); .@cast = -5*getskilllv("AB_ORATIO"); bonus2 bVariableCastrate,"AB_JUDEX",.@cast; bonus2 bVariableCastrate,"AB_ADORAMUS",.@cast; if (.@r >= 7) { .@magic = 30; if (.@r >= 9) { .@magic += 20; .@dmg = 20; } bonus2 bMagicAddRace,RC_Demon,.@magic; bonus2 bMagicAddRace,RC_Undead,.@magic; bonus2 bMagicAddEle,Ele_Undead,.@magic; bonus2 bMagicAddEle,Ele_Dark,.@magic; } bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg + 10*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")+getskilllv("AB_CLEARANCE")); }
 22122:28443:28444,{ bonus bAspdRate,4; bonus bHit,4; }
 22123:28445:28446,{ bonus bAspdRate,8; bonus bHit,8; }
 22124:28447:28448,{ bonus bAspdRate,8; bonus bHit,8; bonus2 bExpAddClass,Class_All,2; }
@@ -753,6 +893,12 @@
 22126:28471:28472,{ bonus bAspdRate,10; bonus bHit,10; bonus2 bExpAddClass,Class_All,2; bonus bSpeedAddRate,25; }
 22133:26007,{ bonus bAspdRate,8; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus bLongAtkRate,10; if ((.@eq + .@weapon) >= 22) { .@val += 30; } } if (.@val) { bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@val; } }
 22133:32005,{ bonus bBaseAtk,40; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { .@val = 20; } if ((.@eq + .@weapon) >= 18) { bonus2 bAddClass,Class_All,10; if ((.@eq + .@weapon) >= 22) { .@val += 20; } } if (.@val) { bonus2 bSkillAtk,"RK_HUNDREDSPEAR",.@val; } }
+22138:20815,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bSubEle,Ele_Holy,30-(2*getskilllv("CR_TRUST")); bonus2 bSubEle,Ele_Dark,30; bonus bFixedCastrate,-50; if (.@r > 8) .@val = 20; else if (.@r > 6) .@val = 10; bonus2 bMagicAtkEle,Ele_Fire,.@val; bonus2 bMagicAtkEle,Ele_Neutral,.@val; bonus2 bMagicAtkEle,Ele_Dark,.@val; }
+22138:20815:1643,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bMagicAtkEle,Ele_Fire,4*getskilllv("WZ_FIREPILLAR"); bonus2 bMagicAtkEle,Ele_Neutral,6*getskilllv("HW_GRAVITATION"); if (.@r > 8) .@val = 2; else if (.@r > 6) .@val = 1; bonus2 bSkillAtk,"WL_HELLINFERNO",100*.@val; bonus2 bMagicAddRace,RC_DemiHuman,20*.@val; bonus2 bMagicAddRace,RC_Player,20*.@val; }
+22138:4876,{ bonus2 bMagicAtkEle,Ele_Fire,-50; bonus2 bMagicAtkEle,Ele_Neutral,-50; bonus2 bMagicAtkEle,Ele_Dark,-50; }
+22170:1618,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
+22170:1620,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; bonus2 bIgnoreMdefClassRate,Class_All,50; if (.@r>=10) { bonus2 bMagicAtkEle,Ele_Neutral,80; bonus2 bMagicAddRace,RC_Demihuman,20; bonus2 bMagicAddRace,RC_Player,20; bonus2 bSkillCooldown,"WL_EARTHSTRAIN",-2400; bonus2 bSkillCooldown,"WL_CHAINLIGHTNING",-1000; autobonus "{ bonus2 bSkillAtk,\"WL_CHAINLIGHTNING\",100; }",60,5000,BF_MAGIC; } }
+22170:19020,{ .@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; if (.@r>=7) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } if (.@r>=9) { bonus2 bMagicAtkEle,Ele_Earth,10; bonus2 bMagicAtkEle,Ele_Wind,10; } }
 22171:13345,{ autobonus "{ bonus bStr,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 //22171:26154,{ autobonus "{ bonus bInt,20; bonus bMatkRate,15; }",20,7000,BF_MAGIC; /* unknown rate */ }
 22171:26155,{ autobonus "{ bonus bLuk,20; bonus bMatkRate,15; bonus2 bAddClass,Class_All,15; }",20,7000,BF_MAGIC|BF_WEAPON; /* unknown rate */ }
@@ -763,6 +909,8 @@
 //22171:28631,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,15; }",3,7000,BF_WEAPON; /* unknown rate */ }
 22171:28763:28764,{ autobonus "{ bonus bStr,20; bonus2 bAddClass,Class_All,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
 22171:32302,{ autobonus "{ bonus bDex,20; bonus bLongAtkRate,10; }",20,7000,BF_WEAPON; /* unknown rate */ }
+22172:15042,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bSpeedRate,25; bonus bCritAtkRate,4*(readparam(bluk)/20); if (.@r>=7) { bonus bAspdRate,8; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player,8; bonus2 bSkillAtk,"HT_BLITZBEAT",40; bonus2 bSkillAtk,"SN_SHARPSHOOTING",50; } if (.@r>=9) { bonus bAspdRate,4; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bSkillAtk,"HT_BLITZBEAT",20; bonus2 bSkillAtk,"SN_SHARPSHOOTING",25; } }
+22172:15043,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bHPGainValue,500; bonus bSpeedRate,25; bonus2 bSkillAtk,"RA_CLUSTERBOMB",30*(readparam(bint)/20); bonus2 bSkillUseSP,"RA_ELECTRICSHOCKER",30; if (.@r>=7) { bonus bFlee2,6; bonus2 bSubRace,RC_DemiHuman,8; bonus2 bSubRace,RC_Player,8; bonus2 bSkillAtk,"RA_CLUSTERBOMB",400; bonus2 bSkillAtk,"RA_AIMEDBOLT",20; } if (.@r>=9) { bonus bFlee2,3; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; bonus2 bSkillAtk,"RA_CLUSTERBOMB",200; bonus2 bSkillAtk,"RA_AIMEDBOLT",10; } }
 22190:28254,{ bonus2 bAddClass,Class_All,10; .@eq = getequiprefinerycnt(EQI_SHOES); .@weapon = getequiprefinerycnt(EQI_HAND_R); if (.@eq >= 7 && .@weapon >= 7) { bonus bLongAtkRate,5; } if ((.@eq + .@weapon) >= 18) { bonus2 bSkillAtk,"RL_FIRE_RAIN",20; bonus2 bSkillCooldown,"RL_FIRE_RAIN",-2000; if ((.@eq + .@weapon) >= 22) { autobonus3 "{ bonus bBaseAtk,50; bonus2 bAddRace,RC_Brute,50; bonus2 bAddRace,RC_Demon,50; }",5,10000,"RL_R_TRIP"; /* unknown rate */ } } }
 24012:24013:24014:24015:24016:24017,{ bonus bAllStats,3; }
 24018:24019:24020,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus2 bAddClass,Class_All,1; } }
@@ -947,12 +1095,46 @@
 28022:28509,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,10; if (.@r >= 9) { bonus bCritAtkRate,10; if (.@r >= 11) { bonus2 bAddRace,RC_Brute,25; } } }
 28315:28317,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
 28316:28318,{ bonus2 bAddClass,Class_All,4; bonus bMatkRate,4; }
+28320:22016,{ .@val = min(12,getequiprefinerycnt(EQI_SHOES)); bonus2 bAddRace,RC_DemiHuman,.@val; bonus2 bAddRace,RC_Player,.@val; }
 28321:28322,{ bonus bUseSPrate,-(getskilllv("HT_BEASTBANE") * 2); }
 28326:28327,{ bonus bInt,8; bonus bStr,8; }
 28358:18521,{ skill "AS_CLOAKING",1; }
+28430:4803,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bSkillUseSP,"AB_EPICLESIS",100; bonus2 bSkillCooldown,"AB_EPICLESIS",-10000; }
+28430:4804,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bVariableCastrate,"AB_CHEAL",-100; bonus2 bSkillUseSP,"AB_CHEAL",20; }
+28430:4805,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bVariableCastrate,"AB_HIGHNESSHEAL",-100; }
+28430:4850,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,3; bonus2 bSkillCooldown,"AB_HIGHNESSHEAL",-1000; }
+28433:4817,{ bonus bCritAtkRate,10; }
+28433:4818,{ bonus bCritAtkRate,10; }
+28434:4810,{ bonus bMaxSP,100; bonus2 bAddClass,Class_All,5; }
+28434:4811,{ bonus bMaxSP,100; bonus2 bAddClass,Class_All,5; }
+28437:4814,{ bonus bVariableCastrate,-5; bonus2 bMagicAddRace,RC_All,5; }
+28437:4815,{ bonus bVariableCastrate,-5; bonus2 bMagicAddRace,RC_All,5; }
+28438:4832,{ bonus bDelayrate,-5; bonus bLongAtkRate,5; }
+28438:4833,{ bonus bDelayrate,-5; bonus bLongAtkRate,5; }
+28491:4817,{ bonus bHit,15; bonus bCriticalLong,10; }
+28491:4818,{ bonus bHit,15; bonus bCriticalLong,10; }
 28499:28920,{ bonus bFlee2,10; }
+28501:4807,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
+28501:4842,{ bonus bAspd,1; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,1; bonus2 bSubRace,RC_Undead,1; }
+28502:2201,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2202,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2203,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28502:2204,{ .@a = (readparam(bStr)+readparam(bLuk))/80; .@b = (readparam(bAgi)+readparam(bVit))/80; .@c = (readparam(bInt)+readparam(bDex))/80; bonus bMaxHPrate,5*.@b; bonus2 bAddClass,Class_All,6*.@a; bonus bMatk,120*.@c; bonus bCritical,5*.@a; bonus bAspdRate,5*.@b; bonus bVariableCastrate,-3*.@c; bonus bCritAtkRate,10*.@a; bonus2 bSubRace,RC_DemiHuman,((2*.@b)+2); bonus2 bSubRace,RC_Player,((2*.@b)+2); bonus bHealPower,10*.@c; }
+28506:1414,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { @val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
+28506:1449,{ .@r = getequiprefinerycnt(EQI_HAND_R); if (.@r>=7) { .@val = 30; if (.@r>=9) { @val += 20; bonus2 bAddClass,Class_Boss,.@val; bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddRace,RC_Fish,.@val; bonus2 bAddRace,RC_Insect,.@val; bonus2 bSkillAtk,"RK_WINDCUTTER",.@val; if (.@r>=10) { bonus2 bVariableCastrate,"RK_WINDCUTTER",-50; } } } }
+28506:15037,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus2 bResEff,Eff_Freeze,10000; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if (.@r>=9) { bonus bMaxHPrate,15; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } }
+28506:15037:2476:2575:2884,{ autobonus3 "{bonus bDelayrate,-70;}",1000,10000,"LK_AURABLADE","{specialeffect2 EF_ENHANCE;}"; }
+28506:2476,{ .@r = getequiprefinerycnt(EQI_SHOES); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } if (.@r>=9) { bonus bAspdRate,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } }
+28506:2575,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSkillUseSP,"RK_WINDCUTTER",18; bonus2 bSubRace,RC_Player,3; if (.@r>=7) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } if (.@r>=9) { bonus bLongAtkDef,10; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; } }
+28506:2884,{ bonus2 bAddClass,Class_All,5; bonus bMaxSPrate,5; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player,4; }
 28508:28612,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; bonus2 bResEff,Eff_Curse,10000; if (.@r >= 11) { bonus bBaseAtk,100; } } }
 28509:28626,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bAspdRate,8; bonus bCritAtkRate,(5*(.@r/2)); if (.@r >= 9) { bonus bCritical,15; if (.@r >= 11) { bonus bBaseAtk,100; } } }
+28594:4875,{ bonus bStr,40; bonus bMaxHPrate,10; }
+28594:4876,{ bonus bInt,40; bonus bMaxSPrate,10; }
+28594:4877,{ bonus bDelayrate,-30; bonus bFlee,40; }
+28594:4878,{ bonus bMdef,40; bonus bVariableCastrate,-20; }
+28594:4879,{ bonus bDex,40; bonus bHit,50; }
+28594:4880,{ bonus bLuk,40; bonus bCritAtkRate,30; }
 28763:28764,{ .@r = getequiprefinerycnt(EQI_HAND_R) + getequiprefinerycnt(EQI_HAND_L); bonus bBaseAtk,10*(.@r/3); bonus2 bAddClass,Class_All,2*(.@r/5); if (.@r >= 14) { .@val = 25; if (.@r >= 16) { bonus2 bSkillCooldown,"KO_JYUMONJIKIRI",-2000; if (.@r >= 18) { .@lvl = max(getskilllv("KG_KAGEHUMI"),getskilllv("OB_ZANGETSU")); skill "KG_KAGEHUMI",.@lvl; skill "OB_ZANGETSU",.@lvl; if (.@r >= 20) { .@val += 25; } } } bonus2 bSkillAtk,"KO_JYUMONJIKIRI",.@val; } }
 28906:2998,{ bonus bLongAtkRate,10; }
 28907:2998,{ bonus bSpeedRate,25; }
@@ -964,4 +1146,10 @@
 32231:15388:15389,{ bonus bMaxHPrate,5; bonus bDelayrate,-5; }
 32232:15388:15389,{ bonus bAspdRate,3; bonus bCritical,7; }
 32233:15388:15389,{ bonus bLongAtkRate,7; bonus bAspd,1; }
+32204:2027,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bInt,2*.@r; bonus2 bSkillAtk,"WL_CRIMSONROCK",.@r; if (.@r>=9) { bonus bMagicHPGainValue,500; bonus bHPGainValue,500; autobonus "{ bonus2 bMagicAtkEle,Ele_Fire,50; }",10,10000,BF_MAGIC,"{ specialeffect2 255; }"; } }
+32204:21018,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus bCritAtkRate,3*.@r; if (.@r>=9) { bonus bCritical,50; bonus2 bAddClass,Class_Boss,25; } }
+32204:28010,{ .@r = getequiprefinerycnt(EQI_HAND_R); bonus2 bAddClass,Class_All,5*.@r; if (.@r>=9) bonus4 bAutoSpellOnSkill,"GC_ROLLINGCUTTER","AB_ORATIO",10,100; }
+32222:15093,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus5 bAutoSpell,"AL_HEAL",10,-(50+.@r),BF_SHORT,0; bonus5 bAutoSpell,"WZ_STORMGUST",10,-(50+.@r),BF_SHORT,1; bonus2 bSkillAtk,"RK_STORMBLAST",5*.@r; bonus2 bSkillAtk,"LG_BANISHINGPOINT",5*.@r; }
+32222:15095,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus5 bAutoSpell,"PR_KYRIE",10,-(50+.@r),BF_SHORT,0; bonus2 bSkillAtk,"AB_JUDEX",5*.@r; bonus2 bSkillAtk,"AB_ADORAMUS",5*.@r; bonus2 bSkillAtk,"SR_DRAGONCOMBO",5*.@r; bonus2 bSkillAtk,"SR_SKYNETBLOW",5*.@r; bonus2 bSkillAtk,"SR_EARTHSHAKER",5*.@r; }
+32222:15096,{ .@r = getequiprefinerycnt(EQI_ARMOR); bonus bAllStats,2*.@r; bonus3 bAddEff,Eff_Stun,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Curse,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Poison,.@r*50,ATF_SHORT; bonus3 bAddEff,Eff_Silence,.@r*50,ATF_SHORT; /* Unknow rates */ }
 32238:32239,{ bonus bVariableCastrate,-10; bonus bMatkRate,10;  }

+ 162 - 2
db/re/item_db.txt

@@ -788,6 +788,7 @@
 1443,Crimson_Spear,Crimson Spear,5,20,,900,90,,3,2,0x00004082,63,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; if(.@r>=5){ .@b += (.@r-5)*15+20; } bonus2 bAddRace2,RC2_BioLab,.@b; },{},{}
 1447,Poison_Forged_Spear,Poison Forged Spear,5,0,,500,150,,3,3,0x00004080,58,2,2,4,100,1,4,{ bonus bAtkEle,Ele_Poison; bonus bCritical,10; skill "TF_DOUBLE",5; bonus bDoubleRate,25; bonus2 bAddEff,Eff_Poison,1000; bonus2 bAddEff2,Eff_Poison,300; },{},{}
+1449,Gelerdria_,Gelerdria,5,20,,700,145,,3,3,0x00004082,63,2,2,4,48,1,4,{ bonus bAtkEle,Ele_Earth; bonus bMaxHP,800; bonus bMaxSP,-50; },{},{}
 //===================================================================
 // 2-Handed Spears
 //===================================================================
@@ -2140,6 +2141,7 @@
 2926,Vit_Glove_,Vit Glove,4,75000,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMaxHP,100; bonus bMaxSP,20; bonus bMaxHP,(readparam(bVit)/10)*50; if(readparam(bVit)>=110) bonus bMaxHPrate,1; },{},{}
 2927,Dex_Glove_,Dex Glove,4,75000,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMaxHP,100; bonus bMaxSP,20; bonus bHit,(readparam(bDex)/10); if(readparam(bDex)>=110) bonus bLongAtkRate,1; },{},{}
 2928,Luk_Glove_,Luk Glove,4,75000,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMaxHP,100; bonus bMaxSP,20; bonus bCritical,(readparam(bLuk)/10); if(readparam(bLuk)>=110) bonus bCritAtkRate,1; },{},{}
+2935,Sprint_Gloves,Sprint Gloves,4,20,,100,,0,,1,0x000FDF80,58,2,136,,1,0,0,{ bonus bVariableCastrate,-1; bonus bDelayrate,-1; },{},{}
 2936,Recovery_Ring,Recovery Ring,4,20,,100,,5,,1,0xFFFFFFFF,63,2,136,,10,0,0,{ bonus bVit,1; bonus bMaxHP,250; bonus bMaxHPrate,5; bonus bHealPower2,5; },{},{}
 2940,Ninja_Manual,Ninja Manual,4,0,,100,,0,,0,0x00000001,63,2,136,,0,0,0,{ bonus bMaxSP,100; skill "NJ_UTSUSEMI",1; skill "NJ_KOUENKA",1; skill "NJ_SYURIKEN",1; },{},{}
 2941,Gunslinger_Manual,Gunslinger Manual,4,0,,100,,0,,0,0x00000001,63,2,136,,0,0,0,{ bonus bMaxSP,100; skill "GS_GLITTERING",1; skill "GS_ADJUSTMENT",1; skill "GS_MADNESSCANCEL",1; skill "GS_INCREASING",1; },{},{}
@@ -4069,7 +4071,11 @@
 5918,Gambler_Seal,Gambler Seal,4,0,,500,,,,0,0xFFFFFFFF,63,2,512,,70,0,1202,{ .@dex = readparam(bDex); .@luk = readparam(bLuk); .@critical = 3 + (.@luk / 10); .@critical_dmg = 3 - (.@dex/10) * 2; .@sub_arrowstorm = 10; .@sub_gateofhell = 10; bonus bBaseAtk,(.@luk/10)*2; bonus bMatk,(.@luk / 10) * 2; if (.@luk > 107) { .@critical += 5; .@critical_dmg += 10; } if (.@luk > 119) { .@critical += 10; .@critical_dmg += 17; .@sub_arrowstorm += 30; .@sub_gateofhell += 30; } bonus bCritical,.@critical; bonus bCritAtkRate,.@critical_dmg; bonus2 bSubSkill,"RA_ARROWSTORM",.@sub_arrowstorm; bonus2 bSubSkill,"SR_GATEOFHELL",.@sub_gateofhell; },{},{}
 5919,Camellia_Hair_Pin,Camellia Hair Pin,4,0,,1000,,,,1,0xFFFFFFFF,63,2,256,,50,1,1203,{ bonus bMdef,20; bonus3 bAutoSpell,"AL_PNEUMA",1,30+getrefine()*5; hateffect(HAT_EF_CAMELLIA_HAIR_PIN,true); /* CONFIRM The Rate*/ },{},{ hateffect(HAT_EF_CAMELLIA_HAIR_PIN,false); }
 5920,Medical_Boots,Medical Boots,4,0,,300,,10,,0,0xFFFFFFFF,63,2,64,,10,1,,{ .@r = getrefine(); bonus bHealPower,10+((.@r/2) * 2); bonus2 bSkillUseSP,"AB_CHEAL",(.@r * 5); },{},{}
+5933,Crow_Tengu_Mask,Crow Tengu Mask,4,20,,300,,0,,0,0xFFFFFFFF,63,2,512,,80,0,1287,{ bonus2 bAddSize,Size_All,1; bonus bLongAtkRate,2; if(readparam(bStr)>=108) { bonus2 bAddSize,Size_All,1; bonus bLongAtkRate,2; } if(readparam(bStr)>=120) { bonus2 bAddSize,Size_All,2; bonus bLongAtkRate,3; } },{},{}
+5937,Flying_Helmet,Flying Helmet,4,1,,300,,5,,1,0xFFFFFFFF,63,2,256,,20,1,820,{ bonus bMdef,5; bonus bHPGainValue,100; bonus2 bSPGainRace,RC_Dragon,5; .@r = getrefine(); if (.@r>=5) { bonus2 bSubRace,RC_Dragon,5; } if (.@r>=7) { bonus2 bSubRace,RC_Dragon,5; } },{},{}
+5938,Octopus_Hat_,Octopus Hat,4,20,,880,,8,,1,0xFFFFFFFF,63,2,256,,60,1,538,{ bonus bMdef,8; bonus bUnbreakableHelm,1; bonus2 bAddItemHealRate,579,50; bonus2 bAddItemHealRate,544,125; bonus2 bAddItemHealRate,551,125; .@r = getrefine(); if (.@r>=5) { bonus2 bAddItemHealRate,579,50; bonus2 bAddItemHealRate,544,125; bonus2 bAddItemHealRate,551,125; } if (.@r>=6) { bonus2 bAddItemHealRate,579,50; bonus2 bAddItemHealRate,544,125; bonus2 bAddItemHealRate,551,125; } if (.@r>=7) { bonus2 bAddItemHealRate,579,50; bonus2 bAddItemHealRate,544,125; bonus2 bAddItemHealRate,551,125; } },{},{}
 5943,Owlviscount_Silk_Hat,Owl Viscount Silk Hat,4,0,,500,,15,,1,0xFFFFFFFF,63,2,256,,70,1,1323,{ bonus bInt,1; bonus bAspdRate,10; .@r = getrefine(); bonus bMatk,7*.@r; autobonus "{ .@r = getrefine(); bonus bAspdRate,(.@r >= 9 ? 40 : ((.@r >= 7) ? 10 : ((.@r >= 5) ? 5 : 1))); }",.@r*20,30000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER; }"; },{},{}
+5945,Well_Chewed_Pencil,Well-Chewed Pencil,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,30,0,931,{ bonus bStr,1; autobonus "{ bonus bAtkEle,Ele_Fire; }",50,60000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; /* Unknow rate and specialeffect */ },{},{}
 5966,KarduiEar,KarduiEar,4,0,,300,,,,0,0xFFFFFFFF,63,2,512,,70,0,1357,{ .@dex = readparam(bDex); bonus bMatk,(.@dex > 10) ? .@dex/10*2 : 0; if (.@dex > 107) { bonus bVariableCastrate,-10; bonus bMatk,60; } if (.@dex > 119) { bonus bVariableCastrate,-5; bonus bMatk,100; } },{},{}
 5967,FlyingGalapago,Flying Galapago,4,0,,500,,,,0,0xFFFFFFFF,63,2,1,,110,0,1358,{ set .@bblvl,max(getskilllv("HT_BLITZBEAT"),1); set .@luk,min(readparam(bLuk),120); bonus bAgi,1; bonus3 bAutoSpell,"HT_BLITZBEAT",.@bblvl,50 + (.@luk / 3) + (.@bblvl * 2); bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW") * 40; },{},{}
 5968,DVAngelNurseCap,DVAngelNurseCap,4,0,,500,,10,,1,0xFFFFFFFF,63,2,256,,50,1,1359,{ if (BaseClass == Job_Acolyte) bonus bHealPower,3; bonus bNoCastCancel; .@r = getrefine(); bonus bHealPower,(.@r > 8) ? 12 : ((.@r > 6) ? 9 : ((.@r > 4) ? 6 : 0)); },{},{}
@@ -8761,8 +8767,11 @@
 15068,Im_Angel's_Protection,Advanced Angelic Protection,4,10000,,600,,40,,1,0x00000001,63,2,16,,99,1,0,{ bonus bMdef,30; },{},{}
 15069,Suit_Of_Sid,Suit Of Sid,4,20,,1000,,30,,0,0xFFFFFFFF,63,2,16,,0,1,0,{},{},{}
 15070,Clothes_of_Happiness,Clothes of Happiness,4,10,,1000,,5,,1,0xFFFFFFFF,63,2,16,,1,1,,{ bonus bMdef,5; bonus bLuk,getrefine(); },{},{}
+15071,Valkyrian_Robe,Valkyrian Robe,4,20,,2800,,55,,1,0x000FFF80,58,2,16,,1,1,0,{ bonus bAllStats,1; bonus bUnbreakableArmor,1; if(BaseClass==Job_Mage||BaseClass==Job_Archer||BaseClass==Job_Acolyte) bonus2 bResEff,Eff_Silence,5000; else if(BaseClass==Job_Swordman||BaseClass==Job_Merchant||BaseClass==Job_Thief) bonus2 bResEff,Eff_Stun,5000; },{},{}
+15072,Nectar_Suit,Nectar Suit,4,20,,300,,35,,1,0xFFFFFFFF,63,2,16,,1,1,0,{ bonus bVit,3; bonus bMdef,5; bonus bMaxHPrate,(getrefine()/2); bonus bMaxSPrate,(getrefine()/2); },{},{}
 15073,Anti_Magic_Suit,Anti-Magic Suits,4,10,,1500,,50,,1,0xFFFFFFFF,63,2,16,,99,1,0,{ .@r = getrefine(); bonus bMaxHPrate,5+((.@r >= 9) ? 2 : 0); bonus bMdef,10+((.@r >= 7) ? 5 : 0); },{},{}
 15074,Geffen_Mage_Robe,Geffen Magic Robe,4,10,,1000,,40,,1,0xFFFFFFFF,63,2,16,,99,1,0,{ .@r = getrefine(); bonus bUseSPrate,-10-((.@r>=7) ? 5: 0); bonus bVariableCastrate,15-((.@r>=9) ? 5: 0); bonus bNoCastCancel2; },{},{}
+15087,Azure_Dragon_Armor,Azure Dragon Armor,4,20,,500,,55,,1,0xFFFFFFFF,63,2,16,,70,1,0,{ bonus bDefEle,Ele_Water; bonus bMdef,5; bonus2 bAddEle,Ele_Water,10; },{},{}
 15088,School_Uniform,School Uniform,4,20,,500,,25,,1,0xFFFFFFFF,63,2,16,,0,1,0,{ bonus bAgi,1; bonus bLuk,1; bonus bMaxHP,BaseLevel*3; bonus bMaxSP,BaseLevel/2; },{},{}
 15089,Menswear,Menswear,4,10,,300,,40,,0,0xFFFFFFFE,63,2,16,,80,1,,{ .@r = getrefine(); bonus bAspdRate,3+((.@r>=7)?2:0); bonus bDelayrate,-3-((.@r>=7)?2:0); bonus bVariableCastrate,-3-((.@r>=7)?2:0); },{},{}
 15090,Armor_Of_Gray,Armor of Gray,4,10,,2400,,90,,1,0x000654E2,56,2,16,,120,1,0,{ bonus bMdef,10; bonus2 bSubEle,Ele_Holy,10+getrefine()*2; },{},{}
@@ -8775,20 +8784,26 @@
 15098,Hero_Taget_Suits,Hero Target Suit,4,10,,200,,60,,1,0x00080808,56,2,16,,160,1,,{ bonus bMaxHPrate,5; bonus bMaxSPrate,5; .@r = getrefine(); bonus bAllStats,1; bonus5 bAutoSpell,"AC_CONCENTRATION",10,(5+.@r)*5,BF_WEAPON,0; bonus5 bAutoSpell,"AC_DOUBLE",10,(5+.@r)*5,BF_WEAPON,1; },{},{}
 15100,Frozen_Breastplate,Frozen Breastplate,4,20,,1500,,20,,1,0xFFFFFFFF,63,2,16,,130,1,0,{ bonus bDefEle,Ele_Water; },{},{}
 15101,Harden_Breastplate,Hardened Breastplate,4,20,,1500,,20,,1,0xFFFFFFFF,63,2,16,,130,1,0,{ bonus bDefEle,Ele_Earth; },{},{}
+15102,Hunter_Mail,Hunter Mail,4,20,,500,,30,,1,0xFFFFFFFF,63,2,16,,50,1,0,{ .@r = getrefine(); if (.@r>5) .@a = (.@r-5); else .@a = 0; bonus2 bAddRace,RC_Brute,3+.@a; bonus2 bMagicAddRace,RC_Brute,3+.@a; },{},{}
 15103,Kirin_Armor,Kirin Armor,4,10,,500,,55,,1,0xFFFFFFFF,63,2,16,,70,,,{ bonus bDefEle,Ele_Holy; },{},{}
 15104,FishingMan_Mail,FishingMan Mail,4,10,,500,,30,,1,0xFFFFFFFF,63,2,16,,50,,,{ bonus2 bAddRace,RC_Fish,10; bonus2 bMagicAddRace,RC_Fish,10; .@r = getrefine(); if(.@r>5){ bonus2 bAddRace,RC_All,.@r; bonus2 bMagicAddRace,RC_All,.@r; } },{},{}
 15105,Kaftan,Kaftan,4,20,,400,,13,,1,0xFFFFFFFF,63,2,16,,0,1,0,{ bonus bMdef,3; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,5; },{},{}
+15106,Engineer_Mail,Engineer Mail,4,20,,500,,30,,1,0xFFFFFFFF,63,2,16,,50,1,0,{ .@r = getrefine(); bonus2 bAddRace,RC_Formless,3; bonus2 bMagicAddRace,RC_Formless,3; if (.@r>5) { bonus2 bAddRace,RC_Formless,.@r-5; bonus2 bMagicAddRace,RC_Formless,.@r-5; } },{},{}
+15108,Venomous_Insect_Armor,Venomous Insect Armor,4,20,,500,,55,,1,0xFFFFFFFF,63,2,16,,70,1,0,{ bonus bDefEle,Ele_Poison; bonus bMdef,5; bonus2 bAddEle,Ele_Poison,10; },{},{}
 15110,Supplement_Part_Str,Supplement Part Str,4,25000,,2000,,80,,,0x00000400,56,2,16,,100,1,0,{ bonus2 bAddClass,Class_All,5+getrefine()/4; },{},{}
 15111,Upgrade_Part_Plate,Reinforced Parts - Gloves,4,10,,3000,,110,,,0x00000400,56,2,16,,100,1,,{ bonus bUnbreakableArmor; bonus2 bSubSize,0,10; bonus2 bSubSize,1,10; .@r = getrefine(); if(.@r>=7){ bonus2 bSubSize,2,10; }; if(.@r>=9){ bonus2 bSubSize,0,5; bonus2 bSubSize,1,5; } },{},{}
 15116,Airship_Armor,Airship's Armor,4,10,,700,,100,,0,0xFFFFFFFF,63,2,16,,125,0,,{ bonus bMaxHP,1000; bonus bMaxSP,100; bonus bMdef,10; bonus bAllStats,1; },{},{}
 15117,Felock_Armor,Felrock's Armor,4,10,,750,,70,,0,0xFFFFFFFF,63,2,16,,125,1,,{ bonus bMaxHP,500; bonus bMaxSP,50; bonus bMdef,10; bonus bAllStats,1; .@r = getrefine(); if(.@r>=7) { bonus bMaxHP,500; bonus bMaxSP,50; } if(.@r>=9) { bonus bMaxHP,200; bonus bMaxSP,20; } if(.@r>=12) { bonus bMaxHP,300; bonus bMaxSP,30; } },{},{}
 15121,Robe_Of_Sarah,Sarah's Battle Robe,4,10,,800,,35,,1,0xFFFFFFFF,63,2,16,,145,1,,{ autobonus "{ bonus bMatk,getrefine()*8; }",3,10000,BF_MAGIC; },{},{}
 15123,Whikebain_Suit,Whikebain Suit,4,0,,900,,56,,1,0x00001000,56,2,16,,105,1,,{ .@r = getrefine(); bonus bCritAtkRate,(.@r>=7)?(6):((.@r>=5)?(4):(0)); bonus3 bAutoSpell,"DC_WINKCHARM",1,10; /* Confirm: Success rate */ },{},{}
+15125,Female_Diver_Suit,Female Diver's Suit,4,20,,300,,20,,1,0xFFFFFFFF,63,2,16,,80,1,0,{ bonus2 bAddMonsterDropItem,579,500+(getrefine()*100); if (getrefine()>=7) { bonus bHPrecovRate,-100; bonus bHPGainValue,100; } },{},{}
 15126,Female_Poring_Balloon,Private Doram Suits,4,20,,700,,80,,1,0x80000000,7,2,16,,100,1,,{ bonus bMaxHP,500; bonus bMaxSP,100; .@r = getrefine()/3; bonus bDex,.@r; bonus bInt,.@r; },{},{}
 15128,Excelion_Suit,Excelion Suit,4,20,,1000,,100,,0,0xFFFFFFFF,63,2,16,,99,1,,{ bonus bVit,6 + (BaseLevel > 129 ? 4 : 0); bonus bMaxHPrate,(getrefine() / 3) * 4; bonus bUnbreakableArmor; },{},{}
 15129,Blue_Bellflower_Hat,Luxury Doram Suit,4,20,,800,,100,,1,0x80000000,7,2,16,,140,1,,{ bonus bMaxHPrate,10; bonus bMaxSPrate,10; .@r = getrefine()/2; bonus bDex,.@r; bonus bInt,.@r; },{},{}
 15138,Aegir_Armor,Aegir Armor,4,10,,1600,,25,,1,0xFFFFFFFF,63,2,16,,40,1,,{ bonus bMaxHP,500; bonus bMaxSP,50; bonus bUnbreakableArmor; },{},{}
 15141,Rift_Ancient_Armor,Rift Ancient Armor,4,10,,500,,30,,1,0xFFFFFFFF,63,2,16,,100,1,,{ .@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1500 : .@r >= 7 ? 900 : 500); bonus bMaxSP,-100; },{},{}
+15143,Vermin_Cloth,Vermin Cloth,4,10,,1200,,30,,1,0xFFFFFFFF,63,2,16,,70,1,0,{ .@r = getrefine(); bonus bMdef,5+.@r; bonus2 bSubRace,RC_Plant,(5+.@r); },{},{}
+15144,Agriculture_Clothes,Agriculture Clothes,4,10,,1200,,30,,1,0xFFFFFFFF,63,2,16,,70,1,0,{ .@r = getrefine(); bonus bMdef,5+.@r; bonus2 bSubRace,RC_Insect,5+.@r; },{},{}
 15145,EvilDragon_Armor,Evil Dragon Armor,4,0,,4000,,60,,1,0xFFFFFFFF,63,2,16,,,1,,{ .@r = getrefine(); bonus2 bHPDrainRate,100,(.@r>=10)?(3):((.@r>=9)?(4):((.@r>=8)?(6):(0))); bonus2 bSPDrainRate,100,(.@r>=10)?(5):((.@r>=9)?(3):((.@r>=8)?(2):(0))); /* Confirm: Success rate and it says no effect if with Rideword, Vanargandr Helm, or Piece Of Angent Skin */ },{},{}
 15146,Flattery_Robe,Flattery Robe,4,20,,100,,0,,1,0xFFFFFFFF,63,2,16,,100,1,,{ skill "SM_ENDURE",1; .@i = BaseLevel; bonus bMatk,(.@i>=140)?(150):((.@i>=120)?(100):(50)); },{},{}
 15147,Invective_Robe,Invective Robe,4,20,,100,,0,,1,0xFFFFFFFF,63,2,16,,100,1,,{ skill "AC_CONCENTRATION",1; .@i = getrefine()*4; bonus2 bIgnoreDefRaceRate,RC_DemiHuman,.@i; bonus2 bIgnoreDefRaceRate,RC_Demon,.@i; bonus2 bIgnoreDefRaceRate,RC_Undead,.@i; },{},{}
@@ -8802,7 +8817,11 @@
 15162,Lounge_Suit,Lounge Suit,4,20,,300,,40,,1,0xFFFFFFFE,63,2,16,,80,1,,{ bonus bAspdRate,3; bonus bCastrate,-3; bonus bDelayrate,-3; if(getrefine() > 6) { bonus bAspdRate,2; bonus bCastrate,-2; bonus bDelayrate,-2; } },{},{}
 15163,Fictitious_Robe,Agenda Robe,4,20,,100,,0,,1,0xFFFFFFFF,63,2,16,,100,1,,{ skill "SA_SPELLBREAKER",1; if (BaseLevel >= 140) { .@val = 14; } else if (BaseLevel >= 120) { .@val = 9; } else { .@val = 5; } bonus bMatkRate,.@val; },{},{}
 15164,Consultative_Robe,Consultation Robe,4,20,,100,,0,,1,0xFFFFFFFF,63,2,16,,100,1,,{ .@r = getrefine(); bonus bVit,5; skill "PA_SACRIFICE",1; bonus2 bSubEle,Ele_Dark,.@r*3; bonus2 bSubEle,Ele_Fire,.@r*3; },{},{}
+15165,Pure_White_Marching_Hat,Pure White Marching Hat,4,20,,300,,0,,1,0xFFFFFFFF,63,2,256,,60,1,1470,{ .@r = getrefine(); bonus bStr,2; autobonus "{ bonus bAtkEle,Ele_Ghost; }",5+.@r,60000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; /* Unknow Rates */ },{},{}
+15166,Rosary_Necklace,Rosary Necklace,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,60,0,1471,{ bonus bFlee2,2; bonus bHealPower,3; },{},{}
+15169,Kardui_Robe,Kardui Robe,4,20,,800,,60,,1,0xFFFFFFFF,63,2,16,,90,1,0,{ bonus bMatk,10; bonus bMdef,5; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; if(getrefine()>=7) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if(getrefine()>=8) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; bonus bUnbreakableArmor,1; } if(getrefine()>=9) { bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } },{},{}
 15174,Surfer_Swimsuit,Surfer Swimsuit,4,20,,100,,1,,1,0xFFFFFFFF,63,2,16,,40,1,,{ bonus bMaxHPrate,(getrefine()/3)+5; bonus bMaxSPrate,(getrefine()/3)+5; },{},{}
+15175,Flame_Dragon_Armor,Flame Dragon Armor,4,20,,400,,100,,1,0xFFFFFFFF,63,2,16,,90,1,0,{ .@r = getrefine(); if (.@r>=9) .@val = 20; else if (.@r>=7) .@val = 10; bonus bAllStats,1; bonus bHit,10+.@val; bonus2 bAddClass,Class_Boss,.@val; },{},{}
 15176,Vigilante_Suit,Vigilante Suit,4,0,,500,,50,,0,0x00020000,56,2,16,,100,1,0,{ .@r = getrefine(); bonus bDex,5; bonus bLongAtkRate,3*(.@r/2); if (.@r>=9) bonus2 bSkillAtk,"SC_TRIANGLESHOT",20; },{},{}
 15177,Elemental_Robe,Elemental Robe,4,0,,500,,40,,0,0x00010000,56,2,16,,100,1,0,{ .@r = getrefine(); bonus bAspdRate,10; bonus bMatk,5*(.@r/2); if (.@r>=9) bonus3 bAutoSpell,"MG_THUNDERSTORM",max(5,getskilllv("MG_THUNDERSTORM")),50; },{},{}
 15178,Golden_Ninja_Suit,Golden Ninja Suit,4,0,,500,,50,,0,0x20000000,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bflee,5*(.@r/2); if (.@r>=9) bonus2 bSkillAtk,"KO_HAPPOKUNAI",20; },{},{}
@@ -8815,12 +8834,24 @@
 15185,Para_Team_Uniform160,Awakened Eden Group Uniform V,4,20,,0,,100,,0,0xFFFFFFFF,63,2,16,,160,,,{ bonus bAllStats,2; bonus bMaxHP,1500; bonus bMaxSP,150; bonus bMdef,15; bonus2 bSubEle,Ele_All,5; bonus2 bSubEle,Ele_Neutral,-5; },{},{}
 15186,Kafra_Uniform,Kafra Uniform,4,20,,500,,40,,1,0xFFFFFFFF,63,2,16,,1,1,,{ bonus2 bExpAddClass,Class_All,5; bonus2 bDropAddClass,Class_All,5; .@r = getrefine(); bonus bMaxHP,100*.@r; bonus bMaxSP,20*.@r; bonus bMaxHPrate,(3*(.@r>=7)+5*(.@r>=9)); bonus bMaxSPrate,(3*(.@r>=7)+5*(.@r>=9)); if(.@r>=12){ bonus bHPrecovRate,100; bonus bSPrecovRate,100; } },{},{}
 15189,Einherjar_Armor,Einherjar Armor,4,20,,800,,60,,1,0xFFFFFFFF,63,2,16,,90,1,,{ bonus bMdef,5; bonus bBaseAtk,10; .@r = getrefine(); if(.@r>=7){ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if(.@r>=8){ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } if(.@r>=9){ bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player,2; } },{},{}
+15191,Khalitzburg_Knight_Armor,Khalitzburg Knight Armor,4,20,,100,,45,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ bonus bLongAtkRate,2*getrefine(); bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Player,1; },{},{}
 15195,Illusion_Puente_Robe,Illusion Puente Robe,4,20,,400,,52,,1,0xFFFFFFFF,63,2,16,,99,1,0,{ bonus bFixedCastrate,-3; .@r = getrefine(); bonus bHealPower2,(5+.@r); bonus bAddItemHealRate,(5+.@r); },{},{}
+15204,Abyss_Dress,Abyss Dress,4,10,,400,,120,,0,0xFFFFFFFF,63,2,16,,90,1,0,{ .@r = getrefine(); bonus bNoKnockback; bonus bUnbreakableArmor; bonus bDefEle,Ele_dark; if (.@r>=5) { .@val = 10; if (.@r>=7) { .@val += 15; if (.@r>=9) { .@val += 15; } } bonus2 bAddEle,Ele_Dark,.@val; bonus2 bAddEle,Ele_Undead,.@val; bonus2 bMagicAddEle,Ele_Dark,.@val; bonus2 bMagicAddEle,Ele_Undead,.@val; bonus2 bAddRace,RC_Undead,.@val; bonus2 bAddRace,RC_Demon,.@val; bonus2 bMagicAddRace,RC_Undead,.@val; bonus2 bMagicAddRace,RC_Demon,.@val; } },{},{}
+15205,Medical_Scrubs,Medical Scrubs,4,20,,1000,,50,,1,0xFFFFFFFF,63,2,16,,100,1,,{ .@r = getrefine(); bonus bMdef,10; bonus bDelayrate,-10; .@val = 1; if (.@r >= 7) { .@def = 50; bonus bUnbreakableArmor,1; .@val += 2; if (.@r >= 8) { .@def += 100; .@val += 3; bonus2 bSubRace,RC_DemiHuman,7; bonus2 bSubRace,RC_Player,7; if (.@r >= 9) { .@def += 150; .@val += 4; bonus2 bResEff,Eff_Stone,5000; } } bonus bDef,.@def; } bonus bHealPower,2*.@val; bonus bHealPower2,.@val; bonus bAddItemHealRate,.@val; },{},{}
+15209,Drake_Coat,Drake Coat,4,20,,1200,,60,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bMaxHP,500; bonus bMaxSP,50; bonus bMdef,10; bonus2 bAddClass,Class_All,3; if (.@r>=7) { bonus bMaxHP,1000; bonus bMaxSP,100; bonus2 bAddClass,Class_All,3; } if (.@r>=9) { bonus bMaxHP,1500; bonus bMaxSP,150; bonus2 bAddClass,Class_All,4; bonus bNoSizeFix; } },{},{}
 15212,YSF01_Plate,YSF01 Plate,4,0,,2100,,78,,1,0xFFFFFFFF,63,2,16,,170,1,0,{ .@r = getrefine(); if (.@r >= 13) { .@val = 11; } else if (.@r >= 11) { .@val = 7; } else if (.@r >= 8) { .@val = 5; } if (readparam(bStr) >= 125) { .@val += .@r; } if (.@val) { bonus2 bAddClass,Class_All,.@val; } },{},{}
 15280,S_Cri_Hit_Armor,Critical Hit Shadow Armor,12,0,,0,,,,0,0xFFFFFFFF,63,2,65536,,1,1,,{ .@r = getrefine(); .@val = 7; bonus bBaseAtk,15; if (.@r > 1) { bonus bCritAtkRate,(.@r/2); if (.@r >= 7) { .@val += 7; } } bonus bCritical,.@val; },{},{}
+15283,Mighty_Black_Threaded_Armor,Mighty Black Threaded Armor,4,20,,800,,60,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bBaseAtk,10; bonus2 bIgnoreDefClassRate,Class_All,10; if (.@r>=7) { bonus bBaseAtk,20; bonus2 bIgnoreDefClassRate,Class_All,20; } if (.@r>=8) { bonus bBaseAtk,20; bonus2 bIgnoreDefClassRate,Class_All,20; bonus bUnbreakableArmor; } if (.@r>=9) { bonus bBaseAtk,30; bonus2 bIgnoreDefClassRate,Class_All,20; } },{},{}
 15348,Illusion_Goibne_Armor,Illusion Goibne Armor,4,0,,3500,,158,,1,0xFFFFFFFE,63,2,16,,130,1,0,{ bonus bMaxHPrate,10; .@r = getrefine(); if (.@r >= 9) { bonus bDef,150; } else if (.@r >= 7) { bonus bDef,50; } },{},{}
+15352,Nature_Dress,Nature Dress,4,10,,400,,120,,0,0xFFFFFFFF,63,2,16,,90,1,0,{ .@r = getrefine(); bonus bNoKnockback; bonus bUnbreakableArmor; bonus bDefEle,Ele_Earth; if (.@r>8) .@a = 40; else if (.@r>6) .@a = 25; else if (.@r>=5) .@a = 10; bonus2 bAddEle,Ele_Earth,.@a; bonus2 bAddEle,Ele_Wind,.@a; bonus2 bMagicAddEle,Ele_Earth,.@a; bonus2 bMagicAddEle,Ele_Wind,.@a; bonus2 bAddRace,RC_Demihuman,.@a; bonus2 bAddRace,RC_Brute,.@a; bonus2 bMagicAddRace,RC_Demihuman,.@a; bonus2 bMagicAddRace,RC_Brute,.@a; bonus2 bAddRace,RC_Player,.@a; bonus2 bMagicAddRace,RC_Player,.@a; },{},{}
 15376,Illusion_Armor_A-type,Illusion Armor A-type,4,0,,1000,,105,,1,0xFFFFFFFF,63,2,16,,130,1,0,{ .@r = getrefine(); bonus bBaseAtk,(100+10*(.@r/2)); if (.@r >= 7) { bonus bAspdRate,10; } },{},{}
 15377,Illusion_Armor_B-type,Illusion Armor B-type,4,0,,1000,,105,,1,0xFFFFFFFF,63,2,16,,130,1,0,{ .@r = getrefine(); bonus bMatk,(100+10*(.@r/2)); if (.@r >= 7) { bonus bVariableCastrate,-10; } },{},{}
+15384,Ritual_Robes,Ritual Robes,4,10,,400,,0,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bHealPower,5; bonus bDelayrate,-10; bonus bMaxHPrate,5; if (.@r>=7) { bonus bMaxHPrate,5; bonus bHealPower,5; } if (.@r>=8) { bonus bMaxHPrate,5; bonus bHealPower,10; bonus bUseSPrate,-10; bonus2 bResEff,Eff_Sleep,10000; } if (.@r>=9) { bonus bMaxHPrate,5; bonus bHealPower,10; } },{},{}
+15405,Fafnir_Scale,Fafnir Scale,4,20,,1500,,120,,0,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bMdef,15; bonus bUnbreakableArmor; bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus2 bSkillAtk,"RK_DRAGONBREATH",50; bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",50; bonus bDelayrate,-2*getskilllv("RK_DRAGONBREATH_WATER"); bonus bLongAtkRate,2*getskilllv("RK_DRAGONBREATH"); if (.@r>=5) { bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bDelayrate,-5; } if (.@r>=7) { bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bDelayrate,-5; } },{},{}
+15409,Bloody_Doll's_Dress,Bloody Doll's Dress,4,10,,500,,40,,1,0xFFFFFFFF,63,2,16,,90,1,0,{ .@r = getrefine(); bonus bMdef,5; bonus bMatk,10; bonus bDex,3; bonus2 bSubRace,RC_Player,7; if (.@r>=7) { bonus bAspdRate,10; bonus bDelayrate,-10; } if (.@r>=8) bonus bUnbreakableArmor; },{},{}
+15417,Armor_of_Purple_Thread,Armor of Purple Thread,4,20,,800,,60,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bBaseAtk,10; bonus bPerfectHitAddRate,5; if (.@r>=7) { bonus bBaseAtk,20; bonus bPerfectHitAddRate,5; } if (.@r>=8) { bonus bBaseAtk,20; bonus bPerfectHitAddRate,10; } if (.@r>=9) { bonus bBaseAtk,30; bonus bPerfectHitAddRate,10; } },{},{}
+15419,Mighty_White_Threaded_Armor,Mighty White Threaded Armor,4,20,,800,,60,,1,0xFFFFFFFF,63,2,16,,100,1,0,{ .@r = getrefine(); bonus bMatk,10; bonus2 bIgnoreMdefRaceRate,RC_All,10; if (.@r>=7) { bonus bMatk,20; bonus2 bIgnoreMdefRaceRate,RC_All,20; } if (.@r>=8) { bonus bMatk,20; bonus2 bIgnoreMdefRaceRate,RC_All,20; bonus bUnbreakableArmor; } if (.@r>=9) { bonus bMatk,30; bonus2 bIgnoreMdefRaceRate,RC_All,20; } },{},{}
+15420,Ice_Prison_Dress,Ice Prison Dress,4,10,,400,,120,,0,0xFFFFFFFF,63,2,16,,90,1,0,{ .@r = getrefine(); bonus bNoKnockback; bonus bUnbreakableArmor; bonus bDefEle,Ele_Water; if (.@r>8) .@a = 40; else if (.@r>6) .@a = 25; else if (.@r>=5) .@a = 10; bonus2 bAddEle,Ele_Fire,.@a; bonus2 bAddEle,Ele_Water,.@a; bonus2 bMagicAddEle,Ele_Fire,.@a; bonus2 bMagicAddEle,Ele_Water,.@a; bonus2 bAddRace,RC_Demihuman,.@a; bonus2 bAddRace,RC_Formless,.@a; bonus2 bMagicAddRace,RC_Demihuman,.@a; bonus2 bMagicAddRace,RC_Formless,.@a; bonus2 bAddRace,RC_Player,.@a; bonus2 bMagicAddRace,RC_Player,.@a; },{},{}
 //===================================================================
 // More Maces
 //===================================================================
@@ -8870,7 +8901,7 @@
 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; },{},{}
 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; },{},{}
 16048,Unity_Mace,Unity Mace,5,20,,400,76,,1,1,0x0004C5B3,63,2,2,3,1,1,8,{ bonus bBaseAtk,pow(getrefine(),2)*125/100; },{},{}
-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; } },{},{}
+16051,Valkyrie_Hammer_,Valkyrie Hammer,5,0,,100,50,,1,4,0x0004C5B3,63,2,2,4,70,1,8,{ .@r = getrefine(); bonus bMatk,50; if (BaseJob==Job_Novice) { bonus bBaseAtk,150; bonus bMatk,200; bonus bUseSPrate,-5; bonus bHit,10; bonus bMaxHP,500+(200*.@r); bonus bMaxSP,400; bonus bVit,.@r; bonus bFlee2,.@r; bonus bAspdRate,.@r; bonus bVariableCastrate,-.@r/2; } if (BaseClass==Job_Swordman) { bonus bVit,.@r; bonus bMaxHP,500; bonus bMaxSP,100; } if (BaseJob==Job_Priest) { bonus bBaseAtk,50; bonus bMatk,100; bonus bAspdRate,.@r; } if (BaseJob==Job_Monk) { bonus bMaxSP,200; bonus bUseSPrate,-5; bonus bFlee2,.@r; } if (BaseClass==Job_Merchant) { bonus bBaseAtk,100; bonus bHit,10; bonus bVariableCastrate,-.@r/2; } },{},{}
 16060,Liquor_Bottle,Liquor Bottle,5,0,,700,120,,1,3,0x0004C5B3,63,2,2,3,100,1,8,{ bonus bUnbreakableWeapon; bonus2 bAddEff,Eff_Stun,(300*getrefine()); },{},{}
 16063,Illusion_Long_Mace,Illusion Long Mace,5,20,,800,185,,3,2,0x00008110,63,2,2,4,99,1,8,{ bonus bLongAtkDef,(10+3*(getrefine()/2)); },{},{}
 16065,Illusion_Iron_Driver,Illusion Iron Driver,5,0,,2000,210,,2,2,0x00000100,56,2,2,4,120,1,8,{ .@r = getrefine(); bonus bAspd,(.@r/2); bonus2 bSkillAtk,"AB_DUPLELIGHT",(3*.@r); },{},{}
@@ -9886,6 +9917,7 @@
 18782,Butterfly_Wing_Ear_J,Butterfly Wing Ear,4,20,,100,,0,,0,0xFFFFFFFF,63,2,512,,0,0,695,{ bonus bDex,2; bonus bUnbreakableHelm; },{},{}
 18785,King_Poring_Hat,King Poring Hat,4,20,,600,,10,,1,0xFFFFFFFF,63,2,256,,10,1,905,{ bonus bDex,1; bonus bLuk,1; .@r = getrefine(); if(.@r>=3){ bonus bDex,(.@r-4); bonus bLuk,(.@r-4); } },{},{}
 18786,Anemos_Mask,Anemos Mask,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,10,0,906,{ bonus bUnbreakableHelm; bonus2 bMagicAtkEle,Ele_Wind,4; },{},{}
+18787,Goal_Tender_Mask,Goal Tender Mask,4,20,,200,,5,,0,0xFFFFFFFF,63,2,513,,50,0,336,{ bonus2 bAddRace,RC_DemiHuman,8; bonus2 bAddRace,RC_Player,8; },{},{}
 18790,Rainbow_Poring_Hat,Rainbow Poring Hat,4,20,,100,,3,,1,0xFFFFFFFF,63,2,256,,0,1,900,{},{},{}
 18791,Shrine_Maiden_Hat,Shrine Maiden Hat,4,20,,200,,30,,1,0xFFFFFFFF,63,2,256,,,,908,{},{},{}
 18792,Idn_Sakkat,Indonesian Independence Sakkat,4,10,,400,,,,0,0xFFFFFFFE,63,2,256,,45,1,901,{ bonus bVit,10; bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bSubRace,RC_DemiHuman,10; },{},{}
@@ -9977,6 +10009,7 @@
 18930,Gorilla_Model_Hat,Gorilla Model Hat,4,10,,300,,10,,1,0xFFFFFFFF,63,2,256,,30,1,1066,{ bonus bStr,2+((getrefine()>=11) ? 3 : 0); bonus3 bAutoSpell,"KN_BOWLINGBASH",1,50; },{},{}
 18931,Lion_Model_Hat,Lion Model Hat,4,10,,300,,10,,1,0xFFFFFFFF,63,2,256,,30,1,1067,{ .@r = getrefine(); bonus bInt,2+((.@r >= 2 && .@r <= 8) ? 1 : ((.@r > 8) ? (.@r/8): 0)); bonus3 bAutoSpellWhenHit,"WZ_METEOR",5,50; },{},{}
 18932,Rhino_Model_Hat,Rhino Model Hat,4,10,,300,,10,,1,0xFFFFFFFF,63,2,256,,30,1,1068,{ .@r = getrefine(); bonus bVit,2+((.@r >= 11) ? (.@r/11) : 0); bonus3 bAutoSpellWhenHit,"WZ_VERMILION",1,50; },{},{}
+18933,Mechanical_Plant_Hat,Mechanical Plant Hat,4,20,,500,,10,,1,0xFFFFFFFF,63,2,256,,45,1,1069,{ .@r = getrefine()/2; bonus bDex,2; bonus bMdef,7; bonus2 bSkillAtk,"GN_SPORE_EXPLOSION",5+(5*.@r); },{},{}
 18934,Fox_Ears_Bell_Ribbon,Fox Ears Bell Ribbon,4,0,,400,,4,,1,0xFFFFFFFF,63,2,256,,50,1,1070,{ bonus bAgi,2; bonus bAspdRate,10; .@r = getrefine(); autobonus "{ .@r = getrefine(); bonus bCritical,100; bonus bLongAtkRate,5+(.@r > 6 ? .@r : 0); }",50+(.@r*2),5000,BF_NORMAL,"{ active_transform 1150,5000; }"; },{},{}
 18936,Golden_Fish,Golden Fish In Mouth,4,1,,10,,1,,0,0xFFFFFFFF,63,2,1,,1,0,1081,{ bonus bAllStats,2; bonus bBaseAtk,10; bonus bMatk,10; bonus2 bExpAddRace,RC_Fish,2; bonus2 bSubRace,RC_Fish,2; },{},{}
 18937,Memories_Of_Lovers,Memories Of Lovers,4,0,,100,,,,0,0xFFFFFFFF,63,2,512,,,1,1072,{ bonus bMdef,7; bonus bMaxHPrate,2; },{},{}
@@ -10022,6 +10055,8 @@
 19051,Warrior_Moon_Cat,Warrior Moon Cat,4,20,,100,,5,,1,0xFFFFFFFF,63,2,256,,1,1,1308,{ /*Enables use of Level 1 Monster's Cry*/ bonus bAllStats,3; bonus2 bHPDrainRate,40,5; bonus2 bSPDrainRate,10,2; },{},{}
 19052,Sigruns_Wing,Rental Sigrun's Wing,4,10,,0,,2,,0,0xFFFFFFFF,63,2,512,,1,0,568,{ if (Class == Job_Swordman || Class == Job_Thief || Class == Job_Merchant || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2) bonus bAspd,1; else if (Class == Job_Mage || Class == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker) { bonus bMatk,5; bonus bHealPower,2; } else if (Class == Job_Archer || Class == Job_Gunslinger) bonus bLongAtkRate,2; else if (Class == Job_Novice || Class == Job_SuperNovice) { bonus bMaxHP,120; bonus bMaxSP,60; } },{},{}
 19053,Fighter_Moon_Cat,Fighter Moon Cat,4,20,,100,,5,,1,0xFFFFFFFF,63,2,256,,1,1,1308,{ /*Enables use of Level 1 Monster's Cry*/ .@r = getrefine(); bonus bAllStats,3; bonus2 bAddEff,Eff_Stun,500+(.@r*100); },{},{}
+19079,Celestial_Woman's_Flower,Celestial Woman's Flower,4,20,,300,,5,,1,0xFFFFFFFF,63,2,256,,20,1,438,{ bonus bHPGainValue,100; bonus bMdef,5; bonus2 bSPGainRace,RC_Undead,5; if (getrefine()>=5) { bonus2 bSubRace,RC_Undead,5; } if (getrefine()>=7) { bonus2 bSubRace,RC_Undead,5; } },{},{}
+19081,Faceworm_Egg_Shell,Faceworm Egg Shell,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,30,1,1356,{ bonus bHit,20; bonus2 bAddRace2,RC2_FACEWORM,5; bonus2 bMagicAddRace2,RC2_FACEWORM,5; bonus2 bSubRace2,RC2_FACEWORM,5; .@r = getrefine(); if (.@r>=5) { bonus2 bAddRace2,RC2_FACEWORM,10; bonus2 bMagicAddRace2,RC2_FACEWORM,10; bonus2 bSubRace2,RC2_FACEWORM,10; } if (.@r>=7) { bonus2 bAddRace2,RC2_FACEWORM,15; bonus2 bMagicAddRace2,RC2_FACEWORM,15; bonus2 bSubRace2,RC2_FACEWORM,15; } if (.@r>=9) { bonus2 bAddRace2,RC2_FACEWORM,20; bonus2 bMagicAddRace2,RC2_FACEWORM,20; bonus2 bSubRace2,RC2_FACEWORM,20; } },{},{}
 19082,Bio_Protector,Bio Protector,4,0,,500,,3,,0,0xFFFFFFFF,63,2,512,,50,1,1366,{ bonus bHit,10; bonus bVariableCastrate,-5; bonus bPerfectHitRate,5; },{},{}
 19083,Mask_of_Hero,Mask of Hero,4,20,,200,,0,,0,0xFFFFFFFF,63,2,512,,70,0,1367,{ bonus bVit,10; bonus bMdef,10; bonus bShortWeaponDamageReturn,1; },{},{}
 19084,Parfaille_Vigilante_Hat,Parfaille Vigilante Hat,4,0,,100,,2,,0,0x80000000,63,2,256,,20,1,1368,{ bonus bLuk,1; bonus3 bAutoSpell,"AL_BLESSING",3,100; },{},{}
@@ -10036,12 +10071,17 @@
 19093,Spinning_Eyes_,Geek Glasses,4,20000,,100,,1,,1,0xFFFFFFFF,63,2,512,,0,0,27,{ bonus2 bResEff,Eff_Blind,800; },{},{}
 19094,Mr_Smile_,Mr. Smile,4,60,,100,,1,,1,0xFFFFFFFF,63,2,513,,0,0,65,{},{},{}
 19095,Happy_Balloon,Happy Balloon,4,0,,10,,0,,0,0xFFFFFFFF,63,2,1,,1,0,1289,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; },{},{}
+19101,Glastheim_Observer,Glastheim Observer,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,80,1,1041,{ bonus2 bAddClass,Class_All,2; bonus bDelayrate,-5; },{},{}
+19102,Pale_Moon_Hat,Pale Moon Hat,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,30,1,913,{ bonus bFlee,20; bonus2 bAddRace2,RC2_THANATOS,5; bonus2 bSubRace2,RC2_THANATOS,5; bonus2 bMagicAddRace2,RC2_THANATOS,5; if(getrefine()>4) { bonus2 bAddRace2,RC2_THANATOS,10; bonus2 bSubRace2,RC2_THANATOS,10; bonus2 bMagicAddRace2,RC2_THANATOS,10; } if(getrefine()>6) { bonus2 bAddRace2,RC2_THANATOS,15; bonus2 bSubRace2,RC2_THANATOS,15; bonus2 bMagicAddRace2,RC2_THANATOS,15; } if(getrefine()>8) { bonus2 bAddRace2,RC2_THANATOS,20; bonus2 bSubRace2,RC2_THANATOS,20; bonus2 bMagicAddRace2,RC2_THANATOS,20; } /* skill 3044,1; */ },{},{}
 19109,Valhalla_Idol,Valhalla Idol,4,0,,300,,2,,0,0xFFFFFFFF,63,2,512,,70,0,1423,{ bonus bMaxSP,50; bonus4 bAutoSpellWhenHit,"MG_SAFETYWALL",10,50,0; hateffect(HAT_EF_VALHALLA_IDOL,true); },{},{ hateffect(HAT_EF_VALHALLA_IDOL,false); }
 19111,Laser_Of_Eagle,Laser of Eagle,4,0,,400,,5,,1,0xFFFFFFFF,63,2,256,,100,1,1424,{ bonus bDex,2; bonus bLongAtkRate,10; bonus5 bAutoSpell,"PR_LEXAETERNA",1,50,BF_LONG,1; /*TODO: Chance to transform become Shechil while attacking.*/ },{},{}
+19112,Tengu_Scroll,Tengu Scroll,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,40,0,1445,{ bonus2 bHPDrainRate,30,5; },{},{}
+19114,Sting_Silk_Ribbon,Sting Silk Ribbon,4,20,,300,,15,,1,0xFFFFFFFF,63,2,256,,70,1,1457,{ bonus bUnbreakableHelm; bonus2 bSubEle,Ele_Earth,20; if(getrefine()>4) { bonus2 bSubSize,Size_All,2; } if(getrefine()>6) { bonus2 bSubSize,Size_All,3; } },{},{}
 19115,Republic_Hat,Republic Hat,4,0,,400,,3,,1,0xFFFFFFFF,63,2,256,,100,1,1458,{ .@r = getrefine(); .@val = 6; if (.@r >= 7) { .@val += 2; } if (.@r >= 9) { .@val += 4; } bonus bLongAtkRate,.@val; },{},{}
 19116,Red_Baby_Dragon,Red Baby Dragon,4,0,,700,,,1,1,0xFFFFFFFF,63,2,256,,90,1,1463,{ .@r=getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus2 bSkillAtk,"RK_DRAGONBREATH",(.@r>=8?45:(.@r>=6?30:15)); bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",(.@r>=8?45:(.@r>=6?30:15)); },{},{}
 19117,Poring_Sunglasses_,Poring Sunglasses,4,0,,10,,0,,0,0xFFFFFFFF,63,2,512,,1,0,954,{ bonus2 bDropAddRace,RC_All,5; bonus2 bExpAddRace,RC_All,5; },{},{}
 19118,Poring_Sunglasses__,Poring Sunglasses,4,0,,10,,0,,1,0xFFFFFFFF,63,2,512,,1,0,954,{ bonus2 bDropAddRace,RC_All,4; bonus2 bExpAddRace,RC_All,4; },{},{}
+19125,Cylinder_Hairband,Cylinder Hairband,4,20,,300,,12,,1,0xFFFFFFFF,63,2,256,,90,1,1477,{ bonus bStr,5; bonus bInt,5; bonus2 bVariableCastrate,"GN_CARTCANNON",-100; bonus2 bSkillUseSP,"GN_CARTCANNON",30; bonus2 bSkillUseSP,"GN_CART_TORNADO",5; bonus2 bSkillAtk,"GN_CARTCANNON",10; bonus2 bSkillAtk,"GN_CART_TORNADO",5; if (getrefine()>=5) { bonus2 bSkillAtk,"GN_CARTCANNON",20; bonus2 bSkillAtk,"GN_CART_TORNADO",10; } if (getrefine()>=8) { bonus2 bSkillAtk,"GN_CARTCANNON",30; bonus2 bSkillAtk,"GN_CART_TORNADO",20; } },{},{}
 19126,Shadow_Booster_,Magical Booster,4,10,,300,,,,1,0xFFFFFFFF,63,2,512,,1,1,873,{ bonus bAspd,1; bonus bDelayrate,-1; },{},{}
 19128,Ifrit's_Ear_,Ears Of Ifrit,4,20,,300,,0,,1,0xFFFFFFFE,63,2,512,,50,0,422,{ bonus bStr,1; bonus bMdef,3; bonus bInt,1; bonus2 bSkillAtk,"MG_FIREBOLT",3; bonus2 bSkillAtk,"WZ_FIREPILLAR",3; bonus2 bSkillAtk,"WZ_METEOR",3; bonus2 bSkillAtk,"SM_BASH",4; bonus2 bSkillAtk,"SM_MAGNUM",4; bonus2 bSkillAtk,"KN_PIERCE",3; bonus2 bSubEle,Ele_Fire,3; bonus2 bSubEle,Ele_Water,-3; },{},{}
 19129,Chick_Hat_,Chick Hat,4,20,,100,,2,,1,0xFFFFFFFF,63,2,256,,10,0,311,{ bonus bLuk,2; bonus bMaxHP,50; bonus bMaxSP,50; skill "TF_DOUBLE",2; bonus bDoubleRate,10; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; },{},{}
@@ -10050,7 +10090,8 @@
 19132,Masquerade_,Masquerade,4,20,,100,,0,,1,0xFFFFFFFE,63,2,512,,0,0,78,{ bonus2 bAddRace,RC_DemiHuman,3; bonus2 bAddRace,RC_Player,3; },{},{}
 19133,Odin_Mask_,Odin's Mask,4,20,,100,,1,,1,0xFFFFFFFF,63,2,513,,1,0,480,{ bonus2 bSubClass,Class_Boss,2; },{},{}
 19134,Wickebines_Black_Cat_Ears,Wickebine's Black Cat Ears,4,20,,200,,4,,1,0xFFFFFFFE,63,2,256,,45,1,368,{ bonus bFlee,10; bonus bCritAtkRate,10; autobonus "{ bonus2 bIgnoreMdefRaceRate,RC_ALL,25; }",50,5000,BF_MAGIC,"{ specialeffect2 EF_AGIUP; }"; },{},{}
-19138,Seraphim_Coronet,Seraphim Coronet,4,20,,300,,0,,0,0xFFFFFFFF,63,2,512,,70,0,1487,{ bonus bStr,2; .@int = readparam(bInt); bonus bBaseAtk,(.@int/8)*5; bonus bHealPower,.@int/8; bonus bVariableCastrate,.@int/8; if ((.@int>108)) { bonus bBaseAtk,50; bonus bHealPower,5; bonus bVariableCastrate,4; } if ((.@int>120)) { bonus bBaseAtk,75; bonus bHealPower,5; bonus bVariableCastrate,2; } },{},{}
+19137,Strawberry_Mouth_Guard,Strawberry Mouth Guard,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,80,0,861,{ bonus bVit,2; bonus bLongAtkDef,5; bonus bShortWeaponDamageReturn,5; if (Baselevel>=100) { bonus bMaxHP,2000; } else { bonus bMaxHP,200; } },{},{}
+19138,Seraphim_Coronet,Seraphim Coronet,4,20,,300,,0,,0,0xFFFFFFFF,63,2,512,,70,0,1487,{ bonus bStr,2; .@int = readparam(bInt); bonus bBaseAtk,(.@int/8)*5; bonus bHealPower,.@int/8; bonus bVariableCastrate,.@int/8; if ((.@int>=108)) { bonus bBaseAtk,50; bonus bHealPower,5; bonus bVariableCastrate,4; } if ((.@int>=120)) { bonus bBaseAtk,125; bonus bHealPower,10; bonus bVariableCastrate,6; } },{},{}
 19139,SurviveOrb,Survive Orb,4,0,,300,,,,0,0xFFFFFFFF,63,2,1,,50,0,1488,{ skill "TF_HIDING",1; bonus2 bAddClass,Class_All,2; bonus bMatkRate,2; bonus bVariableCastrate,-3; },{},{}
 19140,Squirrel_Ear_Hat,Squirrel Ear Hat,4,0,,200,,10,,1,0xFFFFFFFF,63,2,256,,100,1,1486,{ .@r = getrefine(); bonus bAspd,1; bonus bCriticalLong,5; bonus bCritAtkRate,10; bonus2 bIgnoreDefRaceRate,RC_All,10; if (.@r > 4) { bonus bAspd,1; bonus bCriticalLong,10; bonus bCritAtkRate,2; bonus2 bIgnoreDefRaceRate,RC_All,20; } if (.@r > 6) { bonus bAspd,1; bonus bCriticalLong,15; bonus bCritAtkRate,6; bonus2 bIgnoreDefRaceRate,RC_All,30; } if (.@r > 8) { bonus bAspd,1; bonus bCriticalLong,20; bonus bCritAtkRate,12; bonus2 bIgnoreDefRaceRate,RC_All,40; autobonus "{ bonus bCritAtkRate,100; }",70,5000; } },{},{}
 19141,Dolor_Thanatos_Mask,Dolor Thanatos Mask,4,20,,200,,6,,0,0xFFFFFFFF,63,2,513,,100,0,666,{ bonus bMdef,8; bonus bAllStats,1; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,1; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Earth,5; },{},{}
@@ -10077,6 +10118,9 @@
 19165,Para_Team_Hat160,Awakened Eden Group Hat II,4,20,,0,,10,,1,0xFFFFFFFF,63,2,256,,160,1,1530,{ autobonus "{ bonus bBaseAtk,30; }",70,5000,BF_WEAPON,"{ specialeffect2 EF_ENHANCE; }"; autobonus "{ bonus bMatk,30; }",50,5000,BF_MAGIC,"{ specialeffect2 EF_SPELLBREAKER; }"; .@r = getrefine(); if(.@r >= 7){ bonus bAtk,15; bonus bMatk,15; if(.@r >= 9){ bonus bAllStats,2; if(.@r >= 12){ bonus2 bRegenPercentHP,2,10000; bonus2 bRegenPercentSP,1,10000; } } } },{},{}
 19166,RO_Celebration_Hat,RO Celebration Hat,4,20,,140,,14,,1,0xFFFFFFFF,63,2,256,,14,1,1541,{ bonus bMaxSP,140; bonus2 bSPRegenRate,6,4000; },{},{}
 19168,Band_Of_Kafra_,Kafra Staff Headband,4,20,,500,,0,,1,0xFFFFFFFF,63,2,256,,,1,106,{ bonus2 bSubClass,Class_All,5; .@r = getrefine()*10; bonus2 bAddMonsterDropItem,23177,10+.@r; bonus2 bAddMonsterDropItem,7059,10+.@r; bonus2 bAddMonsterDropItem,7060,10+.@r; },{},{}
+19171,Magician_Knit_Hat,Magician Knit Hat,4,20,,500,,10,,1,0xFFFFFFFF,63,2,256,,10,1,854,{ .@r = getrefine(); bonus bMdef,10; bonus2 bAddRace,RC_Undead,5; bonus2 bMagicAddRace,RC_Undead,5; bonus2 bSubRace,RC_Undead,2; bonus bSPGainValue,5; bonus bLongSPGainValue,5; bonus bMagicSPGainValue,5; if (.@r>=7) { bonus bMdef,5; bonus2 bAddRace,RC_Undead,10; bonus2 bMagicAddRace,RC_Undead,10; bonus2 bSubRace,RC_Undead,3; bonus bSPGainValue,10; bonus bLongSPGainValue,10; bonus bMagicSPGainValue,10; } if (.@r>=9) { bonus bMdef,5; bonus2 bAddRace,RC_Undead,10; bonus2 bMagicAddRace,RC_Undead,10; bonus2 bSubRace,RC_Undead,5; bonus bSPGainValue,10; bonus bLongSPGainValue,10; bonus bMagicSPGainValue,10; } },{},{}
+19172,Sitting_Pope_Casual,Sitting Pope Casual,4,1000,,400,,5,,1,0xFFFFFFFF,63,2,256,,100,1,1553,{ bonus bInt,2; bonus bDelayrate,-10; .@r = getrefine(); if (.@r>=7) bonus bDelayrate,-10; if (.@r>=9) bonus bDelayrate,-10; },{},{}
+19173,Floating_Ice,Floating Ice,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,90,0,1562,{ bonus2 bAddItemHealRate,536,100; },{},{}
 19176,Fallen_Angel_Blessing_,Fallen Angel Blessing,4,20,,200,,1,,1,0xFFFFFFFF,63,2,512,,10,0,1250,{ bonus2 bAddRace,RC_Angel,5; bonus2 bSubRace,RC_Angel,5; },{},{}
 19177,Elemental_Crown_,Elemental Crown,4,0,,500,,10,,0,0xFFFFFFFF,63,2,256,,50,1,1219,{ .@r = getrefine(); bonus bDex,3 + (.@r/2); bonus bLongAtkRate,4; },{},{}
 19178,Elemental_Crown__,Elemental Crown,4,0,,500,,10,,1,0xFFFFFFFF,63,2,256,,50,1,1219,{ .@r = getrefine(); bonus bDex,3 + (.@r/2); bonus bLongAtkRate,4; },{},{}
@@ -10090,10 +10134,32 @@
 19247,Illusion_Fancy_Flower,Illusion Fancy Flower,4,0,,100,,0,,1,0xFFFFFFFF,63,2,256,,120,0,4,{ bonus bMatkRate,1; bonus bMatk,(2*getrefine()); },{},{}
 //
 19246,Royal_Guard_Necklace,Royal Guard Necklace,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,1629,{ bonus bAspd,1; },{},{}
+19269,Happy_Flapping_Wings,Happy Flapping Angel Wings,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,30,1,1251,{ .@r = getrefine(); .@a = 15; if (.@r >= 7) .@a += 15; if (.@r>=8) bonus2 bResEff,Eff_Stone,10000; if (.@r>=9) .@a += 20; bonus2 bAddRace2,RC2_CLOCKTOWER,.@a; bonus2 bMagicAddRace2,RC2_CLOCKTOWER,.@a; bonus2 bSubRace2,RC2_CLOCKTOWER,.@a; bonus2 bAddMonsterDropItem,1061,500; /* Unofficial rates, info get from bRO itemdescription */ },{},{}
+19272,Garden_of_Eden,Garden of Eden,4,20,,400,,5,,1,0xFFFFFFFF,63,2,256,,100,1,1653,{ .@r = getrefine(); bonus bInt,5; bonus bDex,5; bonus2 bIgnoreMdefRaceRate,RC_All,20; bonus2 bMagicAtkEle,Ele_All,10; if (.@r>=7) { bonus2 bIgnoreMdefRaceRate,RC_All,30; bonus2 bMagicAtkEle,Ele_All,15; } if (.@r>=9) { bonus2 bIgnoreMdefRaceRate,RC_All,50; bonus bVariableCastrate,-15; } },{},{ sc_end SC_TELEKINESIS_INTENSE; }
+19273,Gemini_Red_Eyes,Gemini Red Eyes,4,20,,100,,0,,0,0xFFFFFFFF,63,2,512,,100,0,1654,{ .@val = 100*(readparam(bVit)>89?50:10); bonus2 bResEff,Eff_Sleep,.@val; bonus2 bResEff,Eff_Stone,.@val; },{},{}
+19274,Open_Air_Headset,Open Air Headset,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,90,0,1655,{ bonus bDelayrate,-5; bonus bUseSPrate,-5; bonus bSPGainValue,5; bonus bMagicSPGainValue,5; bonus bLongSPGainValue,5; },{},{}
+19285,Siegfried's_Helmet,Siegfried's Helmet,4,20,,500,,0,,1,0xFFFFFFFF,63,2,256,,100,1,1055,{ .@r = getrefine(); bonus2 bSubClass,Class_Boss,5; bonus bUnbreakableHelm; if (.@r>=6) { bonus bFlee2,5; bonus2 bSubClass,Class_Boss,5; } if (.@r>=8) { bonus bFlee2,5; bonus2 bSubClass,Class_Boss,10; bonus bNoKnockback; } },{},{}
+19299,Tree_Sprout,Tree Sprout,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,848,{ bonus bVariableCastrate,-5; },{},{}
 19306,Gambler_Card,Heart Card in Mouth,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,1679,{ bonus bCritAtkRate,5; },{},{}
+19326,Book_of_Soyga,Book of Soyga,4,20,,1000,,0,,1,0xFFFFFFFF,63,2,256,,90,1,423,{},{},{}
+19327,Seraphim_Feather,Seraphim Feather,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,80,0,1704,{ bonus bHealPower,5; },{},{}
+19329,Devil's_Hand,Devil's Hand,4,10,,1000,,18,,0,0xFFFFFFFF,63,2,256,,100,1,1018,{ .@r = getrefine(); .@a = getskilllv("SR_RIDEINLIGHTNING"); .@b = getskilllv("SR_EARTHSHAKER"); .@c = getskilllv("SR_RAMPAGEBLASTER"); bonus bNoCastCancel; bonus bAspdRate,10; bonus2 bFixedCastrate,"SR_HOWLINGOFLION",-100; bonus2 bSkillAtk,"SR_HOWLINGOFLION",20; if (.@r>=7) { bonus2 bSkillAtk,"SR_HOWLINGOFLION",30; bonus bAspdRate,5; } if (.@r>=9) { bonus2 bSkillAtk,"SR_HOWLINGOFLION",50; bonus bAspdRate,5; } if (.@r>=10) bonus bIgnoreDefClass,Class_All; if (.@r>=10 && .@a==5) { bonus2 bVariableCastrate,"SR_HOWLINGOFLION",-50; bonus2 bVariableCastrate,"MO_STEELBODY",-50; bonus2 bVariableCastrate,"MO_CALLSPIRITS",-50; } if (.@r>=10 && .@b==5) bonus2 bSkillCooldown,"SR_HOWLINGOFLION",-9500; if (.@r>=10 && .@c==5) bonus2 bAddClass,Class_Boss,50; },{},{}
+19337,Safety_Glasses,Safety Glasses,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,40,1,1721,{ .@r = getrefine(); bonus2 bSubEle,Ele_Poison,10; if (.@r<7) .@a = 15; else if (.@r<9) .@a = 30; else if (.@r>=9) .@a = 50; if (.@r>=8) bonus2 bSubEle,Ele_Poison,15; /* bonus2 bAddRace2,RC2_HEARTHUNTER,.@a; bonus2 bMagicAddRace2,RC2_HEARTHUNTER,.@a; bonus2 bSubRace2,RC2_HEARTHUNTER,.@a; Hearthunter Warbase is not implemented yet */ },{},{}
+19342,Bull_Hat,Bull Hat,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,130,1,819,{ .@r = getrefine(); bonus2 bSubEle,Ele_Wind,10; if (.@r<7) .@a = 15; if (.@r>=7 && .@r<9) .@a = 30; if (.@r>=8) bonus2 bSubEle,Ele_Wind,15; if (.@r>=9) .@a = 50; bonus2 bAddRace2,RC2_ROCKRIDGE,.@a; bonus2 bMagicAddRace2,RC2_ROCKRIDGE,.@a; bonus2 bSubRace2,RC2_ROCKRIDGE,.@a; },{},{}
+19343,Circlet_Of_Phoenix,Circlet Of Phoenix,4,0,,1000,,18,,0,0xFFFFFFFF,63,2,256,,100,1,1056,{ .@r = getrefine(); .@mdef = 15; .@hp = 10; .@dmg = 10; .@cast = -10; bonus2 bFixedCastrate,"LG_OVERBRAND",-100; if (.@r>=7) { .@cast -= 5; .@dmg += 15; if (.@r>=9) { .@cast -= 5; .@dmg += 25; if (.@r>=10) { bonus2 bIgnoreDefClassRate,Class_All,100; } } } if (getskilllv("LG_KINGS_GRACE")>=5) { bonus2 bSkillCooldown,"LG_INSPIRATION",-10000; bonus2 bSkillVariableCast,"LG_INSPIRATION",-2000; } if (getskilllv("LG_MOONSLASHER")>=5) { bonus2 bSkillVariableCast,"LG_OVERBRAND",-1000; } if (getskilllv("LG_FORCEOFVANGUARD")>=5) { .@hp += 10; .@mdef += 15; bonus bMaxSPrate,10; bonus bDef,150; } bonus bMdef,.@mdef; bonus bMaxHPrate,.@hp; bonus2 bSkillAtk,"LG_OVERBRAND",.@dmg; bonus bVariableCastrate,.@cast; },{},{} 
 19344,Illusion_Hot_blooded_Headband,Illusion Hot-blooded Headband,4,0,,100,,3,,1,0xFFFFFFFE,63,2,256,,120,1,154,{ .@r = getrefine(); bonus bStr,2; bonus bBaseAtk,(10*(.@r/2)); if (.@r >= 7) { bonus2 bAddEle,Ele_Water,10; bonus2 bAddEle,Ele_Wind,10; bonus2 bAddEle,Ele_Earth,10; bonus2 bAddEle,Ele_Neutral,10; if (.@r >= 9) { bonus2 bAddSize,Size_Small,15; bonus2 bAddSize,Size_Large,15; } } },{},{}
 19366,Illusion_Goibne_Helm,Illusion Goibne Helm,4,0,,1000,,25,,1,0xFFFFFFFE,63,2,256,,130,1,258,{ .@r = getrefine(); .@vit = 3; if (.@r >= 7) { .@vit += 5; if (.@r >= 9) { bonus bDelayrate,-12; } } bonus bVit,.@vit; bonus bMdef,3; },{},{}
+19379,Striking_Hat,Striking Hat,4,20,,400,,5,,1,0xFFFFFFFF,63,2,256,,100,1,1759,{ .@r = getrefine(); bonus bDex,5; bonus bAgi,5; bonus bLongAtkRate,5; bonus bAspdRate,10; bonus bPerfectHitAddRate,10; bonus bHit,2*.@r; bonus bDelayrate,-2*.@r; if (.@r>=7) { bonus bPerfectHitAddRate,20; bonus bLongAtkRate,10; } if (.@r>=9) { bonus bPerfectHitAddRate,20; bonus bLongAtkRate,10; } },{},{}
+19380,Floating_Ball,Floating Ball,4,10,,200,,,,0,0xFFFFFFFF,63,2,512,,100,,1760,{ bonus bMatk,35; bonus2 bMagicAddClass,Class_Boss,2; if (readparam(bDex)>=90) { bonus bMatk,70; bonus2 bMagicAddClass,Class_Boss,3; } if (readparam(bDex)>=125) { bonus bMatk,140; bonus2 bMagicAddClass,Class_Boss,5; } },{},{}
+19381,Protect_Cloth,Protect Cloth,4,20,,300,,0,,0,0xFFFFFFFF,63,2,1,,90,0,848,{ bonus bMdef,5; bonus bMaxHPrate,5; },{},{}
+19387,Experimental_Goat_Cap,Experimental Goat Cap,4,20,,500,,2,,1,0xFFFFFFFF,63,2,256,,40,1,1768,{ .@r = getrefine(); .@sub = 10; .@dmg = 15; if (.@r >= 7) { .@dmg += 15; if (.@r >= 8) { .@sub += 15; if (.@r >= 9) { .@dmg += 20; } } } bonus2 bSubEle,Ele_Earth,.@val; /*bonus2 bAddRace2,RC2_WERNER_LAB,.@dmg; bonus2 bMagicAddRace2,RC2_WERNER_LAB,.@dmg; bonus2 bSubRace2,RC2_WERNER_LAB,.@dmg; Werner's Central lab is not implemented yet */ },{},{}
+19391,Eyes_Of_Illusion,Eyes Of Illusion,4,20,,500,,2,,0,0xFFFFFFFF,63,2,512,,100,0,1779,{ bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus2 bSubRace,RC_Player,5; bonus2 bResEff,Eff_Blind,10000; if (getskilllv("GN_ILLUSIONDOPING")==5) skill "SA_DISPELL",5; if (getskilllv("GN_MANDRAGORA")==5) bonus2 bFixedCastrate,"GN_MANDRAGORA",-70; },{},{}
+19407,Work_Cap,Work Cap,4,200,,1000,,18,,0,0xFFFFFFFF,63,2,256,,100,1,1793,{ .@r = getrefine(); bonus bMdef,15; bonus bVit,10; bonus2 bSkillAtk,"NC_AXETORNADO",20; bonus2 bVariableCastrate,"BS_GREED",-100; if (getskilllv("NC_MAGICDECOY") >= 5) bonus2 bAddClass,Class_Boss,50; if (getskilllv("NC_AXEBOOMERANG") >= 5) bonus bBaseAtk,100; if (getskilllv("NC_MAGMA_ERUPTION") >= 5) bonus2 bAddMonsterDropItem,732,10; if (.@r>=7) bonus2 bSkillAtk,"NC_AXETORNADO",30; if (.@r>=9) bonus2 bSkillAtk,"NC_AXETORNADO",50; if (.@r>=10) bonus bIgnoreDefClass,Class_All; },{},{}
+19409,Black_Feather_Hat,Black Feather Hat,4,20,,1000,,18,,0,0xFFFFFFFF,63,2,256,,100,1,731,{ .@r = getrefine(); bonus bSPGainValue,50; bonus bLongSPGainValue,50; bonus bMagicSPGainValue,50; bonus bMdef,15; bonus bDex,10; bonus2 bSkillAtk,"SC_FEINTBOMB",10; if (getskilllv("SC_INVISIBILITY") >= 5) bonus2 bAddClass,Class_Boss,50; if (getskilllv("SC_MAELSTROM") >= 3) skill "TK_JUMPKICK",7; if (getskilllv("SC_REPRODUCE") >= 10) bonus bUseSPrate,-30; if (.@r>=7) { bonus2 bSkillAtk,"SC_FEINTBOMB",15; bonus bHit,30; } if (.@r>=9) { bonus2 bSkillAtk,"SC_FEINTBOMB",25; bonus bHit,20; } if (.@r>=10) bonus bIgnoreDefClass,Class_All; },{},{}
+19426,Spirit_King's_Crown,Spirit King's Crown,4,20,,600,,12,,0,0xFFFFFFFF,63,2,256,,100,1,1118,{ .@r = getrefine(); bonus bMdef,15; bonus bFixedCastrate,-7*.@r; bonus bDelayrate,-10; bonus2 bSkillAtk,"SO_EARTHGRAVE",10; bonus2 bSkillAtk,"SO_DIAMONDDUST",10; bonus bVariableCastrate,-6*getskilllv("SO_EL_SYMPATHY"); if (getskilllv("SO_WARMER") >= 5) { bonus2 bSkillCooldown,"SO_EARTHGRAVE",-1000; bonus2 bSkillCooldown,"SO_DIAMONDDUST",-1000; bonus2 bSkillCooldown,"SO_VARETYR_SPEAR",-1000; } if (getskilllv("SO_ELEMENTAL_SHIELD") >= 5) bonus2 bMagicAddClass,Class_Boss,25; if (.@r>=7) { bonus2 bSkillAtk,"SO_EARTHGRAVE",15; bonus2 bSkillAtk,"SO_DIAMONDDUST",15; bonus bDelayrate,-5; } if (.@r>=9) { bonus bDelayrate,-5; bonus2 bSkillAtk,"SO_EARTHGRAVE",25; bonus2 bSkillAtk,"SO_DIAMONDDUST",25; } if (.@r>=10) bonus2 bIgnoreMdefClassRate,Class_All,100; },{},{}
 19428,Illusion_Morpheus's_Hood,Illusion Morpheus's Hood,4,20,,200,,15,,1,0xFFFFFFFF,63,2,256,,130,1,256,{ .@r = getrefine(); bonus bInt,10; bonus bMdef,15; bonus bMaxSPrate,20; bonus bVariableCastrate,-(3*(.@r/2)); if (.@r >= 7) { bonus bMatk,30; if (.@r >= 9) { bonus bNoCastCancel; } } },{},{}
+19453,Jeje_Cap,Jeje Cap,4,20,,1000,,18,,0,0xFFFFFFFF,63,2,256,,100,1,1011,{ .@r = getrefine(); .@dmg = 10; .@delay = -15-6*getskilllv("GN_CRAZYWEED"); bonus bMdef,15; bonus bNoCastCancel; bonus2 bVariableCastrate,"GN_CRAZYWEED",-50; bonus2 bVariableCastrate,"CR_ACIDDEMONSTRATION",-50; bonus2 bVariableCastrate,"CR_FULLPROTECTION",-50; if (.@r>=7) { .@dmg += 15; if (.@r>=9) { .@dmg += 25; if (.@r>=10) { bonus bIgnoreDefClass,Class_All; } } } if (getskilllv("GN_FIRE_EXPANSION") == 5) bonus2 bAddClass,Class_Boss,50; if (getskilllv("GN_CRAZYWEED") == 5) { .@delay -= 25; bonus2 bSkillCooldown,"GN_CRAZYWEED",-4500; } bonus2 bSkillAtk,"CR_ACIDDEMONSTRATION",.@dmg; bonus2 bSkillAtk,"GN_CRAZYWEED",.@dmg; bonus bDelayrate,.@delay; },{},{}
+19469,Saint_Crown,Saint Crown,4,20,,600,,12,,0,0xFFFFFFFF,63,2,256,,100,1,1117,{ .@r = getrefine(); .@a = 5*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")); .@dmg = 20; .@aspd = 10; bonus bMdef,15; bonus2 bSkillUseSP,"AB_JUDEX",15; bonus2 bSkillUseSP,"AB_ADORAMUS",15; bonus2 bVariableCastrate,"AB_JUDEX",-5*getskilllv("AB_ORATIO"); bonus2 bVariableCastrate,"AB_ADORAMUS",-5*getskilllv("AB_ORATIO"); if (getskilllv("AB_CLEARANCE") >= 5) { bonus2 bMagicAddClass,Class_Boss,25; } bonus2 bMagicAddEle,Ele_Undead,.@a; bonus2 bMagicAddEle,Ele_Ghost,.@a; bonus2 bMagicAddEle,Ele_Earth,.@a; bonus2 bMagicAddEle,Ele_Neutral,.@a; bonus2 bMagicAddRace,RC_DemiHuman,2*.@r; bonus2 bMagicAddRace,RC_Player,2*.@r; if (.@r >= 7) { .@dmg += 30; .@aspd += 5; if (.@r >= 9) { .@dmg += 50; .@aspd += 5; if (.@r >= 10) { bonus bNoGemStone; } } } bonus bAspdRate,.@aspd; bonus2 bSkillAtk,"AB_JUDEX",.@dmg; bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg; },{},{}
 //===================================================================
 // Costume System
 //===================================================================
@@ -10996,12 +11062,16 @@
 20709,Mana_Manteau,Mana Manteau,4,0,,0,,,,0,0xFFFFFFFF,63,2,4,,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
 20710,Impr_Angel's_Warmth,Advanced Angelic Cardigan,4,10000,,400,,6,,1,0x00000001,63,2,4,,99,1,0,{ bonus bHPrecovRate,50; },{},{}
 20711,Manteau_Of_Diego,Manteau Of Diego,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,0,1,0,{ bonus bInt,1; bonus bDex,1; bonus bMdef,3; },{},{}
+20712,Valkyrie_Cape,Valkyrie Cape,4,10,,500,,10,,1,0x6007DFFE,58,2,4,,1,1,0,{ .@val = 2 * (min(10,getrefine())/2); if (BaseClass == Job_Mage || BaseClass == Job_Archer || BaseClass == Job_Acolyte) bonus bFlee2,(5+.@val); else if (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) bonus bShortWeaponDamageReturn,(5+.@val); },{},{}
+20714,Assassin's_Muffler,Assassin's Muffler,4,20,,100,,16,,1,0xFFFFFFFF,63,2,4,,50,1,0,{ .@r = getrefine(); if (.@r>5) { bonus bAgi,(.@r-5)*2; } },{},{}
 20717,FaceWorm_Skin,Gigant Snake Skin,4,10,,400,,38,,0,0xFFFFFFFF,63,2,4,,1,1,0,{ bonus bMdef,10; },{},{}
 20718,FaceWorm_Skin_,Gigant Snake Skin,4,10,,400,,38,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ bonus bMdef,10; },{},{}
 20721,Cloak_Of_Gray,Cloak of Gray,4,20,,600,,45,,1,0xFFFFFFFF,56,2,4,,120,1,0,{ bonus2 bSubEle,Ele_Holy,5+getrefine()/2; },{},{}
 20724,Love_Dad_Wings_2012,Love Dad Wings 2012,4,0,,100,,15,,1,0xFFFFFFFF,63,2,4,,1,1,5,{ .@r = getrefine(); if ((readparam(bStr)>89)) { bonus bAllStats,1; bonus bStr,.@r; bonus bMaxHPRate,1; bonus bMaxSPRate,1; } if ((readparam(bAgi)>89)) { bonus bAllStats,1; bonus bAgi,.@r; bonus bMaxHPRate,1; bonus bMaxSPRate,1; } if ((readparam(bVit)>89)) { bonus bAllStats,1; bonus bVit,.@r; bonus bMaxHPRate,1; bonus bMaxSPRate,1; } if ((readparam(bInt)>89)) { bonus bAllStats,1; bonus bInt,.@r; bonus bMaxHPRate,1; bonus bMaxSPRate,1; } if ((readparam(bDex)>89)) { bonus bAllStats,1; bonus bDex,.@r; bonus bMaxHPRate,1; bonus bMaxSPRate,1; } if ((readparam(bLuk)>89)) { bonus bAllStats,1; bonus bLuk,.@r; bonus bMaxHPRate,1; bonus bMaxSPRate,1; } },{},{}
 20725,Ribbon_Piamat,Ribbon Piamat,4,10,,100,0:10,,,1,0xFFFFFFFF,63,2,4,,30,1,7,{ bonus bInt,1; bonus bDex,1; },{},{}
+20726,Fire_Dragon's_Coat,Fire Dragon's Coat,4,20,,300,,0,,1,0xFFFFFFFF,63,2,4,,30,1,0,{ bonus bMaxHPrate,5; bonus2 bMagicAtkEle,Ele_Fire,2; if (getrefine()>=7) { bonus2 bMagicAtkEle,Ele_Fire,3; } bonus2 bMagicAtkEle,Ele_Water,-10; },{},{}
 20727,Brilliant_Golden_Wings,Brilliant Golden Wings,4,10,,0,,,,0,0xFFFFFFFF,63,2,8192,,1,1,5,{},{},{}
+20728,Water_Dragon_Coat,Water Dragon Coat,4,10,,300,,0,,1,0xFFFFFFFF,63,2,4,,30,1,0,{ bonus bMaxHPrate,5; bonus2 bMagicAtkEle,Ele_Water,2; if (getrefine()>=7) { bonus2 bMagicAtkEle,Ele_Water,3; } bonus2 bMagicAtkEle,Ele_Wind,-10; },{},{}
 20730,Loyalists_Hood,Loyalists Hood,4,10,,200,,30,,1,0xFFFFFFFF,63,2,8192,,80,,,{ bonus bStr,2; bonus bMaxHPrate,10; bonus bNoKnockback; bonus2 bSubEle,Ele_All,-20; },{},{}
 20732,Supplement_Part_Con,Supplement Part Con,4,25000,,500,,20,,1,0x00000400,56,2,4,,100,1,,{ .@r = getrefine(); bonus bMaxHPrate,6+(.@r/2); if(.@r>=9){bonus bHPrecovRate,50;} },{},{}
 20733,Upgrade_Part_Engine,Reinforced Parts - Engine,4,10,,1500,,25,,1,0x00000400,56,2,4,,100,1,,{ bonus bDelayrate,-10; .@r = getrefine(); if(.@r>=7) {bonus2 bSubEle,0,10;}; if(.@r>=9) {bonus bDelayrate,-10;} },{},{}
@@ -11018,6 +11088,7 @@
 20763,C_Amistr_Bag,Costume Amistr Bag,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,4,{},{},{}
 20764,C_Fallen_Angel_Wing,Costume Fallen Angel Wing,4,0,,0,,0,,0,0xFFFFFFFF,63,2,8192,,1,0,3,{},{},{}
 20773,Excelion_Wing,Excelion Wing,4,20,,900,,40,,0,0xFFFFFFFF,63,2,4,,99,1,,{ bonus bFlee,getrefine() * 2; bonus bFlee2,8 + (BaseLevel > 129 ? 2 : 0); },{},{}
+20778,Red_Lotus_Stole,Red Lotus Stole,4,20,,700,,8,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); bonus bMaxSPrate,10; bonus bMdef,3; bonus bUseSPrate,-1*(1+(2*.@r/3)); if (.@r>=10) { bonus bSPGainValue,20; } },{},{}
 20779,Rift_Manteau,Rift Manteau,4,20,,500,,16,,1,0xFFFFFFFF,63,2,4,,100,1,,{ .@r = getrefine(); bonus bMaxHP,(.@r >= 9 ? 1300 : .@r >= 7 ? 700 : 300); bonus bMaxSP,-50; },{},{}
 20780,Unity_STR_Manteau,Unity STR Manteau,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bMaxHPrate,2*(.@r/2); } },{},{}
 20781,Unity_AGI_Manteau,Unity AGI Manteau,4,32000,,300,,20,,1,0xFFFFFFFF,63,2,4,,1,1,0,{ .@r = getrefine(); if(BaseLevel<100) { bonus2 bExpAddRace,RC_All,4; bonus bFlee,3*(.@r/2); } },{},{}
@@ -11029,6 +11100,10 @@
 20790,Elegant_Doram_Manteau,Elegant Doram Manteau,4,20,,500,,30,,1,0x80000000,7,2,4,,175,1,,{ bonus bFlee,10; bonus2 bSubEle,Ele_Neutral,5; .@r = getrefine()/2; bonus bFlee2,.@r; bonus bInt,.@r; bonus bDex,.@r; bonus bLuk,.@r; },{},{}
 20797,Etran_Shirt,Etran Shirt,4,0,,150,,,,1,0xFFFFFFFF,63,2,4,,1,1,,{ bonus bMdef,10; bonus bMaxHPrate,2; .@r = getrefine(); if (.@r >= 6) bonus bMaxHPrate,4; if (.@r >= 7) bonus bMaxHPrate,6; if (.@r >= 8) bonus bMaxHPrate,8; if (.@r >= 9) bonus bNoKnockback; },{},{}
 20798,GrimReaper_Protection,Costume Grim Reaper Protection,4,0,,0,,,,0,0xFFFFFFFF,63,2,4096,,1,0,1450,{},{},{}
+20799,Elemental_Towel,Elemental Towel,4,20,,400,,13,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bLongAtkRate,2; if(getrefine()>=7) { bonus2 bSkillUseSP,"RA_ARROWSTORM",20; bonus2 bSkillUseSP,"WM_SEVERE_RAINSTORM",60; } if(getrefine()>=8) { bonus bLongAtkRate,2; } if(getrefine()>=9) { bonus bLongAtkRate,3; } },{},{}
+20800,Enforcer_Cape,Enforcer Cape,4,20,,300,,18,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bMdef,10; if (getskilllv("AS_GRIMTOOTH")==5) { bonus2 bSkillAtk,"AS_GRIMTOOTH",50; } if (getskilllv("GC_CROSSIMPACT") == 5) { bonus2 bSkillAtk,"GC_CROSSIMPACT",5; } if (getskilllv("ASC_BREAKER") == 10) { bonus2 bSkillAtk,"ASC_BREAKER",50; } if (.@r>=7) { .@delay += 3; bonus2 bSkillAtk,"AS_GRIMTOOTH",Baselevel; bonus2 bSkillAtk,"ASC_BREAKER",Baselevel/3; bonus2 bSkillAtk,"GC_CROSSIMPACT",Baselevel/30; } if (.@r>=9) { .@delay += 3; bonus bMaxSPrate,5; } bonus bDelayrate,-.@delay; if(eaclass()&EAJL_THIRD && BaseJob == Job_Assassin) { if (.@r >= 7) { bonus bMaxHPrate,20; bonus bLongAtkDef,35; } else { bonus bMaxHPrate,15; bonus bLongAtkDef,20; } } },{},{}
+20813,Coak_of_Survival,Cloak of Survival,4,1000,,550,,10,,1,0x00810204,63,2,4,,75,1,0,{ bonus bMdef,5; bonus bVit,10; },{},{}
+20814,Wakwak_Manteau,Wakwak Manteau,4,20,,400,,40,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus2 bAddClass,Class_All,5; .@s = readparam(bStr); .@r = getrefine(); if (.@r>=5) { bonus bBaseAtk,2*(.@s/10); } if (.@r>=7) { bonus bBaseAtk,3*(.@s/10); } },{},{}
 20815,SeraphimRobe,Seraphim Robe,4,0,,300,,18,,1,0xFFFFFFFF,63,2,4,,1,1,,{ bonus bMaxHPrate,10; bonus2 bMagicAtkEle,Ele_Neutral,5; .@r = getrefine(); if (.@r > 6) { bonus2 bSubEle,Ele_Dark,20; bonus2 bSubEle,Ele_Holy,20; bonus bMatkRate,10; } if (.@r > 8) { bonus2 bSubEle,Ele_Dark,10; bonus2 bSubEle,Ele_Holy,10; bonus bVariableCastrate,-5; } if (getskilllv("CR_TRUST") > 0) { bonus2 bSubEle,Ele_Holy,.@r*3; } },{},{}
 20819,Oxygen_Bottle,Oxygen Bottle,4,0,,500,,0,,1,0xFFFFFFFF,63,2,4,,40,1,0,{ bonus bFlee,12+getrefine(); bonus bHit,getrefine(); },{},{}
 20820,Elemental_Cape,Elemental Cape,4,0,,500,,12,,0,0x00010000,56,2,4,,100,1,0,{ .@r = getrefine(); bonus bFlee,(10+5*(.@r/3)); bonus2 bSubEle,Ele_Neutral,10; if (.@r>=9) bonus bAspdRate,5; },{},{}
@@ -11039,17 +11114,35 @@
 20825,Para_Team_Manteau160,Awakened Eden Group Manteau III,4,0,,0,,30,,0,0xFFFFFFFF,63,2,4,,160,1,0,{ bonus2 bSubEle,Ele_All,10; bonus bFlee,12; bonus bMaxHP,1000; bonus bFlee2,2; .@r = getrefine(); if(.@r >= 7){ bonus2 bSubEle,Ele_Neutral,5; if(.@r >= 9){ skill "BS_GREED",1; } } },{},{}
 20826,Angel_Feather,Angel Feather,4,0,,200,,18,,1,0xFFFFFFFF,63,2,4,,1,1,18,{},{},{}
 20830,Wings_of_Seraph,Wings of Seraph,4,0,,200,,18,,1,0xFFFFFFFF,63,2,4,,1,1,8,{},{},{}
+20831,Adventurer's_Spirit,Adventurer's Spirit,4,1000,,400,,40,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bInt,5; if (.@r>=5) bonus bMatk,5*(readparam(bInt)/60); if (.@r>=7) bonus bMatk,5*(readparam(bInt)/10); },{},{}
 20834,Drifter's_Cape,Drifter's Cape,4,0,,400,,0,,0,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); .@bonus = 20; if (.@r>=7) { .@bonus += 5; } if (.@r>=9) { .@bonus += 5; } bonus2 bSubEle,Ele_Neutral,.@bonus; },{},{}
+20836,Skin_of_Lindwyrm,Skin of Lindwyrm,4,1000,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bAgi,5; bonus bVit,5; bonus bMdef,10; bonus2 bSubEle,Ele_Fire,5; bonus2 bSubEle,Ele_Water,5; bonus2 bSubRace,RC_Dragon,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; .@r = getrefine(); .@val = (readparam(bAgi)+readparam(bVit))/20; if (.@r>=7) { skill "TF_HIDING",1; if (.@r>=8) { bonus bMaxHPrate,.@val; bonus bVariableCastrate,-1*.@val; if (.@r>=9) { skill "AS_CLOAKING",1; } } } },{},{}
+20837,Skin_of_Gwiber,Skin of Gwiber,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bInt,5; bonus bDex,5; bonus bMdef,10; bonus2 bSubEle,Ele_Dark,5; bonus2 bSubEle,Ele_Undead,5; bonus2 bSubRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,5; .@r = getrefine(); .@val = (readparam(bInt)+readparam(bDex))/20; if (.@r>=7) { bonus bSPGainValue,10; if (.@r>=8) { bonus bBaseAtk,5*.@val; bonus bDelayrate,-2*.@val; if (.@r>=9) { bonus bSPGainValue,10; } } } },{},{}
 20838,Illusion_Muffler,Illusion Muffler,4,20,,400,,8,,1,0xFFFFFFFE,63,2,4,,99,1,0,{ .@r = getrefine(); bonus bMaxHP,(100+(100*.@r)); bonus bMaxSP,(10+(5*.@r)); },{},{}
 20840,Illusion_Ancient_Cape,Illusion Ancient Cape,4,0,,600,,18,,1,0xFFFFFFFE,63,2,4,,100,1,0,{ .@val = min(getrefine(),10)/2; bonus bAgi,(2+.@val); },{},{}
+20845,Maracco_Skin,Malach's Skin,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bStr,5; bonus bLuk,5; bonus bMdef,10; bonus2 bSubEle,Ele_Ghost,5; bonus2 bSubEle,Ele_Holy,5; bonus2 bSubRace,RC_Angel,5; bonus2 bSubRace,RC_Formless,5; .@r = getrefine(); .@s = (readparam(bStr)+readparam(bLuk))/20; if (.@r>=7) { bonus bCritAtkRate,5; if (.@r>=8) { bonus bAspdRate,.@s; bonus bCritical,.@s; if (.@r>=9) { bonus bCritAtkRate,5; } } } },{},{}
+20846,Temporal_Manteau,Temporal Manteau,4,20,,400,,38,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus bMdef,10; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
 20847,Illusion_Survivor_Manteau,Illusion Survivor Manteau,4,0,,550,,30,,1,0x00810204,63,2,4,,130,1,0,{ bonus bVit,15; },{},{}
 20856,YSF01_Manteau,YSF01 Manteau,4,0,,750,,32,,1,0xFFFFFFFF,63,2,4,,170,1,0,{ .@r = getrefine(); if (.@r >= 8) { bonus bBaseAtk,20; if (.@r >= 11) { .@val = -3; if (.@r >= 13) { .@val += -4; } } } if (readparam(bVit) >= 125) { .@val += -10; } if (.@val) { bonus bDelayrate,.@val; } },{},{}
+20859,Phreeoni_Wings,Phreeoni Wings,4,20,,300,,10,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bMaxHPrate,10; bonus bHit,10; if (.@r>=7) bonus bHit,20; if (.@r>=8) bonus bHit,30; if (.@r>=9) bonus bHit,40; if (.@r>=10) bonus bHit,100; },{},{}
+20860,Battle_Surcoat,Battle Surcoat,4,20,,300,,10,,1,0xFFFFFFFF,63,2,4,,70,1,0,{ .@r = getrefine(); if (.@r>=9) { bonus bAspdRate,9; bonus bFlee,30; skill "TF_DOUBLE",10; skill "MO_TRIPLEATTACK",10; bonus bDoubleRate,50; } else if (.@r>=7) { bonus bAspdRate,6; bonus bFlee,20; skill "TF_DOUBLE",5; skill "MO_TRIPLEATTACK",5; bonus bDoubleRate,25; } else { bonus bAspdRate,3; bonus bFlee,10; skill "TF_DOUBLE",3; skill "MO_TRIPLEATTACK",3; bonus bDoubleRate,15; } },{},{}
+20863,Menblatt's_Wings,Menblatt's Wings,4,20,,400,,40,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bBaseAtk,30; if (.@r>=5) bonus bLongAtkRate,readparam(bDex)/60; if (.@r>=7) bonus bLongAtkRate,readparam(bDex)/10; },{},{}
+20922,Leviathan_Muffler,Leviathan Muffler,4,20,,200,,18,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bMdef,5; bonus2 bAddEle,Ele_Water,15+.@r; bonus2 bMagicAddEle,Ele_Water,15+.@r; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bAspdRate,.@r; if (.@r>=10) bonus2 bSubEle,Ele_Water,100; },{},{}
 20923,Illusion_Goibne_Spaulders,Illusion Goibne Spaulders,4,0,,1000,,47,,1,0xFFFFFFFE,63,2,4,,130,1,0,{ .@r = getrefine();  bonus bMdef,2; bonus bVit,1; if (.@r >= 7) { .@val = 5; if (.@r >= 9) { .@val += 10; } } if (.@val) { bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bAddEle,Ele_Earth,.@val; bonus2 bAddEle,Ele_Fire,.@val; } },{},{}
+20925,Commander_Manteau2,Commander Manteau,4,20,,300,,20,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus bMdef,10; bonus bBaseAtk,10; bonus bMatk,10; bonus2 bSubRace,RC_Player,3; if (.@r>=5) { bonus bBaseAtk,20; bonus bMatk,20; bonus bMaxHPrate,7; bonus bMaxSPrate,7; } if (.@r>=7) { bonus bBaseAtk,30; bonus bMatk,30; bonus bMaxHPrate,10; bonus bMaxSPrate,10; } },{},{}
+20931,Prism_Rangers_Scarf,Prism Rangers Scarf,4,20,,300,,12,,0,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; if (.@r >= 7) { .@val = 10; } else if (.@r >= 5) { .@val = 5; } else { .@val = 2; } bonus bMaxHPrate,.@val; bonus bMaxSPrate,.@val; bonus bLongAtkRate,.@val+2*getskilllv("RA_AIMEDBOLT"); if (getskilllv("RA_WUGRIDER") == 3) { bonus2 bSkillCooldown,"RA_UNLIMIT",-180000; } if (getskilllv("RA_CAMOUFLAGE") == 5) { bonus bDelayrate,-10; } bonus2 bSkillCooldown,"RA_ARROWSTORM",-200; bonus2 bSkillAtk,"RA_ARROWSTORM",1; },{},{ sc_end SC_UNLIMIT; }
+20932,Old_Morroc_Shawl,Old Morroc Shawl,4,20,,300,,10,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r= getrefine(); bonus bMaxHPrate,5; bonus bFlee,10; if (.@r>=7) bonus bFlee,20; if (.@r>=8) { bonus bFlee,30; bonus bRestartFullRecover; } if (.@r>=9) bonus bFlee,40; if (.@r>=10) bonus bFlee2,25; },{},{}
 20933,Illusion_Engine_wing_A-type,Illusion Engine wing A-type,4,0,,900,,50,,1,0xFFFFFFFF,63,2,4,,130,1,,{ .@r = getrefine(); bonus bMaxHP,1000+(100*(.@r/2)); if (.@r >= 7) { bonus bAspdRate,5; } },{},{}
 20934,Illusion_Engine_wing_B-type,Illusion Engine wing B-type,4,0,,900,,50,,1,0xFFFFFFFF,63,2,4,,130,1,,{ .@r = getrefine(); bonus bMaxHP,1000+(100*(.@r/2)); if (.@r >= 7) { bonus bVariableCastrate,-5; } },{},{}
+20941,Phoenix_Muffler,Phoenix Muffler,4,20,,200,,18,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bMdef,5; bonus2 bAddEle,Ele_Fire,15+.@r; bonus2 bMagicAddEle,Ele_Fire,15+.@r; bonus2 bSubRace,RC_Player,5; bonus bAspdRate,.@r; if (.@r>=10) bonus2 bSubEle,Ele_Fire,100; },{},{}
+20942,Manteau_Of_Guardsman,Manteau Of Guardsman,4,20,,500,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); bonus bMdef,15; bonus bMaxHPrate,5+3*(.@r/3); bonus bMaxSPrate,5+3*(.@r/3); bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; },{},{}
 20943,Geffen_Magic_Muffler,Geffen Magic Muffler,4,20,,550,,20,,1,0xFFFFFFFE,63,2,4,,99,1,0,{ .@r = getrefine(); .@val = -10;  bonus bMatk,(10*(.@r/2)); bonus bMatkRate,(.@r/3); if (.@r >= 7) { bonus2 bMagicAtkEle,Ele_All,5; } if (.@r >= 9) { .@val -= 10; } bonus bVariableCastrate,.@val; },{},{}
 20944,Anti_Magic_Manteau,Anti Magic Manteau,4,20,,750,,23,,1,0xFFFFFFFE,63,2,4,,99,1,0,{ .@r = getrefine(); bonus bMaxHP,(300+(100*(.@r/2))); bonus bMaxHPRate,(2*(.@r/3)); if (.@r >= 7) { bonus2 bAddClass,Class_All,7; } if (.@r >= 9) { bonus bVariableCastrate,-10; } },{},{}
 20948,Illusion_Morpheus's_Shawl,Illusion Morpheus's Shawl,4,20,,600,,8,,1,0xFFFFFFFF,63,2,4,,130,1,0,{ bonus bMaxSPrate,10; bonus bMdef,5; .@r = getrefine(); if (.@r >= 7) { .@bonus = -10; if (.@r >= 9) { .@bonus -= 10; } bonus bVariableCastrate,.@bonus; } },{},{}
+20949,Ladon_Skin,Ladon's Skin,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus2 bSubRace,RC_Player,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Brute,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Earth,5; bonus bAgi,5; bonus bVit,5; bonus bMdef,10; .@r = getrefine(); if (.@r>=7) { .@val = 10; bonus bSPGainValue,10; bonus bLongSPGainValue,10; if (.@r>=8) { .@s = (readparam(bAgi)+readparam(bVit))/20; bonus bBaseAtk,15*.@s; bonus bHit,5*.@s; if (.@r>=9) { .@val += 10; } } bonus bSPGainValue,.@val; bonus bLongSPGainValue,.@val; } },{},{}
+20952,Nameless_Assassin_Muffler,Nameless Assassin's Muffler,4,20,,100,,10,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r= getrefine(); bonus bMdef,5; bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus2 bSubRace,RC_Player,5; if (.@r>=7) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bAspd,1; bonus bHPGainValue,5; bonus bLongHPGainValue,5; } if (.@r>=8) bonus bSpeedRate,40; if (.@r>=9) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bAspd,1; bonus bHPGainValue,5; bonus bLongHPGainValue,5; } if (.@r>=10) skill "AS_CLOAKING",3; },{},{}
+20962,Typhon_Skin,Typhon's Skin,4,20,,600,,15,,1,0xFFFFFFFF,63,2,4,,100,1,0,{ bonus2 bSubRace,RC_Player,5; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Fish,5; bonus2 bSubEle,Ele_Neutral,5; bonus2 bSubEle,Ele_Poison,5; bonus bAgi,5; bonus bVit,5; bonus bMdef,10; .@r = getrefine(); if (.@r>=7) { .@sp = 10; if (.@r>=8) { .@s = (readparam(bAgi)+readparam(bVit))/20; bonus bMatk,15*.@s; bonus bDef,20*.@s; if (.@r>=9) { .@sp += 10; } } bonus bMagicSPGainValue,.@sp; } },{},{}
+20969,Rainbow_Muffler,Rainbow Muffler,4,20,,300,,12,,0,0xFFFFFFFF,63,2,4,,100,1,0,{ .@r = getrefine(); .@lvl = getskilllv("WM_GLOOMYDAY"); if (.@r >= 7) { .@val = 10; } else if (.@r >= 5) { .@val = 5; } else { .@val = 2; } bonus bMaxHPrate,.@val; bonus bMaxSPrate,.@val; bonus bMatkRate,.@val+(4*.@lvl); bonus2 bSubRace,RC_Player,5; bonus2 bSkillAtk,"WM_METALICSOUND",4*.@lvl; if (getskilllv("WM_FRIGG_SONG") == 5) { bonus2 bSkillCooldown,"WM_METALICSOUND",-200; bonus bAspdRate,10; } if (getskilllv("WM_LULLABY_DEEPSLEEP") == 5) { skill "AL_HEAL",10; bonus bMagicHPGainValue,200; bonus bMagicSPGainValue,20; } },{},{}
 //===================================================================
 // More 2-Handed Swords
 //===================================================================
@@ -11092,7 +11185,10 @@
 22012,Mana_Boots,Mana Boots,4,0,,0,,,,0,0xFFFFFFFF,63,2,64,,1,1,,{ bonus2 bExpAddRace,RC_All,10; },{},{}
 22014,Enhanced_Variant_Shoes,Enhanced Variant Shoes,4,20,,500,,13,,1,0x7CCFDF80,63,2,64,,85,1,0,{ bonus bMaxHPrate,12; bonus bMaxSPrate,12; .@r = getrefine(); bonus bDef,.@r; bonus bMdef,.@r; },{},{}
 22015,Impr_Angel's_Arrival,Advanced Angel's Reincarnation,4,10000,,300,,8,,1,0x00000001,63,2,64,,99,1,0,{ bonus bMaxHP,500; bonus bMaxSP,100; },{},{}
+22016,Assassin's_Shoes,Assassin's Shoes,4,20,,300,,10,,0,0xFFFFFFFF,63,2,64,,30,1,0,{ bonus2 bExpAddRace,RC_DemiHuman,5+getrefine(); },{},{}
+22017,Fisherman_Shoes,Fisherman's Shoes,4,20,,300,,10,,0,0xFFFFFFFF,63,2,64,,30,1,0,{ bonus2 bExpAddRace,RC_Fish,5+getrefine(); },{},{}
 22018,Shoes_Of_Wise_Man,Shoes Of Wise Man,4,10,,300,,15,,1,0xFFFFFFFF,63,2,64,,50,1,,{ .@r = getrefine(); if(.@r>5){ bonus bInt,.@r-5; bonus bMaxHPrate,-(.@r-5); } },{},{}
+22032,Exorcist_Shoes,Exorcist's Shoes,4,20,,300,,10,,0,0xFFFFFFFF,63,2,64,,30,1,0,{ bonus2 bExpAddRace,RC_Demon,5+getrefine(); },{},{}
 22033,Boots_Of_Gray,Boots of Gray,4,20,,400,,25,,1,0xFFFFFFFF,56,2,64,,120,1,0,{ bonus2 bSubEle,Ele_Holy,2+getrefine()/3; },{},{}
 22034,Crimson_Gaiter,Crimson Gaiter,4,0,,500,,10,,0,0xFFFFFFFF,63,2,64,,50,1,,{ bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=7){ bonus bCritical,3; bonus bCritAtkRate,3; } },{},{}
 22035,Vet_Nepen_Heel,Heoric Nepenthes Shoes,4,10,,300,,10,,1,0xFFFFFFFF,63,2,64,,160,1,,{ .@r = getrefine(); if (.@r>=8 && .@r<=10) .@i=5+.@r; else if (.@r>=11 && .@r<=13) .@i=5+(.@r*3); else if (.@r>13) .@i=42; bonus bVariableCastrate,-10-.@i; },{},{}
@@ -11123,6 +11219,7 @@
 22089,Crimson_Gaiter_,Crimson Gaiter,4,0,,500,,10,,1,0xFFFFFFFF,63,2,64,,50,1,,{ bonus bCritical,2; bonus bCritAtkRate,2; if(getrefine()>=7){ bonus bCritical,3; bonus bCritAtkRate,3; } },{},{}
 22101,Angel_Poring_Boots,Angel Poring Boots,4,10,,300,,15,,1,0xFFFFFFFF,63,2,64,,1,1,,{ bonus bAllStats,1; skill "AL_HEAL",1; },{},{}
 22103,Excelion_Leg,Excelion Leg,4,0,,500,,13,,0,0xFFFFFFFF,63,2,64,,100,1,,{ .@r = getrefine(); bonus bMaxHP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; bonus bMaxSP,5+((BaseLevel > 129) ? 4 : 0)+(.@r/3)*3; },{},{}
+22104,Pororoca_Shoes,Pororoca Shoes,4,20,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus bMdef,15; bonus bMatkRate,2; bonus2 bMagicAtkEle,Ele_Water,2; skill "SA_DELUGE",5; if (getrefine()>=5) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Water,3; } if (getrefine()>=7) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bMatkRate,5; bonus2 bMagicAtkEle,Ele_Water,5; } },{},{}
 22106,Giant_Boots,Giant Boots,4,0,,500,,13,,1,0xFFFFFFFF,63,2,64,,1,1,,{ bonus2 bSubRace,RC_All,1; bonus bMaxHPrate,2; bonus bMaxSPrate,2; .@r = getrefine(); if (.@r > 4) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } if (.@r > 6) { bonus bDefRate,2; bonus bMaxHPrate,4; bonus bMaxSPrate,4; } },{},{}
 22107,Modified_Str_Boots,Modified Str Boots,4,20,,600,,25,,0,0x60000000,63,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bAtk,7*(.@r/3); if(readparam(bStr)>=120) bonus bBaseAtk,50; },{},{}
 22108,Modified_Int_Boots,Modified Int Boots,4,20,,600,,25,,0,0x60000000,63,2,64,,99,1,,{ .@r = getrefine(); bonus bMdef,5; bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMatk,10*(.@r/3); if(readparam(bInt)>=120) bonus bMatk,60; },{},{}
@@ -11136,6 +11233,7 @@
 22116,Modified_Vit_Boots_,Modified Vit Boots,4,20,,600,,25,,1,0x60000000,63,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(300*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); if(readparam(bVit)>=120) bonus bMaxHPrate,8; },{},{}
 22117,Modified_Dex_Boots_,Modified Dex Boots,4,20,,600,,25,,1,0x60000000,63,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bDex,3*(.@r/3); if(readparam(bDex)>=120){ bonus bLongAtkRate,5; bonus bFixedCast,-500; } },{},{}
 22118,Modified_Luk_Boots_,Modified Luk Boots,4,20,,600,,25,,1,0x60000000,63,2,64,,99,1,,{ .@r = getrefine(); bonus bMaxHP,300+(100*(.@r/3)); bonus bMaxSP,30+(10*(.@r/3)); bonus bMdef,5; bonus bCritAtkRate,2*(.@r/3); if(readparam(bLuk)>=120) bonus bCritAtkRate,30; },{},{}
+22120,Shoes_of_Punishment,Shoes of Punishment,4,20,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ bonus bMdef,15; bonus bMatkRate,2; bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus2 bSkillAtk,"AB_JUDEX",30; bonus2 bMagicAddEle,Ele_Holy,2; .@r = getrefine(); if (.@r>=5) { bonus bMatkRate,3; bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus2 bMagicAddEle,Ele_Holy,3; } if (.@r>=7) { bonus bMatkRate,5; bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus2 bMagicAddEle,Ele_Holy,5; } },{},{}
 22122,Para_Team_Boots100,Awakened Eden Group Boots I,4,0,,0,,22,,0,0xFFFFFFFF,63,2,64,,100,1,,{ bonus bAllStats,1; bonus bHPrecovRate,30; bonus bSPrecovRate,14; },{},{}
 22123,Para_Team_Boots115,Awakened Eden Group Boots II,4,0,,0,,25,,0,0xFFFFFFFF,63,2,64,,115,1,,{ bonus bAllStats,1; bonus bHPrecovRate,36; bonus bSPrecovRate,18; },{},{}
 22124,Para_Team_Boots130,Awakened Eden Group Boots III,4,0,,0,,27,,0,0xFFFFFFFF,63,2,64,,130,1,,{ bonus bAllStats,2; bonus bHPrecovRate,36; bonus bSPrecovRate,18; },{},{}
@@ -11143,12 +11241,23 @@
 22126,Para_Team_Boots160,Awakened Eden Group Boots V,4,0,,0,,30,,0,0xFFFFFFFF,63,2,64,,160,1,,{ bonus bAllStats,2; bonus bHPrecovRate,40; bonus bSPrecovRate,20; bonus bUseSPrate,-5; },{},{}
 22131,Spurred_Boots,Spurred Boots,4,0,,500,,0,,1,0xFFFFFFFF,63,2,64,,100,1,0,{ .@bonus = 5; if (.@r >=7) { .@bonus += 5; } if (.@r >=9) { .@bonus += 5; } bonus bMaxSPrate,.@bonus; bonus bSpeedRate,25; /* fix me: unknown speed value */ },{},{}
 22133,Illusion_Shoes,Illusion Shoes,4,20,,400,,10,,1,0xFFFFFFFE,63,2,64,,99,1,0,{ .@r = getrefine(); bonus bMaxHP,(100+(100*.@r)); bonus bMaxSP,(10+(5*.@r)); },{},{}
+22134,Enforcer_Shoes,Enforcer Shoes,4,20,,400,,12,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); .@hpsp = 3; .@a = getskilllv("GC_WEAPONCRUSH"); .@b = getskilllv("GC_WEAPONBLOCKING"); .@c = getskilllv("GC_COUNTERSLASH"); if (.@r >= 5) { .@hpsp += 7; .@dmg = BaseLevel; if (.@r >= 7) { .@hpsp += 10; .@dmg += BaseLevel + 30*getskilllv("AS_POISONREACT"); } bonus2 bSkillAtk,"ASC_METEORASSAULT",.@dmg; } bonus bMaxHPrate,.@hpsp; bonus bMaxSPrate,.@hpsp; bonus bMdef,10; skill "BS_MAXIMIZE",1; bonus2 bSkillUseSP,"ASC_METEORASSAULT",8; bonus2 bAddClass,Class_All,4*.@a; bonus2 bSkillCooldown,"GC_HALLUCINATIONWALK",-5000*.@b; bonus2 bIgnoreDefClassRate,Class_All,20*.@c; bonus2 bVariableCastrate,"ASC_METEORASSAULT",-7*(.@a+.@b+.@c); },{},{}
+22138,Devil_Worshipper_Shoes,Devil Worshipper Shoes,4,20,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ bonus bMdef,15; bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus bMatkRate,2; bonus2 bMagicAtkEle,Ele_Neutral,2; bonus2 bMagicAtkEle,Ele_Fire,2; .@r = getrefine(); if (.@r>=5) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Neutral,3; bonus2 bMagicAtkEle,Ele_Fire,3; } if (.@r>=5) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bMatkRate,5; bonus2 bMagicAtkEle,Ele_Neutral,5; bonus2 bMagicAtkEle,Ele_Fire,5; } },{},{}
 22141,YSF01_Greave,YSF01 Greave,4,0,,1300,,25,,1,0xFFFFFFFF,63,2,64,,170,1,0,{ .@r = getrefine(); if (.@r >= 8) { bonus bAspdRate,8; if (.@r >= 11) { bonus bAspd,1; if (.@r >= 13) { .@val = 10; } } } if (readparam(bLuk) >= 125) { .@val += 30; } if (.@val) { bonus bCritAtkRate,.@val; } },{},{}
+22145,Tengu's_Shoes,Tengu's Shoes,4,20,,400,,12,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); .@a = getskilllv("SR_GENTLETOUCH_REVITALIZE"); .@b = getskilllv("SR_GENTLETOUCH_CURE"); .@c = getskilllv("SR_GENTLETOUCH_ENERGYGAIN"); .@hpsp = 3; if (.@r >= 5) { .@hpsp += 7; .@red = 5; if (.@r >= 7) { .@hpsp += 10; .@red += 5; } bonus2 bSkillUseSP,"MO_BODYRELOCATION",.@red; } bonus bMdef,10; bonus bMaxHPrate,.@hpsp+(2*.@b); bonus bMaxSPrate,.@hpsp; skill "SA_CASTCANCEL",1; bonus2 bSkillUseSP,"MO_BODYRELOCATION",5; bonus bDef,30*.@a; bonus2 bSubRace,RC_DemiHuman,.@a; bonus2 bSubRace,RC_Player,.@a; bonus2 bVariableCastrate,"MO_CALLSPIRITS",-.@c*10; bonus2 bVariableCastrate,"MO_STEELBODY",-.@c*10; bonus2 bFixedCastrate,"CH_SOULCOLLECT",-.@c*10; bonus bAspdRate,2*getskilllv("SR_GENTLETOUCH_CHANGE"); bonus2 bAddClass,Class_All,4*getskilllv("SR_GENTLETOUCH_QUIET"); },{},{}
+22170,Survivor's_Shoes,Survivor's Shoes,4,10,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); if (.@r >= 7) { .@hpsp = 20; .@dmg = 10; } else if (.@r >= 5) { .@hpsp = 10; .@dmg = 5; } else { .@hpsp = 3; .@dmg = 2; } bonus bMdef,15; bonus2 bSubRace,RC_DemiHuman,5; bonus2 bSubRace,RC_Player,5; bonus bMaxHPrate,.@hpsp; bonus bMaxSPrate,.@hpsp; bonus bMatkRate,.@dmg; bonus2 bMagicAtkEle,Ele_Wind,.@dmg; bonus2 bMagicAtkEle,Ele_Earth,.@dmg; },{},{}
 22171,Ancient_Hero_Boots,Ancient Hero Boots,4,20,,600,,15,,1,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); bonus bMaxHP,500; bonus bMaxSP,50; bonus bMaxHPrate,2*(.@r/3); bonus bMaxSPrate,.@r/3; if (.@r >= 9) { .@val = -300; if (.@r >= 12) { .@val -= 200; if (.@r >= 14) { bonus bDelayRate,-5; } } bonus bFixedCast,.@val; } },{},{}
+22172,Gray_Wing_Boots,Gray Wing Boots,4,20,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus bMdef,15; bonus bLongAtkRate,2; bonus bCritAtkRate,2; skill "TF_HIDING",1; if (.@r>=5) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bLongAtkRate,3; bonus bCritAtkRate,3; } if (.@r>=7) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bLongAtkRate,5; bonus bCritAtkRate,5; } },{},{}
+22189,Pilgrim_Shoes,Pilgrim Shoes,4,20,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); bonus bMaxHPrate,3; bonus bMaxSPrate,3; bonus bDef,50*getskilllv("AB_SECRAMENT"); bonus bMdef,15; bonus bAspdRate,4*getskilllv("AB_CANTO"); bonus2 bSkillCooldown,"AB_PRAEFATIO",-1000; bonus bDelayrate,-6*getskilllv("AB_PRAEFATIO"); bonus2 bSubRace,RC_DemiHuman,2*getskilllv("AB_SECRAMENT"); bonus2 bSubRace,RC_Player,2*getskilllv("AB_SECRAMENT"); bonus bHealPower,5*getskilllv("AB_HIGHNESSHEAL"); if (.@r>=5) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bUseSPrate,-3; } if (.@r>=7) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bUseSPrate,-5; } },{},{}
 22190,Illusion_Boots,Illusion Boots,4,0,,600,,16,,1,0x416E5CEA,63,2,64,,100,1,0,{ .@r = getrefine(); bonus bCritical,(5*(.@r/3)); bonus bAspdRate,.@r; },{},{}
 22192,Illusion_Goibne's_Greaves,Illusion Goibne's Greaves,4,0,,1200,,42,,1,0xFFFFFFFE,63,2,64,,130,1,0,{ .@r = getrefine(); bonus bMaxHPrate,5; bonus bMaxSPrate,5; if (.@r >= 7) { bonus bVariableCastrate,-5; if (.@r >= 9) { bonus bLongAtkRate,10; } } },{},{}
+22195,Booster_Shoes,Booster Shoes,4,20,,800,,30,,1,0xFFFFFFFF,63,2,64,,100,1,,{ .@r = getrefine(); bonus bMdef,10; bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus2 bSubRace,RC_Player,5; if (.@r>=7) { if (readparam(bStr)>=125) bonus bBaseAtk,90; if (readparam(bAgi)>=125) bonus bAspd,2; if (readparam(bVit)>=125) bonus bMaxHPrate,12; if (readparam(bInt)>=125) bonus bMatk,120; if (readparam(bDex)>=125) bonus bLongAtkRate,10; if (readparam(bLuk)>=125) bonus bCritAtkRate,20; } if (.@r>=9) { if (readparam(bStr)>=125) bonus bBaseAtk,90; if (readparam(bAgi)>=125) bonus bAspd,2; if (readparam(bVit)>=125) bonus bMaxHPrate,12; if (readparam(bInt)>=125) bonus bMatk,120; if (readparam(bDex)>=125) bonus bLongAtkRate,10; if (readparam(bLuk)>=125) bonus bCritAtkRate,20; } },{},{}
 22196,Illusion_Leg_A-type,Illusion Leg A-type,4,20,,500,,20,,1,0xFFFFFFFF,63,2,64,,130,1,,{ .@r = getrefine(); bonus bMaxSP,200+(20*(.@r/2)); if (.@r >= 7) { bonus bLongAtkRate,5; } },{},{}
 22197,Illusion_Leg_B-type,Illusion Leg B-type,4,20,,500,,20,,1,0xFFFFFFFF,63,2,64,,130,1,,{ .@r = getrefine(); bonus bMaxSP,200+(20*(.@r/2)); if (.@r >= 7) { bonus2 bMagicAtkEle,Ele_All,5; } },{},{}
+22198,Traveler_Shoes,Traveler Shoes,4,20,,500,,15,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ bonus bMdef,15; bonus bMaxHPrate,3+(2*getskilllv("WM_FRIGG_SONG")); bonus bMaxSPrate,3; bonus bMatkRate,2; bonus2 bMagicAtkEle,Ele_Neutral,5; bonus bAllStats,getskilllv("WA_SWING_DANCE"); bonus bAspdRate,4*getskilllv("MI_HARMONIZE"); bonus2 bSkillAtk,"WM_METALICSOUND",10*getskilllv("WM_GLOOMYDAY"); bonus2 bVariableCastrate,"WM_METALICSOUND",-10*getskilllv("WM_GLOOMYDAY"); bonus3 bAddEff,Eff_Sleep,2*getskilllv("WM_LULLABY_DEEPSLEEP"),ATF_MAGIC; .@r = getrefine(); if (.@r>=5) { bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bMatkRate,3; bonus2 bMagicAtkEle,Ele_Neutral,3; } if (.@r>=7) { bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bMatkRate,5; bonus2 bMagicAtkEle,Ele_Neutral,5; } },{},{}
+22207,Imperial_Boots,Imperial Boots,4,20,,400,,12,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); bonus bMdef,10; bonus bMaxHPrate,3; bonus bMaxSPrate,3; skill "AL_INCAGI",1; bonus2 bSkillAtk,"LG_BANISHINGPOINT",10*getskilllv("LG_CANNONSPEAR"); bonus2 bAddClass,Class_All,4*getskilllv("CR_DEVOTION"); if (getskilllv("LG_INSPIRATION")>=5) bonus2 bSkillCooldown,"LG_SHIELDSPELL",-2000; bonus2 bIgnoreDefClassRate,Class_All,20*getskilllv("LG_PINPOINTATTACK"); if (.@r>=5) { bonus bMaxSPrate,7; bonus bMaxHPrate,7; bonus bLongAtkRate,5; } if (.@r>=7) { bonus bMaxSPrate,10; bonus bMaxHPrate,10; bonus bLongAtkRate,5; } },{},{}
+22210,Fluffy_Fish_Shoes,Fluffy Fish Shoes,4,20,,100,,12,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); .@hpsp = 3; .@val = -10 * getskilllv("SU_SHRIMPARTY"); if (.@r>=5) { .@hpsp += 7; .@delay = -10; if (.@r>=7) { .@hpsp += 10; .@delay -= 10; } bonus bDelayrate,.@delay; } if (getskilllv("SU_SPIRITOFSEA") == 1) { autobonus3 "{ bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Sleep,10000; bonus2 bResEff,EFF_Stone,10000; }",1000,30000,"SU_GROOMING"; } if (getskilllv("SU_GROOMING") == 5) { bonus bFixedCastrate,-50; bonus bNoKnockback; } bonus bMaxHPrate,.@hpsp; bonus bMaxSPrate,.@hpsp; bonus bMdef,10; bonus2 bVariableCastrate,"SU_FRESHSHRIMP",.@val; bonus2 bVariableCastrate,"SU_BUNCHOFSHRIMP",.@val; bonus2 bVariableCastrate,"SU_TUNABELLY",.@val; bonus2 bVariableCastrate,"SU_TUNAPARTY",.@val; bonus2 bVariableCastrate,"SU_SHRIMPARTY",.@val; bonus bHealPower,10*getskilllv("SU_PURRING"); },{},{}
+22214,Authority_Sandals,Authority Sandals,4,20,,500,,10,,0,0xFFFFFFFF,63,2,64,,100,1,0,{ .@r = getrefine(); bonus bMdef,10; bonus bAllStats,10; bonus2 bIgnoreDefRaceRate,RC_All,50; bonus2 bIgnoreMdefRaceRate,RC_All,50; if (.@r>=7) bonus bAllStats,10; if (.@r>=9) bonus bAllStats,10; },{},{}
 //===================================================================
 // New Usable items
 //===================================================================
@@ -12205,6 +12314,7 @@
 28318,RCC2013_RING_,RCC2013_RING_,4,200,,200,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus2 bAddClass,Class_All,1; },{},{}
 28310,Earring_Of_Sarah_L,Sarah's Left Earring,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,145,0,,{ skill "AL_HEAL",1; },{},{}
 28311,Earring_Of_Sarah_R,Sarah's Right Earring,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,145,0,,{ skill "AL_TELEPORT",1; },{},{}
+28320,Assassin's_Despair,Assassin's Despair,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,50,0,0,{ bonus bAspd,1; },{},{}
 28321,Falconer_Claw,Falconer Claw,4,0,,100,,5,,1,0x00000800,63,2,136,,80,0,,{ bonus bDex,1; bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW")*10; },{},{}
 28322,Falconer_Glove,Falconer Glove,4,0,,100,,5,,1,0x00000800,63,2,136,,80,0,,{ bonus bDex,1; bonus bUseSPrate,-5; },{},{}
 28326,Broken_Chip_1,Broken Chips 01,4,10,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bStr,4; },{},{}
@@ -12212,13 +12322,18 @@
 28332,Jewel_Ring,Jewerly Ring,4,10,,100,,,,0,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bLuk,20; autobonus "{ bonus bAspd,2; }",50,2000,BF_WEAPON|BF_MAGIC; },{},{}
 28333,Gold_PC_Room_Ring,Gold PC Room Ring,4,10,,0,,,,1,0xFFFFFFFF,63,2,136,,1,0,,{ bonus bMaxHPrate,3; bonus bMaxSPrate,3; },{},{}
 28342,Critical_Anklet,Critical Anklet,4,0,,200,,3,,1,0xFFFFFFFF,63,2,136,,,0,,{ bonus bCritical,5; },{},{}
+28352,Vesper_Gear_01,Vesper Gear 01,4,20,,100,,1,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bMdef,3; bonus bMatkRate,5; },{},{}
+28353,Vesper_Gear_02,Vesper Gear 02,4,20,,100,,1,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bMdef,3; bonus2 bAddClass,Class_All,5; },{},{}
 28354,City_Map,City Map,4,0,,100,,0,,1,0xFFFFFFFF,63,2,136,,1,0,0,{ /* todo */ },{},{}
 28355,Shining_Holy_Water_,Shining Holy Water,4,0,,100,,0,,1,0xFFFFFFFF,63,2,136,,1,0,0,{ /* todo */ },{},{}
 28356,Prontera_Badge,Prontera Badge,4,0,,100,,0,,0,0xFFFFFFFF,63,2,136,,1,0,0,{ /*warp "prontera",159,192;  15 mins cooldown */ },{},{}
+28357,Vesper_Gear_03,Vesper Gear 03,4,20,,100,,1,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bMdef,3; bonus bFlee,10; },{},{}
 28358,Cursed_Lucky_Clover,Cursed Lucky Clover,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,100,0,,{ bonus bLuk,2; bonus bFlee,3; bonus2 bAddEff2,Eff_Curse,5; },{},{ sc_end SC_CLOAKING; /*FIXME: Because the combo has Cloaking skill*/ }
+28359,Vesper_Gear_04,Vesper Gear 04,4,20,,100,,1,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bMdef,3; bonus bHit,10; },{},{}
 28372,Imperial_Ring,Imperial Ring,4,0,,500,,3,,1,0xFFFFFFFF,63,2,136,,50,0,,{ bonus bStr,1; bonus bInt,1; bonus bMaxHPRate,3; bonus bMaxSPRate,3; },{},{}
 28374,Foxtail_Ring,Foxtail Ring,4,20,,100,,0,,0,0x80000000,7,2,136,,1,0,,{ bonus2 bExpAddRace,RC_All,5; .@lvl = min(BaseLevel/5,10); bonus bAtk,2*.@lvl; bonus bMatk,2*.@lvl; bonus bMaxHP,10*.@lvl; bonus bMaxSP,5*.@lvl; },{},{}
 28377,Magical_Ring,Magical Ring,4,0,,100,,,,1,0xFFFFFFFF,63,2,136,,20,0,,{ bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Water,5; bonus2 bMagicAtkEle,Ele_Earth,5; bonus2 bMagicAtkEle,Ele_Wind,5; if (BaseLevel > 4) { bonus2 bSkillAtk,"MG_FIREBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_COLDBOLT",BaseLevel/5; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",BaseLevel/5; bonus2 bSkillAtk,"WZ_EARTHSPIKE",BaseLevel/5; } },{},{}
+28379,Shadow_Ring,Shadow Ring,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,20,0,0,{ .@s = getskilllv("RG_STEALCOIN"); .@r = getskilllv("RG_RAID"); if (.@s>=1) .@a = .@s; else .@a = 1; bonus3 bAutoSpell,"RG_STEALCOIN",.@a,50; bonus2 bSkillAtk,"RG_BACKSTAP",2*BaseLevel; bonus3 bAddEff,Eff_Stun,.@r*100,ATF_SHORT; autobonus3 "{ bonus2 bSkillAtk,\"SC_TRIANGLESHOT\",BaseLevel/3; }",1000,20000,5010,"{ specialeffect2 153; }"; /* Placeholder specialeffect */ },{},{}
 28380,Fresh_Grass_Necklace,Fresh Grass Necklace,4,20,,100,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bFlee2,5; bonus2 bSkillCooldown,"SU_SCAROFTAROU",-5000; },{},{}
 28381,Cute_Grass_Necklace,Cute Grass Necklace,4,20,,10,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bHealPower,5; bonus2 bSkillCooldown,"SU_TUNAPARTY",-7000; },{},{}
 28382,Charm_Grass_Necklace,Charm Grass Necklace,4,20,,10,,0,,1,0x80000000,7,2,136,,100,0,,{ bonus bMdef,5; bonus2 bVariableCastrate,"SU_CN_METEOR",-1000; },{},{}
@@ -12241,6 +12356,12 @@
 28424,Chubby_Worm_Talisman,Chubby Worm Talisman,4,0,,100,,1,,1,0x80000000,63,2,136,,100,,,{ bonus2 bVariableCastrate,"SU_PICKYPECK",-50; bonus2 bSkillAtk,"SU_PICKYPECK",(readparam(bDex)/2)+(20 * getskilllv("SU_PICKYPECK")); /* Need to confirm damage formula */ },{},{}
 28425,Mercenary_Ring_Type_A,Mercenary Ring Type A,4,20,,200,,0,,0,0xFFFFFFFF,63,2,136,,99,0,0,{ bonus bVit,3; if (BaseClass == Job_Gunslinger || BaseJob == Job_Novice || BaseJob == Job_SuperNovice || BaseClass == Job_Ninja || BaseClass == Job_Taekwon) { bonus bMaxHP,1000; bonus bMaxSP,200; } },{},{}
 28426,Mercenary_Ring_Type_B,Mercenary Ring Type B,4,20,,200,,0,,0,0xFFFFFFFF,63,2,136,,99,0,0,{ bonus bInt,3; if (BaseClass == Job_Gunslinger || BaseJob == Job_Novice || BaseJob == Job_SuperNovice || BaseClass == Job_Ninja || BaseClass == Job_Taekwon) { bonus bVariableCastrate,-30; } },{},{}
+28429,Arquien's_Necklace,Arquien's Necklace,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,20,0,0,{ bonus2 bSkillAtk,"MC_CARTREVOLUTION",Baselevel; bonus2 bSkillAtk,"NC_AXETORNADO",(Baselevel/3); bonus2 bSkillAtk,"NC_POWERSWING",(Baselevel/5); bonus2 bSkillUseSP,"NC_POWERSWING",2; bonus2 bAddMonsterDropItem,529,2000; bonus2 bAddMonsterDropItem,530,2000; bonus2 bAddMonsterDropItem,573,500; bonus2 bAddItemHealRate,529,100; bonus2 bAddItemHealRate,530,100; /* Unknow drop rates */ },{},{}
+28430,Arch_Bishop_Ring,Arch Bishop Ring,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bLuk,2; bonus bFlee2,5; bonus bUseSPrate,-5; bonus bHealPower,15; bonus bAddItemHealRate,15; },{},{}
+28433,Luminous_Blue_Stone,Luminous Blue Stone,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bAgi,2; bonus bCritical,5; bonus bAspdRate,5; bonus bCritAtkRate,2; skill "MG_SIGHT",1; if (readparam(bLuk)>=100) { bonus bCritical,10; bonus bCritAtkRate,10; } },{},{}
+28434,Fist_Fighter_Glove,Fist Fighter's Glove,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bStr,2; bonus bMaxSP,100; bonus2 bAddClass,Class_All,2; skill "MO_ABSORBSPIRITS",1; if (readparam(bStr)>99) bonus2 bAddClass,Class_All,5; },{},{}
+28437,Hibram's_Gloves,Hibram's Gloves,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ skill "AL_HEAL",3; bonus bInt,2; bonus bMatkRate,2; bonus bUseSPrate,-5; if (readparam(bInt)>=110) bonus bMatkRate,5; },{},{}
+28438,Fairy_Leaf_Powder,Fairy Leaf Powder,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bDex,2; bonus bDelayrate,-5; bonus bLongAtkRate,2; skill "SM_MAGNUM",3; if (readparam(bDex)>=100) bonus bLongAtkRate,5; },{},{}
 28441,Vigilante_Badge,Vigilante Badge,4,0,,200,,0,,0,0x00020000,56,2,136,,100,0,0,{ bonus bFlee,10; bonus bLongAtkRate,5; },{},{}
 28442,Hippie_Feather,Hippie Feather,4,0,,200,,0,,1,0x00080000,56,2,136,,100,0,0,{ bonus bHit,5; bonus bFlee,5; },{},{}
 28443,Para_Team_Str_Ring100,Awakened Eden Group Ring of Strength I,4,0,,0,,0,,0,0xFFFFFFFF,63,2,136,,100,,,{ bonus2 bAddClass,Class_All,2; },{},{}
@@ -12274,13 +12395,35 @@
 28471,Para_Team_Agi_Ring160,Awakened Eden Group Ring of Agility V,4,0,,0,,0,,0,0xFFFFFFFF,63,2,136,,160,,,{ bonus bLongAtkRate,4; skill "AL_HEAL",1; },{},{}
 28472,Para_Team_Agi_Necklace160,Awakened Eden Group Necklace of Agility V,4,0,,0,,0,,0,0xFFFFFFFF,63,2,136,,160,,,{ bonus bDex,4; skill "AL_TELEPORT",1; },{},{}
 28483,Royal_Guardian_Ring,Royal Guardian Ring,4,0,,10,,1,,1,0xFFFFFFFF,63,2,136,,99,,,{ .@b = min(BaseLevel/25,7); bonus bMaxHPrate,.@b; bonus bMaxSPrate,.@b; },{},{}
+28484,Rebel_Scarf,Rebel Scarf,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ .@M = getskilllv("RL_MASS_SPIRAL"); .@F = getskilllv("RL_FIRE_RAIN"); .@H = getskilllv("RL_HEAT_BARREL"); .@S = getskilllv("RL_S_STORM"); .@D = getskilllv("RL_D_TAIL"); .@E = getskilllv("RL_E_CHAIN"); bonus2 bAddClass,Class_All,5; bonus bAspdRate,2*.@M; bonus bVariableCastrate,-10; bonus bDelayrate,-(.@F); bonus2 bSkillCooldown,"RL_HEAT_BARREL",-4000*.@S; bonus2 bSkillCooldown,"RL_S_STORM",-100*.@S; bonus bCritAtkRate,3*.@D; bonus2 bSkillAtk,"RL_FIRE_RAIN",5*.@F; bonus2 bSkillAtk,"RL_MASS_SPIRAL",5*.@M; bonus2 bSkillAtk,"RL_QD_SHOT",5*.@E; bonus2 bSkillAtk,"RL_S_STORM",5*.@S; bonus2 bSkillUseSP,"RL_FIREDANCE",10; bonus2 bSkillUseSP,"RL_FIRE_RAIN",4*.@F; bonus2 bSkillUseSP,"RL_MASS_SPIRAL",2*.@M; if(getiteminfo(getequipid(EQI_HAND_R),11) == W_GRENADE) { autobonus3 "{ bonus3 bAutoSpell,\"RL_D_TAIL\",max(1,getskilllv(\"RL_D_TAIL\")),10;}",1000,50000,"RL_C_MARKER","{specialeffect2 311;}"; } /* Placeholder Effect */ },{},{}
+28485,Shinobi_Sash_H,Shinobi Sash H,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMatkRate,5; bonus bAspdRate,5; bonus bDelayrate,-5; .@a = (getskilllv("KO_GENWAKU")+getskilllv("KO_JYUSATSU")+getskilllv("KO_KYOUGAKU")); bonus2 bMagicAddEle,Ele_Dark,4*.@a; bonus2 bSkillAtk,"NJ_BAKUENRYU",10*getskilllv("NJ_KOUENKA"); bonus2 bSkillAtk,"NJ_KAMAITACHI",10*getskilllv("NJ_HUUJIN"); bonus2 bSkillAtk,"NJ_HYOUSYOURAKU",20*getskilllv("NJ_HYOUSENSOU"); },{},{}
+28491,Hunting_Knife,Hunting Knife,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bLuk,2; bonus bHit,10; bonus bCriticalLong,5; skill "TF_HIDING",1; if (readparam(bLuk>=100)) { bonus bHit,5; bonus bCriticalLong,10; } },{},{}
+28492,Thieve_Guide_V1,Thieve's Guide Vol.1,4,20,,10,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bStr,5; bonus bAgi,5; bonus bInt,5; if (getskilllv(2292)==3) skill "SN_WINDWALK",5; if (getskilllv(2293)==3) skill "HP_ASSUMPTIO",5; if (getskilllv(2294)==3) skill "WS_OVERTHRUSTMAX",5; if (getskilllv(2295)==3) skill "ASC_METEORASSAULT",5; if (getskilllv(2296)==3) skill "LK_BERSERK",1; if (getskilllv(2297)==3) skill "HW_MAGICPOWER",5; if (getskilllv(220)==1) { bonus bStr,5; bonus bAgi,5; bonus bInt,5; } },{},{}
 28495,Sheriffs_Left_Badge,Sheriff's Left Badge,4,0,,200,,0,,1,0xFFFFFFFF,63,2,128,,100,0,0,{ if (readparam(bStr) > 89) bonus2 bAddClass,Class_All,3; if (readparam(bVit) > 89) bonus bMaxHP,1000; if (readparam(bDex) > 89) bonus bLongAtkRate,3; },{},{}
 28496,Sheriffs_Right_Badge,Sheriff's Right Badge,4,0,,200,,0,,1,0xFFFFFFFF,63,2,8,,100,0,0,{ if (readparam(bVit) > 89) bonus bMaxHP,1000; if (readparam(bInt) > 89) bonus bMatkRate,3; if (readparam(bDex) > 89) bonus bVariableCastrate,-5; },{},{}
 28499,Proof_of_Glory,Proof of Glory,4,0,,100,,0,,0,0xFFFFFFFF,63,2,136,,100,,,{ bonus bAllStats,1; bonus2 bAddRace,RC_All,2; bonus2 bMagicAddRace,RC_All,2; if(BaseLevel>=150) { bonus bAllStats,1; bonus2 bAddRace,RC_All,2; bonus2 bMagicAddRace,RC_All,2; } },{},{}
+28500,Zealous_Necklace,Zealous Necklace,4,20,,200,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{},{},{}
+28501,Horn_of_Kirin,Horn of Kirin,4,20,,500,,3,,1,0xFFFFFFFF,63,2,136,,50,0,0,{ bonus bAgi,2; bonus bAspdRate,2; bonus2 bSubRace,RC_DemiHuman,1; bonus2 bSubRace,RC_Brute,1; bonus2 bSubRace,RC_Fish,1; bonus2 bSubRace,RC_Player,1; bonus2 bSubRace,RC_Demon,2; bonus2 bSubRace,RC_Undead,2; skill "AL_INCAGI",6; if (readparam(bAgi)>=100) { bonus bAspdRate,5; } },{},{}
+28502,Mob_Scarf,Mob Scarf,4,20,,100,,0,,0,0xFFFFFFFF,63,2,1,,100,0,1568,{ skill "SA_SPELLBREAKER",2; },{},{}
+28503,Keraunos,Keraunos,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMaxHPrate,5; bonus2 bAddClass,Class_All,5; bonus bAspdRate,5; bonus2 bVariableCastrate,"SR_GATEOFHELL",-3*(BaseLevel/20); bonus2 bVariableCastrate,"SR_RIDEINLIGHTNING",-5*(BaseLevel/15); bonus2 bSkillCooldown,"SR_ASSIMILATEPOWER",-3000; bonus2 bSkillAtk,"SR_RIDEINLIGHTNING",5; },{},{}
+28506,Storm_Stone,Storm Stone,4,30000,,500,,0,,1,0xFFFFFFFF,63,2,136,,90,0,0,{ bonus bMaxSPrate,5; bonus bAspdRate,5; bonus2 bAddClass,Class_All,5; },{},{}
+28507,Magician_Gloves,Magician's Gloves,4,20,,500,,0,,1,0xFFFFFFFF,63,2,136,,80,0,0,{ bonus bVariableCastrate,-10; bonus2 bMagicAtkEle,Ele_Earth,5; bonus2 bMagicAtkEle,Ele_Water,5; bonus2 bMagicAtkEle,Ele_Wind,5; bonus2 bMagicAtkEle,Ele_Fire,5; bonus2 bMagicAtkEle,Ele_Ghost,5; bonus2 bIgnoreMdefRaceRate,RC_All,50; },{},{}
 28508,Illusion_Skull_Ring,Illusion Skull Ring,4,0,,100,,0,,1,0xFFFFFFFF,63,2,8,,100,0,0,{ bonus3 bAddEff,Eff_Curse,5000,ATF_SELF|ATF_TARGET|ATF_SHORT|ATF_WEAPON; },{},{}
 28509,Illusion_Ring,Illusion Ring,4,0,,200,,0,,1,0xFFFFFFFE,63,2,136,,100,0,0,{ bonus bStr,3; if (readparam(bStr) >= 100) { bonus bBaseAtk,30; } },{},{}
 28510,A_Vampire's_Servant,A Vampire's Servant,4,0,,100,,1,,1,0xFFFFFFFF,63,2,8,,100,0,,{ bonus2 bSPDrainRate,1000,1; },{},{}
+28513,JRO_Celine_Brooch,Celine's Brooch,4,20,,500,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMaxHP,500; bonus bMaxSP,250; bonus bMatkRate,5; bonus bAspd,1; bonus bVariableCastrate,-10; },{},{}
+28520,Egir_Ring,Egir Ring,4,20,,500,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMdef,5; bonus bAllStats,1; bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus2 bSubEle,Ele_Water,10; },{},{}
+28521,Giant's_Protection,Giant's Protection,4,20,,500,,0,,1,0xFFFFFFFF,63,2,136,,1,0,0,{ bonus2 bAddClass,Class_All,5; if (readparam(bStr)>=120) { bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus bBaseAtk,50; } },{},{}
+28531,Blacksmith's_Gloves,Blacksmith's Gloves,4,20,,500,,,,1,0xFFFFFFFF,63,2,136,,80,0,,{ bonus bDelayrate,-10; bonus2 bAddClass,Class_Boss,5; bonus2 bIgnoreDefRaceRate,RC_All,50; },{},{}
+28533,Chemical_Glove,Chemical Glove,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,20,0,,{ .@s = getskilllv("GN_REMODELING_CART"); bonus bHit,20; bonus bAspdRate,5+.@s; bonus bBaseAtk,15*.@s; bonus bMaxHPrate,2*.@s; bonus2 bSkillUseSP,"GN_CART_TORNADO",.@s; bonus2 bAddItemHealRate,501,100; bonus2 bAddItemHealRate,502,100; bonus2 bAddItemHealRate,503,100; bonus2 bAddItemHealRate,504,100; bonus2 bSkillAtk,"MC_CARTREVOLUTION",Baselevel; bonus2 bSkillAtk,"GN_CARTCANNON",2*(Baselevel/20); bonus2 bSkillAtk,"GN_CART_TORNADO",2*(Baselevel/30); },{},{}
 28551,Imperial_Glove,Imperial Glove,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus2 bAddClass,Class_All,5; bonus bVariableCastrate,-10; bonus bNoCastCancel; },{},{}
+//28560,Yin_Yang_Talisman,Yin Yang Talisman,4,20,,300,,0,,1,0xFFFFFFFF,63,2,136,,50,0,0,{ bonus bMatkRate,5; bonus bHit,20; bonus bAspdRate,5; },{},{}
+28564,Valkyrie_Drop,Valkyrie Drop,4,20,,30,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ .@r = getskilllv("PR_IMPOSITIO"); bonus bSPrecovRate,50; bonus bVariableCastrate,-10; bonus bDelayrate,-5; bonus2 bVariableCastrate,"AB_ORATIO",-50; bonus2 bFixedCastrate,"AB_ORATIO",-100; bonus2 bMagicAddSize,Size_All,3*.@r; bonus2 bSkillAtk,"PR_MAGNUS",3*(Baselevel/2); if (.@r == 5) skill "ALL_ODINS_POWER",2; },{},{}
+28565,Perverse_Demon_Mask,Perverse Demon Mask,4,20,,60,,0,,1,0xFFFFFFFF,63,2,128,,80,0,0,{ .@s = readparam(bStr); .@a = readparam(bAgi); .@d = readparam(bDex); .@v = readparam(bvit); .@l = readparam(bLuk); .@i = readparam(bInt); bonus bStr,3*(.@i/18); bonus bAgi,3*(.@l/18); bonus bVit,3*(.@d/18); bonus bInt,3*(.@s/18); bonus bDex,3*(.@v/18); bonus bLuk,3*(.@a/18); bonus bMaxHPrate,(.@d/18); bonus bFlee2,(.@a/18); bonus bMaxHPrate,(.@d/18); bonus bVariableCastrate,-(.@v/18); bonus bDelayrate,-(.@i/18); bonus2 bIgnoreDefClassRate,Class_All,15*(.@l/18); bonus2 bIgnoreMdefClassRate,Class_All,15*(.@s/18); },{},{}
+28573,Emerald_Ring,Emerald Ring,4,20,,300,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ .@a = getskilllv("AC_DOUBLE")/2; bonus bAgi,5+(.@a); bonus bVit,5+(.@a); bonus bDex,5+(.@a); bonus bBaseAtk,(20*.@a); bonus2 bSkillAtk,"AC_DOUBLE",Baselevel; bonus2 bSkillAtk,"AC_SHOWER",Baselevel; bonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",2*(Baselevel/10); bonus2 bSkillUseSP,"WM_RANDOMIZESPELL",18; },{},{}
+28575,Verus_Core,Verus Core,4,10,,500,,0,,1,0xFFFFFFFF,63,2,136,,80,0,0,{ bonus bAspdRate,10; bonus2 bAddEle,Ele_All,5; bonus bPerfectHitAddRate,20; },{},{}
+28594,Temporal_Ring,Temporal Ring,4,20,,500,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMaxHPrate,10; bonus bMaxSPrate,10; bonus bBaseAtk,50; bonus bMatk,50; },{},{}
+28598,Powered_Chip,Powered Chip,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bStr,5; bonus bVit,5; bonus bDex,5; bonus2 bAddClass,Class_All,5; if (getskilllv("NC_ARMSCANNON") >= 3) bonus bDelayrate,-30; if (getskilllv("NC_NEUTRALBARRIER") >= 3) { bonus2 bVariableCastrate,"NC_ARMSCANNON",-50; bonus2 bVariableCastrate,"NC_FLAMELAUNCHER",-50; bonus2 bVariableCastrate,"NC_COLDSLOWER",-50; } if (getskilllv("NC_PILEBUNKER") >= 3) { bonus bStr,5; bonus bVit,5; bonus bDex,5; bonus bBaseAtk,100; } if (getskilllv("NC_RESEARCHFE") >= 5) bonus bNoMadoFuel; },{},{}
 //===================================================================
 // More books
 //===================================================================
@@ -12292,6 +12435,7 @@
 28606,Unity_Bible,Unity Bible,5,20,,220,42,,1,1,0x00410100,63,2,2,3,1,1,15,{ bonus bBaseAtk,pow(getrefine(),2)*125/100; },{},{}
 28608,Elemental_Origin,Elemental Origin,5,0,,800,120:150,,1,2,0x00010000,56,2,2,3,100,1,15,{ .@r = getrefine(); bonus bInt,4; .@bonus = 10; if (.@r>=7) { .@bonus += 10; } if (.@r>=9) { .@bonus += 10; } bonus2 bSkillAtk,"MG_FIREBOLT",.@bonus; bonus2 bSkillAtk,"MG_COLDBOLT",.@bonus; bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@bonus; },{},{}
 28612,Illusion_Apocalypse,Illusion Apocalypse,5,0,,800,170,,1,2,0x00410100,63,2,2,4,100,1,15,{ .@val = 10 + 10*(min(getrefine(),10)/3); bonus2 bAddEle,Ele_Water,.@val; bonus2 bAddEle,Ele_Earth,.@val; bonus2 bAddEle,Ele_Fire,.@val; bonus2 bAddEle,Ele_Wind,.@val; bonus2 bSubDefEle,Ele_Holy,-30; },{},{}
+28618,Book_of_the_Sun_God,Book of the Sun God,5,10,,500,180:170,,1,4,0x00010100,63,2,2,3,100,1,15,{ .@r = getrefine(); bonus bMaxHP,200*.@r; bonus bMaxSP,50*.@r; bonus bAspdRate,.@r; if (.@r>=10) bonus3 bAutoSpell,"WZ_METEOR",5,200; else if (.@r>=8) bonus3 bAutoSpell,"WZ_METEOR",4,150; else bonus3 bAutoSpell,"WZ_METEOR",3,100; },{},{}
 28626,Illusion_Tablet,Illusion Tablet,5,0,,800,170,,1,2,0x00410100,63,2,2,4,100,1,15,{ .@val = 10 + 10*(min(getrefine(),10)/3); bonus2 bAddEle,Ele_Dark,.@val; bonus2 bAddEle,Ele_Undead,.@val; bonus2 bAddEle,Ele_Poison,.@val; bonus2 bAddEle,Ele_Ghost,.@val; bonus2 bSubDefEle,Ele_Dark,-30; },{},{}
 28629,Circuit_Board-OS,Circuit Board-OS,5,20,,1200,180,,1,2,0x00410100,63,2,2,4,130,1,15,{ .@r = getrefine(); bonus2 bAddClass,Class_All,3; if (.@r >= 7) { bonus bAspdRate,7; if (.@r >= 9) { bonus2 bAddSize,Size_Small,20; bonus2 bAddSize,Size_Medium,20; if (.@r >= 11) { bonus bCritAtkRate,20; } } } },{},{}
 // 28631,Thousand_Sun,Thousand Sun,5,20,,900,160,,1,2,0x00000000,63,2,2,4,100,1,15,{ .@r = getrefine(); bonus bBaseAtk,10*(.@r/2); bonus bMaxSPrate,2*(.@r/3); if (.@r >= 7) { bonus2 bSkillAtk,"SJ_PROMINENCEKICK",15; if (.@r >= 9) { bonus bAspdRate,10; if (.@r >= 11) { bonus2 bSkillAtk,"SJ_SOLARBURST",20; } } } },{},{}
@@ -12304,6 +12448,7 @@
 28703,Infinity_Dagger,Infinity Dagger,5,10,,500,125:100,,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; },{},{}
+28717,Valkyrie_Knife,Valkyrie Knife,5,50,,100,50:50,,1,4,0x228F5EEF,63,2,2,4,70,1,1,{ .@r = getrefine(); .@b = readparam(bDex)/10; if (.@r>7) { .@c = .@r-7; if (BaseClass==Job_Novice||BaseJob==Job_Mage) { bonus2 bSubRace,RC_DemiHuman,10; bonus2 bSubRace,RC_Player,10; } } if (BaseClass==Job_Novice) { bonus bMaxHP,300+(200*.@c); bonus bMaxSP,300+(20*.@c); bonus bBaseAtk,100; bonus bMatk,150+(15*.@c); bonus bUseSPrate,-5; bonus bUnbreakableWeapon; bonus bInt,2*.@c; bonus bDex,(2*.@c)-(.@c*.@b); bonus bCritical,7*.@c; bonus bAspdRate,10*.@c; bonus bCritAtkRate,1*.@c; } if (BaseClass==Job_Thief) { bonus bMaxSP,100; bonus bMatk,150; bonus bCritAtkRate,.@r; } if (BaseClass==Job_Mage && .@c) { bonus bMaxHP,200*.@c; bonus bMaxSP,20*.@c; } if (BaseJob==Job_Hunter) { bonus bMaxHP,200; bonus bUseSPrate,-5; bonus bInt,2*.@r; bonus bDex,2*.@r; } if (BaseJob==Job_Bard||BaseJob==Job_Dancer) { bonus bBaseAtk,100; bonus bAspdRate,10*.@r; bonus bUnbreakableWeapon; bonus bDex,-1*(.@c*.@b); } },{},{}
 28721,Monokage,Monokage,5,10,,800,100,,1,2,0x20000000,63,2,2,3,100,1,1,{ .@r = getrefine(); bonus2 bSkillAtk,"KO_BAKURETSU",getskilllv("NJ_TOBIDOUGU"); if (.@r>=9) { bonus bLongAtkRate,5; } else if (.@r>=7) { bonus bLongAtkRate,2; } },{},{}
 28725,Illusion_Moonlight_Dagger,Illusion Moonlight Dagger,5,20,,700,150,,1,1,0x028F5EEE,63,2,2,4,99,1,1,{ bonus bMaxSPrate,10; .@val = 3; if (getrefine() >= 10) { .@val += 4; } bonus bSPDrainValue,.@val; },{},{}
 28745,Illusion_Counter_Dagger,Illusion Counter Dagger,5,0,,900,170,,1,2,0x00810204,63,2,2,4,120,0,1,{ .@r = getrefine(); bonus bCritical,90; bonus bCritAtkRate,(3*(.@r/2)); if (.@r >= 7) { bonus2 bAddClass,Class_All,5; if (.@r >= 9) { bonus2 bAddSize,Size_All,20; if (.@r >= 11) { bonus2 bAddEle,Ele_All,20; } } } },{},{}
@@ -12328,8 +12473,14 @@
 28913,Ultralight_Magic_Shield,Ultralight Magic Shield,4,0,,100,,50,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); .@val = 5; bonus2 bIgnoreDefClassRate,Class_Normal,10; if (.@r >= 9) { .@val += 5; } else if (.@r >= 7) { .@val += 2; } bonus bAspdRate,.@val; bonus2 bSubEle,Ele_Neutral,.@val; },{},{}
 28915,Bunker_Shield,Bunker Shield,4,20,,3500,,90,,1,0xFFFFFFFF,63,2,32,,50,1,1,{ .@r = getrefine(); if(.@r >= 5) { .@dmg = .@r - 4; } bonus2 bAddClass,Class_All,(4+.@dmg); bonus bAspdRate,-5; },{},{}
 28916,Gaia_Shield,Gaia Shield,4,20,,2000,,150,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus bMdef,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bAddEle,Ele_Earth,5; bonus2 bMagicAddEle,Ele_Earth,5; .@r = getrefine(); if(.@r>=6) { bonus2 bSubEle,Ele_Earth,15; bonus2 bAddEle,Ele_Earth,10; bonus2 bMagicAddEle,Ele_Earth,10; } if(.@r>=8) { if(readparam(bStr)>=90) { bonus bBaseAtk,50; } if(readparam(bAgi)>=90) { bonus bAspdRate,5; } if(readparam(bVit)>=90) { bonus bHealPower2,10; bonus bAddItemHealRate,10; } if(readparam(bInt)>=90) { bonus bMatk,30; } if(readparam(bDex)>=90) { bonus bVariableCastrate,-5; } if(readparam(bLuk)>=90) { bonus bCritAtkRate,5; } } },{},{}
+28918,Shield_of_Chaos,Shield of Chaos,4,20,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ .@r = getrefine(); bonus bMdef,5; bonus2 bSubEle,Ele_Dark,25; if (.@r>=5) bonus bAspd,1; if (.@r>=7) bonus bAspd,1; },{},{}
 28920,Diamond_Shield,Diamond Shield,4,20,,1000,,50,,0,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); if(BaseLevel>=150) { bonus bDef,100+(20*(.@r/3)); } },{},{}
+28921,Anemos_Shield,Anemos Shield,4,20,,3500,,150,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus bMdef,15; bonus2 bAddEle,Ele_Wind,5; bonus2 bMagicAddEle,Ele_wind,5; bonus2 bSubEle,Ele_Wind,10; bonus bUnbreakableShield; .@r = getrefine(); if (.@r>=6) { bonus2 bAddEle,Ele_Wind,10; bonus2 bMagicAddEle,Ele_wind,10; bonus2 bSubEle,Ele_Wind,15; } if (.@r>=8) { if (readparam(bStr)>=90) bonus bBaseAtk,50; if (readparam(bAgi)>=90) bonus bAspdRate,5; if (readparam(bVit)>=90) bonus bAddItemHealRate,10; if (readparam(bInt)>=90) bonus bMatk,30; if (readparam(bDex)>=90) bonus bVariableCastrate,-5; if (readparam(bLuk)>=90) bonus bCritAtkRate,5; } },{},{}
 28922,Illusion_Sacred_Mission,Illusion Sacred Mission,4,0,,1600,,190,,1,0x00004000,56,2,32,,120,1,4,{ bonus bVit,3; bonus bInt,2; bonus bMdef,3; bonus bUnbreakableShield; bonus2 bSkillAtk,"LG_EARTHDRIVE",(7*getrefine()); },{},{}
+28929,Happy_Shield,Happy Shield,4,10,,3500,,150,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ bonus bMdef,10; },{},{}
+28941,Excelion_Shield,Excelion Shield,4,20,,1200,,95,,1,0xFFFFFFFF,63,2,32,,100,1,1,{ .@r = getrefine(); bonus bMdef,5; bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus bBaseAtk,30*(.@r/3); bonus bMatk,30*(.@r/3); if (readparam(Baselevel>=130)) { bonus bMaxHPrate,5; bonus bMaxSPrate,5; } },{},{}
+28951,Nero_Shield,Nero Shield,4,20,,500,,80,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ .@r = getrefine(); bonus bUnbreakableShield; bonus bMdef,5; bonus2 bSubEle,Ele_Water,10; bonus2 bAddEle,Ele_Water,5; bonus2 bMagicAddEle,Ele_Water,5; if (.@r>=6) { bonus2 bSubEle,Ele_Water,15; bonus2 bAddEle,Ele_Water,10; bonus2 bMagicAddEle,Ele_Water,10; } if (.@r>=8) { if (readparam(bStr)>=90) bonus bBaseAtk,50; if (readparam(bAgi)>=90) bonus bAspdRate,5; if (readparam(bInt)>=90) bonus bMatk,30; if (readparam(bVit)>=90) bonus bAddItemHealRate,10; if (readparam(bDex)>=90) bonus bVariableCastrate,-5; if (readparam(bLuk)>=90) bonus bCritAtkRate,5; } },{},{}
+28955,Fotia_Shield,Fotia Shield,4,20,,1000,,120,,1,0xFFFFFFFF,63,2,32,,90,1,1,{ .@r = getrefine(); bonus bUnbreakableShield; bonus bMdef,5; bonus2 bSubEle,Ele_Fire,10; bonus2 bAddEle,Ele_Fire,5; bonus2 bMagicAddEle,Ele_Fire,5; if (.@r>=6) { bonus2 bSubEle,Ele_Fire,15; bonus2 bAddEle,Ele_Fire,10; bonus2 bMagicAddEle,Ele_Fire,10; } if (.@r>=8) { if (readparam(bStr)>=90) bonus bBaseAtk,50; if (readparam(bAgi)>=90) bonus bAspdRate,5; if (readparam(bInt)>=90) bonus bMatk,30; if (readparam(bVit)>=90) bonus bAddItemHealRate,10; if (readparam(bDex)>=90) bonus bVariableCastrate,-5; if (readparam(bLuk)>=90) bonus bCritAtkRate,5; } },{},{}
 //===================================================================
 // Enchantment stones
 //===================================================================
@@ -12937,10 +13088,15 @@
 32014,Brute_Spear,Brute Spear,5,0,0,,150,,3,0,0x00004080,56,2,2,4,100,1,4,{ .@r = getrefine(); bonus bUnbreakableWeapon; bonus2 bIgnoreDefRaceRate,RC_All,5*.@r; bonus2 bAddRace,RC_Player,80 + (.@r > 8 ? 20 : 0) + (.@r > 7 ? 35 : 0); if(.@r > 9){ bonus bMaxHPrate,15; bonus bMaxSPrate,15; } },{},{}
 32019,Boost_Lance-OS,Boost Lance-OS,5,20,,1000,190,,3,2,0x00004000,56,2,2,4,130,1,4,{ .@r = getrefine(); .@aspd = 3; if (.@r >= 7) { .@aspd += 7; if (.@r >= 9) { .@dmg = 20; if (.@r >= 11) { .@dmg += 15; } bonus2 bSkillAtk,"LG_BANISHINGPOINT",.@dmg; } } bonus bAspdRate,.@aspd; },{},{}
 //
+32203,Accelerator_Chip,Accelerator Chip,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; bonus bAspdRate,5; /* Combo with Riot Chip not implemented yet. */ },{},{}
+32204,Immortal_Dog_Tag,Immortal Dog Tag,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bBaseAtk,50; bonus bMatk,50; bonus2 bSubRace,RC_Undead,4; },{},{}
+32206,Prontera_Militia_Glove,Prontera Militia Glove,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bVit,5; bonus bMdef,5; bonus bAspdRate,5; bonus2 bSubRace,RC_DemiHuman,3; bonus2 bSubRace,RC_Player,3; bonus2 bSubEle,Ele_Water,5; bonus2 bSubEle,Ele_Earth,5; bonus2 bSubEle,Ele_Wind,5; bonus2 bSubEle,Ele_Fire,5; },{},{}
 32207,Illusion_Booster_R,Illusion Booster R,4,20,,100,,0,,1,0xFFFFFFFF,63,2,8,,130,0,0,{ bonus2 bAddClass,Class_All,5; },{},{}
 32208,Illusion_Booster_L,Illusion Booster L,4,20,,100,,0,,1,0xFFFFFFFF,63,2,128,,130,0,0,{ bonus2 bAddClass,Class_All,5; },{},{}
 32209,Illusion_Battle_chip_R,Illusion Battle chip R,4,20,,100,,0,,1,0xFFFFFFFF,63,2,8,,130,0,0,{ bonus bMatkRate,5; },{},{}
 32210,Illusion_Battle_chip_L,Illusion Battle chip L,4,20,,100,,0,,1,0xFFFFFFFF,63,2,128,,130,0,0,{ bonus bMatkRate,5; },{},{}
+32222,Brooch_of_Hero,Brooch of Hero,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus2 bAddClass,Class_All,5; bonus bMatkRate,5; if((eaclass()&EAJL_THIRD && BaseJob == Job_Knight) || ((eaclass()&EAJL_THIRD && BaseJob == Job_Crusader))) { bonus bMaxHPrate,10; bonus2 bAddRace,RC_All,5; } if((eaclass()&EAJL_THIRD && BaseJob == Job_Priest) || ((eaclass()&EAJL_THIRD && BaseJob == Job_Monk))) { bonus bAspdRate,10; bonus2 bAddRace,RC_All,5; } if((eaclass()&EAJL_THIRD && BaseJob == Job_Blacksmith) || ((eaclass()&EAJL_THIRD && BaseJob == Job_Alchemist))) { bonus bUseSPrate,-10; bonus2 bAddRace,RC_All,5; } },{},{}
+32227,Hrodvitnir's_Chain,Hrodvitnir's Chain,4,20,,300,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bAspdRate,5; bonus bDelayrate,-5; skill "AL_TELEPORT",1; },{},{}
 32228,Schmidt_Insignia_Power,King Schmidt's Power Insignia,4,0,0,200,,10,,1,0xFFFFFFFF,63,2,128,,150,,,{ bonus2 bAddClass,Class_All,10; },{},{}
 32229,Schmidt_Insignia_Divine_Power,King Schmidt's Divine Power Insignia,4,0,0,200,,10,,1,0xFFFFFFFF,63,2,128,,150,,,{ bonus bMatkRate,10; },{},{}
 32230,Schmidt_Insignia_Hundred_Lucks,King Schmidt's Hundred Lucks Insignia,4,0,0,200,,10,,1,0xFFFFFFFF,63,2,128,,150,,,{ bonus bCritAtkRate,7; },{},{}
@@ -12950,6 +13106,10 @@
 32237,Celine's_Brooch,Celine's Brooch,4,10,,500,,0,,1,0xFFFFFFFE,63,2,136,,100,0,0,{ bonus bMatkRate,5; bonus bVariableCastrate,-10; },{},{}
 32238,Illusion_Morpheus's_Ring,Illusion Morpheus's Ring,4,20,,100,,0,,1,0xFFFFFFFF,63,2,8,,130,0,0,{ bonus bInt,3; bonus bMaxSPrate,5; },{},{}
 32239,Illusion_Morpheus's_Bracelet,Illusion Morpheus's Bracelet,4,20,,100,,0,,1,0xFFFFFFFF,63,2,128,,130,0,0,{ bonus bInt,3; bonus bMaxSPrate,5; },{},{}
+32242,Old_Detachment_Ring,Old Detachment Ring,4,20,,0,,0,,0,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bMdef,10; bonus2 bSubRace,RC_Player,3; },{},{}
+32258,Ring_of_Jupiter,Ring of Jupiter,4,20,,500,,2,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ skill "AL_BLESSING",5; if (getequipid(EQI_ACC_R) == 32258) { bonus bBaseAtk,15*(readparam(bLuk)/10); bonus bMatk,15*(readparam(bLuk)/10); if (readparam(bLuk) >= 125) { bonus2 bAddClass,Class_Boss,15; bonus2 bMagicAddClass,Class_Boss,15; } } if (getequipid(EQI_ACC_L) == 32258) { bonus bMaxHPRate,2*(readparam(bVit)/10); bonus bMaxSPRate,2*(readparam(bVit)/10); if (readparam(bVit) >= 125) { bonus bDef,300; bonus bMdef,50; bonus2 bSubRace,RC_Player,3; } } },{},{}
+32262,Rasen_Fuma_Orb,Rasen Fuma's Orb,4,20,,100,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bStr,5; bonus bAgi,5; bonus bVit,5; bonus2 bAddClass,Class_All,5; if (getskilllv("KO_ZANZOU")>=5) { bonus2 bSkillAtk,"KO_HUUMARANKA",Baselevel/4; bonus2 bSkillAtk,"NJ_HUUMA",2*(Baselevel/4); } if (getskilllv("KO_KYOUGAKU")>=5) { bonus2 bSkillUseSP,"KO_HUUMARANKA",10; bonus2 bSkillCooldown,"KO_HUUMARANKA",-100; } if (getskilllv("KO_MUCHANAGE")==10) { bonus2 bHPDrainRate,50,1; } if (getskilllv("KO_MEIKYOUSISUI")>=5) { bonus bSPDrainValue,2; bonus2 bSkillCooldown,"KO_IZAYOI",-25000; } if (getskilllv("KO_SETSUDAN")>=5) { bonus2 bVariableCastrate,"KO_HUUMARANKA",-50; } },{},{}
+32263,Shield_Ring,Shield Ring,4,20,,400,,0,,1,0xFFFFFFFF,63,2,136,,100,0,0,{ bonus bStr,5; bonus bInt,5; bonus bDex,5; bonus2 bAddClass,Class_All,5; if (getskilllv("LG_EARTHDRIVE")==5) bonus bDelayrate,-30; if (getskilllv("LG_INSPIRATION")==5) bonus2 bSkillCooldown,"LG_EARTHDRIVE",-1500; if (getskilllv("CR_DEVOTION")==5) { bonus bStr,5; bonus bInt,5; bonus bDex,5; bonus bBaseAtk,100; } if (getskilllv("LG_PINPOINTATTACK")==5) { bonus2 bSkillVariableCast,"LG_EARTHDRIVE",-500; bonus2 bSkillUseSP,"LG_EARTHDRIVE",25; } },{},{}
 //===================================================================
 // More Guns
 //===================================================================

+ 1 - 0
db/re/item_noequip.txt

@@ -126,6 +126,7 @@
 13416,16	// Krieger_Onehand_Sword1
 13417,16	// Krieger_Onehand_Sword2
 13418,16	// Krieger_Onehand_Sword3
+28918,16	// Shield_of_Chaos
 
 // Vellum Gear
 1293,16		// Velum_Jamadhar

+ 12 - 0
db/re/mob_race2_db.txt

@@ -39,3 +39,15 @@ RC2_BIO5_SWORDMAN_THIEF,1640,2228,3213,3219,3226,3233,1641,2232,3208,3214,3230,3
 RC2_BIO5_ACOLYTE_MERCHANT,1643,2231,3209,3215,3229,3236,1642,2229,3212,3218,3227,3234				// Acolyte, Merchant monsters
 RC2_BIO5_MAGE_ARCHER,1645,2230,3210,3216,3228,3235,3211,1644,2233,2234,3217,3231,3232,3238,3239		// Mage, Archer monsters
 RC2_BIO5_MVP,3220,3221,3222,3223,3224,3225,3240,3241,3242,3243,3244,3245,3246						// MvPs
+// THANATOS
+RC2_THANATOS,1704,1705,1706,1707,1708,1709,1710,1711,1712
+// Faceworm
+RC2_FACEWORM,2528,2529,2530,2532,2533,2534,2535,2540,2541
+// Clock Tower (Need to confirm: Owl duke, Owl baron, Nightmare Mimic, Nightmare Rideword)
+RC2_CLOCKTOWER,1193,1199,1269,1270,1295,2870,2871,2910,2916,2917,2918,2919,2920,2921,2922,2923,3074
+// Rock Ridge
+RC2_ROCKRIDGE,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747,3748,3749
+// Heart Hunter
+//RC2_HEARTHUNTER,3626,3627,3628,3629
+// Werner Laboratory
+//RC2_WERNER_LAB,3621,3622,3631,3632,3633 // miss ID 3826 - YSF Seyren monster

+ 2 - 0
doc/item_bonus.txt

@@ -389,6 +389,8 @@ HP/SP gain
 bonus bHPGainValue,n;     		Heals +n HP when killing an enemy with a melee-physical attack
 bonus bSPGainValue,n;     		Heals +n SP when killing an enemy with a melee-physical attack
 bonus2 bSPGainRace,r,n;   		Heals +n SP when killing an enemy of race r with a melee-physical attack
+bonus bLongHPGainValue,n;     		Heals +n HP when killing an enemy with a range-physical attack
+bonus bLongSPGainValue,n;     		Heals +n SP when killing an enemy with a range-physical attack
 bonus bMagicHPGainValue,n;		Heals +n HP when killing an enemy with a magical attack
 bonus bMagicSPGainValue,n;		Heals +n SP when killing an enemy with a magical attack
 

+ 8 - 1
src/map/map.hpp

@@ -312,6 +312,12 @@ enum e_race2 : uint8{
 	RC2_BIO5_ACOLYTE_MERCHANT,
 	RC2_BIO5_MAGE_ARCHER,
 	RC2_BIO5_MVP,
+	RC2_CLOCKTOWER,
+	RC2_THANATOS,
+	RC2_FACEWORM,
+	RC2_HEARTHUNTER,
+	RC2_ROCKRIDGE,
+	RC2_WERNER_LAB,
 	RC2_MAX
 };
 
@@ -485,7 +491,8 @@ enum _sp {
 	SP_HP_VANISH_RACE_RATE, SP_SP_VANISH_RACE_RATE, SP_ABSORB_DMG_MAXHP, SP_SUB_SKILL, SP_SUBDEF_ELE, // 2074-2078
 	SP_STATE_NORECOVER_RACE, SP_CRITICAL_RANGEATK, SP_MAGIC_ADDRACE2, SP_IGNORE_MDEF_RACE2_RATE, // 2079-2082
 	SP_WEAPON_ATK_RATE, SP_WEAPON_MATK_RATE, SP_DROP_ADDRACE, SP_DROP_ADDCLASS, SP_NO_MADO_FUEL, // 2083-2087
-	SP_IGNORE_DEF_CLASS_RATE, SP_REGEN_PERCENT_HP, SP_REGEN_PERCENT_SP, SP_SKILL_DELAY, SP_NO_WALK_DELAY //2088-2093
+	SP_IGNORE_DEF_CLASS_RATE, SP_REGEN_PERCENT_HP, SP_REGEN_PERCENT_SP, SP_SKILL_DELAY, SP_NO_WALK_DELAY, //2088-2093
+	SP_LONG_SP_GAIN_VALUE, SP_LONG_HP_GAIN_VALUE // 2094-2095
 };
 
 enum _look {

+ 9 - 0
src/map/pc.cpp

@@ -3382,6 +3382,13 @@ void pc_bonus(struct map_session_data *sd,int type,int val)
 			if(!sd->state.lr_flag)
 				sd->bonus.hp_gain_value += val;
 			break;
+		case SP_LONG_SP_GAIN_VALUE:
+			if(!sd->state.lr_flag)
+				sd->bonus.long_sp_gain_value += val;
+		case SP_LONG_HP_GAIN_VALUE:
+			if(!sd->state.lr_flag)
+				sd->bonus.long_hp_gain_value += val;
+			break;		
 		case SP_MAGIC_SP_GAIN_VALUE:
 			if(!sd->state.lr_flag)
 				sd->bonus.magic_sp_gain_value += val;
@@ -8452,6 +8459,8 @@ int pc_readparam(struct map_session_data* sd,int type)
 		case SP_UNSTRIPABLE_SHIELD: val = (sd->bonus.unstripable_equip&EQP_SHIELD)?1:0; break;
 		case SP_SP_GAIN_VALUE:   val = sd->bonus.sp_gain_value; break;
 		case SP_HP_GAIN_VALUE:   val = sd->bonus.hp_gain_value; break;
+		case SP_LONG_SP_GAIN_VALUE:   val = sd->bonus.long_sp_gain_value; break;
+		case SP_LONG_HP_GAIN_VALUE:   val = sd->bonus.long_hp_gain_value; break;
 		case SP_MAGIC_SP_GAIN_VALUE: val = sd->bonus.magic_sp_gain_value; break;
 		case SP_MAGIC_HP_GAIN_VALUE: val = sd->bonus.magic_hp_gain_value; break;
 		case SP_ADD_HEAL_RATE:   val = sd->bonus.add_heal_rate; break;

+ 1 - 1
src/map/pc.hpp

@@ -502,7 +502,7 @@ struct map_session_data {
 		short splash_range, splash_add_range;
 		short add_steal_rate;
 		int add_heal_rate, add_heal2_rate;
-		int sp_gain_value, hp_gain_value, magic_sp_gain_value, magic_hp_gain_value;
+		int sp_gain_value, hp_gain_value, magic_sp_gain_value, magic_hp_gain_value, long_sp_gain_value, long_hp_gain_value;
 		unsigned short unbreakable;	// chance to prevent ANY equipment breaking [celest]
 		unsigned short unbreakable_equip; //100% break resistance on certain equipment
 		unsigned short unstripable_equip;

+ 8 - 0
src/map/script_constants.hpp

@@ -734,6 +734,8 @@
 	export_constant2("bRegenPercentSP", SP_REGEN_PERCENT_SP);
 	export_constant2("bSkillDelay",SP_SKILL_DELAY);
 	export_constant2("bNoWalkDelay",SP_NO_WALK_DELAY);
+	export_constant2("bLongSPGainValue",SP_LONG_SP_GAIN_VALUE);
+	export_constant2("bLongHPGainValue",SP_LONG_HP_GAIN_VALUE);
 
 	/* equip indices */
 	export_constant(EQI_COMPOUND_ON);
@@ -3474,6 +3476,12 @@
 	export_constant(RC2_BIO5_ACOLYTE_MERCHANT);
 	export_constant(RC2_BIO5_MAGE_ARCHER);
 	export_constant(RC2_BIO5_MVP);
+	export_constant(RC2_CLOCKTOWER);
+	export_constant(RC2_THANATOS);
+	export_constant(RC2_FACEWORM);
+	export_constant(RC2_HEARTHUNTER);
+	export_constant(RC2_ROCKRIDGE);
+	export_constant(RC2_WERNER_LAB);
 	export_constant(RC2_MAX);
 
 	/* classes */

+ 4 - 0
src/map/skill.cpp

@@ -2392,6 +2392,10 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
 			sp += sd->sp_gain_race[status_get_race(bl)] + sd->sp_gain_race[RC_ALL];
 			hp += sd->bonus.hp_gain_value;
 		}
+		if( (attack_type&(BF_WEAPON|BF_LONG)) == (BF_WEAPON|BF_LONG) ) {
+			sp += sd->bonus.long_sp_gain_value;
+			hp += sd->bonus.long_hp_gain_value;
+		}
 		if( attack_type&BF_MAGIC ) {
 			sp += sd->bonus.magic_sp_gain_value;
 			hp += sd->bonus.magic_hp_gain_value;