浏览代码

Corrected script for some item #6 (#6745)

idk-whoami 3 年之前
父节点
当前提交
4592ae6c09
共有 4 个文件被更改,包括 1130 次插入14 次删除
  1. 226 4
      db/re/item_combos.yml
  2. 578 0
      db/re/item_db_equip.yml
  3. 153 10
      db/re/item_db_etc.yml
  4. 173 0
      db/re/item_db_usable.yml

+ 226 - 4
db/re/item_combos.yml

@@ -10401,8 +10401,11 @@ Body:
       }
   - Combos:
       - Combo:
-          - Shoes_Of_Punishment
-          - Holy_Stick
+          - Shoes_Of_Punishment     # 22120
+          - Holy_Stick     # 1631
+      - Combo:
+          - Shoes_Of_Punishment_BR     # 22182
+          - Holy_Stick     # 1631
     Script: |
       .@r = getequiprefinerycnt(EQI_HAND_R);
       .@cast = -5*getskilllv("AB_ORATIO");
@@ -20849,7 +20852,7 @@ Body:
     Script: |
       bonus bInt,40;
       bonus bIntravision;
-      if (BaseJob == Job_Warlock) {
+      if ((eaclass()&EAJ_THIRDMASK)==EAJ_WARLOCK) {
          bonus2 bSkillAtk,"WZ_SIGHTRASHER",6*BaseLevel;
          bonus4 bAutoSpellOnSkill,"WZ_SIGHTRASHER","MG_SIGHT",1,1000;
       }
@@ -25175,7 +25178,7 @@ Body:
     Script: |
       if ((eaclass()&EAJ_THIRDMASK)==EAJ_MINSTRELWANDERER) {
          bonus bNoSizeFix;
-         autobonus3 "{ bonus3 bAutoSpell,\"RA_UNLIMIT\",5,1000; }",10,20000,"WM_SEVERE_RAINSTORM","{}";
+         autobonus3 "{}",10,100,"WM_SEVERE_RAINSTORM","{ sc_start SC_UNLIMIT,20000,5; }";
       }
   - Combos:
       - Combo:
@@ -25644,3 +25647,222 @@ Body:
          bonus2 bMagicAddRace,RC_All,10;
          bonus2 bIgnoreMdefRaceRate,RC_All,70;
       }
