Browse Source

Suggestion getiteminfo script command update (#5819)

* Extend the functionality of getiteminfo script command to retrieve the item ID/Aegis item name
* Added constants
* Updated setiteminfo
Atemo 4 years ago
parent
commit
e4c0660190

+ 3 - 3
db/pre-re/item_db_etc.yml

@@ -8198,7 +8198,7 @@ Body:
     Flags:
     Flags:
       BuyingStore: true
       BuyingStore: true
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {
          bonus bHit,5;
          bonus bHit,5;
          bonus bCritical,5;
          bonus bCritical,5;
          bonus2 bSkillAtk,62,25;
          bonus2 bSkillAtk,62,25;
@@ -8214,7 +8214,7 @@ Body:
     Flags:
     Flags:
       BuyingStore: true
       BuyingStore: true
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {
          bonus bHit,5;
          bonus bHit,5;
          bonus bCritical,5;
          bonus bCritical,5;
          bonus2 bSkillAtk,47,50;
          bonus2 bSkillAtk,47,50;
@@ -8403,7 +8403,7 @@ Body:
     Flags:
     Flags:
       BuyingStore: true
       BuyingStore: true
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF) {
          bonus bInt,1;
          bonus bInt,1;
          bonus2 bIgnoreMdefClassRate,Class_Normal,2;
          bonus2 bIgnoreMdefClassRate,Class_Normal,2;
          bonus2 bIgnoreMdefClassRate,Class_Boss,2;
          bonus2 bIgnoreMdefClassRate,Class_Boss,2;

+ 1 - 1
db/pre-re/item_db_usable.yml

@@ -5103,7 +5103,7 @@ Body:
       NoMail: true
       NoMail: true
       NoAuction: true
       NoAuction: true
     Script: |
     Script: |
-      set .@type,getiteminfo(getequipid(EQI_HAND_R),11);
+      set .@type,getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
       if (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {
       if (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {
          skilleffect "BS_ADRENALINE",0;
          skilleffect "BS_ADRENALINE",0;
          sc_start SC_ADRENALINE,150000,5;
          sc_start SC_ADRENALINE,150000,5;

+ 3 - 3
db/re/item_combo_db.txt

@@ -540,7 +540,7 @@
 4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
 4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
 4153:18554,{ bonus2 bAddEle,Ele_Water,10; }
 4153:18554,{ bonus2 bAddEle,Ele_Water,10; }
 4159:27082,{ autobonus "{ bonus bFlee,10; }",20,5000,BF_SHORT; }
 4159:27082,{ autobonus "{ bonus bFlee,10; }",20,5000,BF_SHORT; }
-4163:5967,{ bonus bAspdRate,3; bonus bAspd,1; bonus2 bAddClass,Class_All,-5; if (getequiprefinerycnt(EQI_HAND_R) >= 10 && getiteminfo(getequipid(EQI_HAND_R),11) == 11) bonus bAspd,1; }
+4163:5967,{ bonus bAspdRate,3; bonus bAspd,1; bonus2 bAddClass,Class_All,-5; if (getequiprefinerycnt(EQI_HAND_R) >= 10 && getiteminfo(getequipid(EQI_HAND_R), II_VIEW) == 11) bonus bAspd,1; }
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
 4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
 4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
 4169:4488,{ if(getequiprefinerycnt(EQI_SHOES) >= 15) { bonus bMaxHPrate,15; bonus bMaxSPrate,15; } else { bonus bMaxHPrate,10; bonus bMaxSPrate,10; } }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
 4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus bSPDrainValue,1; if(BaseClass==Job_Thief) bonus bNoGemStone; }
@@ -812,7 +812,7 @@
 5965:4991,{ bonus bAspd,1; }
 5965:4991,{ bonus bAspd,1; }
 5966:2198:4441,{ .@r = getequiprefinerycnt(EQI_HAND_L); if (.@r > 7) bonus2 bSkillCooldown,"WL_COMET",+20000+(.@r > 9 ? +20000 : 0); }
 5966:2198:4441,{ .@r = getequiprefinerycnt(EQI_HAND_L); if (.@r > 7) bonus2 bSkillCooldown,"WL_COMET",+20000+(.@r > 9 ? +20000 : 0); }
 5966:2198:4876,{ .@r = getequiprefinerycnt(EQI_HAND_L); if (.@r > 7) bonus2 bSkillCooldown,"WL_COMET",+20000+(.@r > 9 ? +20000 : 0); }
 5966:2198:4876,{ .@r = getequiprefinerycnt(EQI_HAND_L); if (.@r > 7) bonus2 bSkillCooldown,"WL_COMET",+20000+(.@r > 9 ? +20000 : 0); }
-5966:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player_Human, getequiprefinerycnt(EQI_HAND_R)*2; } }
+5966:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON), II_VIEW); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player_Human, getequiprefinerycnt(EQI_HAND_R)*2; } }
 5967:28321,{ bonus2 bSubSkill,"HT_BLITZBEAT",200; }
 5967:28321,{ bonus2 bSubSkill,"HT_BLITZBEAT",200; }
 5918:19306,{ .@aspd = 1; .@crit_dmg = 2 + 2 * (readparam(bDex) / 10); .@sub_player = 2; .@luk = readparam(bLuk); if (.@luk > 107) { .@aspd += 1; .@crit_dmg += 2; .@sub_player += 2; } if (.@luk > 119) { .@aspd += 2; .@crit_dmg += 4; .@sub_player += 4; bonus bSplashRange,1; } bonus bAspd,.@aspd; bonus bCritAtkRate,.@crit_dmg; bonus2 bSubRace,RC_Player_Human,.@sub_player; bonus2 bSubSkill,"NPC_CRITICALSLASH",100; }
 5918:19306,{ .@aspd = 1; .@crit_dmg = 2 + 2 * (readparam(bDex) / 10); .@sub_player = 2; .@luk = readparam(bLuk); if (.@luk > 107) { .@aspd += 1; .@crit_dmg += 2; .@sub_player += 2; } if (.@luk > 119) { .@aspd += 2; .@crit_dmg += 4; .@sub_player += 4; bonus bSplashRange,1; } bonus bAspd,.@aspd; bonus bCritAtkRate,.@crit_dmg; bonus2 bSubRace,RC_Player_Human,.@sub_player; bonus2 bSubSkill,"NPC_CRITICALSLASH",100; }
 //9024:18832,{ bonus3 bAutoSpell,"BS_ADRENALINE",2,(GetPetRelationship >= 3)?15:10; }
 //9024:18832,{ bonus3 bAutoSpell,"BS_ADRENALINE",2,(GetPetRelationship >= 3)?15:10; }
@@ -1048,7 +1048,7 @@
 19266:20813,{.@r = getequiprefinerycnt(EQI_GARMENT); bonus bVariableCastrate,-5*(.@r/2);}
 19266:20813,{.@r = getequiprefinerycnt(EQI_GARMENT); bonus bVariableCastrate,-5*(.@r/2);}
 19266:19139,{.@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bDelayRate,-.@r;}
 19266:19139,{.@r = getequiprefinerycnt(EQI_HEAD_TOP); bonus bDelayRate,-.@r;}
 19272:4365,{ bonus bVariableCastrate,-100; bonus2 bSkillCooldown,"WL_TELEKINESIS_INTENSE",-120000; }
 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_Human, getequiprefinerycnt(EQI_HAND_R)*2; } }
+19299:4463,{ .@type = getiteminfo(getequipid(EQI_COMPOUND_ON), II_VIEW); if (.@type == W_BOOK || .@type == W_STAFF || .@type == W_2HSTAFF) { bonus2 bMagicAddRace,RC_Player_Human, 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_Human,2; if (.@a>=108) { bonus bMatk,20; bonus bVariableCastrate,-3; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } if (.@a>=120) { bonus bMatk,30; bonus bVariableCastrate,-5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; } }
 19299:5966,{ .@a = readparam(bDex); bonus bMatk,10; bonus bVariableCastrate,-2; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; if (.@a>=108) { bonus bMatk,20; bonus bVariableCastrate,-3; bonus2 bSubRace,RC_DemiHuman,2; bonus2 bSubRace,RC_Player_Human,2; } if (.@a>=120) { bonus bMatk,30; bonus bVariableCastrate,-5; bonus2 bSubRace,RC_DemiHuman,4; bonus2 bSubRace,RC_Player_Human,4; } }
 19310:15250:20906:22173:28566,{ if(BaseLevel>=125){ bonus bBaseAtk,10; bonus bMatk,10; } if(BaseLevel>=130){ bonus bMaxHPrate,1; bonus bMaxSPrate,1; } autobonus "{}",20,100,BF_WEAPON,"{ heal 500,50; }"; autobonus "{}",20,100,BF_MAGIC,"{ heal 250,100; }"; }
 19310:15250:20906:22173:28566,{ if(BaseLevel>=125){ bonus bBaseAtk,10; bonus bMatk,10; } if(BaseLevel>=130){ bonus bMaxHPrate,1; bonus bMaxSPrate,1; } autobonus "{}",20,100,BF_WEAPON,"{ heal 500,50; }"; autobonus "{}",20,100,BF_MAGIC,"{ heal 250,100; }"; }
 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: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; }

+ 2 - 2
db/re/item_db_equip.yml

@@ -70655,7 +70655,7 @@ Body:
       }
       }
       if (BaseClass == Job_Archer) {
       if (BaseClass == Job_Archer) {
          bonus bDex,3;
          bonus bDex,3;
-         if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW)
+         if (getiteminfo(getequipid(EQI_HAND_R), II_VIEW) == W_BOW)
             bonus bLongAtkRate,10;
             bonus bLongAtkRate,10;
       }
       }
   - Id: 18571
   - Id: 18571
@@ -72834,7 +72834,7 @@ Body:
       bonus bInt,3;
       bonus bInt,3;
       bonus bDex,2;
       bonus bDex,2;
       bonus bLuk,1;
       bonus bLuk,1;
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK)
+      if (getiteminfo(getequipid(EQI_HAND_R), II_VIEW) == W_BOOK)
          bonus bVariableCastrate,-3;
          bonus bVariableCastrate,-3;
   - Id: 18702
   - Id: 18702
     AegisName: Shaving_Cream
     AegisName: Shaving_Cream

+ 37 - 37
db/re/item_db_etc.yml