+  - Combos:
+      - Combo:
+          - Charm_Of_Flame_Heart_BR     # 15920
+          - Manteau_Of_Flame_Heart     # 20735
+    Script: |
+      bonus bBaseAtk,50;
+      bonus bMagicDamageReturn,2*getequiprefinerycnt(EQI_GARMENT);
+  - Combos:
+      - Combo:
+          - Charm_Of_Nature_BR     # 15921
+          - Manteau_Great_Nature     # 20747
+    Script: |
+      bonus bMatk,50;
+      .@r = getequiprefinerycnt(EQI_GARMENT);
+      if (.@r >= 5) {
+         .@val = 1;
+         if (.@r >= 7)
+            .@val += 4;
+         bonus3 bAutoSpell,NPC_STONESKIN,8,.@val*10;
+      }
+      if (.@r >= 10)
+         bonus bIntravision;
+  - Combos:
+      - Combo:
+          - Charm_Of_Frozen_BR     # 15922
+          - Manteau_Of_Mistic_Froz     # 20745
+    Script: |
+      bonus2 bSkillCooldown,"AB_CHEAL",-2000;
+      bonus4 bAutoSpellOnSkill,"AL_HEAL","AL_INCAGI",max(getskilllv("AL_INCAGI"),1),1000;
+      bonus4 bAutoSpellOnSkill,"AL_INCAGI","AL_BLESSING",max(getskilllv("AL_BLESSING"),1),1000;
+      bonus4 bAutoSpellOnSkill,"AB_CANTO","AB_CLEMENTIA",max(getskilllv("AB_CLEMENTIA"),1),1000;
+  - Combos:
+      - Combo:
+          - Charm_Of_Wind_BR     # 15923
+          - Manteau_Of_Leafwind     # 20734
+    Script: |
+      bonus2 bSubSkill,"ASC_BREAKER",40;
+      bonus2 bSubSkill,"HT_BLITZBEAT",40;
+      bonus2 bSubSkill,"GS_SPREADATTACK",40;
+      bonus2 bSubEle,Ele_All,getequiprefinerycnt(EQI_GARMENT);
+  - Combos:
+      - Combo:
+          - Shining_Trapezohedron     # 2998
+          - 10_Gallon_Hat_Of_Flame     # 18940
+    Script: |
+      bonus2 bAddClass,Class_All,9;
+      bonus bMatkRate,9;
+      bonus2 bSubRace,RC_DemiHuman,5;
+      if (getequiprefinerycnt(EQI_HEAD_TOP) >= 7)
+         bonus2 bSubRace,RC_DemiHuman,5;
+  - Combos:
+      - Combo:
+          - Shining_Trapezohedron     # 2998
+          - Hunting_Cap_Of_Gust     # 18941
+    Script: |
+      bonus bLongAtkDef,5;
+      bonus bMagicAtkDef,5;
+      bonus2 bSubRace,RC_DemiHuman,5;
+      if (getequiprefinerycnt(EQI_HEAD_TOP) >= 7)
+         bonus2 bSubRace,RC_DemiHuman,5;
+  - Combos:
+      - Combo:
+          - Shining_Trapezohedron     # 2998
+          - Knit_Cap_Of_Water     # 18942
+    Script: |
+      bonus bVariableCastrate,-15;
+      bonus2 bSubRace,RC_DemiHuman,5;
+      if (getequiprefinerycnt(EQI_HEAD_TOP) >= 7)
+         bonus2 bSubRace,RC_DemiHuman,5;
+  - Combos:
+      - Combo:
+          - Shining_Trapezohedron     # 2998
+          - Silk_Hat_Of_Earth     # 18943
+    Script: |
+      bonus bMaxHPrate,5;
+      bonus2 bAddItemHealRate,547,10;
+      bonus2 bSubRace,RC_DemiHuman,5;
+      if (getequiprefinerycnt(EQI_HEAD_TOP) >= 7)
+         bonus2 bSubRace,RC_DemiHuman,5;
+  - Combos:
+      - Combo:
+          - Pirates_Foolish     # 18955
+          - Special_Eyepatch     # 19900
+    Script: |
+      bonus bMaxHP,500;
+      bonus bMaxSP,30;
+  - Combos:
+      - Combo:
+          - Bell_Pigeon_J     # 19321
+          - Valhalla_Idol     # 19109
+      - Combo:
+          - Bell_Pigeon_J     # 19321
+          - Valhalla_Idol_     # 19110
+    Script: |
+      bonus4 bAutoSpellWhenHit,"MG_SAFETYWALL",10,50+(readparam(bStr)/18),0;
+      bonus bMagicAtkDef,5;
+      bonus2 bIgnoreMdefRaceRate,RC_All,5*(readparam(bLuk)/18);
+      bonus bBaseAtk,25;
+      bonus2 bIgnoreDefRaceRate,RC_All,5;
+  - Combos:
+      - Combo:
+          - aegis_490113     # 490113
+          - Bear's_Power     # 4875
+    Script: |
+      bonus2 bSkillCooldown,"RK_IGNITIONBREAK",-200;
+  - Combos:
+      - Combo:
+          - ShoesOfHero     # 22129
+          - Veteran_Sword_     # 1188
+      - Combo:
+          - ShoesOfHero     # 22129
+          - Veteran_Sword_     # 21024
+    Script: |
+      bonus2 bSkillAtk,"SM_BASH",10*getskilllv("RK_ENCHANTBLADE");
+      bonus2 bSkillAtk,"SM_BASH",10*getskilllv("LK_AURABLADE");
+      bonus2 bSkillAtk,"KN_BOWLINGBASH",10*getskilllv("RK_ENCHANTBLADE");
+      bonus2 bSkillAtk,"KN_BOWLINGBASH",10*getskilllv("LK_AURABLADE");
+  - Combos:
+      - Combo:
+          - Ring_Of_Brave     # 28561
+          - ShoesOfHero     # 22129
+          - Veteran_Sword     # 1188
+      - Combo:
+          - Ring_Of_Brave     # 28561
+          - ShoesOfHero     # 22129
+          - Veteran_Sword_     # 21024
+    Script: |
+      .@r = getequiprefinerycnt(EQI_HAND_R);
+      bonus2 bSkillUseSP,"SM_BASH",5;
+      bonus2 bSkillUseSP,"KN_BOWLINGBASH",10;
+      if (.@r >= 7) {
+         bonus2 bSkillAtk,"SM_BASH",100;
+         bonus2 bSkillAtk,"KN_BOWLINGBASH",100;
+      }
+      if (.@r >= 9) {
+         bonus2 bSkillAtk,"SM_BASH",200;
+         bonus2 bSkillAtk,"KN_BOWLINGBASH",200;
+      }
+  - Combos:
+      - Combo:
+          - ShoesOfHero     # 22129
+          - Veteran_Hammer     # 1548
+      - Combo:
+          - ShoesOfHero     # 22129
+          - Veteran_Hammer_     # 16056
+    Script: |
+      bonus bAspdRate,getskilllv("AB_DUPLELIGHT");
+      bonus2 bIgnoreDefRaceRate,RC_Undead,10*getskilllv("PR_MACEMASTERY");
+      bonus2 bIgnoreDefRaceRate,RC_Demon,10*getskilllv("PR_MACEMASTERY");
+      bonus2 bIgnoreDefRaceRate,RC_DemiHuman,10*getskilllv("PR_MACEMASTERY");
+      bonus2 bCriticalAddRace,RC_Undead,5*getskilllv("PR_MACEMASTERY");
+      bonus2 bCriticalAddRace,RC_Demon,5*getskilllv("PR_MACEMASTERY");
+      bonus2 bCriticalAddRace,RC_DemiHuman,5*getskilllv("PR_MACEMASTERY");
+  - Combos:
+      - Combo:
+          - Ring_Of_Brave     # 28561
+          - ShoesOfHero     # 22129
+          - Veteran_Hammer     # 1548
+      - Combo:
+          - Ring_Of_Brave     # 28561
+          - ShoesOfHero     # 22129
+          - Veteran_Hammer_     # 16056
+    Script: |
+      .@r = getequiprefinerycnt(EQI_HAND_R);
+      bonus2 bCriticalAddRace,RC_Undead,50;
+      bonus2 bCriticalAddRace,RC_Demon,50;
+      bonus2 bCriticalAddRace,RC_DemiHuman,50;
+      /* todo auto spell */
+      if (.@r >= 7) {
+         bonus2 bAddClass,Class_All,5;
+         bonus bMatkRate,5;
+         bonus2 bSkillAtk,"CR_HOLYCROSS",50;
+      }
+      if (.@r >= 9) {
+         bonus2 bAddClass,Class_All,15;
+         bonus bMatkRate,15;
+         bonus2 bSkillAtk,"CR_HOLYCROSS",100;
+      }
+      /* todo CR_HOLYCROSS skill */
+  - Combos:
+      - Combo:
+          - ShoesOfHero     # 22129
+          - Veteran_Axe     # 1384
+      - Combo:
+          - ShoesOfHero     # 22129
+          - Veteran_Axe_     # 28114
+    Script: |
+      if (getskilllv("BS_DAGGER") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_SWORD") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_TWOHANDSWORD") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_KNUCKLE") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_SPEAR") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_AXE") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_MACE") == 3)
+         bonus bBaseAtk,10;
+      bonus2 bSkillCooldown,"NC_AXETORNADO",-200*getskilllv("NC_RESEARCHFE");
+  - Combos:
+      - Combo:
+          - Ring_Of_Brave     # 28561
+          - ShoesOfHero     # 22129
+          - Veteran_Axe     # 1384
+      - Combo:
+          - Ring_Of_Brave     # 28561
+          - ShoesOfHero     # 22129
+          - Veteran_Axe_     # 28114
+    Script: |
+      .@r = getequiprefinerycnt(EQI_HAND_R);
+      bonus2 bSkillCooldown,"NC_AXETORNADO",-500;
+      bonus2 bAddMonsterDropItem,522,10;
+      if (.@r >= 7)
+         bonus2 bSkillAtk,"NC_AXETORNADO",20;
+      if (.@r >= 9)
+         bonus2 bSkillAtk,"NC_AXETORNADO",40;

+ 578 - 0
db/re/item_db_equip.yml

@@ -37687,6 +37687,18 @@ Body:
     ArmorLevel: 1
     Script: |
       bonus bAllStats,1;
+  - Id: 2961
+    AegisName: Magic_Carpet
+    Name: Magic Carpet
+    Type: Armor
+    Weight: 800
+    Locations:
+      Both_Accessory: true
+    ArmorLevel: 1
+    EquipLevelMin: 70
+    Script: |
+      bonus bAgi,1;
+      skill "AL_TELEPORT",2;
   - Id: 2963
     AegisName: Body_Power_Up_Ring
     Name: Physical Enhancer Ring
@@ -68056,6 +68068,32 @@ Body:
       bonus2 bMagicSubSize,Size_Small,.@val;
       bonus2 bSubSize,Size_Medium,.@val;
       bonus2 bMagicSubSize,Size_Medium,.@val;
+  - Id: 15345
+    AegisName: ArmorOfSeadragonBR
+    Name: Blue Dragon Armor    # !todo check english name
+    Type: Armor
+    Weight: 400
+    Defense: 100
+    Slots: 1
+    Locations:
+      Armor: true
+    ArmorLevel: 1
+    EquipLevelMin: 90
+    Refineable: true
+    Script: |
+      .@r = getrefine();
+      bonus bAllStats,1;
+      bonus bUseSPrate,-10;
+      if (.@r >= 6) {
+         bonus bVariableCastrate,-5;
+         bonus2 bMagicAddClass,Class_All,10;
+         bonus bUseSPrate,-5;
+      }
+      if (.@r >= 11) {
+         bonus bVariableCastrate,-5;
+         bonus2 bMagicAddClass,Class_All,10;
+         bonus bUseSPrate,-5;
+      }
   - Id: 15346
     AegisName: Overwhelm_Luk_Armor
     Name: Unexpected Fortune Armor
@@ -68326,6 +68364,21 @@ Body:
     ArmorLevel: 1
     EquipLevelMin: 94
     Refineable: true
+  - Id: 15369
+    AegisName: Cylinder_Hairband_BR
+    Name: Futuristic Tiara    # !todo check english name
+    Type: Armor
+    Weight: 300
+    Defense: 12
+    Locations:
+      Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 90
+    Refineable: true
+    View: 1477
+    Script: |
+      .@r = getrefine();
+      bonus bStr,5;
   - Id: 15376
     AegisName: Illusion_Armor_A
     Name: Illusion Armor A-type
@@ -68478,6 +68531,19 @@ Body:
          bonus bMaxHPrate,5;
          bonus bHealPower,10;
       }
+  - Id: 15385
+    AegisName: MemorialD_Assistant
+    Name: Little Robot Know-It-All    # !todo check english name
+    Type: Armor
+    Weight: 10
+    Locations:
+      Head_Mid: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 1561
+    Script: |
+      skill "MC_IDENTIFY",1;
+      skill "WZ_ESTIMATION",1;
   - Id: 15388
     AegisName: King_Schmidt_Suit
     Name: King Schmidt's Suit
@@ -69143,6 +69209,58 @@ Body:
          bonus bHealPower,35;
          bonus2 bSkillAtk,"LG_RAYOFGENESIS",35;
       }
+  - Id: 15920
+    AegisName: Charm_Of_Flame_Heart_BR
+    Name: Flaming Heart    # !todo check english name
+    Type: Armor
+    Weight: 200
+    Locations:
+      Head_Low: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 1261
+    Script: |
+      skill "SA_FLAMELAUNCHER",1;
+      bonus2 bIgnoreDefClassRate,Class_Normal,3*((readparam(bStr)+readparam(bLuk))/15);
+  - Id: 15921
+    AegisName: Charm_Of_Nature_BR
+    Name: Little Nature    # !todo check english name
+    Type: Armor
+    Weight: 200
+    Locations:
+      Head_Low: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 1264
+    Script: |
+      skill "SA_SEISMICWEAPON",1;
+      bonus2 bIgnoreMdefClassRate,Class_Normal,3*((readparam(bInt)+readparam(bDex))/15);
+  - Id: 15922
+    AegisName: Charm_Of_Frozen_BR
+    Name: Mystic Ice Cream    # !todo check english name
+    Type: Armor
+    Weight: 200
+    Locations:
+      Head_Low: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 1262
+    Script: |
+      skill "SA_FROSTWEAPON",1;
+      bonus bHealPower,(readparam(bAgi)+readparam(bVit))/15;
+  - Id: 15923
+    AegisName: Charm_Of_Wind_BR
+    Name: Raw Wind    # !todo check english name
+    Type: Armor
+    Weight: 200
+    Locations:
+      Head_Low: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 1262
+    Script: |
+      skill "SA_LIGHTNINGLOADER",1;
+      bonus bFlee2,2*((readparam(bAgi)+readparam(bLuk))/15);
   - Id: 16000
     AegisName: Erde
     Name: Erde
@@ -70564,6 +70682,29 @@ Body:
       bonus2 bSkillAtk,"GN_CARTCANNON",10;
       bonus2 bSkillAtk,"SR_SKYNETBLOW",10;
       bonus bBaseAtk,7*(getrefine()+(min(BaseLevel,150)/10));
+  - Id: 16056
+    AegisName: Veteran_Hammer_
+    Name: Veteran Hammer
+    Type: Weapon
+    SubType: Mace
+    Weight: 1800
+    Attack: 160
+    Range: 1
+    Slots: 3
+    Jobs:
+      Acolyte: true
+      Monk: true
+      Priest: true
+    Locations:
+      Right_Hand: true
+    WeaponLevel: 3
+    EquipLevelMin: 80
+    Refineable: true
+    Script: |
+      bonus bHealPower,getskilllv("AL_DP");
+      bonus bCriticalRate,getskilllv("PR_MACEMASTERY")*2;
+      bonus bInt,1;
+      bonus bLuk,1;
   - Id: 16058
     AegisName: Diva_Mace
     Name: Diva Mace
@@ -79853,6 +79994,66 @@ Body:
     EquipLevelMin: 90
     Refineable: true
     View: 1075