@@ -8685,7 +8685,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      .@i = getiteminfo(getequipid(EQI_HAND_R),11);
+      .@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
       if (.@i == W_1HSWORD || .@i == W_2HSWORD) {
       if (.@i == W_1HSWORD || .@i == W_2HSWORD) {
          bonus bHit,5;
          bonus bHit,5;
          bonus bCritical,5;
          bonus bCritical,5;
@@ -8703,7 +8703,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {
          bonus bHit,5;
          bonus bHit,5;
          bonus bCritical,5;
          bonus bCritical,5;
          bonus2 bSkillAtk,"AC_SHOWER",50;
          bonus2 bSkillAtk,"AC_SHOWER",50;
@@ -8904,7 +8904,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      .@i = getiteminfo(getequipid(EQI_HAND_R),11);
+      .@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
       if (.@i == W_STAFF || .@i == W_2HSTAFF) {
       if (.@i == W_STAFF || .@i == W_2HSTAFF) {
          bonus bInt,1;
          bonus bInt,1;
          bonus2 bIgnoreMdefClassRate,Class_Normal,2;
          bonus2 bIgnoreMdefClassRate,Class_Normal,2;
@@ -9275,7 +9275,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       bonus bBaseAtk,10;
       bonus bBaseAtk,10;
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {
          .@r = getrefine();
          .@r = getrefine();
          if (.@r>=10) {
          if (.@r>=10) {
             bonus bAspd,1;
             bonus bAspd,1;
@@ -9297,7 +9297,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       bonus bLongAtkRate,3;
       bonus bLongAtkRate,3;
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {
          .@r = getrefine();
          .@r = getrefine();
          if (.@r>=10) {
          if (.@r>=10) {
             bonus bAspd,1;
             bonus bAspd,1;
@@ -10564,7 +10564,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {
          bonus2 bSkillAtk,"RA_ARROWSTORM",50;
          bonus2 bSkillAtk,"RA_ARROWSTORM",50;
          bonus bCriticalLong,25+10*(getequiprefinerycnt(EQI_HAND_R)/4);
          bonus bCriticalLong,25+10*(getequiprefinerycnt(EQI_HAND_R)/4);
          bonus bHit,5;
          bonus bHit,5;
@@ -10898,7 +10898,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      .@i = getiteminfo(getequipid(EQI_HAND_R),11);
+      .@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
       if (.@i == W_1HSWORD || .@i == W_2HSWORD) {
       if (.@i == W_1HSWORD || .@i == W_2HSWORD) {
          bonus bBaseAtk,100;
          bonus bBaseAtk,100;
       }
       }
@@ -10915,7 +10915,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       bonus bBaseAtk,10;
       bonus bBaseAtk,10;
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_DAGGER) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_DAGGER) {
          .@r = getrefine();
          .@r = getrefine();
          if (.@r>=10) {
          if (.@r>=10) {
             bonus bAspd,1;
             bonus bAspd,1;
@@ -10979,7 +10979,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MACE) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MACE) {
          bonus bBaseAtk,20;
          bonus bBaseAtk,20;
          bonus bCritical,10;
          bonus bCritical,10;
       }
       }
@@ -11408,7 +11408,7 @@ Body:
     Script: |
     Script: |
       bonus bBaseAtk,5;
       bonus bBaseAtk,5;
       bonus bMatk,5;
       bonus bMatk,5;
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK) {
          .@r = getrefine();
          .@r = getrefine();
          if (.@r>=10) {
          if (.@r>=10) {
             bonus bBaseAtk,20;
             bonus bBaseAtk,20;
@@ -36675,7 +36675,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_BOW) {
+      if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_BOW) {
          bonus3 bAutoSpell,"AC_DOUBLE",5,30;
          bonus3 bAutoSpell,"AC_DOUBLE",5,30;
          if (getrefine() >= 10) {
          if (getrefine() >= 10) {
             bonus2 bWeaponDamageRate,W_BOW,20;
             bonus2 bWeaponDamageRate,W_BOW,20;
@@ -36938,7 +36938,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11);
+      .@type = getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW);
       if (.@type == W_WHIP || .@type == W_MUSICAL || .@type == W_BOOK || .@type == W_2HSWORD || .@type == W_2HSPEAR) {
       if (.@type == W_WHIP || .@type == W_MUSICAL || .@type == W_BOOK || .@type == W_2HSWORD || .@type == W_2HSPEAR) {
          .@r = getrefine();
          .@r = getrefine();
          bonus bCritical,5;
          bonus bCritical,5;
@@ -37130,7 +37130,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11);
+      .@type = getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW);
       .@r = getrefine();
       .@r = getrefine();
       if (.@type == 17 || .@type == 18 || .@type == 21) {
       if (.@type == 17 || .@type == 18 || .@type == 21) {
          bonus bLongAtkRate,5+.@r+(.@r >= 10 ? 5 : 0);
          bonus bLongAtkRate,5+.@r+(.@r >= 10 ? 5 : 0);
@@ -37357,7 +37357,7 @@ Body:
     Script: |
     Script: |
       .@atk = 5;
       .@atk = 5;
       .@r = getrefine();
       .@r = getrefine();
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_SPEAR && .@r >= 10) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_SPEAR && .@r >= 10) {
          .@atk += 20;
          .@atk += 20;
          if (.@r >= 14) {
          if (.@r >= 14) {
             .@atk += 20;
             .@atk += 20;
@@ -37403,7 +37403,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@bonus = 5;
       .@bonus = 5;
-      .@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11);
+      .@type = getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW);
       if (.@type == W_DAGGER) {
       if (.@type == W_DAGGER) {
          .@r = getrefine();
          .@r = getrefine();
          if (.@r>=10) {
          if (.@r>=10) {
@@ -37755,7 +37755,7 @@ Body:
          .@a = 5;
          .@a = 5;
          .@b = 10;
          .@b = 10;
       }
       }
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {
          skill "BA_POEMBRAGI2",.@a;
          skill "BA_POEMBRAGI2",.@a;
       }
       }
       bonus bFlee,(readparam(bVit)>=110) ? (.@b*2) : .@b;
       bonus bFlee,(readparam(bVit)>=110) ? (.@b*2) : .@b;
@@ -37859,13 +37859,13 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       if (getrefine()<15) {
       if (getrefine()<15) {
-         if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {
+         if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {
             skill "DC_FORTUNEKISS2",5;
             skill "DC_FORTUNEKISS2",5;
          }
          }
          bonus bFlee,(readparam(bVit)>=110) ? 20 : 10;
          bonus bFlee,(readparam(bVit)>=110) ? 20 : 10;
       }
       }
       else {
       else {
-         if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {
+         if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {
             skill "DC_FORTUNEKISS2",7;
             skill "DC_FORTUNEKISS2",7;
          }
          }
          bonus bFlee,(readparam(bVit)>=110) ? 30 : 15;
          bonus bFlee,(readparam(bVit)>=110) ? 30 : 15;
@@ -37881,12 +37881,12 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       if (getrefine()<15) {
       if (getrefine()<15) {
-         if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {
+         if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {
             bonus bBaseAtk,50;
             bonus bBaseAtk,50;
          }
          }
       }
       }
       else {
       else {
-         if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {
+         if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {
             bonus bBaseAtk,75;
             bonus bBaseAtk,75;
          }
          }
       }
       }
@@ -38151,7 +38151,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      .@rate = 10 + (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK ? 20 : 0) + (getrefine() >= 14 ? 20 : 0);
+      .@rate = 10 + (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK ? 20 : 0) + (getrefine() >= 14 ? 20 : 0);
       bonus2 bSkillAtk,"MG_FIREBOLT",.@rate;
       bonus2 bSkillAtk,"MG_FIREBOLT",.@rate;
       bonus2 bSkillAtk,"MG_COLDBOLT",.@rate;
       bonus2 bSkillAtk,"MG_COLDBOLT",.@rate;
       bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@rate;
       bonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@rate;
@@ -38465,7 +38465,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_REVOLVER) {
+      if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_REVOLVER) {
          .@r = getrefine();
          .@r = getrefine();
          bonus bHit,20;
          bonus bHit,20;
          bonus bLongAtkRate,(5+.@r);
          bonus bLongAtkRate,(5+.@r);
@@ -38484,7 +38484,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_GATLING) {
+      if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_GATLING) {
          .@r = getrefine();
          .@r = getrefine();
          bonus bHit,20;
          bonus bHit,20;
          bonus bLongAtkRate,(5+.@r);
          bonus bLongAtkRate,(5+.@r);
@@ -38561,7 +38561,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_KNUCKLE) {
+      if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_KNUCKLE) {
          .@r = getrefine();
          .@r = getrefine();
          bonus bHit,20;
          bonus bHit,20;
          bonus bBaseAtk,15;
          bonus bBaseAtk,15;
@@ -38593,7 +38593,7 @@ Body:
     Flags:
     Flags:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_KATAR) {
+      if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_KATAR) {
          .@r = getrefine();
          .@r = getrefine();
          bonus bCritical,7;
          bonus bCritical,7;
          bonus bBaseAtk,15;
          bonus bBaseAtk,15;
@@ -42586,7 +42586,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@r = getequiprefinerycnt(EQI_HAND_R);
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {
          bonus2 bMagicAtkEle,Ele_Ghost,10;
          bonus2 bMagicAtkEle,Ele_Ghost,10;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -42607,7 +42607,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@r = getequiprefinerycnt(EQI_HAND_R);
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {
          bonus2 bMagicAtkEle,Ele_Wind,10;
          bonus2 bMagicAtkEle,Ele_Wind,10;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -42628,7 +42628,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@r = getequiprefinerycnt(EQI_HAND_R);
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {
          bonus2 bMagicAtkEle,Ele_Holy,10;
          bonus2 bMagicAtkEle,Ele_Holy,10;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -42880,7 +42880,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSPEAR || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSPEAR) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSPEAR || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSPEAR) {
          bonus bLongAtkRate,10;
          bonus bLongAtkRate,10;
       }
       }
       bonus bLongAtkRate,2*(getrefine()/2);
       bonus bLongAtkRate,2*(getrefine()/2);
@@ -42940,7 +42940,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getrefine();
       .@r = getrefine();
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {
          bonus bShortAtkRate,10;
          bonus bShortAtkRate,10;
       }
       }
       bonus bShortAtkRate,.@r;
       bonus bShortAtkRate,.@r;
@@ -42975,7 +42975,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getrefine();
       .@r = getrefine();
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK) {
          bonus2 bAddClass,Class_All,5;
          bonus2 bAddClass,Class_All,5;
          bonus bHit,20;
          bonus bHit,20;
       }
       }
@@ -43071,7 +43071,7 @@ Body:
       BuyingStore: true
       BuyingStore: true
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {
          bonus bCritAtkRate,20;
          bonus bCritAtkRate,20;
       }
       }
       bonus bCritAtkRate,2*(getrefine()/2);
       bonus bCritAtkRate,2*(getrefine()/2);
@@ -43102,7 +43102,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getrefine();
       .@r = getrefine();
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {
          bonus bMatk,20;
          bonus bMatk,20;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -43265,7 +43265,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@r = getequiprefinerycnt(EQI_HAND_R);
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {
          bonus2 bMagicAtkEle,Ele_Fire,10;
          bonus2 bMagicAtkEle,Ele_Fire,10;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -43396,7 +43396,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@r = getequiprefinerycnt(EQI_HAND_R);
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {
          bonus2 bMagicAtkEle,Ele_Neutral,10;
          bonus2 bMagicAtkEle,Ele_Neutral,10;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -43551,7 +43551,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@r = getequiprefinerycnt(EQI_HAND_R);
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {
          bonus2 bMagicAtkEle,Ele_Water,10;
          bonus2 bMagicAtkEle,Ele_Water,10;
       }
       }
       if (.@r>=10) {
       if (.@r>=10) {
@@ -43934,7 +43934,7 @@ Body:
       DropEffect: CLIENT
       DropEffect: CLIENT
     Script: |
     Script: |
       .@val = 15;
       .@val = 15;
-      if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) {
+      if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK) {
          .@val += 20;
          .@val += 20;
       }
       }
       if (getrefine()>=14) {
       if (getrefine()>=14) {

+ 1 - 1
db/re/item_db_usable.yml

@@ -6165,7 +6165,7 @@ Body:
       NoMail: true
       NoMail: true
       NoAuction: true
       NoAuction: true
     Script: |
     Script: |
-      .@type = getiteminfo(getequipid(EQI_HAND_R),11);
+      .@type = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
       if (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {
       if (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {
          skilleffect "BS_ADRENALINE",0;
          skilleffect "BS_ADRENALINE",0;
          sc_start SC_ADRENALINE,150000,5;
          sc_start SC_ADRENALINE,150000,5;

+ 24 - 7
doc/sample/getiteminfo.txt

@@ -9,15 +9,32 @@
 //============================================================
 //============================================================
 
 
 prontera,156,179,6	script	test_getiteminfo	117,{
 prontera,156,179,6	script	test_getiteminfo	117,{
-	mes "Please enter an item ID.";
-	input .@value;
+	switch( select( "item ID", "aegis item name", "english item name" ) ) {
+	case 1:
+		mes "Please enter an item ID.";
+		input .@value;
 
 
-	// This line uses an INTERNAL function of your client to show item name by its ID!
-	// ^nItemID^XXXX -> Item Name
-	mes "Item ID: " + .@value + " ^nItemID^" + .@value;
+		// This line uses an INTERNAL function of your client to show item name by its ID!
+		// ^nItemID^XXXX -> Item Name
+		mes "Item ID: " + .@value + " ^nItemID^" + .@value;
 
 
+		mes "Current item info:";
+		for(.@id = 0; .@id <= 18; .@id++)
+			mes " getiteminfo(" + .@value + "," + .@id + ") = " + getiteminfo(.@value,.@id);
+		close;
+	case 2:
+		mes "Please enter an english item name.";
+		input .@value$;
+		mes "english item name: " + .@value$;
+		break;
+	case 3:
+		mes "Please enter an aegis item name.";
+		input .@value$;
+		mes "aegis item name: " + .@value$;
+		break;
+	}
 	mes "Current item info:";
 	mes "Current item info:";
-	for(.@id = 0; .@id <= 16; .@id++)
-		mes " getiteminfo(" + .@value + "," + .@id + ") = " + getiteminfo(.@value,.@id);
+	for(.@id = 0; .@id <= 18; .@id++)
+		mes " getiteminfo(" + .@value$ + "," + .@id + ") = " + getiteminfo(.@value$,.@id);
 	close;
 	close;
 }
 }

+ 79 - 39
doc/script_commands.txt

@@ -2705,10 +2705,11 @@ See 'getequipid' for a full list of valid equipment slots.
 ---------------------------------------
 ---------------------------------------
 
 
 *getitemname(<item id>)
 *getitemname(<item id>)
+*getitemname(<aegis item name>)
 
 
 Given the database ID number of an item, this function will return the text
 Given the database ID number of an item, this function will return the text
-stored in the 'japanese name' field (which, in rAthena, stores an English name
-the players would normally see on screen.)
+stored in the 'Name' field in item_db_*.yml for text version
+or 'name_english' field for SQL version.
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -2995,32 +2996,36 @@ Example:
 ---------------------------------------
 ---------------------------------------
 
 
 *getiteminfo(<item ID>,<type>)
 *getiteminfo(<item ID>,<type>)
+*getiteminfo(<item name>,<type>)
+*getiteminfo(<aegis item name>,<type>)
 
 
 This function will look up the item with the specified ID number in the database
 This function will look up the item with the specified ID number in the database
 and return the info set by TYPE argument.
 and return the info set by TYPE argument.
-It will return -1 if there is no such item.
+It will return -1 if there is no such item or "" if the aegis item name is requested.
 
 
 Valid types are:
 Valid types are:
-	0  - Buy Price
-	1  - Sell Price
-	2  - Type
-	3  - maxchance (max drop chance of this item, e.g. 1 = 0.01%)
-		 if = 0, then monsters don't drop it at all (rare or a quest item)
-		 if = 10000, then this item is sold in NPC shops only
-	4  - Gender
-	5  - Loc
-	6  - Weight
-	7  - ATK
-	8  - DEF
-	9  - Range
-	10 - Slot
-	11 - View
-	12 - eLV
-	13 - wLV
-	14 - SpriteID from 'db/item_avail.txt'
-	15 - eLVMax
-	16 - matk if RENEWAL is defined
-
+	ITEMINFO_BUY             (0)   -  Buy Price
+	ITEMINFO_SELL            (1)   -  Sell Price
+	ITEMINFO_TYPE            (2)   -  Type
+	ITEMINFO_MAXCHANCE       (3)   -  maxchance (max drop chance of this item, e.g. 1 = 0.01%)
+		                        if = 0, then monsters don't drop it at all (rare or a quest item)
+		                        if = 10000, then this item is sold in NPC shops only
+	ITEMINFO_GENDER          (4)   -  Gender
+	ITEMINFO_LOCATIONS       (5)   -  Location(s)
+	ITEMINFO_WEIGHT          (6)   -  Weight
+	ITEMINFO_ATTACK          (7)   -  ATK
+	ITEMINFO_DEFENSE         (8)   -  DEF
+	ITEMINFO_RANGE           (9)   -  Range
+	ITEMINFO_SLOT           (10)   -  Slot
+	ITEMINFO_VIEW           (11)   -  View
+	ITEMINFO_EQUIPLEVELMIN  (12)   -  equipment LV
+	ITEMINFO_WEAPONLEVEL    (13)   -  weapon LV
+	ITEMINFO_ALIASNAME      (14)   -  AliasName
+	ITEMINFO_EQUIPLEVELMAX  (15)   -  equipment LV Max
+	ITEMINFO_MAGICATTACK    (16)   -  matk if RENEWAL is defined
+	ITEMINFO_ID             (17)   -  item ID
+	ITEMINFO_AEGISNAME      (18)   -  aegis item name
+	
 See the sample in 'doc/sample/getiteminfo.txt'.
 See the sample in 'doc/sample/getiteminfo.txt'.
 
 
 ---------------------------------------
 ---------------------------------------
@@ -5175,19 +5180,34 @@ The default setting, 'item_enabled_npc', is defined in 'conf/battle/items.conf'.
 *itemskill "<skill name>",<skill level>{,<keep requirement>};
 *itemskill "<skill name>",<skill level>{,<keep requirement>};
 
 
 This command is meant for item scripts to replicate single-use skills in usable
 This command is meant for item scripts to replicate single-use skills in usable
-items. It will not work properly if there is a visible dialog window or menu.
+items. It will not work properly if there is a visible dialog window or menu or if the item is not type 'Delayconsume'.
 If the skill is self or auto-targeting, it will be used immediately; otherwise a
 If the skill is self or auto-targeting, it will be used immediately; otherwise a
 target cursor is shown.
 target cursor is shown.
 
 
 If <keep requirement> parameter is set to true, the skill's requirements will be checked.
 If <keep requirement> parameter is set to true, the skill's requirements will be checked.
 By default, the requirements for item skills are not checked, and therefore the default value is false.
 By default, the requirements for item skills are not checked, and therefore the default value is false.
 
 
-// When Anodyne is used, it will cast Endure (8), Level 1, as if the actual
-// skill has been used from skill tree.
-605,Anodyne,Anodyne,11,2000,0,100,,,,,10477567,2,,,,,{ itemskill 8,1; },{}
+// When Anodyne is used, it will cast Endure (8), Level 1, as if the actual skill has been used from skill tree.
+  - Id: 605
+    AegisName: Anodyne
+    Name: Anodyne
+    Type: Delayconsume
+    Buy: 2000
+    Weight: 100
+    Flags:
+      BuyingStore: true
+    Script: |
+      itemskill "SM_ENDURE",1;
 
 
 // When Sienna_Execrate_Scroll_1_5 is used, it will cast Sienna Execrate Level 5 and consume 2 Red_Gemstones.
 // When Sienna_Execrate_Scroll_1_5 is used, it will cast Sienna Execrate Level 5 and consume 2 Red_Gemstones.
-23194,Sienna_Execrate_Scroll_1_5,Level 5 Sienna Execrate,11,10,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ itemskill "WL_SIENNAEXECRATE",5,true; },{},{}
+  - Id: 23194
+    AegisName: Sienna_Execrate_Scroll_1_5
+    Name: Level 5 Sienna Execrate
+    Type: Delayconsume
+    Buy: 10
+    Weight: 10
+    Script: |
+      itemskill "WL_SIENNAEXECRATE",5,true;
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -6020,8 +6040,16 @@ Types:
 Status_icon: See "Status Icon" section in 'src/map/script_constants.hpp'. Default is SI_BLANK (-1).
 Status_icon: See "Status Icon" section in 'src/map/script_constants.hpp'. Default is SI_BLANK (-1).
 
 
 Example:
 Example:
-	// Apple gives you +5 Str bonus for 1 minute when it's consumed.
-	512,Apple,Apple,0,15,,20,,,,,0xFFFFFFFF,63,2,,,,,,{ bonus_script "{ bonus bStr,5; }",60; },{},{}
+  - Id: 512
+    AegisName: Apple
+    Name: Apple
+    Type: Healing
+    Buy: 15
+    Weight: 20
+    Flags:
+      BuyingStore: true
+    Script: |
+      bonus_script "{ bonus bStr,5; }",60;
 
 
 ---------------------------------------
 ---------------------------------------
 
 
@@ -8597,22 +8625,34 @@ Example:
 ---------------------------------------
 ---------------------------------------
 
 
 *setiteminfo(<item id>,<type>,<value>)
 *setiteminfo(<item id>,<type>,<value>)
+*setiteminfo(<aegis item name>,<type>,<value>)
 
 
 This function will set some value of an item.
 This function will set some value of an item.
 Returns the new value on success, or -1 on fail (item_id not found or invalid type).
 Returns the new value on success, or -1 on fail (item_id not found or invalid type).
 
 
 Valid types are:
 Valid types are:
-	0 - Buy Price; 1 - Sell Price; 2 - Item Type;
-	3 - maxchance (Max drop chance of this item e.g. 1 = 0.01% , etc..
-		if = 0, then monsters don't drop it at all (rare or a quest item)
-		if = 10000, then this item is sold in NPC shops only
-	4 - sex; 5 - equip; 6 - weight; 7 - atk; 8 - def; 9 - range;
-	10 - slot; 11 - look; 12 - elv; 13 - wlv; 14 - view id
-	15 - eLVMax
-	16 - matk if RENEWAL is defined
+	ITEMINFO_BUY             (0)   -  Buy Price
+	ITEMINFO_SELL            (1)   -  Sell Price
+	ITEMINFO_TYPE            (2)   -  Type
+	ITEMINFO_MAXCHANCE       (3)   -  maxchance (max drop chance of this item, e.g. 1 = 0.01%)
+		                        if = 0, then monsters don't drop it at all (rare or a quest item)
+		                        if = 10000, then this item is sold in NPC shops only
+	ITEMINFO_GENDER          (4)   -  Gender
+	ITEMINFO_LOCATIONS       (5)   -  Location(s)
+	ITEMINFO_WEIGHT          (6)   -  Weight
+	ITEMINFO_ATTACK          (7)   -  ATK
+	ITEMINFO_DEFENSE         (8)   -  DEF
+	ITEMINFO_RANGE           (9)   -  Range
+	ITEMINFO_SLOT           (10)   -  Slot
+	ITEMINFO_VIEW           (11)   -  View
+	ITEMINFO_EQUIPLEVELMIN  (12)   -  equipment LV
+	ITEMINFO_WEAPONLEVEL    (13)   -  weapon LV
+	ITEMINFO_ALIASNAME      (14)   -  AliasName
+	ITEMINFO_EQUIPLEVELMAX  (15)   -  equipment LV Max
+	ITEMINFO_MAGICATTACK    (16)   -  matk if RENEWAL is defined
 
 
 Example:
 Example:
-	setiteminfo 7049,6,9990; // Stone now weighs 999.0
+	setiteminfo 7049,ITEMINFO_WEIGHT,9990; // Stone now weighs 999.0
 
 
 ---------------------------------------
 ---------------------------------------
 
 

+ 3 - 3
npc/custom/etc/autopot.txt

@@ -68,7 +68,7 @@ L_Start:
 		message strcharinfo(0), "'" + getitemname(.@potion) + "' is black listed and cannot be used.";
 		message strcharinfo(0), "'" + getitemname(.@potion) + "' is black listed and cannot be used.";
 		end;
 		end;
 	}
 	}
-	if (BaseLevel < getiteminfo(.@potion,12)) {
+	if (BaseLevel < getiteminfo(.@potion, ITEMINFO_EQUIPLEVELMIN)) {
 		message strcharinfo(0), "Your base level is too low to use '" + getitemname(.@potion) + "'.";
 		message strcharinfo(0), "Your base level is too low to use '" + getitemname(.@potion) + "'.";
 		end;
 		end;
 	}
 	}
@@ -116,9 +116,9 @@ OnCommand:
 		if(.@command$[1] == "list"){
 		if(.@command$[1] == "list"){
 			getinventorylist;
 			getinventorylist;
 			for(.@i = 0;.@i < @inventorylist_count;.@i++){
 			for(.@i = 0;.@i < @inventorylist_count;.@i++){
-				if (getiteminfo(@inventorylist_id[.@i],2) == IT_HEALING) {
+				if (getiteminfo(@inventorylist_id[.@i], ITEMINFO_TYPE) == IT_HEALING) {
 					.@items[.@count] = @inventorylist_id[.@i];
 					.@items[.@count] = @inventorylist_id[.@i];
-					.@menu$ = .@menu$ + sprintf("~ ^0055FF%s^000000 (%dx)" + (inarray(.blackList[0],@inventorylist_id[.@i]) != -1? " ^364022Black Listed^000000":"") + (BaseLevel < getiteminfo(@inventorylist_id[.@i],12)? " ^E82C0CNeed Higher Level^000000":"") + ":", getitemname(@inventorylist_id[.@i]), countitem(@inventorylist_id[.@i]));
+					.@menu$ = .@menu$ + sprintf("~ ^0055FF%s^000000 (%dx)" + (inarray(.blackList[0],@inventorylist_id[.@i]) != -1? " ^364022Black Listed^000000":"") + (BaseLevel < getiteminfo(@inventorylist_id[.@i], ITEMINFO_EQUIPLEVELMIN)? " ^E82C0CNeed Higher Level^000000":"") + ":", getitemname(@inventorylist_id[.@i]), countitem(@inventorylist_id[.@i]));
 					.@count++;
 					.@count++;
 				}
 				}
 			}
 			}

+ 1 - 1
npc/custom/item_signer.txt

@@ -80,7 +80,7 @@ prt_in,24,61,7	script	Perchik	47,{
 		emotion ET_SCRATCH;
 		emotion ET_SCRATCH;
 		close;
 		close;
 	}
 	}
-	if (getiteminfo(.@id,10)) {
+	if (getiteminfo(.@id, ITEMINFO_SLOT)) {
 		mes "Sorry, I don't sign slotted items.";
 		mes "Sorry, I don't sign slotted items.";
 		emotion ET_SORRY;
 		emotion ET_SORRY;
 		close;
 		close;

+ 3 - 3
npc/custom/quests/quest_shop.txt

@@ -146,7 +146,7 @@ OnBuyItem:
 	if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
 	if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
 		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
 		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
 	next;
 	next;
-	setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
+	setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOCATIONS), getiteminfo(.@q[0], ITEMINFO_VIEW);
 	if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT)))
 	if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT)))
 		set .@preview,1;
 		set .@preview,1;
 	addtimer 1000, strnpcinfo(0)+"::OnEnd";
 	addtimer 1000, strnpcinfo(0)+"::OnEnd";
@@ -160,7 +160,7 @@ OnBuyItem:
 			}
 			}
 			if (!checkweight(.@q[0],.@q[2])) {
 			if (!checkweight(.@q[0],.@q[2])) {
 				mes "[Quest Shop]";
 				mes "[Quest Shop]";
-				mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
+				mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0], ITEMINFO_WEIGHT))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
 				close;
 				close;
 			}
 			}
 			if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]);
 			if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]);
@@ -223,7 +223,7 @@ function Slot {
 	set .@s$,getitemname(getarg(0));
 	set .@s$,getitemname(getarg(0));
 	switch(.ShowSlot) {
 	switch(.ShowSlot) {
 		case 1: if (!getitemslots(getarg(0))) return .@s$;
 		case 1: if (!getitemslots(getarg(0))) return .@s$;
-		case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
+		case 2: if (getiteminfo(getarg(0), ITEMINFO_TYPE) == 4 || getiteminfo(getarg(0), ITEMINFO_TYPE) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
 		default: return .@s$;
 		default: return .@s$;
 	}
 	}
 }
 }

+ 1 - 1
npc/events/RWC_2012.txt

@@ -327,7 +327,7 @@ prontera,147,59,3	script	Goldberg#pron	878,{
 		delequip .@part;
 		delequip .@part;
 	
 	
 //		GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
 //		GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
-		for ( .@i = getiteminfo(.@equip_id,10); .@i < MAX_SLOTS; .@i++ ) {
+		for ( .@i = getiteminfo(.@equip_id, ITEMINFO_SLOT); .@i < MAX_SLOTS; .@i++ ) {
 			if (callfunc("F_IsCharm",.@equip_card[.@i]) == true)
 			if (callfunc("F_IsCharm",.@equip_card[.@i]) == true)
 				.@equip_card[.@i] = 0;// Armor Enchant System
 				.@equip_card[.@i] = 0;// Armor Enchant System
 		}
 		}

+ 1 - 1
npc/merchants/socket_enchant.txt

@@ -259,7 +259,7 @@ function	script	Func_Socket	{
 	mes "Ah, and don't forget to bring that "+ getitemname(.@item_id) +"!";
 	mes "Ah, and don't forget to bring that "+ getitemname(.@item_id) +"!";
 	next;
 	next;
 	mes "[Seiyablem]";
 	mes "[Seiyablem]";
-	if (getiteminfo(.@item_id,5) & EQP_HAND_R) // weapon
+	if (getiteminfo(.@item_id, ITEMINFO_LOCATIONS) & EQP_HAND_R) // weapon
 	{
 	{
 		mes "I can try to add a slot now if you have the required items and zeny.";
 		mes "I can try to add a slot now if you have the required items and zeny.";
 		mes "However, you should know that there's a chance that I might fail.";
 		mes "However, you should know that there's a chance that I might fail.";

+ 2 - 2
npc/merchants/socket_enchant2.txt

@@ -410,8 +410,8 @@ function	script	Func_Socket2	{
 	mes "[Leablem]";
 	mes "[Leablem]";
 	mes "Did you already bring all of them?";
 	mes "Did you already bring all of them?";
 	mes "For your information, if you fail to create a slot,";
 	mes "For your information, if you fail to create a slot,";
-	mes "you will lose all the item requirement as well as the target "+ ((getiteminfo(.@item_id,5)&EQP_HAND_R) ? "weapon" : "armor") +".";
-	mes "Also remember, if the "+ ((getiteminfo(.@item_id,5)&EQP_HAND_R) ? "weapon" : "armor") +" has been upgraded, and has been inserted with a card,";
+	mes "you will lose all the item requirement as well as the target "+ ((getiteminfo(.@item_id, ITEMINFO_LOCATIONS)&EQP_HAND_R) ? "weapon" : "armor") +".";
+	mes "Also remember, if the "+ ((getiteminfo(.@item_id, ITEMINFO_LOCATIONS)&EQP_HAND_R) ? "weapon" : "armor") +" has been upgraded, and has been inserted with a card,";
 	mes "you will lose them even if you succeed in creating a slot.";
 	mes "you will lose them even if you succeed in creating a slot.";
 	next;
 	next;
 	switch(select("Ask for slot creation.:Try next time."))
 	switch(select("Ask for slot creation.:Try next time."))

+ 2 - 2
npc/other/Global_Functions.txt

@@ -260,7 +260,7 @@ function	script	F_Load2Skills	{
 // -- callfunc "F_GetArmorType",<item ID>
 // -- callfunc "F_GetArmorType",<item ID>
 //////////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////////
 function	script	F_GetWeaponType	{
 function	script	F_GetWeaponType	{
-	switch(getiteminfo(getarg(0),11)) {
+	switch(getiteminfo(getarg(0), ITEMINFO_VIEW)) {
 		case 1: return "Dagger"; break;
 		case 1: return "Dagger"; break;
 		case 2: return "One-handed Sword"; break;
 		case 2: return "One-handed Sword"; break;
 		case 3: return "Two-handed Sword"; break;
 		case 3: return "Two-handed Sword"; break;
@@ -288,7 +288,7 @@ function	script	F_GetWeaponType	{
 	end;
 	end;
 }
 }
 function	script	F_GetArmorType	{
 function	script	F_GetArmorType	{
-	switch(getiteminfo(getarg(0),5)) {
+	switch(getiteminfo(getarg(0), ITEMINFO_LOCATIONS)) {
 		case EQP_HEAD_LOW:
 		case EQP_HEAD_LOW:
 			return "Lower Headgear";
 			return "Lower Headgear";
 		case EQP_HAND_R:
 		case EQP_HAND_R:

+ 1 - 1
npc/other/monster_race.txt

@@ -2558,7 +2558,7 @@ S_BonusReward:
 		mes "me a reward later?";
 		mes "me a reward later?";
 		next;
 		next;
 		mes "[Ei'felle]";
 		mes "[Ei'felle]";
-		if (!getiteminfo(.@arg1,13)) { //use item level to determine if the item is armor (no weapon level)
+		if (!getiteminfo(.@arg1, ITEMINFO_WEAPONLEVEL)) { //use item level to determine if the item is armor (no weapon level)
 			mes "Of course, of course.";
 			mes "Of course, of course.";
 			mes "Remember, if you donate";
 			mes "Remember, if you donate";
 			mes "more medals to me, then";
 			mes "more medals to me, then";

+ 2 - 2
npc/quests/cooking_quest.txt

@@ -2063,8 +2063,8 @@ L_End:
 
 
 S_SellSets:
 S_SellSets:
 	.@item_id = getarg(0);
 	.@item_id = getarg(0);
-	.@item_cost = getiteminfo(.@item_id,0);
-	.@item_weight = getiteminfo(.@item_id,6);
+	.@item_cost = getiteminfo(.@item_id, ITEMINFO_BUY);
+	.@item_weight = getiteminfo(.@item_id, ITEMINFO_WEIGHT);
 	mes "[Madeleine Chu]";
 	mes "[Madeleine Chu]";
 	mes "How many "+ (.@item_id == 12125 ? "Outdoor":"Indoor");
 	mes "How many "+ (.@item_id == 12125 ? "Outdoor":"Indoor");
 	mes "Cooking Kits would";
 	mes "Cooking Kits would";

+ 1 - 1
npc/re/merchants/coin_exchange.txt

@@ -552,7 +552,7 @@ function	script	F_mal_coin	{
 				mes "I'm sorry, you need more "+.@str$+".";
 				mes "I'm sorry, you need more "+.@str$+".";
 				close;
 				close;
 			}
 			}
-			if (MaxWeight - Weight < getiteminfo(getarg(3),6)) {
+			if (MaxWeight - Weight < getiteminfo(getarg(3), ITEMINFO_WEIGHT)) {
 				mes .@npc_name$;
 				mes .@npc_name$;
 				mes "Sorry, you've purchased too many.";
 				mes "Sorry, you've purchased too many.";
 				mes "You need to make more space in your inventory. Please come back later.";
 				mes "You need to make more space in your inventory. Please come back later.";

+ 2 - 2
npc/re/merchants/enchan_mal.txt

@@ -69,7 +69,7 @@ malangdo,213,167,4	script	Mayomayo#mal	555,{
 		close;
 		close;
 	}
 	}
 	@mal_equip_id = getequipid(EQI_HAND_R);
 	@mal_equip_id = getequipid(EQI_HAND_R);
-	.@equip_type = getiteminfo(@mal_equip_id,11);
+	.@equip_type = getiteminfo(@mal_equip_id, ITEMINFO_VIEW);
 
 
 	// callsub L_Socket,<cost multiplier>,<4-x enchants possible>;
 	// callsub L_Socket,<cost multiplier>,<4-x enchants possible>;
 	switch(.@equip_type) {	//  Check weapon type first to speed up the checks.
 	switch(.@equip_type) {	//  Check weapon type first to speed up the checks.
@@ -675,7 +675,7 @@ L_Socket:
 		delequip EQI_HAND_R;
 		delequip EQI_HAND_R;
 
 
 		// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
 		// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
-		for ( .@i = getiteminfo(.@equip_id,10); .@i < MAX_SLOTS; .@i++ ) {
+		for ( .@i = getiteminfo(.@equip_id, ITEMINFO_SLOT); .@i < MAX_SLOTS; .@i++ ) {
 			if (callfunc("F_IsCharm",.@equip_card[.@i]) == true)
 			if (callfunc("F_IsCharm",.@equip_card[.@i]) == true)
 				.@equip_card[.@i] = 0;// Armor Enchant System
 				.@equip_card[.@i] = 0;// Armor Enchant System
 		}
 		}

+ 1 - 1
npc/re/merchants/enchan_mora.txt

@@ -1155,7 +1155,7 @@ L_Socket:
 		delequip .@part;
 		delequip .@part;
 
 
 //		GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
 //		GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
-		for ( .@i = getiteminfo(.@equip_id,10); .@i < MAX_SLOTS; .@i++ ) {
+		for ( .@i = getiteminfo(.@equip_id, ITEMINFO_SLOT); .@i < MAX_SLOTS; .@i++ ) {
 			if (callfunc("F_IsCharm",.@equip_card[.@i]) == true)
 			if (callfunc("F_IsCharm",.@equip_card[.@i]) == true)
 				.@equip_card[.@i] = 0;// Armor Enchant System
 				.@equip_card[.@i] = 0;// Armor Enchant System
 		}
 		}

+ 3 - 3
npc/re/merchants/malangdo_costume.txt

@@ -456,12 +456,12 @@ mal_in01,20,124,5	script	Designer Heidam#eventhat	4_CAT_SAILOR5,{
 
 
 	while(1) {
 	while(1) {
 		for ( .@i = 0; .@i < 18; ++.@i ) {
 		for ( .@i = 0; .@i < 18; ++.@i ) {
-			if (getiteminfo(.@box_list[.@i], 2) == -1)	// temporary check
+			if (getiteminfo(.@box_list[.@i], ITEMINFO_TYPE) == -1)	// temporary check
 				continue;
 				continue;
 			.@size = getarraysize( getd(".@item_list_" + .@i) );
 			.@size = getarraysize( getd(".@item_list_" + .@i) );
 			for ( .@h = 0; .@h < .@size; ++.@h ) {
 			for ( .@h = 0; .@h < .@size; ++.@h ) {
 				.@id = getd( ".@item_list_" + .@i + "[" + .@h + "]" );
 				.@id = getd( ".@item_list_" + .@i + "[" + .@h + "]" );
-				if (getiteminfo(.@id, 2) == -1)	// temporary check
+				if (getiteminfo(.@id, ITEMINFO_TYPE) == -1)	// temporary check
 					continue;
 					continue;
 				if (countitem(.@id) < 1)
 				if (countitem(.@id) < 1)
 					continue;
 					continue;
@@ -1133,7 +1133,7 @@ mal_in01,22,113,3	script	Aver De Dosh#cos_ect	4_WHITETIGER,{
 		close;
 		close;
 	}
 	}
 
 
-	.@location = getiteminfo(.@equip_id, 5);
+	.@location = getiteminfo(.@equip_id, ITEMINFO_LOCATIONS);
 	.@equip_refine = getequiprefinerycnt(.@part);
 	.@equip_refine = getequiprefinerycnt(.@part);
 	setarray .@card[0], getequipcardid(.@part, 0), getequipcardid(.@part, 1), getequipcardid(.@part, 2), getequipcardid(.@part, 3);
 	setarray .@card[0], getequipcardid(.@part, 0), getequipcardid(.@part, 1), getequipcardid(.@part, 2), getequipcardid(.@part, 3);
 
 

+ 3 - 3
npc/re/quests/eden/eden_tutorial.txt

@@ -152,7 +152,7 @@ moc_para01,34,178,3	script	Tutorial Instructor	904,{
 		close;
 		close;
 	} else if (checkquest(9168) == 0 || checkquest(9168) == 1) {
 	} else if (checkquest(9168) == 0 || checkquest(9168) == 1) {
 		if (checkweight(607,1) == 0) {
 		if (checkweight(607,1) == 0) {
-			if (MaxWeight - Weight < getiteminfo(607,6)) {
+			if (MaxWeight - Weight < getiteminfo(607, ITEMINFO_WEIGHT)) {
 				mes "[Tutorial Instructor]";
 				mes "[Tutorial Instructor]";
 				mes "You seemed to be sluggish with a lot of items";
 				mes "You seemed to be sluggish with a lot of items";
 				mes "in your inventory making you heavy...";
 				mes "in your inventory making you heavy...";
@@ -354,7 +354,7 @@ moc_para01,34,178,3	script	Tutorial Instructor	904,{
 			}
 			}
 		}
 		}
 		if (checkweight(607,6) == 0) {
 		if (checkweight(607,6) == 0) {
-			if (MaxWeight - Weight < getiteminfo(607,6)) {
+			if (MaxWeight - Weight < getiteminfo(607, ITEMINFO_WEIGHT)) {
 				mes "[Tutorial Instructor]";
 				mes "[Tutorial Instructor]";
 				mes "Your inventory seems to be really full";
 				mes "Your inventory seems to be really full";
 				mes "with various stuff... Do you think";
 				mes "with various stuff... Do you think";
@@ -573,7 +573,7 @@ moc_para01,34,178,3	script	Tutorial Instructor	904,{
 
 
 moc_para01,32,179,4	script	Tutorial Goal	895,{
 moc_para01,32,179,4	script	Tutorial Goal	895,{
 	if (checkweight(608,7) == 0) {
 	if (checkweight(608,7) == 0) {
-		if (MaxWeight - Weight < getiteminfo(608,7)) {
+		if (MaxWeight - Weight < getiteminfo(608, ITEMINFO_WEIGHT)) {
 			mes "[Tutorial Goal]";
 			mes "[Tutorial Goal]";
 			mes "You seem to be overweight with items. Go put some stuff away then come back.";
 			mes "You seem to be overweight with items. Go put some stuff away then come back.";
 			close;
 			close;

+ 1 - 1
npc/re/quests/quests_dewata.txt

@@ -172,7 +172,7 @@ dew_in01,22,48,3	script	Sage Kasyapa#dew	541,{
 		mes "Please, it would honor us if you would take it.";
 		mes "Please, it would honor us if you would take it.";
 		next;
 		next;
 		if (checkweight(6406,1) == 0) {
 		if (checkweight(6406,1) == 0) {
-			if (Weight + getiteminfo(6406,6) > MaxWeight) {
+			if (Weight + getiteminfo(6406, ITEMINFO_WEIGHT) > MaxWeight) {
 				mes "[Sage Kasyapa]";
 				mes "[Sage Kasyapa]";
 				mes "You are carrying too much weight over the limit.";
 				mes "You are carrying too much weight over the limit.";
 				mes "I cannot get you your reward unless you reduce the amount of weighty items you are carrying.";
 				mes "I cannot get you your reward unless you reduce the amount of weighty items you are carrying.";

+ 3 - 3
sql-files/item_db_etc.sql

@@ -711,8 +711,8 @@ REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`wei
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`script`) VALUES (4424,'Stapo_Card','Stapo Card','Card',20,10,true,true,true,'skill "TF_PICKSTONE",1;\nskill "TF_THROWSTONE",1;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`script`) VALUES (4424,'Stapo_Card','Stapo Card','Card',20,10,true,true,true,'skill "TF_PICKSTONE",1;\nskill "TF_THROWSTONE",1;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4425,'Atroce_Card','Atroce Card','Card',20,10,true,true,'bonus bBaseAtk,25;\nautobonus "{ bonus bAspdRate,100; }",5,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }";');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4425,'Atroce_Card','Atroce Card','Card',20,10,true,true,'bonus bBaseAtk,25;\nautobonus "{ bonus bAspdRate,100; }",5,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }";');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`script`) VALUES (4426,'Byorgue_Card','Byorgue Card','Card',20,10,true,true,'if (BaseJob == Job_Rogue) {\n   bonus bMatkRate,10;\n   bonus2 bAddClass,Class_All,10;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`script`) VALUES (4426,'Byorgue_Card','Byorgue Card','Card',20,10,true,true,'if (BaseJob == Job_Rogue) {\n   bonus bMatkRate,10;\n   bonus2 bAddClass,Class_All,10;\n}');
-REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4427,'Sword_Guardian_Card','Sword Guardian Card','Card',20,10,true,true,'if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,62,25;\n}');
-REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4428,'Bow_Guardian_Card','Bow Guardian Card','Card',20,10,true,true,'if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,47,50;\n}');
+REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4427,'Sword_Guardian_Card','Sword Guardian Card','Card',20,10,true,true,'if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,62,25;\n}');
+REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4428,'Bow_Guardian_Card','Bow Guardian Card','Card',20,10,true,true,'if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,47,50;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`script`) VALUES (4429,'Salamander_Card','Salamander Card','Card',20,10,true,true,'bonus2 bSkillAtk,"WZ_FIREPILLAR",40;\nbonus2 bSkillAtk,"WZ_METEOR",40;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`script`) VALUES (4429,'Salamander_Card','Salamander Card','Card',20,10,true,true,'bonus2 bSkillAtk,"WZ_FIREPILLAR",40;\nbonus2 bSkillAtk,"WZ_METEOR",40;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`script`) VALUES (4430,'Ifrit_Card','Ifrit Card','Card',20,10,true,true,true,'bonus bBaseAtk,(JobLevel/10);\nbonus bCritical,(JobLevel/10);\nbonus bHit,(JobLevel/10);\nbonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`script`) VALUES (4430,'Ifrit_Card','Ifrit Card','Card',20,10,true,true,true,'bonus bBaseAtk,(JobLevel/10);\nbonus bCritical,(JobLevel/10);\nbonus bHit,(JobLevel/10);\nbonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`script`) VALUES (4431,'Kasa_Card','Kasa Card','Card',20,10,true,true,'bonus3 bAutoSpell,"MG_FIREBALL",5,20;\nbonus3 bAutoSpell,"MG_FIREBOLT",5,20;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`script`) VALUES (4431,'Kasa_Card','Kasa Card','Card',20,10,true,true,'bonus3 bAutoSpell,"MG_FIREBALL",5,20;\nbonus3 bAutoSpell,"MG_FIREBOLT",5,20;');
@@ -724,7 +724,7 @@ REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`wei
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`script`) VALUES (4437,'Hell_Poodle_Card','Hell Poodle Card','Card',20,10,true,true,true,'bonus bHit,1;\nbonus2 bAddItemHealRate,517,100;\nbonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`script`) VALUES (4437,'Hell_Poodle_Card','Hell Poodle Card','Card',20,10,true,true,true,'bonus bHit,1;\nbonus2 bAddItemHealRate,517,100;\nbonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`script`) VALUES (4438,'Banshee_Card','Banshee Card','Card',20,10,true,true,true,true,'if (BaseClass == Job_Mage) {\n   bonus bMaxSP,100;\n   bonus bMaxHP,-100;\n   bonus2 bSkillAtk,"MG_NAPALMBEAT",20;\n   bonus2 bSkillAtk,"MG_SOULSTRIKE",20;\n   bonus2 bSkillAtk,"HW_NAPALMVULCAN",20;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`script`) VALUES (4438,'Banshee_Card','Banshee Card','Card',20,10,true,true,true,true,'if (BaseClass == Job_Mage) {\n   bonus bMaxSP,100;\n   bonus bMaxHP,-100;\n   bonus2 bSkillAtk,"MG_NAPALMBEAT",20;\n   bonus2 bSkillAtk,"MG_SOULSTRIKE",20;\n   bonus2 bSkillAtk,"HW_NAPALMVULCAN",20;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`script`) VALUES (4439,'Flame_Skull_Card','Flame Skull Card','Card',20,10,true,true,'bonus2 bResEff,Eff_Blind,3000;\nbonus2 bResEff,Eff_Stun,3000;\nbonus2 bResEff,Eff_Curse,3000;\nbonus2 bResEff,Eff_Stone,3000;\nbonus2 bAddEffWhenHit,Eff_Blind,500;\nbonus2 bAddEffWhenHit,Eff_Stun,500;\nbonus2 bAddEffWhenHit,Eff_Curse,500;\nbonus2 bAddEffWhenHit,Eff_Stone,500;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`script`) VALUES (4439,'Flame_Skull_Card','Flame Skull Card','Card',20,10,true,true,'bonus2 bResEff,Eff_Blind,3000;\nbonus2 bResEff,Eff_Stun,3000;\nbonus2 bResEff,Eff_Curse,3000;\nbonus2 bResEff,Eff_Stone,3000;\nbonus2 bAddEffWhenHit,Eff_Blind,500;\nbonus2 bAddEffWhenHit,Eff_Stun,500;\nbonus2 bAddEffWhenHit,Eff_Curse,500;\nbonus2 bAddEffWhenHit,Eff_Stone,500;');
-REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4440,'Necromancer_Card','Necromancer Card','Card',20,10,true,true,'if (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF) {\n   bonus bInt,1;\n   bonus2 bIgnoreMdefClassRate,Class_Normal,2;\n   bonus2 bIgnoreMdefClassRate,Class_Boss,2;\n}');
+REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`script`) VALUES (4440,'Necromancer_Card','Necromancer Card','Card',20,10,true,true,'if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF) {\n   bonus bInt,1;\n   bonus2 bIgnoreMdefClassRate,Class_Normal,2;\n   bonus2 bIgnoreMdefClassRate,Class_Boss,2;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`script`) VALUES (4441,'Fallen_Bishop_Card','Fallen Bishop Hibram Card','Card',20,10,true,true,'bonus bMatkRate,10;\nbonus bMaxSPrate,-50;\nbonus2 bMagicAddRace,RC_Angel,50;\nbonus2 bMagicAddRace,RC_DemiHuman,50;\nbonus2 bMagicAddRace,RC_Player_Human,50;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`script`) VALUES (4441,'Fallen_Bishop_Card','Fallen Bishop Hibram Card','Card',20,10,true,true,'bonus bMatkRate,10;\nbonus bMaxSPrate,-50;\nbonus2 bMagicAddRace,RC_Angel,50;\nbonus2 bMagicAddRace,RC_DemiHuman,50;\nbonus2 bMagicAddRace,RC_Player_Human,50;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`script`) VALUES (4442,'Tatacho_Card','Tatacho Card','Card',20,10,true,true,'bonus2 bSubEle,Ele_Neutral,20;\nbonus2 bAddEle,Ele_Neutral,5;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`script`) VALUES (4442,'Tatacho_Card','Tatacho Card','Card',20,10,true,true,'bonus2 bSubEle,Ele_Neutral,20;\nbonus2 bAddEle,Ele_Neutral,5;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`script`) VALUES (4443,'Aqua_Elemental_Card','Aqua Elemental Card','Card',20,10,true,true,'bonus2 bSubEle,Ele_Water,20;\nbonus2 bAddEle,Ele_Water,5;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`script`) VALUES (4443,'Aqua_Elemental_Card','Aqua Elemental Card','Card',20,10,true,true,'bonus2 bSubEle,Ele_Water,20;\nbonus2 bAddEle,Ele_Water,5;');

+ 2 - 2
sql-files/item_db_re_equip.sql

@@ -3415,7 +3415,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`view`) VALUES (18567,'Stretched_Nose','Stretched Nose','Armor',20,100,true,737);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`view`) VALUES (18567,'Stretched_Nose','Stretched Nose','Armor',20,100,true,737);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_top`,`equip_level_min`,`view`,`script`) VALUES (18568,'Humming_Bird','Humming Bird','Armor',20,100,3,true,10,702,'bonus bMdef,6;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_top`,`equip_level_min`,`view`,`script`) VALUES (18568,'Humming_Bird','Humming Bird','Armor',20,100,3,true,10,702,'bonus bMdef,6;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`trade_override`,`trade_nodrop`,`script`) VALUES (18569,'Soft_Sheep_Hat','Soft Sheep Hat','Armor',20,1000,true,10,true,738,100,true,'bonus bMaxHPrate,1+getrefine();\nif (getrefine()>9) {\n   bonus2 bExpAddClass,Class_All,5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`trade_override`,`trade_nodrop`,`script`) VALUES (18569,'Soft_Sheep_Hat','Soft Sheep Hat','Armor',20,1000,true,10,true,738,100,true,'bonus bMaxHPrate,1+getrefine();\nif (getrefine()>9) {\n   bonus2 bExpAddClass,Class_All,5;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`job_alchemist`,`job_assassin`,`job_barddancer`,`job_blacksmith`,`job_crusader`,`job_hunter`,`job_knight`,`job_monk`,`job_priest`,`job_rogue`,`job_sage`,`job_wizard`,`class_third`,`class_third_upper`,`class_third_baby`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18570,'Ancient_Gold_Deco','Ancient Gold Ornament','Armor',20,400,7,1,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,100,true,739,'if (BaseLevel >= 150) {\n   bonus bAllStats,2;\n}\nif (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) {\n   bonus2 bAddClass,Class_All,8;\n}\nif (BaseClass == Job_Mage || BaseClass == Job_Acolyte) {\n   bonus bMatkRate,8;\n   bonus bHealPower,7;\n}\nif (BaseClass == Job_Archer) {\n   bonus bDex,3;\n   if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW)\n      bonus bLongAtkRate,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`job_alchemist`,`job_assassin`,`job_barddancer`,`job_blacksmith`,`job_crusader`,`job_hunter`,`job_knight`,`job_monk`,`job_priest`,`job_rogue`,`job_sage`,`job_wizard`,`class_third`,`class_third_upper`,`class_third_baby`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18570,'Ancient_Gold_Deco','Ancient Gold Ornament','Armor',20,400,7,1,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,100,true,739,'if (BaseLevel >= 150) {\n   bonus bAllStats,2;\n}\nif (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief) {\n   bonus2 bAddClass,Class_All,8;\n}\nif (BaseClass == Job_Mage || BaseClass == Job_Acolyte) {\n   bonus bMatkRate,8;\n   bonus bHealPower,7;\n}\nif (BaseClass == Job_Archer) {\n   bonus bDex,3;\n   if (getiteminfo(getequipid(EQI_HAND_R), II_VIEW) == W_BOW)\n      bonus bLongAtkRate,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_head_top`,`view`,`script`) VALUES (18571,'Lucky_Hat','Lucky Hat','Armor',20,1000,1,true,740,'bonus2 bExpAddRace,RC_All,3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`slots`,`location_head_top`,`view`,`script`) VALUES (18571,'Lucky_Hat','Lucky Hat','Armor',20,1000,1,true,740,'bonus2 bExpAddRace,RC_All,3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`refineable`,`view`,`trade_override`,`trade_nodrop`,`script`) VALUES (18572,'Korean_Judge_Hat','Korean Judge Hat','Armor',20,300,2,1,true,true,377,100,true,'bonus bMdef,2;\nbonus bVariableCastrate,-6;\nbonus bAspdRate,6;\n.@r = getrefine();\nif (.@r>6) {\n   bonus2 bSubRace,RC_DemiHuman,2;\n   bonus2 bSubRace,RC_Player_Human,2;\n}\nif (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2 || Class == Job_Monk || Class == Job_Champion || Class == Job_Sura || Class == Job_Sura_T)\n   bonus2 bAddClass,Class_All,(.@r/2);\nif (BaseClass == Job_Mage || BaseClass == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker)\n   bonus bMatkRate,(.@r/2);\nif (BaseClass == Job_Archer || Class == Job_Gunslinger)\n   bonus bBaseAtk,.@r;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`refineable`,`view`,`trade_override`,`trade_nodrop`,`script`) VALUES (18572,'Korean_Judge_Hat','Korean Judge Hat','Armor',20,300,2,1,true,true,377,100,true,'bonus bMdef,2;\nbonus bVariableCastrate,-6;\nbonus bAspdRate,6;\n.@r = getrefine();\nif (.@r>6) {\n   bonus2 bSubRace,RC_DemiHuman,2;\n   bonus2 bSubRace,RC_Player_Human,2;\n}\nif (BaseClass == Job_Swordman || BaseClass == Job_Merchant || BaseClass == Job_Thief || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Star_Gladiator2 || Class == Job_Monk || Class == Job_Champion || Class == Job_Sura || Class == Job_Sura_T)\n   bonus2 bAddClass,Class_All,(.@r/2);\nif (BaseClass == Job_Mage || BaseClass == Job_Acolyte || Class == Job_Ninja || Class == Job_Soul_Linker)\n   bonus bMatkRate,(.@r/2);\nif (BaseClass == Job_Archer || Class == Job_Gunslinger)\n   bonus bBaseAtk,.@r;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18573,'White_Feather','White Feather','Armor',20,500,2,1,true,30,true,741,'.@r = getrefine();\nif (.@r<5) {\n   bonus bHit,20;\n   bonus bMaxHPrate,-10;\n} else if (.@r<7) {\n   bonus bHit,10;\n} else if (.@r<9) {\n   bonus bHit,7;bonus bMaxHPrate,3;\n}\nelse {\n   bonus bHit,4;bonus bMaxHPrate,4;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18573,'White_Feather','White Feather','Armor',20,500,2,1,true,30,true,741,'.@r = getrefine();\nif (.@r<5) {\n   bonus bHit,20;\n   bonus bMaxHPrate,-10;\n} else if (.@r<7) {\n   bonus bHit,10;\n} else if (.@r<9) {\n   bonus bHit,7;bonus bMaxHPrate,3;\n}\nelse {\n   bonus bHit,4;bonus bMaxHPrate,4;\n}');
@@ -3545,7 +3545,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`job_all`,`job_novice`,`job_supernovice`,`location_head_low`,`equip_level_min`,`view`) VALUES (18698,'Cheesy_Snack_In_Mouth','Cheesy Snack In Mouth','Armor',20,200,true,false,false,true,20,843);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`job_all`,`job_novice`,`job_supernovice`,`location_head_low`,`equip_level_min`,`view`) VALUES (18698,'Cheesy_Snack_In_Mouth','Cheesy Snack In Mouth','Armor',20,200,true,false,false,true,20,843);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_top`,`equip_level_min`,`view`) VALUES (18699,'Starving_Fish_Hat','Starving Fish Hat','Armor',20,1200,3,true,1,844);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_top`,`equip_level_min`,`view`) VALUES (18699,'Starving_Fish_Hat','Starving Fish Hat','Armor',20,1200,3,true,1,844);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18700,'Rabbit_Ribbon','Rabbit Ribbon','Armor',20,500,3,1,true,50,true,845,'bonus bInt,1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18700,'Rabbit_Ribbon','Rabbit Ribbon','Armor',20,500,3,1,true,50,true,845,'bonus bInt,1;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`job_all`,`job_novice`,`job_supernovice`,`location_head_top`,`equip_level_min`,`view`,`script`) VALUES (18701,'Ancient_Civil_Man','Ancient Civil Man','Armor',20,500,2,true,false,false,true,70,846,'bonus bInt,3;\nbonus bDex,2;\nbonus bLuk,1;\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK)\n   bonus bVariableCastrate,-3;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`job_all`,`job_novice`,`job_supernovice`,`location_head_top`,`equip_level_min`,`view`,`script`) VALUES (18701,'Ancient_Civil_Man','Ancient Civil Man','Armor',20,500,2,true,false,false,true,70,846,'bonus bInt,3;\nbonus bDex,2;\nbonus bLuk,1;\nif (getiteminfo(getequipid(EQI_HAND_R), II_VIEW) == W_BOOK)\n   bonus bVariableCastrate,-3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_low`,`equip_level_min`,`view`) VALUES (18702,'Shaving_Cream','Shaving Cream','Armor',20,50,1,true,10,847);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`location_head_low`,`equip_level_min`,`view`) VALUES (18702,'Shaving_Cream','Shaving Cream','Armor',20,50,1,true,10,847);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`equip_level_min`,`view`,`script`) VALUES (18703,'Stem_In_Mouth','Stem In Mouth','Armor',20,50,true,1,848,'bonus2 bResEff,Eff_Poison,2000;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_low`,`equip_level_min`,`view`,`script`) VALUES (18703,'Stem_In_Mouth','Stem In Mouth','Armor',20,50,true,1,848,'bonus2 bResEff,Eff_Poison,2000;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18704,'Drosera_Hairpin','Drosera Hairpin','Armor',20,640,6,1,true,64,true,850,'bonus bMdef,4;\nbonus bMaxSP,64;\nbonus2 bSubRace,RC_Insect,-10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`defense`,`slots`,`location_head_top`,`equip_level_min`,`refineable`,`view`,`script`) VALUES (18704,'Drosera_Hairpin','Drosera Hairpin','Armor',20,640,6,1,true,64,true,850,'bonus bMdef,4;\nbonus bMaxSP,64;\nbonus2 bSubRace,RC_Insect,-10;');

+ 35 - 35
sql-files/item_db_re_etc.sql

@@ -712,8 +712,8 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4424,'Stapo_Card','Stapo Card','Card',20,10,true,true,true,'CLIENT','skill "TF_PICKSTONE",1;\nskill "TF_THROWSTONE",1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4424,'Stapo_Card','Stapo Card','Card',20,10,true,true,true,'CLIENT','skill "TF_PICKSTONE",1;\nskill "TF_THROWSTONE",1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4425,'Atroce_Card','Atroce Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,25;\nautobonus "{ bonus bAspdRate,100; }",5,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4425,'Atroce_Card','Atroce Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,25;\nautobonus "{ bonus bAspdRate,100; }",5,10000,0,"{ specialeffect2 EF_POTION_BERSERK; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4426,'Byorgue_Card','Byorgue Card','Card',20,10,true,true,'CLIENT','if (BaseJob == Job_Rogue) {\n   bonus bMatkRate,10;\n   bonus2 bAddClass,Class_All,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4426,'Byorgue_Card','Byorgue Card','Card',20,10,true,true,'CLIENT','if (BaseJob == Job_Rogue) {\n   bonus bMatkRate,10;\n   bonus2 bAddClass,Class_All,10;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4427,'Sword_Guardian_Card','Sword Guardian Card','Card',20,10,true,true,'CLIENT','.@i = getiteminfo(getequipid(EQI_HAND_R),11);\nif (.@i == W_1HSWORD || .@i == W_2HSWORD) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,"KN_BOWLINGBASH",25;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4428,'Bow_Guardian_Card','Bow Guardian Card','Card',20,10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,"AC_SHOWER",50;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4427,'Sword_Guardian_Card','Sword Guardian Card','Card',20,10,true,true,'CLIENT','.@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);\nif (.@i == W_1HSWORD || .@i == W_2HSWORD) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,"KN_BOWLINGBASH",25;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4428,'Bow_Guardian_Card','Bow Guardian Card','Card',20,10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {\n   bonus bHit,5;\n   bonus bCritical,5;\n   bonus2 bSkillAtk,"AC_SHOWER",50;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4429,'Salamander_Card','Salamander Card','Card',20,10,true,true,'CLIENT','bonus2 bSkillAtk,"WZ_FIREPILLAR",40;\nbonus2 bSkillAtk,"WZ_METEOR",40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4429,'Salamander_Card','Salamander Card','Card',20,10,true,true,'CLIENT','bonus2 bSkillAtk,"WZ_FIREPILLAR",40;\nbonus2 bSkillAtk,"WZ_METEOR",40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4430,'Ifrit_Card','Ifrit Card','Card',20,10,true,true,true,'CLIENT','bonus bBaseAtk,(JobLevel/10);\nbonus bCritical,(JobLevel/10);\nbonus bHit,(JobLevel/10);\nbonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4430,'Ifrit_Card','Ifrit Card','Card',20,10,true,true,true,'CLIENT','bonus bBaseAtk,(JobLevel/10);\nbonus bCritical,(JobLevel/10);\nbonus bHit,(JobLevel/10);\nbonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",2,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4431,'Kasa_Card','Kasa Card','Card',20,10,true,true,'CLIENT','bonus3 bAutoSpell,"MG_FIREBALL",5,20;\nbonus3 bAutoSpell,"MG_FIREBOLT",5,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4431,'Kasa_Card','Kasa Card','Card',20,10,true,true,'CLIENT','bonus3 bAutoSpell,"MG_FIREBALL",5,20;\nbonus3 bAutoSpell,"MG_FIREBOLT",5,20;');
@@ -725,7 +725,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4437,'Hell_Poodle_Card','Hell Poodle Card','Card',20,10,true,true,true,'CLIENT','bonus bHit,1;\nbonus2 bAddItemHealRate,517,100;\nbonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4437,'Hell_Poodle_Card','Hell Poodle Card','Card',20,10,true,true,true,'CLIENT','bonus bHit,1;\nbonus2 bAddItemHealRate,517,100;\nbonus3 bAddEff,Eff_Bleeding,50,ATF_SHORT;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4438,'Banshee_Card','Banshee Card','Card',20,10,true,true,true,true,'CLIENT','if (BaseClass == Job_Mage) {\n   bonus bMaxSP,100;\n   bonus bMaxHP,-100;\n   bonus2 bSkillAtk,"MG_NAPALMBEAT",20;\n   bonus2 bSkillAtk,"MG_SOULSTRIKE",20;\n   bonus2 bSkillAtk,"HW_NAPALMVULCAN",20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4438,'Banshee_Card','Banshee Card','Card',20,10,true,true,true,true,'CLIENT','if (BaseClass == Job_Mage) {\n   bonus bMaxSP,100;\n   bonus bMaxHP,-100;\n   bonus2 bSkillAtk,"MG_NAPALMBEAT",20;\n   bonus2 bSkillAtk,"MG_SOULSTRIKE",20;\n   bonus2 bSkillAtk,"HW_NAPALMVULCAN",20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4439,'Flame_Skull_Card','Flame Skull Card','Card',20,10,true,true,'CLIENT','bonus2 bResEff,Eff_Blind,3000;\nbonus2 bResEff,Eff_Stun,3000;\nbonus2 bResEff,Eff_Curse,3000;\nbonus2 bResEff,Eff_Stone,3000;\nbonus2 bAddEffWhenHit,Eff_Blind,500;\nbonus2 bAddEffWhenHit,Eff_Stun,500;\nbonus2 bAddEffWhenHit,Eff_Curse,500;\nbonus2 bAddEffWhenHit,Eff_Stone,500;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4439,'Flame_Skull_Card','Flame Skull Card','Card',20,10,true,true,'CLIENT','bonus2 bResEff,Eff_Blind,3000;\nbonus2 bResEff,Eff_Stun,3000;\nbonus2 bResEff,Eff_Curse,3000;\nbonus2 bResEff,Eff_Stone,3000;\nbonus2 bAddEffWhenHit,Eff_Blind,500;\nbonus2 bAddEffWhenHit,Eff_Stun,500;\nbonus2 bAddEffWhenHit,Eff_Curse,500;\nbonus2 bAddEffWhenHit,Eff_Stone,500;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4440,'Necromancer_Card','Necromancer Card','Card',20,10,true,true,'CLIENT','.@i = getiteminfo(getequipid(EQI_HAND_R),11);\nif (.@i == W_STAFF || .@i == W_2HSTAFF) {\n   bonus bInt,1;\n   bonus2 bIgnoreMdefClassRate,Class_Normal,2;\n   bonus2 bIgnoreMdefClassRate,Class_Boss,2;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4440,'Necromancer_Card','Necromancer Card','Card',20,10,true,true,'CLIENT','.@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);\nif (.@i == W_STAFF || .@i == W_2HSTAFF) {\n   bonus bInt,1;\n   bonus2 bIgnoreMdefClassRate,Class_Normal,2;\n   bonus2 bIgnoreMdefClassRate,Class_Boss,2;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4441,'Fallen_Bishop_Card','Fallen Bishop Hibram Card','Card',20,10,true,true,'CLIENT','bonus bMatkRate,10;\nbonus bMaxSPrate,-50;\nbonus2 bMagicAddRace,RC_Angel,50;\nbonus2 bMagicAddRace,RC_DemiHuman,50;\nbonus2 bMagicAddRace,RC_Player_Human,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4441,'Fallen_Bishop_Card','Fallen Bishop Hibram Card','Card',20,10,true,true,'CLIENT','bonus bMatkRate,10;\nbonus bMaxSPrate,-50;\nbonus2 bMagicAddRace,RC_Angel,50;\nbonus2 bMagicAddRace,RC_DemiHuman,50;\nbonus2 bMagicAddRace,RC_Player_Human,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4442,'Tatacho_Card','Tatacho Card','Card',20,10,true,true,'CLIENT','bonus2 bSubDefEle,Ele_Neutral,20;\nbonus2 bAddEle,Ele_Neutral,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4442,'Tatacho_Card','Tatacho Card','Card',20,10,true,true,'CLIENT','bonus2 bSubDefEle,Ele_Neutral,20;\nbonus2 bAddEle,Ele_Neutral,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4443,'Aqua_Elemental_Card','Aqua Elemental Card','Card',20,10,true,true,'CLIENT','bonus2 bSubDefEle,Ele_Water,20;\nbonus2 bAddEle,Ele_Water,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4443,'Aqua_Elemental_Card','Aqua Elemental Card','Card',20,10,true,true,'CLIENT','bonus2 bSubDefEle,Ele_Water,20;\nbonus2 bAddEle,Ele_Water,5;');
@@ -750,8 +750,8 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4462,'Hardrock_Mommos_Card','Hardrock Mammoth Card','Card',20,10,true,true,'CLIENT','.@r = getrefine();\nbonus bDef,5;\nif (.@r>=12) {\n   bonus bDef,20;\n   bonus bMaxHPrate,10;\n}\nif (.@r>=14) {\n   bonus bMaxHPrate,3;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4462,'Hardrock_Mommos_Card','Hardrock Mammoth Card','Card',20,10,true,true,'CLIENT','.@r = getrefine();\nbonus bDef,5;\nif (.@r>=12) {\n   bonus bDef,20;\n   bonus bMaxHPrate,10;\n}\nif (.@r>=14) {\n   bonus bMaxHPrate,3;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4463,'Tendrilion_Card','Tendrilrion Card','Card',20,10,true,true,'CLIENT','bonus bCritical,5;\n.@r = getrefine();\nif (.@r>=12) {\n   bonus bBaseAtk,35;\n}\nif (.@r>=14) {\n   bonus bCritical,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4463,'Tendrilion_Card','Tendrilrion Card','Card',20,10,true,true,'CLIENT','bonus bCritical,5;\n.@r = getrefine();\nif (.@r>=12) {\n   bonus bBaseAtk,35;\n}\nif (.@r>=14) {\n   bonus bCritical,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4464,'Aunoe_Card','Aunoe Card','Card',20,10,true,true,'CLIENT','bonus bCritAtkRate,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4464,'Aunoe_Card','Aunoe Card','Card',20,10,true,true,'CLIENT','bonus bCritAtkRate,20;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4465,'Panat_Card','Fanat Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,10;\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bAspd,1;\n   }\n   if (.@r>=14) {\n      bonus bAspd,1;\n   }\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4466,'Beholder_Master_Card','Beholder Master Card','Card',20,10,true,true,'CLIENT','bonus bLongAtkRate,3;\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bAspd,1;\n   }\n   if (.@r>=14) {\n      bonus bAspd,1;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4465,'Panat_Card','Fanat Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,10;\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bAspd,1;\n   }\n   if (.@r>=14) {\n      bonus bAspd,1;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4466,'Beholder_Master_Card','Beholder Master Card','Card',20,10,true,true,'CLIENT','bonus bLongAtkRate,3;\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bAspd,1;\n   }\n   if (.@r>=14) {\n      bonus bAspd,1;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4467,'Heavy_Metaling_Card','Heavy Metaling Card','Card',20,10,true,true,'CLIENT','bonus bStr,2;\nif (BaseClass == Job_Merchant) {\n   bonus2 bSkillAtk,"MC_CARTREVOLUTION",50;\n   bonus2 bSkillUseSP,"MC_CARTREVOLUTION",-12;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4467,'Heavy_Metaling_Card','Heavy Metaling Card','Card',20,10,true,true,'CLIENT','bonus bStr,2;\nif (BaseClass == Job_Merchant) {\n   bonus2 bSkillAtk,"MC_CARTREVOLUTION",50;\n   bonus2 bSkillUseSP,"MC_CARTREVOLUTION",-12;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4468,'Pinguicula_Dark_Card','Dark Pinguicula Card','Card',20,10,true,true,true,true,'CLIENT','bonus bBaseAtk,10;\nbonus2 bAddMonsterDropItem,7932,10;\nbonus2 bAddMonsterDropItem,7933,10;\nbonus2 bAddMonsterDropItem,7934,10;\nbonus2 bAddMonsterDropItem,7935,10;\nbonus2 bAddMonsterDropItem,7936,10;\nbonus2 bAddMonsterDropItem,7937,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4468,'Pinguicula_Dark_Card','Dark Pinguicula Card','Card',20,10,true,true,true,true,'CLIENT','bonus bBaseAtk,10;\nbonus2 bAddMonsterDropItem,7932,10;\nbonus2 bAddMonsterDropItem,7933,10;\nbonus2 bAddMonsterDropItem,7934,10;\nbonus2 bAddMonsterDropItem,7935,10;\nbonus2 bAddMonsterDropItem,7936,10;\nbonus2 bAddMonsterDropItem,7937,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4469,'Naga_Card','Naga Card','Card',20,10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Fish,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4469,'Naga_Card','Naga Card','Card',20,10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Fish,10;');
@@ -835,7 +835,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4547,'Upd_Byorgue_Card','Enhanced Byorgue Card','Card',20,10,true,true,'CLIENT','if (BaseJob == Job_Rogue) {\n   bonus bMatkRate,10;\n   bonus2 bAddClass,Class_All,10;\n   bonus bMaxHPrate,getrefine()/2;\n}\n/* Adds a chance of inflicting Confuse on target when using Body Paint skill. */');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4547,'Upd_Byorgue_Card','Enhanced Byorgue Card','Card',20,10,true,true,'CLIENT','if (BaseJob == Job_Rogue) {\n   bonus bMatkRate,10;\n   bonus2 bAddClass,Class_All,10;\n   bonus bMaxHPrate,getrefine()/2;\n}\n/* Adds a chance of inflicting Confuse on target when using Body Paint skill. */');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4548,'Upd_Salamander_Card','Enhanced Salamander Card','Card',20,10,true,true,'CLIENT','bonus2 bSkillAtk,"WZ_FIREPILLAR",40;\nbonus2 bSkillAtk,"WZ_METEOR",40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4548,'Upd_Salamander_Card','Enhanced Salamander Card','Card',20,10,true,true,'CLIENT','bonus2 bSkillAtk,"WZ_FIREPILLAR",40;\nbonus2 bSkillAtk,"WZ_METEOR",40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4549,'Upd_Maya_Puple_Card','Upd Maya Puple Card','Card',20,10,true,true,true,true,'CLIENT','bonus bIntravision;\nbonus bAllStats,1;\nskill "AL_RUWACH",1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4549,'Upd_Maya_Puple_Card','Upd Maya Puple Card','Card',20,10,true,true,true,true,'CLIENT','bonus bIntravision;\nbonus bAllStats,1;\nskill "AL_RUWACH",1;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4550,'Upd_Bow_Guardian_Card','Upd Bow Guardian Card','Card',20,10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOW) {\n   bonus2 bSkillAtk,"RA_ARROWSTORM",50;\n   bonus bCriticalLong,25+10*(getequiprefinerycnt(EQI_HAND_R)/4);\n   bonus bHit,5;\n   bonus3 bAutoSpell,"HT_PHANTASMIC",1,100;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4550,'Upd_Bow_Guardian_Card','Upd Bow Guardian Card','Card',20,10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOW) {\n   bonus2 bSkillAtk,"RA_ARROWSTORM",50;\n   bonus bCriticalLong,25+10*(getequiprefinerycnt(EQI_HAND_R)/4);\n   bonus bHit,5;\n   bonus3 bAutoSpell,"HT_PHANTASMIC",1,100;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4552,'Manny_Card','Manny Card','Card',20,10,true,true,true,'CLIENT','bonus bMaxHP,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4552,'Manny_Card','Manny Card','Card',20,10,true,true,true,'CLIENT','bonus bMaxHP,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4553,'Sid_Card','Sid Card','Card',20,10,true,true,'CLIENT','bonus bMaxHP,100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4553,'Sid_Card','Sid Card','Card',20,10,true,true,'CLIENT','bonus bMaxHP,100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4554,'Diego_Card','Diego Card','Card',20,10,true,true,'CLIENT','bonus bMaxHP,100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4554,'Diego_Card','Diego Card','Card',20,10,true,true,'CLIENT','bonus bMaxHP,100;');
@@ -858,12 +858,12 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4571,'Gertie_Card','Gertie Card','Card',20,10,true,true,'CLIENT','bonus bFlee,10;\nskill "RG_CLOSECONFINE",1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4571,'Gertie_Card','Gertie Card','Card',20,10,true,true,'CLIENT','bonus bFlee,10;\nskill "RG_CLOSECONFINE",1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4572,'Randel_Card','Randel Card','Card',20,10,true,true,'CLIENT','bonus bFlee,10;\nskill "CR_AUTOGUARD",3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4572,'Randel_Card','Randel Card','Card',20,10,true,true,'CLIENT','bonus bFlee,10;\nskill "CR_AUTOGUARD",3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4573,'Trentini_Card','Trentini Card','Card',20,10,true,true,'CLIENT','bonus bFlee,10;\nif (BaseJob == Job_Dancer) {\n   bonus bMaxHPrate,10;\n   bonus bMaxSPrate,5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4573,'Trentini_Card','Trentini Card','Card',20,10,true,true,'CLIENT','bonus bFlee,10;\nif (BaseJob == Job_Dancer) {\n   bonus bMaxHPrate,10;\n   bonus bMaxSPrate,5;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4574,'Daehyon_Card','General Daehyon Card','Card',20,10,true,true,'CLIENT','.@i = getiteminfo(getequipid(EQI_HAND_R),11);\nif (.@i == W_1HSWORD || .@i == W_2HSWORD) {\n   bonus bBaseAtk,100;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4575,'Soheon_Card','Armed Guard Soheon Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,10;\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_DAGGER) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bAspd,1;\n   }\n   if (.@r>=14) {\n      bonus bAspd,1;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4574,'Daehyon_Card','General Daehyon Card','Card',20,10,true,true,'CLIENT','.@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);\nif (.@i == W_1HSWORD || .@i == W_2HSWORD) {\n   bonus bBaseAtk,100;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4575,'Soheon_Card','Armed Guard Soheon Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,10;\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_DAGGER) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bAspd,1;\n   }\n   if (.@r>=14) {\n      bonus bAspd,1;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4576,'Gioia_Card','Gioia Card','Card',20,10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Wind,100;\nbonus2 bMagicAtkEle,Ele_Ghost,100;\nbonus2 bSubEle,Ele_All,-30;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4576,'Gioia_Card','Gioia Card','Card',20,10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Wind,100;\nbonus2 bMagicAtkEle,Ele_Ghost,100;\nbonus2 bSubEle,Ele_All,-30;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4577,'Elvira_Card','Elvira Card','Card',20,10,true,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Wind,20;\nbonus2 bMagicAtkEle,Ele_Ghost,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4577,'Elvira_Card','Elvira Card','Card',20,10,true,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Wind,20;\nbonus2 bMagicAtkEle,Ele_Ghost,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4578,'Pyuriel_Card','Angry Student Pyuriel Card','Card',20,10,true,true,'CLIENT','bonus bCritAtkRate,30;\nbonus2 bSubRace,RC_All,-10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4578,'Pyuriel_Card','Angry Student Pyuriel Card','Card',20,10,true,true,'CLIENT','bonus bCritAtkRate,30;\nbonus2 bSubRace,RC_All,-10;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4579,'Lora_Card','Warrior Lola Card','Card',20,10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MACE) {\n   bonus bBaseAtk,20;\n   bonus bCritical,10;\n}\n.@r = getrefine();\nbonus bBaseAtk,.@r;\nbonus bCritical,.@r;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4579,'Lora_Card','Warrior Lola Card','Card',20,10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MACE) {\n   bonus bBaseAtk,20;\n   bonus bCritical,10;\n}\n.@r = getrefine();\nbonus bBaseAtk,.@r;\nbonus bCritical,.@r;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4580,'Kades_Card','Dark Guardian Kades Card','Card',20,10,true,true,'CLIENT','bonus2 bSubEle,Ele_Water,50;\nbonus2 bSubEle,Ele_Earth,50;\nbonus2 bSubEle,Ele_Fire,50;\nbonus2 bSubEle,Ele_Wind,50;\nbonus2 bSubEle,Ele_Dark,50;\nbonus2 bSubEle,Ele_Undead,50;\nbonus2 bSubEle,Ele_Holy,-100;\nbonus2 bSubEle,Ele_Ghost,-100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4580,'Kades_Card','Dark Guardian Kades Card','Card',20,10,true,true,'CLIENT','bonus2 bSubEle,Ele_Water,50;\nbonus2 bSubEle,Ele_Earth,50;\nbonus2 bSubEle,Ele_Fire,50;\nbonus2 bSubEle,Ele_Wind,50;\nbonus2 bSubEle,Ele_Dark,50;\nbonus2 bSubEle,Ele_Undead,50;\nbonus2 bSubEle,Ele_Holy,-100;\nbonus2 bSubEle,Ele_Ghost,-100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4581,'Rudo_Card','Rudo Card','Card',20,10,true,true,'CLIENT','autobonus "{ bonus bAgi,44; heal 0,-40; }",500,3000,0,"{ sc_start SC_SPEEDUP1,3000,50; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4581,'Rudo_Card','Rudo Card','Card',20,10,true,true,'CLIENT','autobonus "{ bonus bAgi,44; heal 0,-40; }",500,3000,0,"{ sc_start SC_SPEEDUP1,3000,50; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4582,'Bungisngis_Card','Bungisngis Card','Card',20,10,true,true,true,true,'CLIENT','bonus bMaxHPrate,(getrefine()/2);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4582,'Bungisngis_Card','Bungisngis Card','Card',20,10,true,true,true,true,'CLIENT','bonus bMaxHPrate,(getrefine()/2);');
@@ -891,7 +891,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4604,'CorruptionRootH_Card','Realized Corruption Root Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,30;\nbonus5 bAutoSpell,"NPC_WIDESTONE",2,50,BF_WEAPON,0;\nbonus5 bAutoSpell,"NPC_WIDESLEEP",2,50,BF_WEAPON,0;\nbonus5 bAutoSpell,"NPC_WIDECURSE",2,50,BF_WEAPON,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4604,'CorruptionRootH_Card','Realized Corruption Root Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,30;\nbonus5 bAutoSpell,"NPC_WIDESTONE",2,50,BF_WEAPON,0;\nbonus5 bAutoSpell,"NPC_WIDESLEEP",2,50,BF_WEAPON,0;\nbonus5 bAutoSpell,"NPC_WIDECURSE",2,50,BF_WEAPON,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4605,'UndeadKnightM_Card','Agony Of Royal Knight Card','Card',20,10,true,true,'CLIENT','bonus bMaxHPrate,-44;\nbonus bHPGainValue,200+10*getrefine();');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4605,'UndeadKnightM_Card','Agony Of Royal Knight Card','Card',20,10,true,true,'CLIENT','bonus bMaxHPrate,-44;\nbonus bHPGainValue,200+10*getrefine();');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`,`unequip_script`) VALUES (4606,'UndeadKnightF_Card','Grudge of Royal Knight Card','Card',20,10,true,true,'CLIENT','bonus bMaxSPrate,-44;\nbonus bSPGainValue,20+(getrefine()/2);','heal 0,-444;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`,`unequip_script`) VALUES (4606,'UndeadKnightF_Card','Grudge of Royal Knight Card','Card',20,10,true,true,'CLIENT','bonus bMaxSPrate,-44;\nbonus bSPGainValue,20+(getrefine()/2);','heal 0,-444;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4607,'FaithfulManager_Card','Faithful Manager Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,5;\nbonus bMatk,5;\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bBaseAtk,20;\n   bonus bMatk,20;\n   }\n   if (.@r>=14) {\n      bonus bBaseAtk,20;\n   bonus bMatk,20;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4607,'FaithfulManager_Card','Faithful Manager Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,5;\nbonus bMatk,5;\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      bonus bBaseAtk,20;\n   bonus bMatk,20;\n   }\n   if (.@r>=14) {\n      bonus bBaseAtk,20;\n   bonus bMatk,20;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4608,'White_Knightage_Card','White Knight Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,15;\nbonus2 bAddSize,Size_Medium,20;\nbonus2 bAddSize,Size_Large,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4608,'White_Knightage_Card','White Knight Card','Card',20,10,true,true,'CLIENT','bonus bBaseAtk,15;\nbonus2 bAddSize,Size_Medium,20;\nbonus2 bAddSize,Size_Large,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4609,'Khaliz_Knightage_Card','Khalitzburg Knight Card','Card',20,10,true,true,'CLIENT','bonus bDef,20;\nbonus2 bSubSize,Size_Medium,25;\nbonus2 bSubSize,Size_Large,25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4609,'Khaliz_Knightage_Card','Khalitzburg Knight Card','Card',20,10,true,true,'CLIENT','bonus bDef,20;\nbonus2 bSubSize,Size_Medium,25;\nbonus2 bSubSize,Size_Large,25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4610,'Sarah_Card','Sarah Card','Card',10,10,true,true,'CLIENT','bonus bAbsorbDmgMaxHP,100;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (4610,'Sarah_Card','Sarah Card','Card',10,10,true,true,'CLIENT','bonus bAbsorbDmgMaxHP,100;');
@@ -3624,7 +3624,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27083,'BitterBonGun_Card','Resentful Bongun Card','Card',20,10,true,'CLIENT','bonus bBaseAtk,20;\nbonus bMatk,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27083,'BitterBonGun_Card','Resentful Bongun Card','Card',20,10,true,'CLIENT','bonus bBaseAtk,20;\nbonus bMatk,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27084,'BitterSohee_Card','Resentful Sohee Card','Card',20,10,true,'CLIENT','bonus bMatk,10;\nif (getrefine() >= 10) {\n   bonus bMatkRate,2;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27084,'BitterSohee_Card','Resentful Sohee Card','Card',20,10,true,'CLIENT','bonus bMatk,10;\nif (getrefine() >= 10) {\n   bonus bMatkRate,2;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27085,'BitterMunak_Card','Resentful Munak Card','Card',20,10,true,'CLIENT','bonus bBaseAtk,15;\nbonus bMatk,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27085,'BitterMunak_Card','Resentful Munak Card','Card',20,10,true,'CLIENT','bonus bBaseAtk,15;\nbonus bMatk,15;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27086,'BitterArcherSk_Card','Resentful Soldier Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_BOW) {\n   bonus3 bAutoSpell,"AC_DOUBLE",5,30;\n   if (getrefine() >= 10) {\n      bonus2 bWeaponDamageRate,W_BOW,20;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27086,'BitterArcherSk_Card','Resentful Soldier Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_BOW) {\n   bonus3 bAutoSpell,"AC_DOUBLE",5,30;\n   if (getrefine() >= 10) {\n      bonus2 bWeaponDamageRate,W_BOW,20;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27087,'WizardOfVeritas_Card','Truthful Wizard Card','Card',20,10,true,'CLIENT','bonus bMatk,25;\nautobonus "{ bonus bNoCastCancel; }",5,5000,BF_MAGIC,"{ specialeffect2 EF_POTION_BERSERK; showscript \\"This is the truth!\\"; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27087,'WizardOfVeritas_Card','Truthful Wizard Card','Card',20,10,true,'CLIENT','bonus bMatk,25;\nautobonus "{ bonus bNoCastCancel; }",5,5000,BF_MAGIC,"{ specialeffect2 EF_POTION_BERSERK; showscript \\"This is the truth!\\"; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27088,'FuryHero_Card','Fury Hero Card','Card',20,10,true,true,true,'CLIENT','bonus2 bAddClass,Class_All,2;\nbonus5 bAutoSpell,"SM_ENDURE",1,5,BF_SHORT,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27088,'FuryHero_Card','Fury Hero Card','Card',20,10,true,true,true,'CLIENT','bonus2 bAddClass,Class_All,2;\nbonus5 bAutoSpell,"SM_ENDURE",1,5,BF_SHORT,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27101,'SweetNightM_Card','Sweet Nightmare Card','Card',20,10,true,'CLIENT','bonus bMatk,20;\nbonus bNoCastCancel;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27101,'SweetNightM_Card','Sweet Nightmare Card','Card',20,10,true,'CLIENT','bonus bMatk,20;\nbonus bNoCastCancel;');
@@ -3643,7 +3643,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27114,'Ominous_Solider_Card','Ominous Solider Card','Card',20,10,true,'CLIENT','bonus bMaxHPrate,(10+(getrefine()/3));\n.@val = 50;\nif (BaseLevel >= 160) {\n   .@val += 50;\n   bonus bVit,3;\n}\nbonus bDef,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27114,'Ominous_Solider_Card','Ominous Solider Card','Card',20,10,true,'CLIENT','bonus bMaxHPrate,(10+(getrefine()/3));\n.@val = 50;\nif (BaseLevel >= 160) {\n   .@val += 50;\n   bonus bVit,3;\n}\nbonus bDef,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27115,'Ominous_Permeter_Card','Ominous Permeter Card','Card',20,10,true,true,true,'CLIENT','.@r = getrefine();\nbonus bInt,1;\nbonus bMaxSP,(80+10*(.@r/2));\nif (.@r >= 7) {\n   bonus bSPrecovRate,30;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27115,'Ominous_Permeter_Card','Ominous Permeter Card','Card',20,10,true,true,true,'CLIENT','.@r = getrefine();\nbonus bInt,1;\nbonus bMaxSP,(80+10*(.@r/2));\nif (.@r >= 7) {\n   bonus bSPrecovRate,30;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27116,'Ominous_Heater_Card','Ominous Heater Card','Card',20,10,true,true,'CLIENT','bonus bCritical,3;\nbonus bCritAtkRate,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27116,'Ominous_Heater_Card','Ominous Heater Card','Card',20,10,true,true,'CLIENT','bonus bCritical,3;\nbonus bCritAtkRate,5;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27117,'Ominous_Assaulter_Card','Ominous Assaulter Card','Card',20,10,true,'CLIENT','.@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11);\nif (.@type == W_WHIP || .@type == W_MUSICAL || .@type == W_BOOK || .@type == W_2HSWORD || .@type == W_2HSPEAR) {\n   .@r = getrefine();\n   bonus bCritical,5;\n   bonus bBaseAtk,(3*.@r);\n}\nbonus bCritAtkRate,(10+.@r);');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27117,'Ominous_Assaulter_Card','Ominous Assaulter Card','Card',20,10,true,'CLIENT','.@type = getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW);\nif (.@type == W_WHIP || .@type == W_MUSICAL || .@type == W_BOOK || .@type == W_2HSWORD || .@type == W_2HSPEAR) {\n   .@r = getrefine();\n   bonus bCritical,5;\n   bonus bBaseAtk,(3*.@r);\n}\nbonus bCritAtkRate,(10+.@r);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27118,'Ominous_Freezer_Card','Ominous Freezer Card','Card',20,10,true,'CLIENT','bonus bMaxHPrate,10;\nbonus bStr,2;\nif (BaseLevel >= 160) {\n   .@val = 10;\n}\nif (getrefine() >= 9) {\n   .@val += 10;\n}\nif (.@val) {\n   bonus2 bSkillAtk,"RK_HUNDREDSPEAR",.@val;\n   bonus2 bSkillAtk,"LG_OVERBRAND",.@val;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27118,'Ominous_Freezer_Card','Ominous Freezer Card','Card',20,10,true,'CLIENT','bonus bMaxHPrate,10;\nbonus bStr,2;\nif (BaseLevel >= 160) {\n   .@val = 10;\n}\nif (getrefine() >= 9) {\n   .@val += 10;\n}\nif (.@val) {\n   bonus2 bSkillAtk,"RK_HUNDREDSPEAR",.@val;\n   bonus2 bSkillAtk,"LG_OVERBRAND",.@val;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_dropeffect`,`script`) VALUES (27119,'Ominous_Turtle_General_Card','Ominous Turtle General Card','Card',20,10,true,'CLIENT','bonus bDef,30;\nbonus bMdef,5;\nbonus2 bSubSize,Size_All,25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_dropeffect`,`script`) VALUES (27119,'Ominous_Turtle_General_Card','Ominous Turtle General Card','Card',20,10,true,'CLIENT','bonus bDef,30;\nbonus bMdef,5;\nbonus2 bSubSize,Size_All,25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27120,'Iara_Card','Iara Card','Card',20,10,true,true,'CLIENT','skill "PR_STRECOVERY",1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27120,'Iara_Card','Iara Card','Card',20,10,true,true,'CLIENT','skill "PR_STRECOVERY",1;');
@@ -3655,7 +3655,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27126,'Boitata_Card','Boitata Card','Card',20,10,true,'CLIENT','bonus2 bAddEle,Ele_Wind,40;\nbonus2 bAddEle,Ele_Earth,40;\nbonus2 bAddRace,RC_Brute,40;\nbonus2 bAddRace,RC_Insect,40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27126,'Boitata_Card','Boitata Card','Card',20,10,true,'CLIENT','bonus2 bAddEle,Ele_Wind,40;\nbonus2 bAddEle,Ele_Earth,40;\nbonus2 bAddRace,RC_Brute,40;\nbonus2 bAddRace,RC_Insect,40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27147,'Human_Kimera_Card','Humanoid Chimera Card','Card',20,10,true,true,'CLIENT','bonus bHit,(BaseLevel >= 90 ? 15 : 5);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27147,'Human_Kimera_Card','Humanoid Chimera Card','Card',20,10,true,true,'CLIENT','bonus bHit,(BaseLevel >= 90 ? 15 : 5);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27148,'Matter_Kimera_Card','Material Chimera Card','Card',20,10,true,true,'CLIENT','bonus bFlee,(BaseLevel >= 90 ? 20 : 10);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27148,'Matter_Kimera_Card','Material Chimera Card','Card',20,10,true,true,'CLIENT','bonus bFlee,(BaseLevel >= 90 ? 20 : 10);');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27149,'Heart_Hunter_Card','Heart Hunter Card','Card',20,10,true,'CLIENT','.@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11);\n.@r = getrefine();\nif (.@type == 17 || .@type == 18 || .@type == 21) {\n   bonus bLongAtkRate,5+.@r+(.@r >= 10 ? 5 : 0);\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27149,'Heart_Hunter_Card','Heart Hunter Card','Card',20,10,true,'CLIENT','.@type = getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW);\n.@r = getrefine();\nif (.@type == 17 || .@type == 18 || .@type == 21) {\n   bonus bLongAtkRate,5+.@r+(.@r >= 10 ? 5 : 0);\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27150,'Venom_Kimera_Card','Toxic Enchanted Chimera Card','Card',20,10,true,'CLIENT','bonus bMaxHP,1000;\nbonus bMaxSP,200;\nif (getrefine() >= 12) {\n   bonus bMaxHPrate,15;\n   bonus bMaxSPrate,15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27150,'Venom_Kimera_Card','Toxic Enchanted Chimera Card','Card',20,10,true,'CLIENT','bonus bMaxHP,1000;\nbonus bMaxSP,200;\nif (getrefine() >= 12) {\n   bonus bMaxHPrate,15;\n   bonus bMaxSPrate,15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27151,'Evil_Card','Heart Hunter Evil Card','Card',20,10,true,'CLIENT','bonus2 bAddEffWhenHit,Eff_Freeze,3000 + (readparam(bInt) >= 110 ? 1000 : 0);\nbonus bMdef,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27151,'Evil_Card','Heart Hunter Evil Card','Card',20,10,true,'CLIENT','bonus2 bAddEffWhenHit,Eff_Freeze,3000 + (readparam(bInt) >= 110 ? 1000 : 0);\nbonus bMdef,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27152,'Cutie_Card','Cutie Card','Card',20,10,true,'CLIENT','bonus bMaxHPrate,10;\n.@r = getrefine()/2;\nbonus bAgi,.@r;\nbonus bAspdRate,.@r;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27152,'Cutie_Card','Cutie Card','Card',20,10,true,'CLIENT','bonus bMaxHPrate,10;\n.@r = getrefine()/2;\nbonus bAgi,.@r;\nbonus bAspdRate,.@r;');
@@ -3671,10 +3671,10 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27166,'Faceworm_Egg_Card','Faceworm Egg Card','Card',20,10,true,'CLIENT','.@r = getrefine();\n.@sub = 2+(.@r >= 9 ? 3 : .@r >= 7 ? 1 : 0);\nbonus2 bSubEle,Ele_Fire,.@sub;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27166,'Faceworm_Egg_Card','Faceworm Egg Card','Card',20,10,true,'CLIENT','.@r = getrefine();\n.@sub = 2+(.@r >= 9 ? 3 : .@r >= 7 ? 1 : 0);\nbonus2 bSubEle,Ele_Fire,.@sub;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27167,'Faceworm_L_Card','Faceworm Larva Card','Card',20,10,true,'CLIENT','bonus2 bSubEle,Ele_Neutral,15;\nbonus2 bMagicAtkEle,Ele_Water,getrefine()*3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27167,'Faceworm_L_Card','Faceworm Larva Card','Card',20,10,true,'CLIENT','bonus2 bSubEle,Ele_Neutral,15;\nbonus2 bMagicAtkEle,Ele_Water,getrefine()*3;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27168,'Irene_Elder_Card','Irene High Elder Card','Card',20,10,true,'CLIENT','bonus bHit,10 + 5 * (getrefine()/3);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27168,'Irene_Elder_Card','Irene High Elder Card','Card',20,10,true,'CLIENT','bonus bHit,10 + 5 * (getrefine()/3);');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27169,'Payon_Soldier_Card','Payon Soldier Card','Card',20,10,true,'CLIENT','.@atk = 5;\n.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_SPEAR && .@r >= 10) {\n   .@atk += 20;\n   if (.@r >= 14) {\n      .@atk += 20;\n   }\n}\nbonus bBaseAtk,.@atk;\nbonus bMatk,.@atk;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27169,'Payon_Soldier_Card','Payon Soldier Card','Card',20,10,true,'CLIENT','.@atk = 5;\n.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_SPEAR && .@r >= 10) {\n   .@atk += 20;\n   if (.@r >= 14) {\n      .@atk += 20;\n   }\n}\nbonus bBaseAtk,.@atk;\nbonus bMatk,.@atk;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27170,'Cowraiders1_Card','Shotgun Buffalo Bandit Card','Card',20,10,true,'CLIENT','bonus bAgi,7;\nbonus bHit,7;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27170,'Cowraiders1_Card','Shotgun Buffalo Bandit Card','Card',20,10,true,'CLIENT','bonus bAgi,7;\nbonus bHit,7;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`flag_dropeffect`,`script`) VALUES (27171,'Cowraiders2_Card','Revolver Buffalo Bandit Card','Card',20,10,true,'CLIENT','bonus bStr,4;\nbonus2 bAddClass,Class_All,4;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`flag_dropeffect`,`script`) VALUES (27171,'Cowraiders2_Card','Revolver Buffalo Bandit Card','Card',20,10,true,'CLIENT','bonus bStr,4;\nbonus2 bAddClass,Class_All,4;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27172,'Cowraiders3_Card','Scimitar Buffalo Bandit Card','Card',20,10,true,'CLIENT','.@bonus = 5;\n.@type = getiteminfo(getequipid(EQI_COMPOUND_ON),11);\nif (.@type == W_DAGGER) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      .@bonus += 20;\n   }\n   if (.@r>=14) {\n      .@bonus += 20;\n   }\n}\nbonus bBaseAtk,.@bonus;\nbonus bMatk,.@bonus;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27172,'Cowraiders3_Card','Scimitar Buffalo Bandit Card','Card',20,10,true,'CLIENT','.@bonus = 5;\n.@type = getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW);\nif (.@type == W_DAGGER) {\n   .@r = getrefine();\n   if (.@r>=10) {\n      .@bonus += 20;\n   }\n   if (.@r>=14) {\n      .@bonus += 20;\n   }\n}\nbonus bBaseAtk,.@bonus;\nbonus bMatk,.@bonus;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27173,'E_Cowraiders1_Card','Elite Shotgun Buffalo Bandit Card','Card',20,10,true,'CLIENT','.@bonus = 10;\n.@r = getrefine();\nif (.@r>=10) {\n   .@bonus += 20;\n}\nif (.@r>=14) {\n   .@bonus += 20;\n}\nbonus2 bSkillAtk,"GS_SPREADATTACK",.@bonus;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27173,'E_Cowraiders1_Card','Elite Shotgun Buffalo Bandit Card','Card',20,10,true,'CLIENT','.@bonus = 10;\n.@r = getrefine();\nif (.@r>=10) {\n   .@bonus += 20;\n}\nif (.@r>=14) {\n   .@bonus += 20;\n}\nbonus2 bSkillAtk,"GS_SPREADATTACK",.@bonus;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27174,'E_Cowraiders2_Card','Elite Revolver Buffalo Bandit Card','Card',20,10,true,'CLIENT','.@bonus = 10;\n.@r = getrefine();\nif (.@r>=10) {\n   .@bonus += 20;\n}\nif (.@r>=14) {\n   .@bonus += 20;\n}\nbonus2 bSkillAtk,"GS_RAPIDSHOWER",.@bonus;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27174,'E_Cowraiders2_Card','Elite Revolver Buffalo Bandit Card','Card',20,10,true,'CLIENT','.@bonus = 10;\n.@r = getrefine();\nif (.@r>=10) {\n   .@bonus += 20;\n}\nif (.@r>=14) {\n   .@bonus += 20;\n}\nbonus2 bSkillAtk,"GS_RAPIDSHOWER",.@bonus;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27175,'E_Cowraiders3_Card','Elite Scimitar Buffalo Bandit Card','Card',20,10,true,'CLIENT','bonus2 bAddSize,Size_Small,10;\nbonus2 bMagicAddSize,Size_Small,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27175,'E_Cowraiders3_Card','Elite Scimitar Buffalo Bandit Card','Card',20,10,true,'CLIENT','bonus2 bAddSize,Size_Small,10;\nbonus2 bMagicAddSize,Size_Small,10;');
@@ -3698,14 +3698,14 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27209,'SLD_Q_Scaraba_Card','Sealed Queen Scaraba Card','Card',10,true,'CLIENT','bonus2 bAddMonsterDropItem,12806,30;\nif (getrefine()>=15) {\n   bonus2 bAddRace2,RC2_SCARABA,25;\n}\nelse {\n   bonus2 bAddRace2,RC2_SCARABA,15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27209,'SLD_Q_Scaraba_Card','Sealed Queen Scaraba Card','Card',10,true,'CLIENT','bonus2 bAddMonsterDropItem,12806,30;\nif (getrefine()>=15) {\n   bonus2 bAddRace2,RC2_SCARABA,25;\n}\nelse {\n   bonus2 bAddRace2,RC2_SCARABA,15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27211,'SLD_Baphomet_Card','Sealed Baphomet Card','Card',10,true,'CLIENT','bonus bSplashRange,1;\nif (getrefine()>=15) {\n   bonus bHit,-20;\n}\nelse {\n   bonus bHit,-30;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27211,'SLD_Baphomet_Card','Sealed Baphomet Card','Card',10,true,'CLIENT','bonus bSplashRange,1;\nif (getrefine()>=15) {\n   bonus bHit,-20;\n}\nelse {\n   bonus bHit,-30;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_left_hand`,`flag_dropeffect`,`script`) VALUES (27212,'SLD_Maya_Card','Sealed Maya Card','Card',10,true,'CLIENT','if (getrefine()>=15) {\n   bonus bMagicDamageReturn,30;\n}\nelse {\n   bonus bMagicDamageReturn,15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_left_hand`,`flag_dropeffect`,`script`) VALUES (27212,'SLD_Maya_Card','Sealed Maya Card','Card',10,true,'CLIENT','if (getrefine()>=15) {\n   bonus bMagicDamageReturn,30;\n}\nelse {\n   bonus bMagicDamageReturn,15;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27213,'SLD_Clown_Card','Sealed Clown Card','Card',10,true,'CLIENT','if (getrefine()>=15) {\n   .@a = 7;\n   .@b = 15;\n}\nelse {\n   .@a = 5;\n   .@b = 10;\n}\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {\n   skill "BA_POEMBRAGI2",.@a;\n}\nbonus bFlee,(readparam(bVit)>=110) ? (.@b*2) : .@b;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27213,'SLD_Clown_Card','Sealed Clown Card','Card',10,true,'CLIENT','if (getrefine()>=15) {\n   .@a = 7;\n   .@b = 15;\n}\nelse {\n   .@a = 5;\n   .@b = 10;\n}\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {\n   skill "BA_POEMBRAGI2",.@a;\n}\nbonus bFlee,(readparam(bVit)>=110) ? (.@b*2) : .@b;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27214,'SLD_Professor_Card','Sealed Professor Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"SA_LANDPROTECTOR",1,1,BF_MAGIC,0;\n   bonus bMatkRate,(readparam(bDex)>=110) ? 6 : 3;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"SA_LANDPROTECTOR",3,1,BF_MAGIC,0;\n   bonus bMatkRate,(readparam(bDex)>=110) ? 10 : 5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27214,'SLD_Professor_Card','Sealed Professor Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"SA_LANDPROTECTOR",1,1,BF_MAGIC,0;\n   bonus bMatkRate,(readparam(bDex)>=110) ? 6 : 3;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"SA_LANDPROTECTOR",3,1,BF_MAGIC,0;\n   bonus bMatkRate,(readparam(bDex)>=110) ? 10 : 5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27215,'SLD_Champion_Card','Sealed Champion Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"MO_INVESTIGATE",1,1,BF_WEAPON,1;\n   bonus2 bAddClass,Class_All,(readparam(bAgi)>=110) ? 6 : 3;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"MO_INVESTIGATE",3,1,BF_WEAPON,1;\n   bonus2 bAddClass,Class_All,(readparam(bAgi)>=110) ? 10 : 5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27215,'SLD_Champion_Card','Sealed Champion Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"MO_INVESTIGATE",1,1,BF_WEAPON,1;\n   bonus2 bAddClass,Class_All,(readparam(bAgi)>=110) ? 6 : 3;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"MO_INVESTIGATE",3,1,BF_WEAPON,1;\n   bonus2 bAddClass,Class_All,(readparam(bAgi)>=110) ? 10 : 5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27216,'SLD_Creator_Card','Sealed Creator Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"AM_ACIDTERROR",1,1,BF_WEAPON,1;\n   bonus bCritical,(readparam(bStr)>=110) ? 20 : 10;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"AM_ACIDTERROR",3,1,BF_WEAPON,1;\n   bonus bCritical,(readparam(bStr)>=110) ? 30 : 20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27216,'SLD_Creator_Card','Sealed Creator Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"AM_ACIDTERROR",1,1,BF_WEAPON,1;\n   bonus bCritical,(readparam(bStr)>=110) ? 20 : 10;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"AM_ACIDTERROR",3,1,BF_WEAPON,1;\n   bonus bCritical,(readparam(bStr)>=110) ? 30 : 20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27217,'SLD_Stalker_Card','Sealed Stalker Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"ST_FULLSTRIP",1,1,BF_WEAPON,1;\n   bonus bHit,(readparam(bLuk)>=110) ? 20 : 10;\n}\nelse {\n   bonus bHit,(readparam(bLuk)>=110) ? 30 : 15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27217,'SLD_Stalker_Card','Sealed Stalker Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"ST_FULLSTRIP",1,1,BF_WEAPON,1;\n   bonus bHit,(readparam(bLuk)>=110) ? 20 : 10;\n}\nelse {\n   bonus bHit,(readparam(bLuk)>=110) ? 30 : 15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27218,'SLD_Paladin_Card','Sealed Paladin Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"CR_GRANDCROSS",5,1,BF_WEAPON,0;\n   bonus bMaxHPrate,(readparam(bInt)>=110) ? 10 : 5;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"CR_GRANDCROSS",7,1,BF_WEAPON,0;\n   bonus bMaxHPrate,(readparam(bInt)>=110) ? 14 : 7;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27218,'SLD_Paladin_Card','Sealed Paladin Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus5 bAutoSpellWhenHit,"CR_GRANDCROSS",5,1,BF_WEAPON,0;\n   bonus bMaxHPrate,(readparam(bInt)>=110) ? 10 : 5;\n}\nelse {\n   bonus5 bAutoSpellWhenHit,"CR_GRANDCROSS",7,1,BF_WEAPON,0;\n   bonus bMaxHPrate,(readparam(bInt)>=110) ? 14 : 7;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27219,'SLD_Gypsy_Card','Sealed Gypsy Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {\n      skill "DC_FORTUNEKISS2",5;\n   }\n   bonus bFlee,(readparam(bVit)>=110) ? 20 : 10;\n}\nelse {\n   if (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {\n      skill "DC_FORTUNEKISS2",7;\n   }\n   bonus bFlee,(readparam(bVit)>=110) ? 30 : 15;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27220,'SLD_Daehyon_Card','Sealed General Daehyon Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {\n      bonus bBaseAtk,50;\n   }\n}\nelse {\n   if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {\n      bonus bBaseAtk,75;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27219,'SLD_Gypsy_Card','Sealed Gypsy Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {\n      skill "DC_FORTUNEKISS2",5;\n   }\n   bonus bFlee,(readparam(bVit)>=110) ? 20 : 10;\n}\nelse {\n   if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {\n      skill "DC_FORTUNEKISS2",7;\n   }\n   bonus bFlee,(readparam(bVit)>=110) ? 30 : 15;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27220,'SLD_Daehyon_Card','Sealed General Daehyon Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {\n      bonus bBaseAtk,50;\n   }\n}\nelse {\n   if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSWORD || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {\n      bonus bBaseAtk,75;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27221,'SLD_Gioia_Card','Sealed Gioia Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus2 bMagicAtkEle,Ele_Ghost,50;\n   bonus2 bMagicAtkEle,Ele_Wind,50;\n   bonus2 bSubEle,Ele_All,-60;\n}\nelse {\n   bonus2 bMagicAtkEle,Ele_Ghost,75;\n   bonus2 bMagicAtkEle,Ele_Wind,75;\n   bonus2 bSubEle,Ele_All,-40;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27221,'SLD_Gioia_Card','Sealed Gioia Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus2 bMagicAtkEle,Ele_Ghost,50;\n   bonus2 bMagicAtkEle,Ele_Wind,50;\n   bonus2 bSubEle,Ele_All,-60;\n}\nelse {\n   bonus2 bMagicAtkEle,Ele_Ghost,75;\n   bonus2 bMagicAtkEle,Ele_Wind,75;\n   bonus2 bSubEle,Ele_All,-40;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27222,'SLD_Pyuriel_Card','Sealed Fallen Pyuriel Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus bCritAtkRate,20;\n   bonus2 bSubRace,RC_All,-20;\n}\nelse {\n   bonus bCritAtkRate,25;\n   bonus2 bSubRace,RC_All,-15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27222,'SLD_Pyuriel_Card','Sealed Fallen Pyuriel Card','Card',10,true,'CLIENT','if (getrefine()<15) {\n   bonus bCritAtkRate,20;\n   bonus2 bSubRace,RC_All,-20;\n}\nelse {\n   bonus bCritAtkRate,25;\n   bonus2 bSubRace,RC_All,-15;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27224,'SLD_Kades_Card','Sealed Guardian Kades Card','Card',10,true,'CLIENT','bonus2 bSubEle,Ele_Holy,-100;\nbonus2 bSubEle,Ele_Ghost,-100;\nif (getrefine()<15) {\n   bonus2 bSubEle,Ele_Water,20;\n   bonus2 bSubEle,Ele_Earth,20;\n   bonus2 bSubEle,Ele_Fire,20;\n   bonus2 bSubEle,Ele_Wind,20;\n   bonus2 bSubEle,Ele_Dark,20;\n   bonus2 bSubEle,Ele_Undead,20;\n}\nelse {\n   bonus2 bSubEle,Ele_Water,20;\n   bonus2 bSubEle,Ele_Earth,20;\n   bonus2 bSubEle,Ele_Fire,20;\n   bonus2 bSubEle,Ele_Wind,20;\n   bonus2 bSubEle,Ele_Dark,20;\n   bonus2 bSubEle,Ele_Undead,20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27224,'SLD_Kades_Card','Sealed Guardian Kades Card','Card',10,true,'CLIENT','bonus2 bSubEle,Ele_Holy,-100;\nbonus2 bSubEle,Ele_Ghost,-100;\nif (getrefine()<15) {\n   bonus2 bSubEle,Ele_Water,20;\n   bonus2 bSubEle,Ele_Earth,20;\n   bonus2 bSubEle,Ele_Fire,20;\n   bonus2 bSubEle,Ele_Wind,20;\n   bonus2 bSubEle,Ele_Dark,20;\n   bonus2 bSubEle,Ele_Undead,20;\n}\nelse {\n   bonus2 bSubEle,Ele_Water,20;\n   bonus2 bSubEle,Ele_Earth,20;\n   bonus2 bSubEle,Ele_Fire,20;\n   bonus2 bSubEle,Ele_Wind,20;\n   bonus2 bSubEle,Ele_Dark,20;\n   bonus2 bSubEle,Ele_Undead,20;\n}');
@@ -3722,7 +3722,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27258,'Hyper_Death_Card','Ifodes Card','Card',20,10,true,'CLIENT','bonus2 bAddClass,Class_All,3;\nbonus bAspdRate,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27258,'Hyper_Death_Card','Ifodes Card','Card',20,10,true,'CLIENT','bonus2 bAddClass,Class_All,3;\nbonus bAspdRate,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27259,'Rechenier_Card','Licheniyes Card','Card',20,10,true,'CLIENT','bonus bMatkRate,3;\nbonus2 bMagicAtkEle,Ele_Holy,5;\nbonus bHealPower,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27259,'Rechenier_Card','Licheniyes Card','Card',20,10,true,'CLIENT','bonus bMatkRate,3;\nbonus2 bMagicAtkEle,Ele_Holy,5;\nbonus bHealPower,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27260,'Odorico_Card','Odoric Card','Card',20,10,true,'CLIENT','bonus bAspdRate,3;\nbonus bLongAtkRate,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27260,'Odorico_Card','Odoric Card','Card',20,10,true,'CLIENT','bonus bAspdRate,3;\nbonus bLongAtkRate,5;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27261,'Jew_Card','Ju Card','Card',20,10,true,'CLIENT','.@rate = 10 + (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK ? 20 : 0) + (getrefine() >= 14 ? 20 : 0);\nbonus2 bSkillAtk,"MG_FIREBOLT",.@rate;\nbonus2 bSkillAtk,"MG_COLDBOLT",.@rate;\nbonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@rate;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27261,'Jew_Card','Ju Card','Card',20,10,true,'CLIENT','.@rate = 10 + (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK ? 20 : 0) + (getrefine() >= 14 ? 20 : 0);\nbonus2 bSkillAtk,"MG_FIREBOLT",.@rate;\nbonus2 bSkillAtk,"MG_COLDBOLT",.@rate;\nbonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@rate;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27262,'Dy_Card','Dwigh Card','Card',20,10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Dark,20;\nbonus2 bMagicAtkEle,Ele_Neutral,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27262,'Dy_Card','Dwigh Card','Card',20,10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Dark,20;\nbonus2 bMagicAtkEle,Ele_Neutral,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27263,'Fei_Kanabian_Card','Fay Kanavian Card','Card',20,10,true,'CLIENT','autobonus "{ bonus bDef,300; }",20,10000,BF_WEAPON|BF_SHORT,"{ specialeffect2 EF_POTION_BERSERK; active_transform 1040,10000; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (27263,'Fei_Kanabian_Card','Fay Kanavian Card','Card',20,10,true,'CLIENT','autobonus "{ bonus bDef,300; }",20,10000,BF_WEAPON|BF_SHORT,"{ specialeffect2 EF_POTION_BERSERK; active_transform 1040,10000; }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_dropeffect`,`script`) VALUES (27264,'Evil_Shadow_Card','Evil Shadow Card','Card',20,10,true,'CLIENT','bonus2 bSubEle,Ele_Dark,30;\nbonus2 bSubEle,Ele_Undead,30;\nbonus2 bSubEle,Ele_Holy,-30;\nbonus2 bSubEle,Ele_Fire,-30;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_left_hand`,`flag_dropeffect`,`script`) VALUES (27264,'Evil_Shadow_Card','Evil Shadow Card','Card',20,10,true,'CLIENT','bonus2 bSubEle,Ele_Dark,30;\nbonus2 bSubEle,Ele_Undead,30;\nbonus2 bSubEle,Ele_Holy,-30;\nbonus2 bSubEle,Ele_Fire,-30;');
@@ -3743,14 +3743,14 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27301,'Labyrinth_Doppelganger_Card','Labyrinth Doppelganger Card','Card',20,10,true,'CLIENT','bonus2 bAddClass,Class_All,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27301,'Labyrinth_Doppelganger_Card','Labyrinth Doppelganger Card','Card',20,10,true,'CLIENT','bonus2 bAddClass,Class_All,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27304,'E_EA2S_Card','E EA2S Card','Card',20,10,true,true,'CLIENT','bonus bHPrecovRate,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27304,'E_EA2S_Card','E EA2S Card','Card',20,10,true,true,'CLIENT','bonus bHPrecovRate,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27305,'EL_A17T_Card','EL A17T Card','Card',20,10,true,true,'CLIENT','bonus4 bAutoSpell,"WL_HELLINFERNO",3,20,1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27305,'EL_A17T_Card','EL A17T Card','Card',20,10,true,true,'CLIENT','bonus4 bAutoSpell,"WL_HELLINFERNO",3,20,1;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27306,'Bellare_Card','Bellare Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_REVOLVER) {\n   .@r = getrefine();\n   bonus bHit,20;\n   bonus bLongAtkRate,(5+.@r);\n   if (.@r >= 10) {\n      bonus2 bSkillAtk,"RL_FIREDANCE",15;\n   }\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27307,'High_Bellare_Card','Greater Bellare Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_GATLING) {\n   .@r = getrefine();\n   bonus bHit,20;\n   bonus bLongAtkRate,(5+.@r);\n   if (.@r >= 10) {\n      bonus2 bSkillAtk,"RL_R_TRIP",15;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27306,'Bellare_Card','Bellare Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_REVOLVER) {\n   .@r = getrefine();\n   bonus bHit,20;\n   bonus bLongAtkRate,(5+.@r);\n   if (.@r >= 10) {\n      bonus2 bSkillAtk,"RL_FIREDANCE",15;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27307,'High_Bellare_Card','Greater Bellare Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_GATLING) {\n   .@r = getrefine();\n   bonus bHit,20;\n   bonus bLongAtkRate,(5+.@r);\n   if (.@r >= 10) {\n      bonus2 bSkillAtk,"RL_R_TRIP",15;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27308,'Sanare_Card','Sanare Card','Card',20,10,true,'CLIENT','.@r = getrefine();\n.@val = 2;\nif (.@r >= 9) {\n   .@val += 3;\n}\nif (.@r >= 11) {\n   .@val += 5;\n}\nbonus bHealPower,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27308,'Sanare_Card','Sanare Card','Card',20,10,true,'CLIENT','.@r = getrefine();\n.@val = 2;\nif (.@r >= 9) {\n   .@val += 3;\n}\nif (.@r >= 11) {\n   .@val += 5;\n}\nbonus bHealPower,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27309,'High_Sanare_Card','Greater Sanare Card','Card',20,10,true,true,true,'CLIENT','bonus bMatk,10;\n.@val = 5;\nif (getrefine() >= 9) {\n   .@val += 5;\n}\nbonus2 bMagicAtkEle,Ele_Holy,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27309,'High_Sanare_Card','Greater Sanare Card','Card',20,10,true,true,true,'CLIENT','bonus bMatk,10;\n.@val = 5;\nif (getrefine() >= 9) {\n   .@val += 5;\n}\nbonus2 bMagicAtkEle,Ele_Holy,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27310,'Plaga_Card','Plaga Card','Card',20,10,true,true,true,'CLIENT','bonus bMatk,10;\n.@val = 5;\nif (getrefine() >= 9) {\n   .@val += 5;\n}\nbonus2 bMagicAtkEle,Ele_Neutral,.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_head_top`,`location_head_mid`,`location_head_low`,`flag_dropeffect`,`script`) VALUES (27310,'Plaga_Card','Plaga Card','Card',20,10,true,true,true,'CLIENT','bonus bMatk,10;\n.@val = 5;\nif (getrefine() >= 9) {\n   .@val += 5;\n}\nbonus2 bMagicAtkEle,Ele_Neutral,.@val;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27311,'Mutant_Plaga_Card','Mutant Plaga Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_KNUCKLE) {\n   .@r = getrefine();\n   bonus bHit,20;\n   bonus bBaseAtk,15;\n   if (.@r >= 10) {\n      .@val = 15;\n   }\n   bonus2 bAddSize,Size_Large,(.@r+.@val);\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27311,'Mutant_Plaga_Card','Mutant Plaga Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_KNUCKLE) {\n   .@r = getrefine();\n   bonus bHit,20;\n   bonus bBaseAtk,15;\n   if (.@r >= 10) {\n      .@val = 15;\n   }\n   bonus2 bAddSize,Size_Large,(.@r+.@val);\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27312,'Dolor_Card','Dolor Card','Card',20,10,true,true,'CLIENT','bonus2 bAddRace,RC_Demon,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (27312,'Dolor_Card','Dolor Card','Card',20,10,true,true,'CLIENT','bonus2 bAddRace,RC_Demon,5;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27313,'Mt_Dolor_Card','Mutant Dolor Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON),11) == W_KATAR) {\n   .@r = getrefine();\n   bonus bCritical,7;\n   bonus bBaseAtk,15;\n   bonus bCritAtkRate,(2*.@r);\n   if (.@r >= 10) {\n      bonus2 bAddSize,Size_Large,15;\n   }\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (27313,'Mt_Dolor_Card','Mutant Dolor Card','Card',20,10,true,'CLIENT','if (getiteminfo(getequipid(EQI_COMPOUND_ON), ITEMINFO_VIEW) == W_KATAR) {\n   .@r = getrefine();\n   bonus bCritical,7;\n   bonus bBaseAtk,15;\n   bonus bCritAtkRate,(2*.@r);\n   if (.@r >= 10) {\n      bonus2 bAddSize,Size_Large,15;\n   }\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27314,'Venenum_Card','Venenum Card','Card',20,10,true,'CLIENT','bonus2 bAddRace,RC_Brute,15;\nbonus2 bAddRace,RC_Player_Doram,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27314,'Venenum_Card','Venenum Card','Card',20,10,true,'CLIENT','bonus2 bAddRace,RC_Brute,15;\nbonus2 bAddRace,RC_Player_Doram,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27315,'Mt_Venenum_Card','Mutant Venenum Card','Card',20,10,true,'CLIENT','bonus2 bMagicAddRace,RC_Brute,15;\nbonus2 bMagicAddRace,RC_Player_Doram,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_garment`,`flag_dropeffect`,`script`) VALUES (27315,'Mt_Venenum_Card','Mutant Venenum Card','Card',20,10,true,'CLIENT','bonus2 bMagicAddRace,RC_Brute,15;\nbonus2 bMagicAddRace,RC_Player_Doram,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27316,'Caput_Card','Twin Caput Card','Card',20,10,true,'CLIENT','bonus bDef,50;\nbonus2 bSubDefEle,Ele_Poison,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`location_armor`,`flag_dropeffect`,`script`) VALUES (27316,'Caput_Card','Twin Caput Card','Card',20,10,true,'CLIENT','bonus bDef,50;\nbonus2 bSubDefEle,Ele_Poison,10;');
@@ -4215,9 +4215,9 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300006,'Jeweliant_Card','Jewelry Ant Card','Card',10,true,true,'CLIENT','bonus5 bAutoSpell,"SO_PSYCHIC_WAVE",1,100,BF_WEAPON,1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300006,'Jeweliant_Card','Jewelry Ant Card','Card',10,true,true,'CLIENT','bonus5 bAutoSpell,"SO_PSYCHIC_WAVE",1,100,BF_WEAPON,1;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300007,'Jungoliant_Card','Jeweled Ungoliant Card','Card',10,true,true,'CLIENT','bonus2 bAddEle,Ele_Fire,40;\nbonus2 bAddEle,Ele_Water,40;\nbonus2 bAddRace,RC_Formless,40;\nbonus2 bAddRace,RC_Plant,40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300007,'Jungoliant_Card','Jeweled Ungoliant Card','Card',10,true,true,'CLIENT','bonus2 bAddEle,Ele_Fire,40;\nbonus2 bAddEle,Ele_Water,40;\nbonus2 bAddRace,RC_Formless,40;\nbonus2 bAddRace,RC_Plant,40;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300008,'Angelgolt_Card','Angelgolt Card','Card',10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Demon,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300008,'Angelgolt_Card','Angelgolt Card','Card',10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Demon,10;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300009,'Plasma_Spt_Card','Spectrum Plasma Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Ghost,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Ghost,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Ghost,10;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300010,'Plasma_Arch_Card','Arch Plasma Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Wind,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Wind,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Wind,10;\n}');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300011,'Holy_Frus_Card','Holy Frus Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Holy,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Holy,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Holy,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300009,'Plasma_Spt_Card','Spectrum Plasma Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Ghost,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Ghost,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Ghost,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300010,'Plasma_Arch_Card','Arch Plasma Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Wind,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Wind,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Wind,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300011,'Holy_Frus_Card','Holy Frus Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Holy,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Holy,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Holy,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300012,'Holy_Skogul_Card','Holy Skogul Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nbonus bHealPower,5;\nif (.@r>=7) {\n   bonus bHealPower,3;\n}\nif (.@r>=9) {\n   bonus bHealPower,2;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300012,'Holy_Skogul_Card','Holy Skogul Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nbonus bHealPower,5;\nif (.@r>=7) {\n   bonus bHealPower,3;\n}\nif (.@r>=9) {\n   bonus bHealPower,2;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300013,'Reginleif_Card','Reginleif Card','Card',10,true,true,'CLIENT','bonus bUnbreakableArmor;\nbonus2 bAddClass,Class_All,30;\nbonus bMaxHPrate,-15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300013,'Reginleif_Card','Reginleif Card','Card',10,true,true,'CLIENT','bonus bUnbreakableArmor;\nbonus2 bAddClass,Class_All,30;\nbonus bMaxHPrate,-15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`,`unequip_script`) VALUES (300014,'Ingrid_Card','Ingrid Card','Card',10,true,true,'CLIENT','bonus bUnbreakableArmor;\nbonus2 bAddClass,Class_All,-15;\nbonus bMaxHPrate,40;\nbonus2 bHPLossRate,1000,4000;','heal -10000,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`,`unequip_script`) VALUES (300014,'Ingrid_Card','Ingrid Card','Card',10,true,true,'CLIENT','bonus bUnbreakableArmor;\nbonus2 bAddClass,Class_All,-15;\nbonus bMaxHPrate,40;\nbonus2 bHPLossRate,1000,4000;','heal -10000,0;');
@@ -4234,21 +4234,21 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300079,'Red_Pepper_Card','Red Pepper Card','Card',10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Fish,30;\nbonus2 bMagicAddRace,RC_Formless,30;\nbonus2 bMagicAddEle,Ele_Holy,30;\nbonus2 bMagicAddEle,Ele_Water,30;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300079,'Red_Pepper_Card','Red Pepper Card','Card',10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Fish,30;\nbonus2 bMagicAddRace,RC_Formless,30;\nbonus2 bMagicAddEle,Ele_Holy,30;\nbonus2 bMagicAddEle,Ele_Water,30;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300080,'Red_Pepper_H_Card','Greater Red Pepper Card','Card',10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Fish,50;\nbonus2 bMagicAddRace,RC_Formless,50;\nbonus2 bMagicAddEle,Ele_Holy,50;\nbonus2 bMagicAddEle,Ele_Water,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_armor`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300080,'Red_Pepper_H_Card','Greater Red Pepper Card','Card',10,true,true,'CLIENT','bonus2 bMagicAddRace,RC_Fish,50;\nbonus2 bMagicAddRace,RC_Formless,50;\nbonus2 bMagicAddEle,Ele_Holy,50;\nbonus2 bMagicAddEle,Ele_Water,50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300081,'Assistant_Card','Research Assistant Bot Card','Card',10,true,true,'CLIENT','bonus bInt,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"MG_FIREBALL",25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300081,'Assistant_Card','Research Assistant Bot Card','Card',10,true,true,'CLIENT','bonus bInt,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"MG_FIREBALL",25;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300082,'Assistant_H_Card','Greater Research Assistant Bot Card','Card',10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R),11) == W_1HSPEAR || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSPEAR) {\n   bonus bLongAtkRate,10;\n}\nbonus bLongAtkRate,2*(getrefine()/2);');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300082,'Assistant_H_Card','Greater Research Assistant Bot Card','Card',10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_1HSPEAR || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSPEAR) {\n   bonus bLongAtkRate,10;\n}\nbonus bLongAtkRate,2*(getrefine()/2);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300083,'Dry_Rafflesia_Card','Dried Rafflesia Card','Card',10,true,true,'CLIENT','bonus bAgi,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"NJ_KUNAI",15;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300083,'Dry_Rafflesia_Card','Dried Rafflesia Card','Card',10,true,true,'CLIENT','bonus bAgi,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"NJ_KUNAI",15;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300084,'Dry_Rafflesia_H_Card','Greater Dried Rafflesia Card','Card',10,true,true,'CLIENT','bonus2 bSubEle,Ele_Holy,30;\nbonus bFlee,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300084,'Dry_Rafflesia_H_Card','Greater Dried Rafflesia Card','Card',10,true,true,'CLIENT','bonus2 bSubEle,Ele_Holy,30;\nbonus bFlee,5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300085,'Alnoldi_Ex_Card','Special Alnoldi Card','Card',10,true,true,'CLIENT','bonus bStr,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus bBaseAtk,getskilllv("TK_POWER");');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300085,'Alnoldi_Ex_Card','Special Alnoldi Card','Card',10,true,true,'CLIENT','bonus bStr,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus bBaseAtk,getskilllv("TK_POWER");');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300086,'Alnoldi_Ex_H_Card','Greater Special Alnoldi Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {\n   bonus bShortAtkRate,10;\n}\nbonus bShortAtkRate,.@r;\nif (.@r>=11) {\n   bonus bUnbreakableWeapon;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300086,'Alnoldi_Ex_H_Card','Greater Special Alnoldi Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {\n   bonus bShortAtkRate,10;\n}\nbonus bShortAtkRate,.@r;\nif (.@r>=11) {\n   bonus bUnbreakableWeapon;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300087,'Beta_Basic_Card','Broken Gardener Beta Card','Card',10,true,true,'CLIENT','bonus bLuk,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"SU_SV_STEMSPEAR",10;\nbonus2 bSkillAtk,"SU_SCAROFTAROU",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300087,'Beta_Basic_Card','Broken Gardener Beta Card','Card',10,true,true,'CLIENT','bonus bLuk,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"SU_SV_STEMSPEAR",10;\nbonus2 bSkillAtk,"SU_SCAROFTAROU",10;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300088,'Beta_Basic_H_Card','Greater_Broken Gardener Beta Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) {\n   bonus2 bAddClass,Class_All,5;\n   bonus bHit,20;\n}\nbonus bShortAtkRate,.@r;\nbonus2 bSkillAtk,"SJ_FALLINGSTAR_ATK",15*.@r;\nbonus2 bSkillAtk,"SJ_FULLMOONKICK",15*.@r;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300088,'Beta_Basic_H_Card','Greater_Broken Gardener Beta Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK) {\n   bonus2 bAddClass,Class_All,5;\n   bonus bHit,20;\n}\nbonus bShortAtkRate,.@r;\nbonus2 bSkillAtk,"SJ_FALLINGSTAR_ATK",15*.@r;\nbonus2 bSkillAtk,"SJ_FULLMOONKICK",15*.@r;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300089,'Verporta_Card','Verporta Card','Card',10,true,true,'CLIENT','bonus bStr,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"MS_MAGNUM",25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300089,'Verporta_Card','Verporta Card','Card',10,true,true,'CLIENT','bonus bStr,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"MS_MAGNUM",25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300090,'Verporte_Card','Verporte Card','Card',10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Earth,10;\nbonus bUseSPrate,5;\nif (getrefine()>=9) {\n   bonus2 bMagicAtkEle,Ele_Earth,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300090,'Verporte_Card','Verporte Card','Card',10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Earth,10;\nbonus bUseSPrate,5;\nif (getrefine()>=9) {\n   bonus2 bMagicAtkEle,Ele_Earth,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300091,'MD_Papila_Card','Papila Card','Card',10,true,true,'CLIENT','bonus bDex,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"GS_SPREADATTACK",10;\nbonus2 bSkillAtk,"GS_DESPERADO",10;\nbonus2 bSkillAtk,"GS_FULLBUSTER",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300091,'MD_Papila_Card','Papila Card','Card',10,true,true,'CLIENT','bonus bDex,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"GS_SPREADATTACK",10;\nbonus2 bSkillAtk,"GS_DESPERADO",10;\nbonus2 bSkillAtk,"GS_FULLBUSTER",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300092,'MD_Papila_H_Card','Greater Papila Card','Card',10,true,true,'CLIENT','bonus bLuk,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"MC_CARTREVOLUTION",50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300092,'MD_Papila_H_Card','Greater Papila Card','Card',10,true,true,'CLIENT','bonus bLuk,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"MC_CARTREVOLUTION",50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300093,'MD_Papila_Ruba_Card','Papila Ruba Card','Card',10,true,true,'CLIENT','bonus bInt,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"AL_HOLYLIGHT",50;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300093,'MD_Papila_Ruba_Card','Papila Ruba Card','Card',10,true,true,'CLIENT','bonus bInt,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"AL_HOLYLIGHT",50;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300094,'MD_Papila_Ruba_H_Card','Greater Papila Ruba Card','Card',10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSWORD) {\n   bonus bCritAtkRate,20;\n}\nbonus bCritAtkRate,2*(getrefine()/2);');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300094,'MD_Papila_Ruba_H_Card','Greater Papila Ruba Card','Card',10,true,true,'CLIENT','if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSWORD) {\n   bonus bCritAtkRate,20;\n}\nbonus bCritAtkRate,2*(getrefine()/2);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300095,'MD_Papila_Cae_Card','Papila Cae Card','Card',10,true,true,'CLIENT','bonus bDex,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"AC_SHOWER",25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300095,'MD_Papila_Cae_Card','Papila Cae Card','Card',10,true,true,'CLIENT','bonus bDex,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"AC_SHOWER",25;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300096,'MD_Papila_Cae_H_Card','Greater Papila Cae Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R),11) == W_WHIP) {\n   bonus bMatk,20;\n}\nif (.@r>=10) {\n   bonus bVariableCastrate,-10;\n   bonus bMatk,20;\n}\nif (.@r>=13) {\n   bonus bMatk,20;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300096,'MD_Papila_Cae_H_Card','Greater Papila Cae Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_MUSICAL || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_WHIP) {\n   bonus bMatk,20;\n}\nif (.@r>=10) {\n   bonus bVariableCastrate,-10;\n   bonus bMatk,20;\n}\nif (.@r>=13) {\n   bonus bMatk,20;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300097,'Aries_Card','Aries Card','Card',10,true,true,'CLIENT','bonus bAgi,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"TF_POISON",25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300097,'Aries_Card','Aries Card','Card',10,true,true,'CLIENT','bonus bAgi,2;\nbonus bMaxHPrate,10;\nbonus bMaxSPrate,10;\nbonus2 bSkillAtk,"TF_POISON",25;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300098,'Aries_H_Card','Greater Aries Card','Card',10,true,true,'CLIENT','bonus bMatk,5;\nbonus2 bSkillAtk,"NJ_KOUENKA",10;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",10;\nbonus2 bSkillAtk,"NJ_HUUJIN",10;\nif (getrefine()>=7) {\n   bonus bVariableCastrate,-5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300098,'Aries_H_Card','Greater Aries Card','Card',10,true,true,'CLIENT','bonus bMatk,5;\nbonus2 bSkillAtk,"NJ_KOUENKA",10;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",10;\nbonus2 bSkillAtk,"NJ_HUUJIN",10;\nif (getrefine()>=7) {\n   bonus bVariableCastrate,-5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300099,'Silva_Papilia_Card','Silva Papilia Card','Card',10,true,true,'CLIENT','bonus2 bSubClass,Class_Normal,20;\nbonus bHealPower2,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_left_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300099,'Silva_Papilia_Card','Silva Papilia Card','Card',10,true,true,'CLIENT','bonus2 bSubClass,Class_Normal,20;\nbonus bHealPower2,15;');
@@ -4258,7 +4258,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300103,'Bath_Mermaid_Card','Azure Princess Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nbonus bMatk,15;\nif (.@r>=9) {\n   bonus2 bMagicAddRace,RC_Fish,10;\n   bonus2 bMagicAddRace,RC_DemiHuman,10;\n}\nif (.@r>=11) {\n   bonus bDelayrate,-3;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300103,'Bath_Mermaid_Card','Azure Princess Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nbonus bMatk,15;\nif (.@r>=9) {\n   bonus2 bMagicAddRace,RC_Fish,10;\n   bonus2 bMagicAddRace,RC_DemiHuman,10;\n}\nif (.@r>=11) {\n   bonus bDelayrate,-3;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300104,'Bookworm_Card','Bookworm Card','Card',10,true,true,true,'CLIENT','bonus bVit,1;\nbonus bInt,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SO_DIAMONDDUST",10;\nbonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300104,'Bookworm_Card','Bookworm Card','Card',10,true,true,true,'CLIENT','bonus bVit,1;\nbonus bInt,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SO_DIAMONDDUST",10;\nbonus2 bSkillAtk,"SO_PSYCHIC_WAVE",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300105,'Roaming_Spellbook_Card','Roaming Spellbook Card','Card',10,true,true,true,'CLIENT','bonus bInt,3;\nbonus bMaxHPrate,5;\nbonus bMaxSPrate,5;\nbonus2 bSkillAtk,"WL_CRIMSONROCK",10;\nbonus2 bSkillAtk,"WL_COMET",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300105,'Roaming_Spellbook_Card','Roaming Spellbook Card','Card',10,true,true,true,'CLIENT','bonus bInt,3;\nbonus bMaxHPrate,5;\nbonus bMaxSPrate,5;\nbonus2 bSkillAtk,"WL_CRIMSONROCK",10;\nbonus2 bSkillAtk,"WL_COMET",10;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300106,'Red_Pitaya_Card','Red Pitaya Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Fire,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Fire,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Fire,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300106,'Red_Pitaya_Card','Red Pitaya Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Fire,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Fire,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Fire,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300107,'Meow_Card','Meow Card','Card',10,true,true,true,'CLIENT','bonus2 bAddItemHealRate,513,500;\nbonus2 bAddItemHealRate,512,500;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300107,'Meow_Card','Meow Card','Card',10,true,true,true,'CLIENT','bonus2 bAddItemHealRate,513,500;\nbonus2 bAddItemHealRate,512,500;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300108,'Sewage_Venenum_Card','Sewage Venenum Card','Card',10,true,true,true,'CLIENT','bonus bAgi,2;\nbonus bDex,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SC_FATALMENACE",10;\nbonus2 bSkillAtk,"SC_TRIANGLESHOT",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300108,'Sewage_Venenum_Card','Sewage Venenum Card','Card',10,true,true,true,'CLIENT','bonus bAgi,2;\nbonus bDex,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SC_FATALMENACE",10;\nbonus2 bSkillAtk,"SC_TRIANGLESHOT",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300109,'Sewage_Cramp_Card','Sewage Cramp Card','Card',10,true,true,true,'CLIENT','bonus bStr,1;\nbonus bDex,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"GC_COUNTERSLASH",10;\nbonus2 bSkillAtk,"GC_ROLLINGCUTTER",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300109,'Sewage_Cramp_Card','Sewage Cramp Card','Card',10,true,true,true,'CLIENT','bonus bStr,1;\nbonus bDex,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"GC_COUNTERSLASH",10;\nbonus2 bSkillAtk,"GC_ROLLINGCUTTER",10;');
@@ -4266,7 +4266,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300111,'Bellare3_Card','Elite Bellare Card','Card',10,true,true,true,'CLIENT','bonus bAgi,2;\nbonus bInt,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"NJ_KOUENKA",10;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",10;\nbonus2 bSkillAtk,"NJ_HUUJIN",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300111,'Bellare3_Card','Elite Bellare Card','Card',10,true,true,true,'CLIENT','bonus bAgi,2;\nbonus bInt,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"NJ_KOUENKA",10;\nbonus2 bSkillAtk,"NJ_HYOUSENSOU",10;\nbonus2 bSkillAtk,"NJ_HUUJIN",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300112,'Dolor3_Card','Magic-poisoned Dolor Card','Card',10,true,true,true,'CLIENT','bonus bVit,1;\nbonus bInt,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SP_CURSEEXPLOSION",10;\nbonus2 bSkillAtk,"SP_SWHOO",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300112,'Dolor3_Card','Magic-poisoned Dolor Card','Card',10,true,true,true,'CLIENT','bonus bVit,1;\nbonus bInt,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SP_CURSEEXPLOSION",10;\nbonus2 bSkillAtk,"SP_SWHOO",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300113,'Unleashed_Magic_Card','Unleashed Magic Card','Card',10,true,true,true,'CLIENT','bonus bVit,1;\nbonus bInt,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",10;\nbonus2 bSkillAtk,"WM_REVERBERATION",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300113,'Unleashed_Magic_Card','Unleashed Magic Card','Card',10,true,true,true,'CLIENT','bonus bVit,1;\nbonus bInt,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"WM_SEVERE_RAINSTORM",10;\nbonus2 bSkillAtk,"WM_REVERBERATION",10;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300114,'Plaga3_Card','Magic-poisoned Plaga Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Neutral,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Neutral,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Neutral,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300114,'Plaga3_Card','Magic-poisoned Plaga Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Neutral,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Neutral,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Neutral,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300115,'Sanare3_Card','Magic-poisoned Sanare Card','Card',10,true,true,true,'CLIENT','bonus bInt,2;\nbonus bDex,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"AB_ADORAMUS",10;\nbonus2 bSkillAtk,"AB_JUDEX",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300115,'Sanare3_Card','Magic-poisoned Sanare Card','Card',10,true,true,true,'CLIENT','bonus bInt,2;\nbonus bDex,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"AB_ADORAMUS",10;\nbonus2 bSkillAtk,"AB_JUDEX",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300116,'Powerful_Magic_Card','Powerful Magic Card','Card',10,true,true,true,'CLIENT','bonus bStr,2;\nbonus bInt,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SR_RAMPAGEBLASTER",10;\nbonus2 bSkillAtk,"SR_TIGERCANNON",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300116,'Powerful_Magic_Card','Powerful Magic Card','Card',10,true,true,true,'CLIENT','bonus bStr,2;\nbonus bInt,1;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SR_RAMPAGEBLASTER",10;\nbonus2 bSkillAtk,"SR_TIGERCANNON",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300117,'Sharp_Magic_Card','Sharp Magic Card','Card',10,true,true,true,'CLIENT','bonus bAgi,1;\nbonus bDex,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"RA_ARROWSTORM",10;\nbonus2 bSkillAtk,"RA_CLUSTERBOMB",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300117,'Sharp_Magic_Card','Sharp Magic Card','Card',10,true,true,true,'CLIENT','bonus bAgi,1;\nbonus bDex,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"RA_ARROWSTORM",10;\nbonus2 bSkillAtk,"RA_CLUSTERBOMB",10;');
@@ -4276,7 +4276,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300121,'Boiling_Marc_Card','Boiling Marc Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nbonus2 bMagicAtkEle,Ele_Holy,5;\nbonus2 bMagicAtkEle,Ele_Water,5;\nbonus2 bMagicAtkEle,Ele_Holy,(.@r/2);\nbonus2 bMagicAtkEle,Ele_Water,(.@r/2);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300121,'Boiling_Marc_Card','Boiling Marc Card','Card',10,true,true,'CLIENT','.@r = getrefine();\nbonus2 bMagicAtkEle,Ele_Holy,5;\nbonus2 bMagicAtkEle,Ele_Water,5;\nbonus2 bMagicAtkEle,Ele_Holy,(.@r/2);\nbonus2 bMagicAtkEle,Ele_Water,(.@r/2);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300122,'Yellow_Pitaya_Card','Yellow Pitaya Card','Card',10,true,true,'CLIENT','bonus2 bSubEle,Ele_Neutral,15;\nbonus2 bMagicAtkEle,Ele_Holy,3*getrefine();');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300122,'Yellow_Pitaya_Card','Yellow Pitaya Card','Card',10,true,true,'CLIENT','bonus2 bSubEle,Ele_Neutral,15;\nbonus2 bMagicAtkEle,Ele_Holy,3*getrefine();');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300123,'Purple_Pitaya_Card','Purple Pitaya Card','Card',10,true,true,'CLIENT','bonus2 bSubEle,Ele_Neutral,15;\nbonus2 bMagicAtkEle,Ele_Neutral,3*getrefine();');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_garment`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300123,'Purple_Pitaya_Card','Purple Pitaya Card','Card',10,true,true,'CLIENT','bonus2 bSubEle,Ele_Neutral,15;\nbonus2 bMagicAtkEle,Ele_Neutral,3*getrefine();');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300124,'Blue_Pitaya_Card','Blue Pitaya Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R),11) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Water,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Water,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Water,10;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300124,'Blue_Pitaya_Card','Blue Pitaya Card','Card',10,true,true,'CLIENT','.@r = getequiprefinerycnt(EQI_HAND_R);\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_STAFF || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_2HSTAFF) {\n   bonus2 bMagicAtkEle,Ele_Water,10;\n}\nif (.@r>=10) {\n   bonus2 bMagicAtkEle,Ele_Water,10;\n}\nif (.@r>=14) {\n   bonus2 bMagicAtkEle,Ele_Water,10;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300125,'Green_Pitaya_Card','Green Pitaya Card','Card',10,true,true,true,'CLIENT','bonus bInt,1;\nbonus bLuk,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SU_CN_METEOR",10;\nbonus2 bSkillAtk,"SU_PICKYPECK",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_buyingstore`,`flag_dropeffect`,`script`) VALUES (300125,'Green_Pitaya_Card','Green Pitaya Card','Card',10,true,true,true,'CLIENT','bonus bInt,1;\nbonus bLuk,2;\nbonus bMaxHPrate,10;\nbonus2 bSkillAtk,"SU_CN_METEOR",10;\nbonus2 bSkillAtk,"SU_PICKYPECK",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`) VALUES (300127,'Wolf_Card_E','Wolf Card','Card',10,true);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`) VALUES (300127,'Wolf_Card_E','Wolf Card','Card',10,true);
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (300128,'S_Wolf_Card','Wolf Lugenburg Card','Card',10,true,'CLIENT','bonus2 bAddRace,RC_Insect,15;\nbonus2 bMagicAddRace,RC_Insect,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (300128,'S_Wolf_Card','Wolf Lugenburg Card','Card',10,true,'CLIENT','bonus2 bAddRace,RC_Insect,15;\nbonus2 bMagicAddRace,RC_Insect,15;');
@@ -4306,7 +4306,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`loc
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300186,'MD_Geffen_Hyper_Card','Arena Ifodes Card','Card',10,true,'CLIENT','bonus bAspdRate,7;\nbonus bShortAtkRate,7;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300186,'MD_Geffen_Hyper_Card','Arena Ifodes Card','Card',10,true,'CLIENT','bonus bAspdRate,7;\nbonus bShortAtkRate,7;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300187,'MD_Geffen_Odorico_Card','Arena Odoric Card','Card',10,true,'CLIENT','bonus bAspdRate,7;\nbonus bLongAtkRate,7;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300187,'MD_Geffen_Odorico_Card','Arena Odoric Card','Card',10,true,'CLIENT','bonus bAspdRate,7;\nbonus bLongAtkRate,7;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300188,'MD_Geffen_Reche_Card','Arena Licheniyes Card','Card',10,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Holy,10;\nbonus bHealPower,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300188,'MD_Geffen_Reche_Card','Arena Licheniyes Card','Card',10,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Holy,10;\nbonus bHealPower,20;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (300189,'MD_Geffen_Jew_Card','Arena Ju Card','Card',10,true,'CLIENT','.@val = 15;\nif (getiteminfo(getequipid(EQI_HAND_R),11) == W_BOOK) {\n   .@val += 20;\n}\nif (getrefine()>=14) {\n   .@val += 30;\n}\nbonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@val;\nbonus2 bSkillAtk,"MG_FIREBOLT",.@val;\nbonus2 bSkillAtk,"MG_COLDBOLT",.@val;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_hand`,`flag_dropeffect`,`script`) VALUES (300189,'MD_Geffen_Jew_Card','Arena Ju Card','Card',10,true,'CLIENT','.@val = 15;\nif (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW) == W_BOOK) {\n   .@val += 20;\n}\nif (getrefine()>=14) {\n   .@val += 30;\n}\nbonus2 bSkillAtk,"MG_LIGHTNINGBOLT",.@val;\nbonus2 bSkillAtk,"MG_FIREBOLT",.@val;\nbonus2 bSkillAtk,"MG_COLDBOLT",.@val;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300190,'MD_Geffen_Fei_Card','Arena Fay Kanavian Card','Card',10,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Neutral,10;\nbonus2 bMagicAtkEle,Ele_Earth,10;\nautobonus "{ bonus bDef,500; }",1,5000,BF_WEAPON,"{ active_transform 1040,5000; /*GOLEM*/ }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_shoes`,`flag_dropeffect`,`script`) VALUES (300190,'MD_Geffen_Fei_Card','Arena Fay Kanavian Card','Card',10,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Neutral,10;\nbonus2 bMagicAtkEle,Ele_Earth,10;\nautobonus "{ bonus bDef,500; }",1,5000,BF_WEAPON,"{ active_transform 1040,5000; /*GOLEM*/ }";');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (300191,'MD_Geffen_Dy_Card','Arena Dwigh Card','Card',10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Neutral,20;\nbonus2 bMagicAtkEle,Ele_Undead,20;\nbonus2 bMagicAtkEle,Ele_Dark,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`location_right_accessory`,`location_left_accessory`,`flag_dropeffect`,`script`) VALUES (300191,'MD_Geffen_Dy_Card','Arena Dwigh Card','Card',10,true,true,'CLIENT','bonus2 bMagicAtkEle,Ele_Neutral,20;\nbonus2 bMagicAtkEle,Ele_Undead,20;\nbonus2 bMagicAtkEle,Ele_Dark,20;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`script`) VALUES (310000,'Ranger_Top2','Sniper Stone II (Top)','Card','bonus bAspdRate,getskilllv("SN_WINDWALK")/2;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`script`) VALUES (310000,'Ranger_Top2','Sniper Stone II (Top)','Card','bonus bAspdRate,getskilllv("SN_WINDWALK")/2;');

+ 2 - 2
sql-files/item_db_re_usable.sql

@@ -527,7 +527,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12217,'Aspersio_5_Scroll','LV5 Aspersio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'if (countitem(523)>0) {\n   skilleffect "PR_ASPERSIO",0;\n   sc_start SC_ASPERSIO,180000,5;\n   delitem 523,1;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12217,'Aspersio_5_Scroll','LV5 Aspersio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'if (countitem(523)>0) {\n   skilleffect "PR_ASPERSIO",0;\n   sc_start SC_ASPERSIO,180000,5;\n   delitem 523,1;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12218,'Assumptio_5_Scroll','LV5 Assumptio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'sc_start SC_ASSUMPTIO,100000,5;\nskilleffect "HP_ASSUMPTIO",0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12218,'Assumptio_5_Scroll','LV5 Assumptio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'sc_start SC_ASSUMPTIO,100000,5;\nskilleffect "HP_ASSUMPTIO",0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12219,'Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'skilleffect "SN_WINDWALK",0;\nsc_start SC_WINDWALK,250000,10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12219,'Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'skilleffect "SN_WINDWALK",0;\nsc_start SC_WINDWALK,250000,10;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12220,'Adrenaline_Scroll','LV5 Adrenaline Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'.@type = getiteminfo(getequipid(EQI_HAND_R),11);\nif (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {\n   skilleffect "BS_ADRENALINE",0;\n   sc_start SC_ADRENALINE,150000,5;\n}');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12220,'Adrenaline_Scroll','LV5 Adrenaline Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'.@type = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);\nif (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {\n   skilleffect "BS_ADRENALINE",0;\n   sc_start SC_ADRENALINE,150000,5;\n}');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12221,'Megaphone_','Megaphone','Usable',2,10,100,true,true,true,true,true,true,true,'input .@megaphone$;\nannounce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12221,'Megaphone_','Megaphone','Usable',2,10,100,true,true,true,true,true,true,true,'input .@megaphone$;\nannounce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`script`) VALUES (12225,'Sweet_Candy_Striper','Sweet Candy Cane','Usable',20,50,100,true,'pet 1245;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`script`) VALUES (12225,'Sweet_Candy_Striper','Sweet Candy Cane','Usable',20,50,100,true,'pet 1245;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12226,'Examination1','Examination 1','Healing',20,50,'sc_start SC_SPEEDUP0,5400000,25;\npercentheal 100,100;\nsc_start SC_STRFOOD,5400000,10;\nsc_start SC_DEXFOOD,5400000,5;\nsc_start SC_ATKPOTION,5400000,22;\nsc_start SC_MATKFOOD,5400000,15;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12226,'Examination1','Examination 1','Healing',20,50,'sc_start SC_SPEEDUP0,5400000,25;\npercentheal 100,100;\nsc_start SC_STRFOOD,5400000,10;\nsc_start SC_DEXFOOD,5400000,5;\nsc_start SC_ATKPOTION,5400000,22;\nsc_start SC_MATKFOOD,5400000,15;');
@@ -772,7 +772,7 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`weight`,`scr
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12466,'F_Blessing_10_Scroll','F Blessing 10 Scroll','Delayconsume',2,10,'itemskill "AL_BLESSING",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12466,'F_Blessing_10_Scroll','F Blessing 10 Scroll','Delayconsume',2,10,'itemskill "AL_BLESSING",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12467,'F_Inc_Agi_10_Scroll','F Inc Agi 10 Scroll','Delayconsume',2,10,'itemskill "AL_INCAGI",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12467,'F_Inc_Agi_10_Scroll','F Inc Agi 10 Scroll','Delayconsume',2,10,'itemskill "AL_INCAGI",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12468,'F_Aspersio_5_Scroll','F Aspersio 5 Scroll','Delayconsume',2,10,'itemskill "PR_ASPERSIO",5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12468,'F_Aspersio_5_Scroll','F Aspersio 5 Scroll','Delayconsume',2,10,'itemskill "PR_ASPERSIO",5;');
-REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12470,'F_Wind_Walk_10_Scroll','F Wind Walk 10 Delayconsume','Usable',2,10,'itemskill "SN_WINDWALK",10;');
+REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12470,'F_Wind_Walk_10_Scroll','F Wind Walk 10 Scroll','Delayconsume',2,10,'itemskill "SN_WINDWALK",10;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12471,'F_Adrenaline_Scroll','F Adrenaline Scroll','Delayconsume',2,10,'itemskill "BS_ADRENALINE",5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12471,'F_Adrenaline_Scroll','F Adrenaline Scroll','Delayconsume',2,10,'itemskill "BS_ADRENALINE",5;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12472,'F_Convex_Mirror','F Convex Mirror','Usable',2,10,'sc_start SC_BOSSMAPINFO,600000,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12472,'F_Convex_Mirror','F Convex Mirror','Usable',2,10,'sc_start SC_BOSSMAPINFO,600000,0;');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`flag_container`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12473,'RWC_Parti_Box','RWC Parti Box','Usable',20,10,true,100,true,100,true,true,true,true,true,true,'getgroupitem(IG_RWC_Parti_Box);');
 REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`flag_container`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12473,'RWC_Parti_Box','RWC Parti Box','Usable',20,10,true,100,true,100,true,true,true,true,true,true,'getgroupitem(IG_RWC_Parti_Box);');

+ 1 - 1
sql-files/item_db_usable.sql

@@ -445,7 +445,7 @@ REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`wei
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12217,'Aspersio_5_Scroll','LV5 Aspersio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'if (countitem(523)>0) {\n   skilleffect "PR_ASPERSIO",0;\n   sc_start SC_ASPERSIO,180000,5;\n   delitem 523,1;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12217,'Aspersio_5_Scroll','LV5 Aspersio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'if (countitem(523)>0) {\n   skilleffect "PR_ASPERSIO",0;\n   sc_start SC_ASPERSIO,180000,5;\n   delitem 523,1;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12218,'Assumptio_5_Scroll','LV5 Assumptio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'sc_start SC_ASSUMPTIO,100000,5;\nskilleffect "HP_ASSUMPTIO",0;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12218,'Assumptio_5_Scroll','LV5 Assumptio Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'sc_start SC_ASSUMPTIO,100000,5;\nskilleffect "HP_ASSUMPTIO",0;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12219,'Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'skilleffect "SN_WINDWALK",0;\nsc_start SC_WINDWALK,250000,5;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12219,'Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'skilleffect "SN_WINDWALK",0;\nsc_start SC_WINDWALK,250000,5;');
-REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12220,'Adrenaline_Scroll','LV5 Adrenaline Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'set .@type,getiteminfo(getequipid(EQI_HAND_R),11);\nif (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {\n   skilleffect "BS_ADRENALINE",0;\n   sc_start SC_ADRENALINE,150000,5;\n}');
+REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12220,'Adrenaline_Scroll','LV5 Adrenaline Scroll','Usable',2,10,100,true,100,true,true,true,true,true,true,true,'set .@type,getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);\nif (.@type == W_1HAXE || .@type == W_2HAXE || .@type == W_MACE) {\n   skilleffect "BS_ADRENALINE",0;\n   sc_start SC_ADRENALINE,150000,5;\n}');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12221,'Megaphone_','Megaphone','Usable',2,10,100,true,true,true,true,true,true,true,'input @megaphone$;\nannounce strcharinfo(0) + ": " + @megaphone$,bc_all,0xFF0000;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`trade_override`,`trade_nodrop`,`trade_notrade`,`trade_nosell`,`trade_nocart`,`trade_noguildstorage`,`trade_nomail`,`trade_noauction`,`script`) VALUES (12221,'Megaphone_','Megaphone','Usable',2,10,100,true,true,true,true,true,true,true,'input @megaphone$;\nannounce strcharinfo(0) + ": " + @megaphone$,bc_all,0xFF0000;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`script`) VALUES (12225,'Sweet_Candy_Striper','Sweet Candy Cane','Usable',20,50,100,true,'pet 1245;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`nouse_override`,`nouse_sitting`,`script`) VALUES (12225,'Sweet_Candy_Striper','Sweet Candy Cane','Usable',20,50,100,true,'pet 1245;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12226,'Examination1','Examination 1','Healing',20,50,'sc_start SC_SPEEDUP0,5400000,25;\npercentheal 100,100;\nsc_start SC_STRFOOD,5400000,10;\nsc_start SC_DEXFOOD,5400000,5;\nsc_start SC_ATKPOTION,5400000,22;\nsc_start SC_MATKFOOD,5400000,15;');
 REPLACE INTO `item_db` (`id`,`name_aegis`,`name_english`,`type`,`price_buy`,`weight`,`script`) VALUES (12226,'Examination1','Examination 1','Healing',20,50,'sc_start SC_SPEEDUP0,5400000,25;\npercentheal 100,100;\nsc_start SC_STRFOOD,5400000,10;\nsc_start SC_DEXFOOD,5400000,5;\nsc_start SC_ATKPOTION,5400000,22;\nsc_start SC_MATKFOOD,5400000,15;');

+ 0 - 1
src/map/itemdb.hpp

@@ -852,7 +852,6 @@ struct item_data
 	t_itemid nameid;
 	t_itemid nameid;
 	std::string name, ename;
 	std::string name, ename;
 
 
-	//Do not add stuff between value_buy and view_id (see how getiteminfo works)
 	uint32 value_buy;
 	uint32 value_buy;
 	uint32 value_sell;
 	uint32 value_sell;
 	item_types type;
 	item_types type;

+ 56 - 83
src/map/script.cpp

@@ -13965,60 +13965,48 @@ BUILDIN_FUNC(getitemslots)
 /*==========================================
 /*==========================================
  * Returns some values of an item [Lupus]
  * Returns some values of an item [Lupus]
  * Price, Weight, etc...
  * Price, Weight, etc...
-	getiteminfo(itemID,n), where n
-		0 value_buy;
-		1 value_sell;
-		2 type;
-		3 maxchance = Max drop chance of this item e.g. 1 = 0.01% , etc..
-				if = 0, then monsters don't drop it at all (rare or a quest item)
-				if = -1, then this item is sold in NPC shops only
-		4 sex;
-		5 equip;
-		6 weight;
-		7 atk;
-		8 def;
-		9 range;
-		10 slot;
-		11 look;
-		12 elv;
-		13 wlv;
-		14 view id
-		15 eLvmax
-		16 matk (renewal)
  *------------------------------------------*/
  *------------------------------------------*/
 BUILDIN_FUNC(getiteminfo)
 BUILDIN_FUNC(getiteminfo)
 {
 {
-	t_itemid item_id = script_getnum(st,2);
-	item_data *i_data = itemdb_exists(item_id);
+	item_data *i_data;
+	int type = script_getnum(st, 3);
+
+	if (script_isstring(st, 2))
+		i_data = itemdb_searchname(script_getstr(st, 2));
+	else
+		i_data = itemdb_exists(script_getnum(st, 2));
 
 
 	if (i_data == nullptr) {
 	if (i_data == nullptr) {
-		script_pushint(st, -1);
+		if (type != ITEMINFO_AEGISNAME)
+			script_pushint(st, -1);
+		else
+			script_pushstrcopy(st, "");
 		return SCRIPT_CMD_SUCCESS;
 		return SCRIPT_CMD_SUCCESS;
 	}
 	}
-	switch( script_getnum(st, 3) ) {
-		case 0: script_pushint(st, i_data->value_buy); break;
-		case 1: script_pushint(st, i_data->value_sell); break;
-		case 2: script_pushint(st, i_data->type); break;
-		case 3: script_pushint(st, i_data->maxchance); break;
-		case 4: script_pushint(st, i_data->sex); break;
-		case 5: script_pushint(st, i_data->equip); break;
-		case 6: script_pushint(st, i_data->weight); break;
-		case 7: script_pushint(st, i_data->atk); break;
-		case 8: script_pushint(st, i_data->def); break;
-		case 9: script_pushint(st, i_data->range); break;
-		case 10: script_pushint(st, i_data->slots); break;
-		case 11:
+	switch( type ) {
+		case ITEMINFO_BUY: script_pushint(st, i_data->value_buy); break;
+		case ITEMINFO_SELL: script_pushint(st, i_data->value_sell); break;
+		case ITEMINFO_TYPE: script_pushint(st, i_data->type); break;
+		case ITEMINFO_MAXCHANCE: script_pushint(st, i_data->maxchance); break;
+		case ITEMINFO_GENDER: script_pushint(st, i_data->sex); break;
+		case ITEMINFO_LOCATIONS: script_pushint(st, i_data->equip); break;
+		case ITEMINFO_WEIGHT: script_pushint(st, i_data->weight); break;
+		case ITEMINFO_ATTACK: script_pushint(st, i_data->atk); break;
+		case ITEMINFO_DEFENSE: script_pushint(st, i_data->def); break;
+		case ITEMINFO_RANGE: script_pushint(st, i_data->range); break;
+		case ITEMINFO_SLOT: script_pushint(st, i_data->slots); break;
+		case ITEMINFO_VIEW:
 			if (i_data->type == IT_WEAPON || i_data->type == IT_AMMO) {	// keep old compatibility
 			if (i_data->type == IT_WEAPON || i_data->type == IT_AMMO) {	// keep old compatibility
 				script_pushint(st, i_data->subtype);
 				script_pushint(st, i_data->subtype);
 			} else {
 			} else {
 				script_pushint(st, i_data->look);
 				script_pushint(st, i_data->look);
 			}
 			}
 			break;
 			break;
-		case 12: script_pushint(st, i_data->elv); break;
-		case 13: script_pushint(st, i_data->wlv); break;
-		case 14: script_pushint(st, i_data->view_id); break;
-		case 15: script_pushint(st, i_data->elvmax); break;
-		case 16: {
+		case ITEMINFO_EQUIPLEVELMIN: script_pushint(st, i_data->elv); break;
+		case ITEMINFO_WEAPONLEVEL: script_pushint(st, i_data->wlv); break;
+		case ITEMINFO_ALIASNAME: script_pushint(st, i_data->view_id); break;
+		case ITEMINFO_EQUIPLEVELMAX: script_pushint(st, i_data->elvmax); break;
+		case ITEMINFO_MAGICATTACK: {
 #ifdef RENEWAL
 #ifdef RENEWAL
 			script_pushint(st, i_data->matk);
 			script_pushint(st, i_data->matk);
 #else
 #else
@@ -14026,6 +14014,8 @@ BUILDIN_FUNC(getiteminfo)
 #endif
 #endif
 			break;
 			break;
 		}
 		}
+		case ITEMINFO_ID: script_pushint(st, i_data->nameid); break;
+		case ITEMINFO_AEGISNAME: script_pushstrcopy(st, i_data->name.c_str()); break;
 		default:
 		default:
 			script_pushint(st, -1);
 			script_pushint(st, -1);
 			break;
 			break;
@@ -14036,32 +14026,15 @@ BUILDIN_FUNC(getiteminfo)
 /*==========================================
 /*==========================================
  * Set some values of an item [Lupus]
  * Set some values of an item [Lupus]
  * Price, Weight, etc...
  * Price, Weight, etc...
-	setiteminfo(itemID,n,Value), where n
-		0 value_buy;
-		1 value_sell;
-		2 type;
-		3 maxchance = Max drop chance of this item e.g. 1 = 0.01% , etc..
-				if = 0, then monsters don't drop it at all (rare or a quest item)
-				if = -1, then this item is sold in NPC shops only
-		4 sex;
-		5 equip;
-		6 weight;
-		7 atk;
-		8 def;
-		9 range;
-		10 slot;
-		11 look;
-		12 elv;
-		13 wlv;
-		14 view id
-		15 eLvmax
-		16 matk (renewal)
-  * Returns Value or -1 if the wrong field's been set
  *------------------------------------------*/
  *------------------------------------------*/
 BUILDIN_FUNC(setiteminfo)
 BUILDIN_FUNC(setiteminfo)
 {
 {
-	t_itemid item_id = script_getnum(st,2);
-	item_data *i_data = itemdb_exists(item_id);
+	item_data *i_data;
+
+	if (script_isstring(st, 2))
+		i_data = itemdb_search_aegisname(script_getstr(st, 2));
+	else
+		i_data = itemdb_exists(script_getnum(st, 2));
 
 
 	if (i_data == nullptr) {
 	if (i_data == nullptr) {
 		script_pushint(st, -1);
 		script_pushint(st, -1);
@@ -14070,29 +14043,29 @@ BUILDIN_FUNC(setiteminfo)
 	int value = script_getnum(st,4);
 	int value = script_getnum(st,4);
 
 
 	switch( script_getnum(st, 3) ) {
 	switch( script_getnum(st, 3) ) {
-		case 0: i_data->value_buy = static_cast<uint32>(value); break;
-		case 1: i_data->value_sell = static_cast<uint32>(value); break;
-		case 2: i_data->type = static_cast<item_types>(value); break;
-		case 3: i_data->maxchance = static_cast<int>(value); break;
-		case 4: i_data->sex = static_cast<uint8>(value); break;
-		case 5: i_data->equip = static_cast<uint32>(value); break;
-		case 6: i_data->weight = static_cast<uint32>(value); break;
-		case 7: i_data->atk = static_cast<uint32>(value); break;
-		case 8: i_data->def = static_cast<uint32>(value); break;
-		case 9: i_data->range = static_cast<uint16>(value); break;
-		case 10: i_data->slots = static_cast<uint16>(value); break;
-		case 11:
+		case ITEMINFO_BUY: i_data->value_buy = static_cast<uint32>(value); break;
+		case ITEMINFO_SELL: i_data->value_sell = static_cast<uint32>(value); break;
+		case ITEMINFO_TYPE: i_data->type = static_cast<item_types>(value); break;
+		case ITEMINFO_MAXCHANCE: i_data->maxchance = static_cast<int>(value); break;
+		case ITEMINFO_GENDER: i_data->sex = static_cast<uint8>(value); break;
+		case ITEMINFO_LOCATIONS: i_data->equip = static_cast<uint32>(value); break;
+		case ITEMINFO_WEIGHT: i_data->weight = static_cast<uint32>(value); break;
+		case ITEMINFO_ATTACK: i_data->atk = static_cast<uint32>(value); break;
+		case ITEMINFO_DEFENSE: i_data->def = static_cast<uint32>(value); break;
+		case ITEMINFO_RANGE: i_data->range = static_cast<uint16>(value); break;
+		case ITEMINFO_SLOT: i_data->slots = static_cast<uint16>(value); break;
+		case ITEMINFO_VIEW:
 			if (i_data->type == IT_WEAPON || i_data->type == IT_AMMO) {	// keep old compatibility
 			if (i_data->type == IT_WEAPON || i_data->type == IT_AMMO) {	// keep old compatibility
 				i_data->subtype = static_cast<uint8>(value);
 				i_data->subtype = static_cast<uint8>(value);
 			} else {
 			} else {
 				i_data->look = static_cast<uint32>(value);
 				i_data->look = static_cast<uint32>(value);
 			}
 			}
 			break;
 			break;
-		case 12: i_data->elv = static_cast<uint16>(value); break;
-		case 13: i_data->wlv = static_cast<uint16>(value); break;
-		case 14: i_data->view_id = static_cast<t_itemid>(value); break;
-		case 15: i_data->elvmax = static_cast<uint16>(value); break;
-		case 16: {
+		case ITEMINFO_EQUIPLEVELMIN: i_data->elv = static_cast<uint16>(value); break;
+		case ITEMINFO_WEAPONLEVEL: i_data->wlv = static_cast<uint16>(value); break;
+		case ITEMINFO_ALIASNAME: i_data->view_id = static_cast<t_itemid>(value); break;
+		case ITEMINFO_EQUIPLEVELMAX: i_data->elvmax = static_cast<uint16>(value); break;
+		case ITEMINFO_MAGICATTACK: {
 #ifdef RENEWAL
 #ifdef RENEWAL
 			i_data->matk = static_cast<uint32>(value);
 			i_data->matk = static_cast<uint32>(value);
 #else
 #else
@@ -25402,8 +25375,8 @@ struct script_function buildin_func[] = {
 	BUILDIN_DEF(setnpcdisplay,"sv??"),
 	BUILDIN_DEF(setnpcdisplay,"sv??"),
 	BUILDIN_DEF(compare,"ss"), // Lordalfa - To bring strstr to scripting Engine.
 	BUILDIN_DEF(compare,"ss"), // Lordalfa - To bring strstr to scripting Engine.
 	BUILDIN_DEF(strcmp,"ss"),
 	BUILDIN_DEF(strcmp,"ss"),
-	BUILDIN_DEF(getiteminfo,"ii"), //[Lupus] returns Items Buy / sell Price, etc info
-	BUILDIN_DEF(setiteminfo,"iii"), //[Lupus] set Items Buy / sell Price, etc info
+	BUILDIN_DEF(getiteminfo,"vi"), //[Lupus] returns Items Buy / sell Price, etc info
+	BUILDIN_DEF(setiteminfo,"vii"), //[Lupus] set Items Buy / sell Price, etc info
 	BUILDIN_DEF(getequipcardid,"ii"), //[Lupus] returns CARD ID or other info from CARD slot N of equipped item
 	BUILDIN_DEF(getequipcardid,"ii"), //[Lupus] returns CARD ID or other info from CARD slot N of equipped item
 	// [zBuffer] List of mathematics commands --->
 	// [zBuffer] List of mathematics commands --->
 	BUILDIN_DEF(sqrt,"i"),
 	BUILDIN_DEF(sqrt,"i"),

+ 23 - 0
src/map/script.hpp

@@ -2019,6 +2019,29 @@ enum e_pcblock_action_flag : uint16 {
 	PCBLOCK_ALL      = 0x3FF,
 	PCBLOCK_ALL      = 0x3FF,
 };
 };
 
 
+/* getiteminfo/setiteminfo script commands */
+enum e_iteminfo : uint8 {
+	ITEMINFO_BUY = 0,
+	ITEMINFO_SELL,
+	ITEMINFO_TYPE,
+	ITEMINFO_MAXCHANCE,
+	ITEMINFO_GENDER,
+	ITEMINFO_LOCATIONS,
+	ITEMINFO_WEIGHT,
+	ITEMINFO_ATTACK,
+	ITEMINFO_DEFENSE,
+	ITEMINFO_RANGE,
+	ITEMINFO_SLOT,
+	ITEMINFO_VIEW,
+	ITEMINFO_EQUIPLEVELMIN,
+	ITEMINFO_WEAPONLEVEL,
+	ITEMINFO_ALIASNAME,
+	ITEMINFO_EQUIPLEVELMAX,
+	ITEMINFO_MAGICATTACK,
+	ITEMINFO_ID,
+	ITEMINFO_AEGISNAME	// 18
+};
+
 /**
 /**
  * used to generate quick script_array entries
  * used to generate quick script_array entries
  **/
  **/

+ 21 - 0
src/map/script_constants.hpp

@@ -8072,6 +8072,27 @@
 	export_constant(MADO_ROBOT);
 	export_constant(MADO_ROBOT);
 	export_constant(MADO_SUIT);
 	export_constant(MADO_SUIT);
 
 
+	/* getiteminfo/setiteminfo script commands */
+	export_constant(ITEMINFO_BUY);
+	export_constant(ITEMINFO_SELL);
+	export_constant(ITEMINFO_TYPE);
+	export_constant(ITEMINFO_MAXCHANCE);
+	export_constant(ITEMINFO_GENDER);
+	export_constant(ITEMINFO_LOCATIONS);
+	export_constant(ITEMINFO_WEIGHT);
+	export_constant(ITEMINFO_ATTACK);
+	export_constant(ITEMINFO_DEFENSE);
+	export_constant(ITEMINFO_RANGE);
+	export_constant(ITEMINFO_SLOT);
+	export_constant(ITEMINFO_VIEW);
+	export_constant(ITEMINFO_EQUIPLEVELMIN);
+	export_constant(ITEMINFO_WEAPONLEVEL);
+	export_constant(ITEMINFO_ALIASNAME);
+	export_constant(ITEMINFO_EQUIPLEVELMAX);
+	export_constant(ITEMINFO_MAGICATTACK);
+	export_constant(ITEMINFO_ID);
+	export_constant(ITEMINFO_AEGISNAME);
+
 	#undef export_constant
 	#undef export_constant
 	#undef export_constant2
 	#undef export_constant2
 	#undef export_parameter
 	#undef export_parameter