+    Script: |
+      bonus bUnbreakableHelm;
+      bonus2 bSubEle,Ele_Fire,5;
+      bonus2 bSubEle,Ele_Water,-5;
+      bonus2 bAddEffWhenHit,Eff_Burning,1000;
+      autobonus2 "{}",50,100,BF_WEAPON|BF_MAGIC,"{ heal 0,-30; }";
+  - Id: 18941
+    AegisName: Hunting_Cap_Of_Gust
+    Name: Hunting cap Of Gust    # !todo check english name
+    Type: Armor
+    Weight: 100
+    Slots: 1
+    Locations:
+      Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 90
+    Refineable: true
+    View: 1477
+    Script: |
+      bonus bUnbreakableHelm;
+      bonus2 bSubEle,Ele_Wind,5;
+      bonus2 bSubEle,Ele_Earth,-5;
+      bonus3 bAddEffWhenHit,Eff_Fear,1,ATF_WEAPON|ATF_MAGIC;
+      autobonus2 "{}",50,100,BF_WEAPON|BF_MAGIC,"{ heal 0,-30; }";
+  - Id: 18942
+    AegisName: Knit_Cap_Of_Water
+    Name: Great Water Knit Cap    # !todo check english name
+    Type: Armor
+    Weight: 100
+    Slots: 1
+    Locations:
+      Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 90
+    Refineable: true
+    View: 1077
+    Script: |
+      bonus bUnbreakableHelm;
+      bonus2 bSubEle,Ele_Water,5;
+      bonus2 bSubEle,Ele_Wind,-5;
+      bonus2 bAddEffWhenHit,Eff_Freeze,1000;
+      autobonus2 "{}",50,100,BF_WEAPON|BF_MAGIC,"{ heal 0,-30; }";
+  - Id: 18943
+    AegisName: Silk_Hat_Of_Earth
+    Name: Intangible Top Hat    # !todo check english name
+    Type: Armor
+    Weight: 100
+    Slots: 1
+    Locations:
+      Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 90
+    Refineable: true
+    View: 1078
+    Script: |
+      bonus bUnbreakableHelm;
+      bonus2 bSubEle,Ele_Earth,5;
+      bonus2 bSubEle,Ele_Fire,-5;
+      bonus2 bAddEffWhenHit,Eff_Deepsleep,1000;
+      autobonus2 "{}",50,100,BF_WEAPON|BF_MAGIC,"{ heal 0,-30; }";
   - Id: 18947
     AegisName: Pipe_Of_Jiraiya
     Name: Jiraiya's Pipe
@@ -79928,6 +80129,22 @@ Body:
          else
             bonus bDelayRate,-2;
       }
+  - Id: 18955
+    AegisName: Pirates_Foolish
+    Name: Pirate's Folly
+    Type: Armor
+    Defense: 6
+    Weight: 100
+    Slots: 1
+    Locations:
+      Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 10
+    Refineable: true
+    View: 496
+    Script: |
+      bonus2 bHPDrainRate,30,6;
+      bonus2 bSPDrainRate,10,2;
   - Id: 18956
     AegisName: Chocolate_Bomb
     Name: Chocolate Bomb
@@ -81556,6 +81773,25 @@ Body:
       hateffect(HAT_EF_VALHALLA_IDOL,true);
     UnEquipScript: |
       hateffect(HAT_EF_VALHALLA_IDOL,false);
+  - Id: 19110
+    AegisName: Valhalla_Idol_
+    Name: Valhalla Idol    # !todo check english name
+    Type: Armor
+    Defense: 2
+    Weight: 300
+    Slots: 1
+    Locations:
+      Head_Mid: true
+    ArmorLevel: 1
+    EquipLevelMin: 70
+    Refineable: true
+    View: 1423
+    Script: |
+      bonus bMaxSP,50;
+      bonus4 bAutoSpellWhenHit,"MG_SAFETYWALL",10,50,0;
+      hateffect(HAT_EF_VALHALLA_IDOL,true);
+    UnEquipScript: |
+      hateffect(HAT_EF_VALHALLA_IDOL,false);
   - Id: 19111
     AegisName: Laser_Of_Eagle
     Name: Laser of Eagle
@@ -83442,6 +83678,37 @@ Body:
       }
       bonus5 bAutoSpell,"AL_HOLYLIGHT",1+.@val,10,BF_SHORT|BF_WEAPON,1;
       bonus5 bAutoSpell,"AL_HOLYLIGHT",1+.@val,5,BF_LONG|BF_WEAPON,1;
+  - Id: 19212
+    AegisName: Malangdo_Pirate
+    Name: Malangdo Pirate Hat
+    Type: Armor
+    Weight: 500
+    Defense: 2
+    Slots: 1
+    Locations:
+      Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 40
+    Refineable: true
+    View: 1587
+    Script: |
+      .@r = getrefine();
+      bonus2 bAddRace2,RC2_Malangdo,15;
+      bonus2 bMagicAddRace2,RC2_Malangdo,15;
+      bonus2 bSubRace2,RC2_Malangdo,15;
+      bonus2 bSubEle,Ele_Wind,10;
+      if (.@r >= 7) {
+         bonus2 bAddRace2,RC2_Malangdo,15;
+         bonus2 bMagicAddRace2,RC2_Malangdo,15;
+         bonus2 bSubRace2,RC2_Malangdo,15;
+      }
+      if (.@r >= 8)
+         bonus2 bSubEle,Ele_Wind,15;
+      if (.@r >= 9) {
+         bonus2 bAddRace2,RC2_Malangdo,20;
+         bonus2 bMagicAddRace2,RC2_Malangdo,20;
+         bonus2 bSubRace2,RC2_Malangdo,20;
+      }
   - Id: 19217
     AegisName: TW_Cock_Hat
     Name: Cock Hat
@@ -84308,6 +84575,20 @@ Body:
          bonus2 bAddClass,Class_All,5;
          bonus2 bHPDrainRate,30,15;
       }
+  - Id: 19321
+    AegisName: Bell_Pigeon_J
+    Name: Mysterious Pigeon    # !todo check english name
+    Type: Armor
+    Weight: 100
+    Locations:
+      Head_Mid: true
+    ArmorLevel: 1
+    EquipLevelMin: 100
+    Refineable: true
+    View: 1034
+    Script: |
+      bonus bAllStats,1;
+      bonus bDelayrate,-5;
   - Id: 19326
     AegisName: Book_of_Soyga
     Name: Book of Soyga
@@ -88104,6 +88385,15 @@ Body:
     ArmorLevel: 1
     EquipLevelMin: 1
     View: 390
+  - Id: 19703
+    AegisName: C_Afro_Wig_Black
+    Name: Costume Afro Wig Black    # !todo check english name
+    Type: Armor
+    Locations:
+      Costume_Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 969
   - Id: 19704
     AegisName: C_Afro_Wig_Red
     Name: Costume Red Afro Wig
@@ -88112,6 +88402,15 @@ Body:
     Locations:
       Costume_Head_Top: true
     ArmorLevel: 1
+  - Id: 19705
+    AegisName: C_Afro_Wig_Yellow
+    Name: Costume Afro Wig Yellow    # !todo check english name
+    Type: Armor
+    Locations:
+      Costume_Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 971
   - Id: 19706
     AegisName: C_Red_Dress_Hat
     Name: Costume Red Dress Hat
@@ -94690,6 +94989,15 @@ Body:
     ArmorLevel: 1
     EquipLevelMin: 1
     View: 1091
+  - Id: 20410
+    AegisName: C_Bone_Head
+    Name: Costume Bone Head    # !todo check english name
+    Type: Armor
+    Locations:
+      Costume_Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 401
   - Id: 20413
     AegisName: C_Isabella_Brown_Ear
     Name: C Piamette Hairband
@@ -94698,6 +95006,15 @@ Body:
       Costume_Head_Top: true
     ArmorLevel: 1
     View: 1031
+  - Id: 20414
+    AegisName: C_Crown_Of_Deceit
+    Name: Costume Crown Of Deceit
+    Type: Armor
+    Locations:
+      Costume_Head_Top: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 544
   - Id: 20416
     AegisName: C_1Grade_Balloon
     Name: Costume Grade 1 Balloon
@@ -95732,6 +96049,30 @@ Body:
       hateffect(HAT_EF_160LV_RUNE_RED,true);
     UnEquipScript: |
       hateffect(HAT_EF_160LV_RUNE_RED,false);
+  - Id: 20560
+    AegisName: C_160LV_Royal_G_Blue
+    Name: Costume Aura of the Depths
+    Type: Armor
+    Locations:
+      Costume_Garment: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    Script: |
+      hateffect(HAT_EF_160LV_Royal_G_Blue,true);
+    UnEquipScript: |
+      hateffect(HAT_EF_160LV_Royal_G_Blue,false);
+  - Id: 20561
+    AegisName: C_160LV_Warlock_Violet
+    Name: Costume Violet Aura
+    Type: Armor
+    Locations:
+      Costume_Garment: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    Script: |
+      hateffect(HAT_EF_160LV_Warlock_Violet,true);
+    UnEquipScript: |
+      hateffect(HAT_EF_160LV_Warlock_Violet,false);
   - Id: 20564
     AegisName: C_160LV_Minstrel_Pink
     Name: Costume Pink Aura
@@ -95744,6 +96085,30 @@ Body:
       hateffect(HAT_EF_160LV_Minstrel_Pink,true);
     UnEquipScript: |
       hateffect(HAT_EF_160LV_Minstrel_Pink,false);
+  - Id: 20565
+    AegisName: C_160LV_Archb_White
+    Name: Costume Aura Thunder
+    Type: Armor
+    Locations:
+      Costume_Garment: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    Script: |
+      hateffect(HAT_EF_160LV_Archb_White,true);
+    UnEquipScript: |
+      hateffect(HAT_EF_160LV_Archb_White,false);
+  - Id: 20566
+    AegisName: C_160LV_Guill_Silver
+    Name: Costume Silver Aura
+    Type: Armor
+    Locations:
+      Costume_Garment: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    Script: |
+      hateffect(HAT_EF_160LV_Guill_Silver,true);
+    UnEquipScript: |
+      hateffect(HAT_EF_160LV_Guill_Silver,false);
   - Id: 20567
     AegisName: C_160LV_ShadowC_Black
     Name: Costume Aura of Darkness
@@ -95798,6 +96163,15 @@ Body:
     ArmorLevel: 1
     EquipLevelMin: 1
     View: 50
+  - Id: 20573
+    AegisName: C_VioletHalo
+    Name: Costume Violet High Row
+    Type: Armor
+    View: 39
+    Locations:
+      Costume_Garment: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
   - Id: 20575
     AegisName: C_School_Bag_BL
     Name: Costume Backpack (Black)
@@ -100275,6 +100649,33 @@ Body:
       bonus bAspdRate,2*.@r;
       bonus bMatk,3*.@r;
       bonus bBaseAtk,(8*.@r)+7*(min(BaseLevel,150)/10);
+  - Id: 21024
+    AegisName: Veteran_Sword_
+    Name: Veteran Sword
+    Type: Weapon
+    SubType: 2hSword
+    Weight: 2000
+    Attack: 180
+    Range: 1
+    Slots: 3
+    Jobs:
+      Crusader: true
+      Knight: true
+      Swordman: true
+    Locations:
+      Both_Hand: true
+    WeaponLevel: 4
+    EquipLevelMin: 80
+    Refineable: true
+    Script: |
+      if (getskilllv("SM_BASH") == 10) {
+         bonus2 bSkillAtk,"SM_BASH",50;
+      }
+      if (getskilllv("KN_BOWLINGBASH") == 10) {
+         bonus2 bSkillAtk,"KN_BOWLINGBASH",50;
+      }
+      bonus bStr,1;
+      bonus bDex,1;
   - Id: 21026
     AegisName: Diva_Claymore
     Name: Diva Claymore
@@ -102998,6 +103399,21 @@ Body:
         bonus bMaxSP,100;
       if (.@r>=9)
          bonus bMaxSP,200;
+  - Id: 22129
+    AegisName: ShoesOfHero
+    Name: Hero's Shoes    # !todo check english name
+    Type: Armor
+    Weight: 500
+    Defense: 12
+    Locations:
+      Shoes: true
+    ArmorLevel: 1
+    EquipLevelMin: 85
+    Refineable: true
+    Script: |
+      bonus bMaxHPrate,3;
+      bonus bMaxSPrate,3;
+      bonus2 bSubRace,RC_DemiHuman,3;
   - Id: 22131
     AegisName: Cowboy_Boots
     Name: Spurred Boots
@@ -103433,6 +103849,37 @@ Body:
          bonus bMaxHPrate,4;
          bonus bMaxSPrate,4;
       }
+  - Id: 22182
+    AegisName: Shoes_Of_Punishment_BR
+    Name: Shoes of Punishment    # !todo check english name
+    Type: Armor
+    Weight: 500
+    Defense: 15
+    Locations:
+      Shoes: true
+    ArmorLevel: 1
+    EquipLevelMin: 100
+    Refineable: true
+    Script: |
+      bonus bMdef,15;
+      bonus bMatkRate,2;
+      bonus bMaxHPrate,3;
+      bonus bMaxSPrate,3;
+      bonus2 bSkillAtk,"AB_JUDEX",30;
+      bonus2 bMagicAddEle,Ele_Holy,2;
+      .@r = getrefine();
+      if (.@r>=5) {
+         bonus bMatkRate,3;
+         bonus bMaxHPrate,7;
+         bonus bMaxSPrate,7;
+         bonus2 bMagicAddEle,Ele_Holy,3;
+      }
+      if (.@r>=7) {
+         bonus bMatkRate,5;
+         bonus bMaxHPrate,10;
+         bonus bMaxSPrate,10;
+         bonus2 bMagicAddEle,Ele_Holy,5;
+      }
   - Id: 22189
     AegisName: Shoes_Of_Pilgrim
     Name: Pilgrim Shoes
@@ -119042,6 +119489,41 @@ Body:
       bonus2 bSkillAtk,"NC_AXETORNADO",10;
       bonus bUnbreakableWeapon;
       bonus bBaseAtk,9*getrefine()+8*(min(BaseLevel,150)/10);
+  - Id: 28114
+    AegisName: Veteran_Axe_
+    Name: Veteran Axe
+    Type: Weapon
+    SubType: 2hAxe
+    Weight: 3000
+    Attack: 250
+    Range: 1
+    Slots: 3
+    Jobs:
+      Alchemist: true
+      Blacksmith: true
+      Merchant: true
+    Locations:
+      Both_Hand: true
+    WeaponLevel: 3
+    EquipLevelMin: 80
+    Refineable: true
+    Script: |
+      if (getskilllv("BS_DAGGER") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_SWORD") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_TWOHANDSWORD") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_KNUCKLE") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_SPEAR") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_AXE") == 3)
+         bonus bBaseAtk,10;
+      if (getskilllv("BS_MACE") == 3)
+         bonus bBaseAtk,10;
+      bonus bVit,2;
+      bonus4 bAutoSpellOnSkill,"BS_HAMMERFALL","SM_MAGNUM",3,50;
   - Id: 28116
     AegisName: Mine_Worker_Pickax
     Name: Mine Worker's Pickaxe
@@ -123106,6 +123588,22 @@ Body:
       bonus bMatkRate,5;
       bonus bHit,20;
       bonus bAspdRate,5;
+  - Id: 28561
+    AegisName: Ring_Of_Brave
+    Name: Ring of Hero
+    Type: Armor
+    Weight: 100
+    Locations:
+      Both_Accessory: true
+    ArmorLevel: 1
+    EquipLevelMin: 100
+    Script: |
+      bonus bAspdRate,10;
+      if (readparam(bStr) >= 120) {
+         bonus bBaseAtk,50;
+         bonus bMaxHPrate,5;
+         bonus bMaxSPrate,5;
+      }
   - Id: 28562
     AegisName: True_Hunting_Ring1
     Name: True Hunting Physical Ring
@@ -125576,6 +126074,7 @@ Body:
     Refineable: true
     View: 1
     Script: |
+      bonus bMdef,5;
       bonus2 bSubEle,Ele_Fire,25;
       .@r = getrefine();
       if (.@r > 4) {
@@ -125595,6 +126094,7 @@ Body:
     Refineable: true
     View: 1
     Script: |
+      bonus bMdef,5;
       bonus2 bSubEle,Ele_Wind,25;
       .@r = getrefine();
       if (.@r > 4) {
@@ -125614,6 +126114,7 @@ Body:
     Refineable: true
     View: 1
     Script: |
+      bonus bMdef,5;
       bonus2 bSubEle,Ele_Water,25;
       .@r = getrefine();
       if (.@r > 4) {
@@ -125633,6 +126134,7 @@ Body:
     Refineable: true
     View: 1
     Script: |
+      bonus bMdef,5;
       bonus2 bSubEle,Ele_Earth,25;
       .@r = getrefine();
       if (.@r > 4) {
@@ -126012,6 +126514,46 @@ Body:
       if (.@r>=12) {
          bonus bDelayrate,-5;
       }
+  - Id: 28947
+    AegisName: Gaia_Shield_BR
+    Name: Gaia's Shield    # !todo check english name
+    Type: Armor
+    Weight: 500
+    Defense: 150
+    Slots: 1
+    Locations:
+      Left_Hand: true
+    ArmorLevel: 1
+    EquipLevelMin: 100
+    Refineable: true
+    View: 1
+    Script: |
+      bonus bMdef,10;
+      bonus2 bSubEle,Ele_Earth,10;
+      bonus2 bAddEle,Ele_Earth,5;
+      bonus2 bMagicAddEle,Ele_Earth,5;
+      .@r = getrefine();
+      if (.@r>=8) {
+         bonus2 bSubEle,Ele_Earth,15;
+         bonus2 bAddEle,Ele_Earth,10;
+         bonus2 bMagicAddEle,Ele_Earth,10;
+      }
+      if (.@r>=10) {
+         if (readparam(bStr)>=90)
+            bonus bBaseAtk,50;
+         if (readparam(bAgi)>=90)
+            bonus bAspdRate,5;
+         if (readparam(bVit)>=90) {
+            bonus bHealPower2,10;
+            bonus bAddItemHealRate,10;
+         }
+         if (readparam(bInt)>=90)
+            bonus bMatk,30;
+         if (readparam(bDex)>=90)
+            bonus bVariableCastrate,-5;
+         if (readparam(bLuk)>=90)
+            bonus bCritAtkRate,5;
+      }
   - Id: 28950
     AegisName: Variant_Shield
     Name: Abyss Shield
@@ -140004,6 +140546,15 @@ Body:
       Costume_Head_Mid: true
     ArmorLevel: 1
     View: 2142
+  - Id: 410072
+    AegisName: aegis_410072
+    Name: Costume Demons Familia    # !todo check english name
+    Type: Armor
+    Locations:
+      Costume_Head_Mid: true
+    ArmorLevel: 1
+    EquipLevelMin: 1
+    View: 2127
   - Id: 410079
     AegisName: aegis_410079
     Name: Deep Blue Sunglasses
@@ -150848,6 +151399,7 @@ Body:
       .@d = readparam(bDex);
       if (.@p == EQP_ACC_L) {
          bonus2 bAddRace,RC_All,.@a / 10;
+         bonus2 bMagicAddRace,RC_All,.@a/10;
          if (.@a>=125) {
             bonus bSpeedAddRate,25;
             bonus bDelayrate,-25;
@@ -151376,6 +151928,32 @@ Body:
          bonus bHPGainValue,100;
          bonus bSPGainValue,10;
       }
+  - Id: 490113
+    AegisName: aegis_490113
+    Name: Jasper Ring    # !todo check english name
+    Type: Armor
+    Weight: 400
+    Slots: 1
+    Locations:
+      Both_Accessory: true
+    ArmorLevel: 1
+    EquipLevelMin: 100
+    Script: |
+      bonus bStr,7;
+      bonus2 bAddClass,Class_All,10;
+      bonus2 bSkillAtk,"RK_IGNITIONBREAK",BaseLevel/3;
+      bonus2 bSkillAtk,"RK_SONICWAVE",BaseLevel/3;
+      if (getskilllv("RK_IGNITIONBREAK") >= 5)
+         bonus bMaxHPrate,15;
+      if (getskilllv("RK_WINDCUTTER") >= 5)
+         bonus2 bAddClass,Class_Boss,15;
+      if (getskilllv("RK_SONICWAVE") >= 10) {
+         bonus bAspdRate,10;
+         bonus bHPGainValue,100;
+         bonus bSPGainValue,10;
+      }
+      if (getskilllv("RK_DEATHBOUND") >= 10)
+         bonus2 bAddClass,Class_All,10;
   - Id: 490118
     AegisName: aegis_490118
     Name: Adoration Ring

+ 153 - 10
db/re/item_db_etc.yml

@@ -33807,6 +33807,17 @@ Body:
     Script: |
       bonus bVariableCastrate,-15;
       /*Item removed on 2014-12-17*/
+  - Id: 23063
+    AegisName: Freeze_Dream
+    Name: Freeze Dream    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
   - Id: 25000
     AegisName: SPdrainStone_Top
     Name: SP Absorption Stone(Upper)
@@ -36256,6 +36267,110 @@ Body:
       NoGuildStorage: true
       NoMail: true
       NoAuction: true
+  - Id: 25482
+    AegisName: Earth_Card_BZ
+    Name: Earth League Card    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25483
+    AegisName: Fire_Card_BZ
+    Name: Fire League Card    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25484
+    AegisName: Water_Card_BZ
+    Name: Water League Card    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25485
+    AegisName: Wind_Card_BZ
+    Name: Wind League Card    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25486
+    AegisName: Fire_Badge_BZ
+    Name: Fire Pride Badge    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25487
+    AegisName: Water_Badge_BZ
+    Name: Water Pride Badge    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25488
+    AegisName: Wind_Badge_BZ
+    Name: Wind Pride Badge    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+  - Id: 25489
+    AegisName: Earth_Badge_BZ
+    Name: Earth Pride Badge    # !todo check english name
+    Type: Etc
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
   - Id: 25490
     AegisName: ShadowchaserStone_Top
     Name: Stalker Stone (Upper)
@@ -40853,6 +40968,34 @@ Body:
       DropEffect: CLIENT
     Script: |
       bonus bDelayrate,-5;
+  - Id: 27413
+    AegisName: aegis_27413
+    Name: Power of Shango    # !todo check english name
+    Type: Card
+    SubType: Enchant
+    Script: |
+      autobonus "{ bonus bDelayrate,-70; bonus bVariableCastrate,-70; bonus bHealPower,70; bonus bHealPower2,70; bonus bAddItemHealRate,70; }",30,10000,BF_WEAPON|BF_MAGIC,"{}";
+  - Id: 27414
+    AegisName: aegis_27414
+    Name: Power of Ochosi    # !todo check english name
+    Type: Card
+    SubType: Enchant
+    Script: |
+      autobonus "{ bonus bDelayrate,-70; bonus bVariableCastrate,-70; bonus2 bIgnoreDefClassRate,Class_Normal,70; bonus2 bIgnoreMdefClassRate,Class_Normal,70; }",30,10000,BF_WEAPON|BF_MAGIC,"{}";
+  - Id: 27415
+    AegisName: aegis_27415
+    Name: Power of Iansa    # !todo check english name
+    Type: Card
+    SubType: Enchant
+    Script: |
+      autobonus "{ bonus bDelayrate,-70; bonus bVariableCastrate,-70; bonus bAspdRate,70; }",30,10000,BF_WEAPON|BF_MAGIC,"{}";
+  - Id: 27416
+    AegisName: aegis_27416
+    Name: Power of Oshun    # !todo check english name
+    Type: Card
+    SubType: Enchant
+    Script: |
+      autobonus "{ bonus bDelayrate,-70; bonus bVariableCastrate,-70; bonus bUseSPrate,-70; }",30,10000,BF_WEAPON|BF_MAGIC,"{}";
   - Id: 29000
     AegisName: Neev_INT_1
     Name: Rune of Intellect Lv 1
@@ -42808,7 +42951,7 @@ Body:
     Type: Card
     SubType: Enchant
     Script: |
-      autobonus "{ bonus bFlee2,100; bonus2 bMagicAddClass,Class_Boss,100; }",50,10000,BF_MAGIC,"{ active_transform 1639,10000 }";
+      autobonus "{ bonus bFlee2,100; bonus2 bMagicAddClass,Class_Boss,100; }",50,10000,BF_MAGIC,"{ active_transform 1639,10000; }";
       /*Unknow Rate*/
   - Id: 29380
     AegisName: ATK5
@@ -59887,12 +60030,12 @@ Body:
     SubType: Enchant
     Script: |
       .@r = getrefine();
-      bonus bVariableCastrate,-7*(.@r/3);
+      bonus bVariableCastrate,-7;
       if (.@r>=9) {
-        bonus bVariableCastrate,8;
+        bonus bVariableCastrate,-8;
         .@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
         if (.@i == W_2HSWORD || .@i == W_2HSPEAR || .@i == W_2HSTAFF || .@i == W_2HAXE || .@i == W_KATAR || .@i == W_BOW || .@i == W_HUUMA || .@i == W_REVOLVER || .@i == W_RIFLE || .@i == W_GATLING || .@i == W_SHOTGUN || .@i == W_GRENADE) {
-          bonus bVariableCastrate,5;
+          bonus bVariableCastrate,-5;
         }
       }
   - Id: 311346
@@ -59917,12 +60060,12 @@ Body:
     SubType: Enchant
     Script: |
       .@r = getrefine();
-      bonus bDelayrate,7;
+      bonus bDelayrate,-7;
       if (.@r>=9) {
-        bonus bDelayrate,8;
+        bonus bDelayrate,-8;
         .@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
         if (.@i == W_2HSWORD || .@i == W_2HSPEAR || .@i == W_2HSTAFF || .@i == W_2HAXE || .@i == W_KATAR || .@i == W_BOW || .@i == W_HUUMA || .@i == W_REVOLVER || .@i == W_RIFLE || .@i == W_GATLING || .@i == W_SHOTGUN || .@i == W_GRENADE) {
-          bonus bDelayrate,5;
+          bonus bDelayrate,-5;
         }
       }
   - Id: 311348
@@ -59933,16 +60076,16 @@ Body:
     Script: |
       .@r = getrefine();
       bonus2 bAddRace,RC_All,10;
-      bonus2 bAddRace,RC_Brute,-10;
+      bonus2 bAddRace,RC_Player_Human,-10;
       bonus2 bAddRace,RC_Player_Doram,-10;
       if (.@r>=9) {
         bonus2 bAddRace,RC_All,10;
-        bonus2 bAddRace,RC_Brute,-10;
+        bonus2 bAddRace,RC_Player_Human,-10;
         bonus2 bAddRace,RC_Player_Doram,-10;
         .@i = getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_VIEW);
         if (.@i == W_2HSWORD || .@i == W_2HSPEAR || .@i == W_2HSTAFF || .@i == W_2HAXE || .@i == W_KATAR || .@i == W_BOW || .@i == W_HUUMA || .@i == W_REVOLVER || .@i == W_RIFLE || .@i == W_GATLING || .@i == W_SHOTGUN || .@i == W_GRENADE) {
           bonus2 bAddRace,RC_All,15;
-          bonus2 bAddRace,RC_Brute,-15;
+          bonus2 bAddRace,RC_Player_Human,-15;
           bonus2 bAddRace,RC_Player_Doram,-15;
         }
       }

+ 173 - 0
db/re/item_db_usable.yml

@@ -2495,6 +2495,9 @@ Body:
       BuyingStore: true
     Script: |
       itemheal rand(300,400),0;
+      if (getequipid(EQI_HEAD_MID) == 15385)
+         warp "dali",113,82;
+      /* todo check map x y */
   - Id: 11516
     AegisName: Asai_Fruit
     Name: Asai Fruit
@@ -2935,6 +2938,9 @@ Body:
       BuyingStore: true
     Script: |
       itemheal 0,100;
+      if (getequipid(EQI_HEAD_MID) == 15385)
+         warp "xmas",147,134;
+      /* todo check map x y */
   - Id: 11564
     AegisName: Sweet_Canape
     Name: Sweet Canape
@@ -43682,6 +43688,9 @@ Body:
          sc_start SC_PACKING_ENVELOPE9,30000,33; // +crit
       else
          sc_start SC_PACKING_ENVELOPE10,30000,33; // +hit
+      if (getequipid(EQI_HEAD_MID) == 15385)
+         warp "verus04",115,243;
+      /* todo check map x y */
   - Id: 22612
     AegisName: Decomposition_Potion
     Name: Corrupt Reagents
@@ -45762,6 +45771,25 @@ Body:
     Weight: 1
     Script: |
       callfunc("F_Cursed_Fragment");
+  - Id: 23027
+    AegisName: Dandelion_Ring
+    Name: Dandelion Ring    # !todo check english name
+    Type: Usable
+    Flags:
+      NoConsume: true
+    Delay:
+      Duration: 3600000
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      warp "rachel",120,125;
   - Id: 23033
     AegisName: Invisible_Box
     Name: Invisible Box
@@ -45816,6 +45844,23 @@ Body:
       NoAuction: true
     Script: |
       getitem 23042,30;
+  - Id: 23044
+    AegisName: Elvira_Candy
+    Name: Elvira Candy    # !todo check english name
+    Type: Usable
+    Weight: 10
+    Delay:
+      Duration: 10000
+    Flags:
+      BuyingStore: true
+    Script: |
+      specialeffect2 EF_HEAL3;
+      sc_end SC_SILENCE;
+      sc_end SC_BLEEDING;
+      sc_end SC_POISON;
+      sc_end SC_CURSE;
+      sc_end SC_ORCISH;
+      sc_end SC_CHANGEUNDEAD;
   - Id: 23046
     AegisName: S_Mystic_Powder
     Name: "[Sale] Mystic Powder"
@@ -46724,6 +46769,70 @@ Body:
     Script: |
       input .@megaphone$;
       announce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000;
+  - Id: 23374
+    AegisName: Fire_Armor_S
+    Name: Fire Armor Scroll
+    Type: Usable
+    Weight: 10
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      specialeffect2 EF_FIREHIT;
+      sc_start4 SC_ELEMENTALCHANGE,1800000,1,Ele_Fire,1,0;
+  - Id: 23375
+    AegisName: Cold_Armor_S
+    Name: Water Armor Scroll
+    Type: Usable
+    Weight: 10
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      specialeffect2 EF_COLDHIT;
+      sc_start4 SC_ELEMENTALCHANGE,1800000,1,Ele_Water,1,0;
+  - Id: 23376
+    AegisName: Wind_Armor_S
+    Name: Wind Armor Scroll
+    Type: Usable
+    Weight: 10
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      specialeffect2 EF_WINDHIT;
+      sc_start4 SC_ELEMENTALCHANGE,1800000,1,Ele_Wind,1,0;
+  - Id: 23377
+    AegisName: Earth_Armor_S
+    Name: Earth Armor Scroll
+    Type: Usable
+    Weight: 10
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      specialeffect2 EF_EARTHHIT;
+      sc_start4 SC_ELEMENTALCHANGE,1800000,1,Ele_Earth,1,0;
   - Id: 23388
     AegisName: CookingBox10
     Name: "[Scroll] Food Box"
@@ -46808,6 +46917,70 @@ Body:
     Weight: 10
     Script: |
       laphine_upgrade();
+  - Id: 23549
+    AegisName: Snow_Cookie
+    Name: Snow Cookie
+    Type: Usable
+    Weight: 50
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      percentheal 5,0;
+      sc_start SC_HITFOOD,600000,30;
+  - Id: 23550
+    AegisName: Winter_Cookie
+    Name: Winter Cookie
+    Type: Usable
+    Weight: 50
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      percentheal 5,0;
+      sc_start SC_ATKPOTION,600000,3;
+  - Id: 23551
+    AegisName: Festi_Cookie
+    Name: Festi Cookie
+    Type: Usable
+    Weight: 50
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      percentheal 5,0;
+      sc_start SC_ASPDPOTION0,600000,10;
+  - Id: 23552
+    AegisName: Flora_Cookie
+    Name: Flora Cookie
+    Type: Usable
+    Weight: 50
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoSell: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      percentheal 5,0;
+      sc_start SC_MATKPOTION,600000,3;
   - Id: 23604
     AegisName: Main_Dish_Course
     Name: Main Dish Course