From 7fd27a6c27dc778e830c04a591fce2e1f1c218f2 Mon Sep 17 00:00:00 2001 From: idk-whoami <60462533+idk-whoami@users.noreply.github.com> Date: Thu, 9 Jun 2022 00:30:31 +0700 Subject: [PATCH] Corrected script for some item #7 (#6863) * Fix Item 1435 & Combo 1631 * Added a bunch of new items --- db/re/item_combos.yml | 475 ++++++++++++++++- db/re/item_db_equip.yml | 963 ++++++++++++++++++++++++++++++++++- db/re/item_db_etc.yml | 114 +++++ db/re/item_db_usable.yml | 364 ++++++++++++- db/re/item_group_db.yml | 526 +++++++++++++++++++ db/re/status.yml | 25 + src/map/itemdb.hpp | 13 + src/map/script_constants.hpp | 15 + src/map/status.cpp | 15 + src/map/status.hpp | 2 + 10 files changed, 2462 insertions(+), 50 deletions(-) diff --git a/db/re/item_combos.yml b/db/re/item_combos.yml index 45c421cd87..3d3f302485 100644 --- a/db/re/item_combos.yml +++ b/db/re/item_combos.yml @@ -580,8 +580,11 @@ Body: } - Combos: - Combo: - - Rafini_Staff - - Lapine_Shield + - Rafini_Staff # 1649 + - Lapine_Shield # 2198 + - Combo: + - Rafini_Staff_S # 1679 + - Lapine_Shield # 2198 Script: | .@r_2198 = getequiprefinerycnt(EQI_HAND_L); .@r_1649 = getequiprefinerycnt(EQI_HAND_R); @@ -7721,8 +7724,11 @@ Body: bonus bHealPower,2*.@r; - Combos: - Combo: - - Kardui_Robe - - Rafini_Staff + - Kardui_Robe # 15169 + - Rafini_Staff # 1649 + - Combo: + - Kardui_Robe # 15169 + - Rafini_Staff_S # 1679 Script: | .@r = getequiprefinerycnt(EQI_HAND_R); .@b = getequiprefinerycnt(EQI_ARMOR); @@ -10403,9 +10409,6 @@ Body: - Combo: - 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"); @@ -10423,6 +10426,27 @@ Body: bonus2 bMagicAddEle,Ele_Dark,.@magic; } bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg + 10*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")+getskilllv("AB_CLEARANCE")); + - Combos: + - Combo: + - Shoes_Of_Punishment_BR # 22182 + - Holy_Stick # 1631 + Script: | + .@r = getequiprefinerycnt(EQI_HAND_R); + .@cast = -5*getskilllv("AB_ORATIO"); + bonus2 bVariableCastrate,"AB_JUDEX",.@cast; + bonus2 bVariableCastrate,"AB_ADORAMUS",.@cast; + if (.@r >= 8) { + .@magic = 30; + if (.@r >= 12) { + .@magic += 20; + .@dmg = 20; + } + bonus2 bMagicAddRace,RC_Demon,.@magic; + bonus2 bMagicAddRace,RC_Undead,.@magic; + bonus2 bMagicAddEle,Ele_Undead,.@magic; + bonus2 bMagicAddEle,Ele_Dark,.@magic; + } + bonus2 bSkillAtk,"AB_ADORAMUS",.@dmg + 10*(getskilllv("AB_LAUDAAGNUS")+getskilllv("AB_LAUDARAMUS")+getskilllv("AB_CLEARANCE")); - Combos: - Combo: - Para_Team_Boots100 @@ -13833,27 +13857,27 @@ Body: } - Combos: - Combo: - - R_Knuckle - - King_Schmidt_Suit - - King_Schmidt_Manteau + - R_Knuckle # 1870 + - King_Schmidt_Suit # 15388 + - King_Schmidt_Manteau # 15389 - Combo: - - R_Huuma_Shuriken - - King_Schmidt_Suit - - King_Schmidt_Manteau + - R_Huuma_Shuriken # 13347 + - King_Schmidt_Suit # 15388 + - King_Schmidt_Manteau # 15389 - Combo: - - G_Knight_Archer_Bow - - King_Schmidt_Suit - - King_Schmidt_Manteau + - G_Knight_Archer_Bow # 18198 + - King_Schmidt_Suit # 15388 + - King_Schmidt_Manteau # 15389 - Combo: - - R_Revolver - - King_Schmidt_Suit - - King_Schmidt_Manteau + - R_Revolver # 32304 + - King_Schmidt_Suit # 15388 + - King_Schmidt_Manteau # 15389 Script: | .@sum = getequiprefinerycnt(EQI_HAND_R)+getequiprefinerycnt(EQI_ARMOR)+getequiprefinerycnt(EQI_GARMENT); autobonus "{ bonus bLongAtkRate,10; }",1,10000,BF_WEAPON; bonus bBaseAtk,30; if (.@sum >= 30) { - bonus2 bAddRace,RC_Undead,20; + bonus2 bAddEle,Ele_Undead,20; bonus2 bAddEle,Ele_Holy,20; } - Combos: @@ -25598,13 +25622,13 @@ Body: Script: | bonus2 bSubEle,Ele_Fire,100; bonus2 bSubSkill,"NPC_CRITICALSLASH",100; -# - Combos: -# - Combo: -# - Arabian_Manteau # 480023 -# - aegis_300331 # 300331 -# Script: | -# bonus2 bSubEle,Ele_Fire,30; -# bonus2 bSubSkill,"NPC_CRITICALSLASH",30; + - Combos: + - Combo: + - Arabian_Manteau # 480023 + - Sealed_Ifrit_Card_J # 300331 + Script: | + bonus2 bSubEle,Ele_Fire,30; + bonus2 bSubSkill,"NPC_CRITICALSLASH",30; - Combos: - Combo: - Pendant_of_Solomon # 490035 @@ -25866,3 +25890,400 @@ Body: bonus2 bSkillAtk,"NC_AXETORNADO",20; if (.@r >= 9) bonus2 bSkillAtk,"NC_AXETORNADO",40; + - Combos: + - Combo: + - Isabella_Blue_Ear # 18910 + - aegis_420000 # 420000 + Script: | + if (getequiprefinerycnt(EQI_HEAD_TOP) >= 9) + bonus2 bAddSize,Size_Medium,6; + - Combos: + - Combo: + - Isabella_Red_Ear # 18908 + - aegis_420000 # 420000 + Script: | + if (getequiprefinerycnt(EQI_HEAD_TOP) >= 9) + bonus bAspdRate,6; + - Combos: + - Combo: + - Isabella_Brown_Ear # 18909 + - aegis_420000 # 420000 + Script: | + if (getequiprefinerycnt(EQI_HEAD_TOP) >= 9) { + bonus2 bSubRace,RC_DemiHuman,6; + bonus2 bSubRace,RC_Player_Human,6; + } + - Combos: + - Combo: + - aegis_400101 # 400101 + - Fenrir_Card # 4556 + Script: | + bonus bInt,30; + bonus bDex,30; + bonus2 bFixedCastrate,"WL_TETRAVORTEX",-100; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Atroce_Card # 4425 + Script: | + bonus2 bAddClass,Class_All,25; + autobonus "{ bonus bAspdRate,100; }",5,30000,0,"{}"; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Ifrit_Card # 4430 + Script: | + bonus bBaseAtk,JobLevel; + bonus bCritical,JobLevel; + bonus bHit,JobLevel; + bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",6,10; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Berzebub_Card # 4145 + Script: | + bonus bMatkRate,readparam(bLuk)/10; + if (readparam(bLuk)>=130) { + bonus bMatkRate,15; + skill "PF_HPCONVERSION",3; + } + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Fallen_Bishop_Card # 4441 + Script: | + bonus2 bMagicAddRace,RC_DemiHuman,50; + bonus2 bMagicAddRace,RC_Player_Human,50; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Fallen_Bishop_Card # 4441 + - Runaway_Magic # 4876 + Script: | + bonus2 bMagicAddRace,RC_DemiHuman,-50; + bonus2 bMagicAddRace,RC_Player_Human,-50; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Ktullanux_Card # 4419 + Script: | + bonus bMaxHPrate,50; + skill "SA_FROSTWEAPON",5; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Gloom_Under_Night_Card # 4408 + Script: | + bonus bMaxHPrate,50; + skill "LG_PIETY",1; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Atroce_Card_J # 300330 + Script: | + bonus2 bAddClass,Class_All,15; + autobonus "{ bonus bAspdRate,30; }",5,30000,0,"{}"; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Ifrit_Card_J # 300331 + Script: | + bonus bBaseAtk,JobLevel/2; + bonus bCritical,JobLevel/2; + bonus bHit,JobLevel/2; + - Combos: + - Combo: + - Sealed_Berz_Card_J # 311071 + - Hollow_Shoes # 22212 + Script: | + .@eq = getequiprefinerycnt(EQI_SHOES); + bonus2 bMagicAddEle,Ele_Dark,10; + bonus2 bMagicAddEle,Ele_Ghost,10; + bonus2 bMagicAddEle,Ele_Undead,10; + if (BaseLevel <= 99) { + bonus bMatk,2*.@eq; + bonus bVariableCastrate,-.@eq; + } else { + bonus bMatk,5*.@eq; + bonus bVariableCastrate,-(2*.@eq); + } + - Combos: + - Combo: + - Sealed_Berz_Card_J # 311071 + - Hollow_Shoes_ # 470113 + Script: | + .@eq = getequiprefinerycnt(EQI_SHOES); + skill "PR_MAGNUS",10; + bonus2 bMagicAddEle,Ele_Dark,30; + bonus2 bMagicAddEle,Ele_Ghost,30; + bonus2 bMagicAddEle,Ele_Undead,30; + if (BaseLevel <= 99) { + bonus bMatk,5*.@eq; + bonus bVariableCastrate,-(2*.@eq); + } else { + bonus bMatk,15*.@eq; + bonus bVariableCastrate,-(7*.@eq); + } + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Berz_Card_J # 311071 + Script: | + bonus bMatkRate,readparam(bLuk)/20; + if (readparam(bLuk)>=130) + bonus bMatkRate,10; + - Combos: + - Combo: + - Sealed_Berz_Card_J # 311071 + - VesperHeadGear # 19436 + Script: | + bonus bVariableCastrate,10; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Berz_Card_J # 311071 + - Hollow_Shoes # 22212 + Script: | + .@eq = getequiprefinerycnt(EQI_SHOES); + bonus2 bMagicAddEle,Ele_Dark,-10; + bonus2 bMagicAddEle,Ele_Ghost,-10; + bonus2 bMagicAddEle,Ele_Undead,-10; + if (BaseLevel <= 99) { + bonus bMatk,-2*.@eq; + bonus bVariableCastrate,.@eq; + } else { + bonus bMatk,-5*.@eq; + bonus bVariableCastrate,2*.@eq; + } + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Berz_Card_J # 311071 + - Hollow_Shoes_ # 470113 + Script: | + .@eq = getequiprefinerycnt(EQI_SHOES); + skill "PR_MAGNUS",10; + bonus2 bMagicAddEle,Ele_Dark,-30; + bonus2 bMagicAddEle,Ele_Ghost,-30; + bonus2 bMagicAddEle,Ele_Undead,-30; + if (BaseLevel <= 99) { + bonus bMatk,-5*.@eq; + bonus bVariableCastrate,2*.@eq; + } else { + bonus bMatk,-15*.@eq; + bonus bVariableCastrate,7*.@eq; + } + - Combos: + - Combo: + - Fallen_Bishop_Card # 4441 + - Moaning_of_EvilSpirits # 470112 + Script: | + bonus bMatkRate,10; + bonus2 bMagicAddRace,RC_Angel,50; + bonus2 bMagicAddRace,RC_DemiHuman,50; + - Combos: + - Combo: + - Fallen_Bishop_Card # 4441 + - Moaning_of_EvilSpirits # 470112 + - Goddess_of_Abundance # 311073 + Script: | + bonus2 bMagicAddRace,RC_Player_Human,50; + - Combos: + - Combo: + - Sealed_F_Bishop_Card_J # 300334 + - Moaning_of_EvilSpirits # 470112 + Script: | + bonus2 bMagicAddRace,RC_Angel,20; + bonus2 bMagicAddRace,RC_DemiHuman,20; + - Combos: + - Combo: + - Sealed_F_Bishop_Card_J # 300334 + - Moaning_of_EvilSpirits # 470112 + - Goddess_of_Abundance # 311073 + Script: | + bonus2 bMagicAddRace,RC_Player_Human,20; + - Combos: + - Combo: + - Moaning_of_EvilSpirits # 470112 + - Runaway_Magic # 4876 + Script: | + bonus bInt,40; + bonus bDelayrate,-40; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_F_Bishop_Card_J # 300334 + Script: | + bonus2 bMagicAddRace,RC_Angel,20; + bonus2 bMagicAddRace,RC_DemiHuman,20; + bonus2 bMagicAddRace,RC_Player_Human,20; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_F_Bishop_Card_J # 300334 + - Runaway_Magic # 4876 + Script: | + bonus2 bMagicAddRace,RC_Angel,-20; + bonus2 bMagicAddRace,RC_DemiHuman,-20; + bonus2 bMagicAddRace,RC_Player_Human,-20; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Ktullanux_Card # 4481 + Script: | + bonus bMaxHPrate,25; + bonus5 bAutoSpellWhenHit,"SA_FROSTWEAPON",1,10,BF_WEAPON,0; + - Combos: + - Combo: + - Goddess_of_Abundance # 311073 + - Sealed_Gloom_Card_J # 300332 + Script: | + bonus bMaxHPrate,25; + bonus2 bAddEle,Ele_Holy,10; + bonus2 bAddEle,Ele_Dark,10; + bonus2 bAddRace,RC_Angel,10; + bonus2 bAddRace,RC_Demon,10; + - Combos: + - Combo: + - Thornbush_Hairband # 18804 + - Thorn_Staff # 1636 + - Combo: + - Thornbush_Hairband # 18804 + - Thorn_Staff_ # 1664 + Script: | + bonus bMatk,10*min(getequiprefinerycnt(EQI_HAND_R),10); + - Combos: + - Combo: + - Phantom_Of_Masquerade # 19497 + - Thanatos_Card # 4399 + Script: | + bonus bBaseAtk,pow(getrefine(),2)*4; + - Combos: + - Combo: + - Phantom_Of_Masquerade # 19497 + - SLD_Thanatos_Card_J # 300338 + Script: | + bonus bBaseAtk,pow(getrefine(),2)*2; + - Combos: + - Combo: + - Walking_Stick_ # 1675 + - Magician_Hat # 5045 + Script: | + bonus bDex,2; + bonus bInt,2; + bonus bSPrecovRate,5; + bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R); + - Combos: + - Combo: + - Owlduke_Silk_Hat # 18866 + - Walking_Stick_ # 1675 + Script: | + .@r = getequiprefinerycnt(EQI_HAND_R); + bonus5 bAutoSpell,"HW_MAGICPOWER",2,(.@r*4),BF_MAGIC,0; + if (.@r>= 10) + bonus bVariableCastrate,-20; + - Combos: + - Combo: + - Owlduke_Silk_Hat # 18866 + - One_Eyed_Glass # 2239 + Script: | + bonus5 bAutoSpell,"HW_MAGICPOWER",2,(getequiprefinerycnt(EQI_HEAD_TOP)-5),BF_MAGIC,0; + - Combos: + - Combo: + - Owlduke_Silk_Hat # 18866 + - Owl_Duke_Card # 4237 + - Owl_Baron_Card # 4238 + Script: | + bonus5 bAutoSpell,"HW_MAGICPOWER",6,2,BF_MAGIC,0; + - Combos: + - Combo: + - Owlduke_Silk_Hat # 18866 + - Owl_Baron_Card # 4238 + Script: | + bonus5 bAutoSpell,"HW_MAGICPOWER",4,3,BF_MAGIC,0; + - Combos: + - Combo: + - Jirant_Dress # 15387 + - Jirant_Staff_BR # 2047 + - Combo: + - Jirant_Dress # 15387 + - Jirant_Staff # 2041 + Script: | + .@r = getequiprefinerycnt(EQI_HAND_R); + .@a = min(4,.@r-6); + skill "AL_INCAGI",1; + bonus2 bSkillAtk,"SO_ELECTRICWALK",30*.@r; + bonus2 bSkillAtk,"SO_FIREWALK",30*.@r; + bonus bMagicHPGainValue,50*.@r; + if (.@r>=7) + skill "AL_INCAGI",.@a; + - Combos: + - Combo: + - Jirant_Dress # 15387 + - Jirant_Cloak_BR # 20908 + - Combo: + - Jirant_Dress # 15387 + - Jirant_Cloak # 20852 + Script: | + .@r = getequiprefinerycnt(EQI_GARMENT); + bonus bMatkRate,2*.@r; + bonus bVariableCastrate,-2*.@r; + - Combos: + - Combo: + - Jirant_Dress # 15387 + - Professor_Card # 4561 + Script: | + bonus2 bResEff,Eff_Freeze,100; + bonus2 bVariableCastrate,"SO_PSYCHIC_WAVE",-100; + bonus5 bAutoSpellWhenHit,"SA_LANDPROTECTOR",5,-100,BF_MAGIC,0; + - Combos: + - Combo: + - Staff_170_J # 2038 + - Immortal_Dog_Tag # 32204 + Script: | + .@r = getequiprefinerycnt(EQI_HAND_R); + bonus bInt,2*.@r; + bonus2 bSkillAtk,"WL_CRIMSONROCK",.@r; + if (.@r >= 9) { + bonus bMagicHPGainValue,500; + autobonus "{ bonus2 bMagicAtkEle,Ele_Fire,50; }",10,10000,BF_MAGIC,"{ specialeffect2 255; }"; + } + - Combos: + - Combo: + - Jirant_Staff # 2041 + - Jirant_Cloak # 20852 + Script: | + bonus bMatkRate,5; + bonus2 bSubEle,Ele_Fire,20; + bonus2 bSubEle,Ele_Wind,20; + - Combos: + - Combo: + - Jirant_Staff_BR # 2047 + - Jirant_Cloak_BR # 20908 + Script: | + bonus bMatkRate,5; + bonus2 bSubEle,Ele_Fire,10; + bonus2 bSubEle,Ele_Wind,10; + - Combos: + - Combo: + - Jirant_Mirror # 28956 + - Jirant_Dress # 15387 + Script: | + bonus bMatkRate,5; + bonus2 bIgnoreDefClassRate,Class_Boss,25; + if (getequiprefinerycnt(EQI_HAND_L)>=8) { + bonus bMatkRate,5; + bonus2 bIgnoreDefClassRate,Class_Boss,25; + } + - Combos: + - Combo: + - Jirant_Mirror # 28956 + - Jirant_Cloak # 20852 + Script: | + bonus bMatkRate,5; + bonus bVariableCastrate,-5; + if (getequiprefinerycnt(EQI_HAND_L)>=8) { + bonus bFlee2,20; + bonus bMatkRate,5; + bonus bVariableCastrate,-5; + } diff --git a/db/re/item_db_equip.yml b/db/re/item_db_equip.yml index 372863e722..1dec44adc2 100644 --- a/db/re/item_db_equip.yml +++ b/db/re/item_db_equip.yml @@ -8371,7 +8371,7 @@ Body: Refineable: true Script: | bonus bMaxSP,-100; - bonus2 bSkillAtk,"LG_CANNONSPEAR",10+(getrefine()/3*3); + bonus2 bSkillAtk,"LG_CANNONSPEAR",10+(getrefine()*3); - Id: 1436 AegisName: Velum_Spear Name: Vellum Spear @@ -17475,6 +17475,24 @@ Body: bonus bBaseAtk,30; bonus bHit,5; } + - Id: 1844 + AegisName: Sinister_Fist_J + Name: Fist of Vicious Mind + Type: Weapon + Buy: 100000 + Weight: 400 + Attack: 80 + Range: 1 + Jobs: + Monk: true + Priest: true + Locations: + Right_Hand: true + WeaponLevel: 4 + EquipLevelMin: 100 + Refineable: true + Script: | + bonus bBaseAtk,getrefine(); - Id: 1845 AegisName: Probation_Knuckle Name: Trial Sura's Knuckle @@ -17615,11 +17633,11 @@ Body: .@r = getrefine(); bonus bUnbreakableWeapon; if (.@r>=7) { - bonus2 bAddRace,RC_All,5; + bonus2 bAddClass,Class_All,5; bonus2 bSubRace,RC_Player_Human,5; } if (.@r>=9) { - bonus2 bAddRace,RC_All,5; + bonus2 bAddClass,Class_All,5; bonus2 bSubRace,RC_Player_Human,5; } - Id: 1862 @@ -18673,7 +18691,7 @@ Body: bonus2 bSkillUseSP,"MI_RUSH_WINDMILL",20; - Id: 1936 AegisName: Ru_Blue_Violin - Name: Blue Violin + Name: Ru Blue Violin Type: Weapon SubType: Musical Weight: 1500 @@ -18845,6 +18863,28 @@ Body: if (.@r>=7) bonus2 bSkillAtk,"CG_ARROWVULCAN",200; bonus2 bAddRace2,RC2_BioLab,.@b; + - Id: 1943 + AegisName: Erhu + Name: Erhu + Type: Weapon + SubType: Musical + Buy: 20 + Weight: 700 + Attack: 50 + Range: 1 + Slots: 3 + Jobs: + BardDancer: true + Gender: Male + Locations: + Right_Hand: true + WeaponLevel: 2 + EquipLevelMin: 90 + Refineable: true + Script: | + autobonus3 "{ bonus2 bSPRegenRate,4,1000; }",1000,60000,"WM_SIRCLEOFNATURE"; + if (getrefine()>=10) + bonus bUnbreakableWeapon; - Id: 1944 AegisName: Hippie_Guitar Name: Hippie Guitar @@ -18927,6 +18967,26 @@ Body: bonus2 bSkillAtk,"CG_ARROWVULCAN",150; if (.@r>=9) bonus2 bSkillAtk,"CG_ARROWVULCAN",50; + - Id: 1947 + AegisName: Sinister_Viollin_J + Name: Violin of Vicious Mind + Type: Weapon + SubType: Musical + Buy: 100000 + Weight: 250 + Attack: 100 + MagicAttack: 100 + Range: 1 + Jobs: + BardDancer: true + Gender: Male + Locations: + Right_Hand: true + WeaponLevel: 4 + EquipLevelMin: 100 + Refineable: true + Script: | + bonus bMatk,getrefine(); - Id: 1948 AegisName: Hippie_Guitar_J Name: Hippie Guitar @@ -19855,7 +19915,7 @@ Body: bonus bAspdRate,20; - Id: 1990 AegisName: Floral_Mic_Of_Igu - Name: Bloody Floral Decoration Microphone + Name: Floral Mic Of Aigu Type: Weapon SubType: Whip Buy: 20 @@ -19878,7 +19938,7 @@ Body: bonus2 bSkillUseSP,"WA_MOONLIT_SERENADE",20; - Id: 1991 AegisName: Ru_Blue_Whip - Name: Blue Whip + Name: Ru Blue Whip Type: Weapon SubType: Whip Buy: 10 @@ -19920,6 +19980,26 @@ Body: Script: | bonus bDex,8; bonus bVit,8; + - Id: 1993 + AegisName: Concertina_Wire + Name: Barbed Wire + Type: Weapon + SubType: Whip + Weight: 1200 + Attack: 80 + Range: 2 + Slots: 1 + Jobs: + BardDancer: true + Gender: Female + Locations: + Right_Hand: true + WeaponLevel: 4 + EquipLevelMin: 105 + Refineable: true + Script: | + bonus bDefRatioAtkClass,Class_All; + bonus bSPDrainValue,-3; - Id: 1994 AegisName: Whip_Of_Infinite Name: Infinity Whip @@ -20015,6 +20095,53 @@ Body: NoAuction: true Script: | bonus bBaseAtk,pow(getrefine(),2)*125/100; + - Id: 1998 + AegisName: Thanos_Whip_J + Name: Requiem Blade Whip + Type: Weapon + Buy: 100000 + Attack: 160 + MagicAttack: 120 + Range: 2 + Jobs: + BardDancer: true + Gender: Female + Locations: + Right_Hand: true + WeaponLevel: 4 + EquipLevelMin: 100 + Refineable: true + Script: | + .@r = getrefine(); + .@b = 40; + bonus bUnbreakableWeapon; + if (.@r>=5) + .@b += (.@r-5)*15+20; + if (.@r>=7) + bonus2 bSkillAtk,"CG_ARROWVULCAN",200; + bonus2 bAddRace2,RC2_BioLab,.@b; + - Id: 1999 + AegisName: Moonlight_Bell + Name: Phantom Bell + Type: Weapon + SubType: Whip + Buy: 20 + Weight: 400 + Attack: 45 + Range: 2 + Slots: 3 + Jobs: + BardDancer: true + Gender: Female + Locations: + Right_Hand: true + WeaponLevel: 2 + EquipLevelMin: 90 + Refineable: true + Script: | + autobonus3 "{ bonus2 bSPRegenRate,4,1000; }",1000,60000,"WM_SIRCLEOFNATURE"; + if (getrefine()>=10) + bonus bUnbreakableWeapon; - Id: 2000 AegisName: Destruction_Rod Name: Staff of Destruction @@ -20615,6 +20742,7 @@ Body: Weight: 3000 Attack: 200 MagicAttack: 280 + Range: 1 Jobs: Sage: true SoulLinker: true @@ -20643,7 +20771,7 @@ Body: All_Third: true Fourth: true Locations: - Right_Hand: true + Both_Hand: true WeaponLevel: 4 EquipLevelMin: 100 Refineable: true @@ -20651,7 +20779,7 @@ Body: bonus bInt,25; bonus bDex,25; bonus3 bAddEff,Eff_Poison,1000,ATF_MAGIC; - bonus3 bAutoSpell,"AB_SILENTIUM",1,100; + bonus3 bAutoSpellWhenHit,"AB_SILENTIUM",1,100; bonus bUnbreakableWeapon; - Id: 2022 AegisName: Staff_Of_Geffen @@ -20717,6 +20845,7 @@ Body: Weight: 500 Attack: 30 MagicAttack: 170 + Range: 1 Slots: 1 Jobs: Monk: true @@ -20798,6 +20927,7 @@ Body: Attack: 150 MagicAttack: 320 Slots: 2 + Range: 1 Jobs: Monk: true Priest: true @@ -20817,6 +20947,84 @@ Body: bonus bMatkRate,(.@r/2); bonus bDelayrate,(.@r*-1); bonus bUnbreakableWeapon; + - Id: 2028 + AegisName: Aion_Staff + Name: Iron Staff + Type: Weapon + SubType: 2hStaff + Buy: 49800 + Weight: 2500 + Attack: 180 + MagicAttack: 24 + Range: 1 + Slots: 2 + Jobs: + Wizard: true + Classes: + All_Third: true + Fourth: true + Locations: + Both_Hand: true + WeaponLevel: 4 + EquipLevelMin: 110 + Refineable: true + Script: | + .@r = getrefine(); + bonus bAtkEle,Ele_Ghost; + bonus bMatk,24*(getskilllv("HW_MAGICPOWER")); + bonus2 bSkillUseSP,"WL_READING_SB",24; + bonus2 bIgnoreMdefClassRate,Class_All,8*(.@r/3); + bonus2 bSkillVariableCast,"WL_READING_SB",-1000*(getskilllv("WL_FREEZE_SP")); + autobonus3 "{ bonus bMatkRate,8*(getskilllv(\"WL_RADIUS\"); }",1000,1000,"WL_RELEASE"; + if (getskilllv("WL_RELEASE") == 2) { + bonus2 bSkillVariableCast,"WL_SUMMONFB",-1000; + bonus2 bSkillVariableCast,"WL_SUMMONWB",-1000; + bonus2 bSkillVariableCast,"WL_SUMMONSTONE",-1000; + bonus2 bSkillVariableCast,"WL_SUMMONBL",-1000; + } + - Id: 2029 + AegisName: TStaff_Of_E_Slayer_J + Name: Devil God's Staff + Type: Weapon + SubType: 2hStaff + Buy: 56000 + Weight: 800 + Attack: 30 + MagicAttack: 155 + Range: 1 + Jobs: + Acolyte: true + Mage: true + Monk: true + Novice: true + Priest: true + Sage: true + SoulLinker: true + SuperNovice: true + Wizard: true + Locations: + Both_Hand: true + WeaponLevel: 3 + EquipLevelMin: 70 + Refineable: true + Script: | + .@r = getrefine(); + bonus2 bAddDamageClass,1916,40; + bonus2 bAddMagicDamageClass,1916,40; + bonus2 bAddDefMonster,1916,10; + bonus2 bAddMDefMonster,1916,10; + if (.@r>=7) { + bonus2 bAddDamageClass,1916,60; + bonus2 bAddMagicDamageClass,1916,60; + bonus2 bAddDefMonster,1916,20; + bonus2 bAddMDefMonster,1916,20; + } + if (.@r>=9) { + bonus2 bAddDamageClass,1916,80; + bonus2 bAddMagicDamageClass,1916,80; + bonus2 bAddDefMonster,1916,40; + bonus2 bAddMDefMonster,1916,40; + } - Id: 2030 AegisName: Unity_Two-Handed_Staff Name: Unity Two-Handed Staff @@ -20863,7 +21071,7 @@ Body: All_Third: true Fourth: true Locations: - Right_Hand: true + Both_Hand: true WeaponLevel: 4 EquipLevelMin: 100 Refineable: true @@ -20918,6 +21126,49 @@ Body: if (BaseJob == JOB_WIZARD) { bonus bMatk,15; } + - Id: 2034 + AegisName: Avenger_Wizardy_Staff + Name: Avenger Wizard Staff + Type: Weapon + SubType: 2hStaff + Buy: 20 + Attack: 70 + MagicAttack: 210 + Range: 1 + Jobs: + Monk: true + Priest: true + Sage: true + SoulLinker: true + SuperNovice: true + Wizard: true + Classes: + All_Third: true + Fourth: true + Locations: + Both_Hand: true + WeaponLevel: 4 + EquipLevelMin: 100 + Refineable: true + Script: | + .@r = getrefine(); + bonus bUnbreakableWeapon; + bonus2 bMagicAddRace,RC_DemiHuman,25; + bonus2 bSubRace,RC_DemiHuman,10; + bonus2 bIgnoreMdefRaceRate,RC_DemiHuman,5*.@r; + if (.@r>4) { + bonus2 bMagicAddRace,RC_DemiHuman,10; + bonus2 bSubRace,RC_DemiHuman,10; + } + if (.@r>6) { + .@bonus = 10; + if(.@r>7) + .@bonus += min((.@r - 7) * 2,6); + bonus2 bMagicAddRace,RC_DemiHuman,.@bonus; + bonus2 bSubRace,RC_DemiHuman,10; + } + if (.@r>8) + bonus2 bSkillAtk,"WL_COMET",20; - Id: 2035 AegisName: Diva_Staff Name: Diva Staff @@ -20982,6 +21233,64 @@ Body: bonus bMatkRate,4; if (.@r>=9) bonus bMatkRate,4; + - Id: 2037 + AegisName: Sinister_Staff_J + Name: Staff of Vicious Mind + Type: Weapon + SubType: 2hStaff + Buy: 100000 + Weight: 1000 + Attack: 100 + MagicAttack: 200 + Range: 1 + Jobs: + Monk: true + Priest: true + Sage: true + SoulLinker: true + SuperNovice: true + Wizard: true + Classes: + Third: true + Third_Upper: true + Third_Baby: true + Locations: + Both_Hand: true + WeaponLevel: 4 + EquipLevelMin: 100 + Refineable: true + Script: | + bonus bMatk,getrefine(); + - Id: 2038 + AegisName: Staff_170_J + Name: Sunflower Kid + Type: Weapon + SubType: 2hStaff + Buy: 10 + Weight: 900 + Attack: 40 + MagicAttack: 210 + Range: 1 + Slots: 1 + Jobs: + Wizard: true + Classes: + Third: true + Third_Upper: true + Third_Baby: true + Locations: + Both_Hand: true + WeaponLevel: 4 + EquipLevelMin: 150 + Refineable: true + Script: | + .@r = getrefine(); + bonus2 bIgnoreMdefClassRate,Class_All,5*.@r; + bonus2 bMagicAtkEle,Ele_Fire,3*.@r; + if (getskilllv("WZ_SIGHTRASHER") == 10) + bonus2 bMagicAtkEle,Ele_Fire,20; + autobonus3 "{ bonus2 bSkillAtk,\"WZ_METEOR\",60; }",10*.@r,5000,"WZ_METEOR"; + /*Unknown Rate*/ - Id: 2039 AegisName: Wizardy_Staff_IL Name: Illusion Wizardry Staff @@ -21043,6 +21352,48 @@ Body: if (getrefine()>=7) { bonus bMatkRate,getskilllv("WZ_STORMGUST"); } + - Id: 2041 + AegisName: Jirant_Staff + Name: Flame Thunder Witch's Wand + Type: Weapon + SubType: 2hStaff + Weight: 2700 + Attack: 200 + MagicAttack: 350 + Range: 1 + Slots: 1 + Jobs: + Sage: true + Classes: + Third: true + Third_Upper: true + Third_Baby: true + Locations: + Both_Hand: true + WeaponLevel: 4 + EquipLevelMin: 130 + Refineable: true + Script: | + .@r = getrefine(); + bonus bUnbreakableWeapon; + bonus bInt,5; + bonus bDex,10; + bonus bVariableCastrate,-30; + bonus2 bMagicAtkEle,Ele_Fire,(getskilllv("SO_FIREWALK")*10)+(.@r*5); + bonus2 bMagicAtkEle,Ele_Wind,(getskilllv("SO_ELECTRICWALK")*10)+(.@r*5); + bonus2 bSkillAtk,"SO_FIREWALK",30*(.@r/2); + bonus2 bSkillAtk,"SO_ELECTRICWALK",30*(.@r/2); + bonus2 bIgnoreMdefClassRate,Class_All,5*@r; + if (.@r>=9) { + bonus3 bAddEffOnSkill,"SO_ELECTRICWALK",Eff_Silence,1000; + bonus3 bAddEffOnSkill,"SO_FIREWALK",Eff_Curse,1000; + } + if (.@r>=11) { + bonus2 bSkillAtk,"SO_FIREWALK",100; + bonus2 bSkillAtk,"SO_ELECTRICWALK",100; + } + if (.@r>=12) + bonus bFixedCastrate,-70; - Id: 2046 AegisName: Novice_Warlock's_Staff Name: Novice Warlock's Staff @@ -21068,6 +21419,48 @@ Body: if (.@r>=7) { bonus2 bSkillAtk,"WL_CRIMSONROCK",15; } + - Id: 2047 + AegisName: Jirant_Staff_BR + Name: Witch's Staff + Type: Weapon + SubType: 2hStaff + Weight: 2700 + Attack: 20 + MagicAttack: 350 + Range: 1 + Slots: 1 + Jobs: + Sage: true + Classes: + Third: true + Third_Upper: true + Third_Baby: true + Locations: + Both_Hand: true + WeaponLevel: 4 + EquipLevelMin: 130 + Refineable: true + Script: | + .@r = getrefine(); + bonus bUnbreakableWeapon; + bonus bInt,5; + bonus bDex,10; + bonus bVariableCastrate,-30; + bonus2 bMagicAtkEle,Ele_Fire,(getskilllv("SO_FIREWALK")*10)+(.@r*5); + bonus2 bMagicAtkEle,Ele_Wind,(getskilllv("SO_ELECTRICWALK")*10)+(.@r*5); + bonus2 bSkillAtk,"SO_FIREWALK",30*.@r; + bonus2 bSkillAtk,"SO_ELECTRICWALK",30*.@r; + bonus2 bIgnoreMdefClassRate,Class_All,5*.@r; + if (.@r>=7) { + bonus3 bAddEffOnSkill,"SO_ELECTRICWALK",Eff_Silence,1000; + bonus3 bAddEffOnSkill,"SO_FIREWALK",Eff_Curse,1000; + } + if (.@r>=9) { + bonus2 bSkillAtk,"SO_FIREWALK",100; + bonus2 bSkillAtk,"SO_ELECTRICWALK",100; + } + if (.@r>=10) + bonus bFixedCastrate,-70; - Id: 2048 AegisName: Aeon_Staff Name: Aeon Staff @@ -29105,7 +29498,7 @@ Body: bonus2 bAddRace,RC_Player_Doram,5; bonus2 bMagicAddRace,RC_Player_Human,5; bonus2 bMagicAddRace,RC_Player_Doram,5; - bonus2 bResEff,Eff_Freeze,25; + bonus2 bResEff,Eff_Freeze,2500; - Id: 2497 AegisName: TE_Woe_Boots Name: TE Woe Boots @@ -29136,7 +29529,7 @@ Body: bonus bMaxSP,100; bonus2 bAddRace,RC_Player_Human,10; bonus2 bAddRace,RC_Player_Doram,10; - bonus2 bResEff,Eff_Freeze,25; + bonus2 bResEff,Eff_Freeze,2500; - Id: 2498 AegisName: TE_Woe_Magic_Sandal Name: TE Woe Magic Sandal @@ -29171,7 +29564,7 @@ Body: bonus bMaxSP,200; bonus2 bMagicAddRace,RC_Player_Human,5; bonus2 bMagicAddRace,RC_Player_Doram,5; - bonus2 bResEff,Eff_Freeze,25; + bonus2 bResEff,Eff_Freeze,2500; - Id: 2499 AegisName: Temporal_Boots Name: Temporal Boots @@ -38015,7 +38408,7 @@ Body: bonus bVariableCastrate,-25; - Id: 2989 AegisName: Floral_Bracelet_Of_Igu - Name: Bloody Floral Decoration Bracelet + Name: Floral Bracelet Of Aigu Type: Armor Buy: 20 Weight: 100 @@ -54751,7 +55144,7 @@ Body: bonus2 bSkillAtk,"HT_BLITZBEAT",getskilllv("HT_STEELCROW") * 40; - Id: 5968 AegisName: DVAngelNurseCap - Name: DVAngelNurseCap + Name: Clergy Nurse Cap Type: Armor Weight: 500 Defense: 10 @@ -68548,6 +68941,25 @@ Body: Script: | skill "MC_IDENTIFY",1; skill "WZ_ESTIMATION",1; + - Id: 15387 + AegisName: Jirant_Dress + Name: Witch's Dress + Type: Armor + Buy: 20 + Weight: 800 + Defense: 35 + Slots: 1 + Locations: + Armor: true + ArmorLevel: 1 + EquipLevelMin: 130 + Refineable: true + Script: | + .@r = getrefine(); + bonus bMdef,10; + bonus2 bIgnoreDefClassRate,Class_Boss,50; + bonus2 bMagicAtkEle,Ele_Wind,2*.@r; + bonus bMatk,15*.@r; - Id: 15388 AegisName: King_Schmidt_Suit Name: King Schmidt's Suit @@ -78251,6 +78663,33 @@ Body: Script: | .@dex = readparam(bDex); bonus bUseSPrate,-5-((.@dex >= 120)?5:0)-((.@dex >= 100)?5:0); + - Id: 18804 + AegisName: Thornbush_Hairband + Name: Thornbush Hairband + Type: Armor + Weight: 300 + Defense: 5 + Slots: 1 + Locations: + Head_Top: true + ArmorLevel: 1 + EquipLevelMin: 10 + View: 921 + Refineable: true + Script: | + .@r = getrefine(); + bonus bInt,1; + bonus bDex,1; + bonus2 bMagicAddEle,Ele_Fire,5; + bonus2 bMagicAddEle,Ele_Water,5; + bonus2 bMagicAddEle,Ele_Wind,5; + bonus2 bMagicAddEle,Ele_Earth,5; + if (.@r>=5) { + bonus2 bMagicAddEle,Ele_Fire,min(.@r,10)*2; + bonus2 bMagicAddEle,Ele_Water,min(.@r,10)*2; + bonus2 bMagicAddEle,Ele_Wind,min(.@r,10)*2; + bonus2 bMagicAddEle,Ele_Earth,min(.@r,10)*2; + } - Id: 18805 AegisName: Eclipse_Hat Name: Eclipse Hat @@ -79146,6 +79585,25 @@ Body: bonus bCritAtkRate,20; if (getskilllv("PR_MACEMASTERY") == 10) bonus bAspdRate,10; + - Id: 18866 + AegisName: Owlduke_Silk_Hat + Name: Owl Duke Silk Hat + Type: Armor + Buy: 20 + Weight: 500 + Defense: 15 + Slots: 1 + Locations: + Head_Top: true + ArmorLevel: 1 + EquipLevelMin: 70 + Refineable: true + Script: | + if (getrefine() > 6) + .@val = getrefine(); + bonus bAgi,1; + bonus bInt,2; + bonus5 bAutoSpell,"HW_MAGICPOWER",2,5+.@val,BF_MAGIC,0; - Id: 18867 AegisName: Vajra Name: Vajra @@ -81037,6 +81495,19 @@ Body: View: 870 Script: | bonus bVit,3; + - Id: 19027 + AegisName: 10_Type_Glasses + Name: 10 Type Glasses + Type: Armor + Weight: 200 + Locations: + Head_Mid: true + ArmorLevel: 1 + EquipLevelMin: 10 + View: 1237 + Script: | + bonus2 bMagicAddRace,RC_Brute,5; + bonus2 bSubRace,RC_Brute,5; - Id: 19030 AegisName: Pretty_Rabbit_Hood Name: Pretty Rabbit Hood @@ -81768,6 +82239,52 @@ Body: bonus bMatkRate,7; bonus bHealPower,7; } + - Id: 19108 + AegisName: Wild_Poring_Rider + Name: Wild Poring Rider + Type: Armor + Weight: 1000 + Defense: 9 + Slots: 1 + Locations: + Head_Top: true + ArmorLevel: 1 + EquipLevelMin: 30 + View: 1422 + Refineable: true + Script: | + if ((eaclass()&EAJ_UPPERMASK) == EAJ_KNIGHT) + bonus2 bAddMonsterDropItemGroup,IG_RUNE_CRAFT_MATERIALS,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_CRUSADER) + bonus2 bAddMonsterDropItemGroup,IG_JUICE,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_PRIEST) + bonus2 bAddMonsterDropItem,523,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_MONK) + bonus2 bAddMonsterDropItem,605,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_WIZARD) + bonus2 bAddMonsterDropItemGroup,IG_GEMSTONE,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SAGE) + bonus2 bAddMonsterDropItemGroup,IG_ELEMENTAL_CONVERTER,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ASSASSIN) + bonus2 bAddMonsterDropItemGroup,IG_POISONS,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ROGUE || (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) + bonus2 bAddMonsterDropItem,23660,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_HUNTER || (eaclass()&EAJ_UPPERMASK) == EAJ_BARDDANCER) + bonus2 bAddMonsterDropItemGroup,IG_QUIVER,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_BLACKSMITH) + bonus2 bAddMonsterDropItemGroup,IG_BLACKSMITH,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_ALCHEMIST) + bonus2 bAddMonsterDropItemGroup,IG_POTION_CRAFT_MATERIALS,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_NINJA) + bonus2 bAddMonsterDropItemGroup,IG_KUNAI_BOX,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_GUNSLINGER) + bonus2 bAddMonsterDropItemGroup,IG_BULLET_CASE,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_SOUL_LINKER) + bonus2 bAddMonsterDropItemGroup,IG_SOUL_LINKER,100; + else if ((eaclass()&EAJ_UPPERMASK) == EAJ_STAR_GLADIATOR) + bonus2 bAddMonsterDropItemGroup,IG_ELEMENTAL_STONES,100; + else + bonus2 bAddMonsterDropItem,522,100; - Id: 19109 AegisName: Valhalla_Idol Name: Valhalla Idol @@ -86299,6 +86816,30 @@ Body: bonus bAllStats,10; /*bonus2 bAddRace2,RC2_TEMPLE_DEMON,30; bonus2 bMagicAddRace2,RC2_TEMPLE_DEMON,30;*/ + - Id: 19497 + AegisName: Phantom_Of_Masquerade + Name: Phantom of Masquerade + Type: Armor + Weight: 500 + Defense: 12 + Slots: 1 + Locations: + Head_Top: true + ArmorLevel: 1 + EquipLevelMin: 100 + Refineable: true + Script: | + .@r = getrefine(); + bonus bStr,5; + bonus bAgi,5; + bonus2 bAddRace,RC_All,10; + bonus2 bResEff,Eff_Stone,5000; + if (.@r>=7) { + bonus2 bAddRace,RC_All,15; + bonus bDelayrate,-20; + } + if (.@r>=9) + bonus bDefRatioAtkClass,Class_All; - Id: 19498 AegisName: CitrusRibbon Name: Citrus Ribbon @@ -98928,6 +99469,65 @@ Body: Refineable: true Script: | bonus bVit,15; + - Id: 20852 + AegisName: Jirant_Cloak + Name: Witch's Cloak + Type: Armor + Weight: 1000 + Defense: 16 + Slots: 1 + Locations: + Garment: true + ArmorLevel: 1 + EquipLevelMin: 130 + Refineable: true + Script: | + .@r = getrefine(); + bonus2 bSubEle,Ele_Fire,5*@r; + bonus2 bSubEle,Ele_Wind,5*@r; + if (.@r>=7) { + bonus bMatkRate,5; + bonus bVariableCastrate,-5; + } + if (.@r>=9) { + bonus bMatkRate,5; + bonus bVariableCastrate,-5; + } + if (.@r>=10) + bonus bNoWalkDelay; + - Id: 20854 + AegisName: Medical_Cape + Name: Medical Cape + Type: Armor + Weight: 600 + Defense: 12 + Slots: 1 + Locations: + Garment: true + ArmorLevel: 1 + EquipLevelMin: 10 + Refineable: true + Script: | + .@r = getrefine(); + .@drop = 50; + bonus bHPGainValue,100; + bonus bMagicHPGainValue,100; + bonus bSPGainValue,10; + bonus bMagicSPGainValue,10; + if (.@r>=7) + .@drop += 50; + if (.@r>=9) + .@drop += 100; + bonus3 bAddMonsterDropItem,23360,RC_Brute,.@drop; + bonus3 bAddMonsterDropItem,23360,RC_Fish,.@drop; + bonus3 bAddMonsterDropItem,12791,RC_Fish,.@drop; + bonus3 bAddMonsterDropItem,12791,RC_Insect,.@drop; + bonus3 bAddMonsterDropItem,12016,RC_Demon,.@drop; + bonus3 bAddMonsterDropItem,12016,RC_DemiHuman,.@drop; + bonus3 bAddMonsterDropItem,23361,RC_Dragon,.@drop; + bonus3 bAddMonsterDropItem,23361,RC_Formless,.@drop; + bonus3 bAddMonsterDropItem,678,RC_Angel,.@drop; + bonus3 bAddMonsterDropItem,678,RC_Undead,.@drop; - Id: 20855 AegisName: Rental_Oxygen_Bomb Name: Costume Oxygen Tank @@ -99182,6 +99782,32 @@ Body: Script: | bonus2 bSubEle,Ele_Neutral,20; bonus bVariableCastrate,-5; + - Id: 20908 + AegisName: Jirant_Cloak_BR + Name: Witch's Cloak + Type: Armor + Weight: 1000 + Defense: 16 + Slots: 1 + Locations: + Garment: true + ArmorLevel: 1 + EquipLevelMin: 130 + Refineable: true + Script: | + .@r = getrefine(); + bonus2 bSubEle,Ele_Fire,5*(.@r/2); + bonus2 bSubEle,Ele_Wind,5*(.@r/2); + if (.@r>=5) { + bonus bMatkRate,5; + bonus bVariableCastrate,-5; + } + if (.@r>=7) { + bonus bMatkRate,5; + bonus bVariableCastrate,-5; + } + if (.@r>=15) + bonus bNoWalkDelay; - Id: 20918 AegisName: Angel_Poring_Wing Name: Angel Poring Wing @@ -100958,6 +101584,11 @@ Body: Attack: 180 Range: 1 Slots: 2 + Jobs: + Knight: true + Classes: + All_Third: true + Fourth: true Locations: Both_Hand: true WeaponLevel: 4 @@ -114494,7 +115125,7 @@ Body: .@val += 5; } if (.@r>=9) { - skill "WZ_WATERBALL",getskilllv("HW_GRAVITATION"); + skill "HW_GRAVITATION",getskilllv("WZ_WATERBALL"); } bonus2 bMagicAtkEle,Ele_Neutral,.@val; bonus2 bMagicAtkEle,Ele_Fire,.@val; @@ -116232,7 +116863,7 @@ Body: Refineable: true Script: | .@r = getrefine(); - bonus bMatk,(.@r/2); + bonus bMatk,15+(.@r/2); if (.@r==9) bonus3 bAutoSpell,"MG_NAPALMBEAT",7,70; else if (.@r>9) @@ -117795,6 +118426,14 @@ Body: MagicAttack: 175 Range: 1 Slots: 2 + Jobs: + SuperNovice: true + Wizard: true + Priest: true + SoulLinker: true + Classes: + All_Third: true + Fourth: true Locations: Right_Hand: true WeaponLevel: 4 @@ -126836,6 +127475,26 @@ Body: if (readparam(bLuk)>=90) bonus bCritAtkRate,5; } + - Id: 28956 + AegisName: Jirant_Mirror + Name: Witch's Hand Mirror + Type: Armor + View: 1 + Buy: 20 + Weight: 500 + Defense: 80 + Slots: 1 + Locations: + Left_Hand: true + ArmorLevel: 1 + EquipLevelMin: 65 + Refineable: true + Script: | + bonus bMdef,5; + bonus2 bSubEle,Ele_Fire,20; + bonus2 bSubEle,Ele_Wind,20; + bonus2 bSubEle,Ele_Holy,20+(getskilllv("CR_TRUST")*2); + bonus2 bSubEle,Ele_Ghost,20; - Id: 31027 AegisName: C_Pretty_Bear Name: Costume Pretty Bear @@ -137932,6 +138591,55 @@ Body: if (.@r>=11) { bonus2 bAddSize,Size_All,10; } + - Id: 400101 + AegisName: aegis_400101 + Name: Gate of Netherworld + Type: Armor + Weight: 100 + Defense: 12 + Locations: + Head_Top: true + ArmorLevel: 1 + EquipLevelMin: 100 + View: 2016 + Refineable: true + Script: | + .@r = getrefine(); + bonus bAgi,5; + bonus bInt,5; + bonus bDef,3; + bonus bMdef,10; + bonus2 bAddRace,RC_All,10; + bonus2 bMagicAddRace,RC_All,10; + if (.@i>=7) { + bonus2 bAddRace,RC_All,15; + bonus2 bMagicAddRace,RC_All,15; + bonus bFixedCastrate,-50; + } + if (.@i>=9) { + bonus bAspdRate,15; + bonus bFixedCastrate,-70; + } + - Id: 400113 + AegisName: Victory_Ear_JP + Name: Victory Wing Ear + Type: Armor + Weight: 300 + Defense: 2 + Locations: + Head_Mid: true + ArmorLevel: 1 + EquipLevelMin: 100 + View: 1185 + Script: | + bonus bMaxHPrate,10; + bonus bMaxSPrate,10; + bonus2 bResEff,Eff_Confusion,10000; + bonus2 bMagicAddSize,Size_All,10; + if (getskilllv("AB_ADORAMUS") >= 10) + bonus bNoGemStone; + if (getskilllv("AB_PRAEFATIO") >= 10) + bonus bDelayrate,-15; - Id: 400115 AegisName: C_Rag_Origin_Hat Name: Costume Angeling Bread Hat @@ -140966,6 +141674,20 @@ Body: bonus bCritAtkRate,7; } } + - Id: 420000 + AegisName: aegis_420000 + Name: Isabella Carrot + Type: Armor + Weight: 100 + Locations: + Head_Low: true + ArmorLevel: 1 + EquipLevelMin: 70 + View: 829 + Script: | + bonus bVit,1; + bonus bDex,1; + bonus bInt,1; - Id: 420003 AegisName: CD_In_MouthK Name: CD in Mouth @@ -141662,6 +142384,50 @@ Body: bonus bMaxSPrate,5; bonus bLongAtkDef,5; bonus bHealPower2,5; + - Id: 420134 + AegisName: aegis_420134 + Name: The Spirit Of World + Type: Armor + Weight: 600 + Locations: + Head_Low: true + ArmorLevel: 1 + EquipLevelMin: 100 + Script: | + .@str = readparam(bStr); + .@agi = readparam(bAgi); + .@vit = readparam(bVit); + .@int = readparam(bInt); + .@dex = readparam(bDex); + .@luk = readparam(bLuk); + bonus bMatk,60; + bonus2 bHPRegenRate,60,6000; + bonus2 bMagicAtkEle,Ele_Neutral,2*(.@str/10); + bonus2 bMagicAtkEle,Ele_Wind,2*(.@agi/10); + bonus2 bMagicAtkEle,Ele_Earth,2*(.@vit/10); + bonus2 bMagicAtkEle,Ele_Fire,2*(.@int/10); + bonus2 bMagicAtkEle,Ele_Water,2*(.@dex/10); + bonus2 bMagicAtkEle,Ele_Holy,2*(.@luk/10); + if (.@str + .@agi + .@vit + .@int + .@dex + .@luk >= 60) + bonus2 bMagicAtkEle,Ele_Ghost,2; + hateffect HAT_EF_STRANGELIGHTS,true; + UnEquipScript: | + hateffect HAT_EF_STRANGELIGHTS,false; + - Id: 420141 + AegisName: aegis_420141 + Name: Flutter Butterfly + Type: Armor + Weight: 100 + Locations: + Head_Low: true + ArmorLevel: 1 + EquipLevelMin: 1 + Script: | + bonus bAspd,1; + bonus bLongAtkRate,min(readparam(bDex)/10,10); + hateffect HAT_EF_FLUTTER_BUTTERFLY,true; + UnEquipScript: | + hateffect HAT_EF_FLUTTER_BUTTERFLY,false; - Id: 436000 AegisName: aegis_436000 Name: Thanatos's Maeror Mask @@ -149069,6 +149835,49 @@ Body: } } } + - Id: 470112 + AegisName: Moaning_of_EvilSpirits + Name: Moaning of EvilSpirits # !todo check english name + Type: Armor + Weight: 500 + Defense: 15 + Slots: 1 + Locations: + Shoes: true + ArmorLevel: 1 + EquipLevelMin: 99 + Refineable: true + Script: | + .@r = getrefine(); + bonus bMdef,15; + bonus bMatkRate,15; + bonus2 bSubClass,Class_Boss,5; + bonus bMaxHPrate,4*.@r; + if (.@r>=7) { + bonus2 bMagicAtkEle,Ele_Dark,20; + bonus2 bMagicAtkEle,Ele_Neutral,20; + } + if (.@r>=9) { + bonus2 bMagicAtkEle,Ele_Dark,25; + bonus2 bMagicAtkEle,Ele_Neutral,25; + } + - Id: 470113 + AegisName: Hollow_Shoes_ + Name: Hollow Shoes + Type: Armor + Weight: 500 + Defense: 15 + Slots: 1 + Locations: + Shoes: true + ArmorLevel: 1 + EquipLevelMin: 99 + Refineable: true + Script: | + bonus bMdef,5; + bonus bMatk,50; + bonus bDelayrate,10; + bonus2 bMagicAddEle,Ele_All,getrefine(); - Id: 470115 AegisName: Snowflower_Boots Name: Snowflower Boots @@ -149114,6 +149923,32 @@ Body: bonus bSMatk,2; } } + - Id: 470123 + AegisName: aegis_470123 + Name: Hunting Shoes + Type: Armor + Weight: 900 + Defense: 30 + Slots: 1 + Locations: + Shoes: true + ArmorLevel: 1 + EquipLevelMin: 30 + Refineable: true + Script: | + .@r = getrefine(); + bonus bMaxHP,1000; + bonus bMaxSP,200; + if (.@r>=7) + bonus2 bExpAddClass,Class_All,8; + if (.@r>=9) + .@dmg = 15; + if (.@r>=11) + .@dmg += 20; + bonus2 RC_Brute,r,.@dmg; + bonus2 RC_Fish,r,.@dmg; + bonus2 RC_Brute,r,.@dmg; + bonus2 RC_Fish,r,.@dmg; - Id: 480000 AegisName: Attacker_Booster_Manteau_ Name: Attacker Booster Manteau @@ -149953,6 +150788,39 @@ Body: bonus2 bSubEle,Ele_Fire,20; bonus2 bSubEle,Ele_Water,20; } + - Id: 480085 + AegisName: Devil_Manteau_JP + Name: Devils Garment + Type: Armor + Weight: 300 + Defense: 25 + Slots: 1 + Locations: + Garment: true + ArmorLevel: 1 + EquipLevelMin: 100 + Refineable: true + Script: | + .@r = getrefine(); + bonus bMaxHPrate,2; + bonus bMaxSPrate,2; + bonus2 bAddSize,Size_All,5; + bonus2 bSubRace,RC_Player_Human,5; + bonus2 bSubRace,RC_Player_Doram,5; + if (getskilllv("SR_EARTHSHAKER") >= 5) + bonus2 bSkillCooldown,"SR_HOWLINGOFLION",-200; + bonus2 bSkillAtk,"SR_HOWLINGOFLION",15*getskilllv("SR_RAMPAGEBLASTER"); + bonus bPerfectHitRate,4*getskilllv("SR_RIDEINLIGHTNING"); + if (.@r>=5) { + bonus bMaxHPrate,3; + bonus bMaxSPrate,3; + bonus bVariableCastrate,-5; + } + if (.@r>=7) { + bonus bMaxHPrate,5; + bonus bMaxSPrate,5; + bonus bVariableCastrate,-5; + } - Id: 480086 AegisName: C_CAPOO_Bag_TW Name: Costume CAPOO Bag # !todo check english name @@ -150748,9 +151616,17 @@ Body: Slots: 1 Jobs: Archer: true + Hunter: true + BardDancer: true Merchant: true + Blacksmith: true + Alchemist: true Swordman: true + Knight: true + Crusader: true Thief: true + Assassin: true + Rogue: true Locations: Garment: true ArmorLevel: 1 @@ -150771,8 +151647,14 @@ Body: Slots: 1 Jobs: Acolyte: true + Priest: true + Monk: true Archer: true + Hunter: true + BardDancer: true Mage: true + Wizard: true + Sage: true SoulLinker: true Locations: Garment: true @@ -150794,9 +151676,17 @@ Body: Slots: 1 Jobs: Swordman: true + Knight: true + Crusader: true Thief: true + Assassin: true + Rogue: true Acolyte: true + Priest: true + Monk: true Merchant: true + Blacksmith: true + Alchemist: true Locations: Garment: true ArmorLevel: 1 @@ -150810,6 +151700,42 @@ Body: bonus bMaxSPrate,.@r/2; if (.@r>=9) bonus2 bAddClass,Class_All,5; + - Id: 480182 + AegisName: aegis_480182 + Name: Bastawtozaq Heart + Type: Armor + Weight: 100 + Defense: 12 + Slots: 1 + Locations: + Garment: true + ArmorLevel: 1 + EquipLevelMin: 100 + Refineable: true + Script: | + .@r = getrefine(); + bonus2 bSubEle,Ele_Fire,10; + bonus2 bSubEle,Ele_Water,10; + bonus bAspdRate,5; + bonus2 bSkillAtk,"RK_DRAGONBREATH",7*(.@r/3); + bonus2 bSkillAtk,"RK_DRAGONBREATH_WATER",7*(.@r/3); + if (getskilllv("RK_DRAGONBREATH") >= 10) + bonus bLongAtkRate,5; + if (getskilllv("RK_DRAGONBREATH_WATER") >= 10) + bonus bLongAtkRate,5; + if (.@r>=9) { + bonus2 bSubEle,Ele_Fire,5; + bonus2 bSubEle,Ele_Water,5; + bonus bLongAtkDef,10; + bonus bMaxHPrate,10; + bonus bMaxSPrate,10; + } + if (.@r>=11) { + bonus2 bSubEle,Ele_Fire,5; + bonus2 bSubEle,Ele_Water,5; + bonus bLongAtkDef,10; + bonus bAspdRate,5; + } - Id: 490004 AegisName: Attacker_Booster_Ring Name: Attacker Booster Ring @@ -165781,6 +166707,11 @@ Body: Attack: 250 Range: 1 Slots: 2 + Jobs: + Blacksmith: true + Classes: + All_Third: true + Fourth: true Locations: Both_Hand: true WeaponLevel: 4 diff --git a/db/re/item_db_etc.yml b/db/re/item_db_etc.yml index cc3f5a3d90..9dd69e943d 100644 --- a/db/re/item_db_etc.yml +++ b/db/re/item_db_etc.yml @@ -35856,6 +35856,7 @@ Body: AegisName: Luxurious_Pet_Food Name: Luxurious Pet Food Type: Etc + Buy: 10000 Weight: 10 - Id: 25378 AegisName: Hardly_Sealed_Letter @@ -47475,6 +47476,77 @@ Body: Script: | bonus bVariableCastrate,-10; bonus bDelayrate,-10; + - Id: 300330 + AegisName: Sealed_Atroce_Card_J + Name: Sealed Atroce Card + Type: Card + Weight: 10 + Locations: + Right_Hand: true + Flags: + BuyingStore: true + DropEffect: CLIENT + Script: | + bonus bBaseAtk,25; + autobonus "{ bonus bAspdRate,30; }",5,10000,0,"{}"; + - Id: 300331 + AegisName: Sealed_Ifrit_Card_J + Name: Sealed Ifrit Card + Type: Card + Weight: 10 + Locations: + Both_Accessory: true + Flags: + BuyingStore: true + DropEffect: CLIENT + Script: | + bonus bBaseAtk,(JobLevel/20); + bonus bCritical,(JobLevel/20); + bonus bHit,(JobLevel/20); + bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",1,1; + - Id: 300332 + AegisName: Sealed_Gloom_Card_J + Name: Sealed Gloom Under Night Card + Type: Card + Weight: 10 + Locations: + Armor: true + Flags: + BuyingStore: true + DropEffect: CLIENT + Script: | + bonus2 bAddEle,Ele_Holy,5; + bonus2 bAddEle,Ele_Dark,5; + bonus2 bAddRace,RC_Angel,5; + bonus2 bAddRace,RC_Demon,5; + - Id: 300334 + AegisName: Sealed_F_Bishop_Card_J + Name: Sealed Fallen Bishop Hibram Card + Type: Card + Weight: 10 + Locations: + Shoes: true + Flags: + BuyingStore: true + DropEffect: CLIENT + Script: | + bonus bMatkRate,10; + bonus bMaxSPrate,-50; + - Id: 300338 + AegisName: SLD_Thanatos_Card_J + Name: Sealed Memory of Thanatos Card + Type: Card + Buy: 20 + Weight: 10 + Locations: + Right_Hand: true + Flags: + DropEffect: CLIENT + Script: | + bonus2 bIgnoreDefRaceRate,RC_All,100; + bonus bDef,-30; + bonus bFlee,-30; + bonus bSPDrainValue,-1; - Id: 300348 AegisName: SLD_G_Amon_Ra_Card_J Name: Sealed Nightmare Amon Ra Card @@ -56010,6 +56082,26 @@ Body: } } } + - Id: 311071 + AegisName: Sealed_Berz_Card_J + Name: Sealed Berzebub Card + Type: Card + Weight: 10 + Locations: + Both_Accessory: true + Flags: + BuyingStore: true + DropEffect: CLIENT + Script: | + bonus bVariableCastrate,-10; + - Id: 311073 + AegisName: Goddess_of_Abundance + Name: Goddess of Abundance # !todo check english name + Type: Card + SubType: Enchant + Script: | + bonus bHealpower2,15; + bonus bAddItemHealRate,15; - Id: 311076 AegisName: POW_1Lv Name: POW Lv1 @@ -63461,6 +63553,28 @@ Body: NoGuildStorage: true NoMail: true NoAuction: true + - Id: 1000895 + AegisName: aegis_1000895 + Name: Special Young Seed Exchange + Type: Etc + Trade: + NoDrop: true + NoTrade: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + - Id: 1000956 + AegisName: aegis_1000956 + Name: Special Kunnam Exchange + Type: Etc + Trade: + NoDrop: true + NoTrade: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true - Id: 1220001 AegisName: Kunai Name: Kunai diff --git a/db/re/item_db_usable.yml b/db/re/item_db_usable.yml index 3a201edc98..41b11ee01c 100644 --- a/db/re/item_db_usable.yml +++ b/db/re/item_db_usable.yml @@ -12977,6 +12977,7 @@ Body: NoAuction: true Script: | itemskill "AC_CONCENTRATION",max(getskilllv("AC_CONCENTRATION"),3); + /*bonus_script "{ bonus bBaseAtk,30; bonus bMatk,30; bonus bAspdRate,5; bonus bVariableCastrate,-5; bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus5 bAutoSpell,\"AC_CONCENTRATION\",max(getskilllv(\"AC_CONCENTRATION\"),3),10,BF_WEAPON|BF_MAGIC,0; }",600,1,1,EFST_2011RWC_SCROLL; TODO implement new staus*/ specialeffect2 EF_POTION_BERSERK; showscript "Oh My GOODNESS!!! I FEEL AWESOMELY STRONG!!! WOWOW"; - Id: 12797 @@ -32934,7 +32935,7 @@ Body: NoAuction: true Script: | specialeffect2 EF_SPELLBREAKER; - bonus_script "{ bonus bUseSPrate,-10; bonus bMaxSPrate,10; }",1800; + bonus_script "{ bonus bUseSPrate,-10; bonus bMaxSPrate,10; }",1800,1,1,EFST_TARGET_ASPD; - Id: 14601 AegisName: Tyr's_Blessing Name: Tyr's Blessing @@ -32949,10 +32950,7 @@ Body: NoMail: true NoAuction: true Script: | - sc_start SC_FLEEFOOD,300000,30; - sc_start SC_HITFOOD,300000,30; - sc_start SC_ATKPOTION,300000,20; - sc_start SC_MATKPOTION,300000,20; + bonus_script "{ bonus bBaseAtk,20; bonus bMatk,20; bonus bHit,30; bonus bFlee,30; }",300,3,1; - Id: 14602 AegisName: TaogunkaS Name: Tao Gunka Scroll @@ -33925,7 +33923,8 @@ Body: NoMail: true NoAuction: true Script: | - bonus_script "{ bonus bBaseAtk,30; bonus bMatk,30; bonus2 bAddClass,Class_All,1; bonus bMatkRate,1; bonus bHit,30; bonus bFlee,30; bonus bAspd,1; bonus bUseSPrate,-5; bonus bFixedCastrate,-30; }",1800,1,1; + specialeffect2 EF_POTION_BERSERK; + bonus_script "{ bonus bBaseAtk,30; bonus bMatk,30; bonus2 bAddClass,Class_All,1; bonus bMatkRate,1; bonus bHit,30; bonus bFlee,30; bonus bAspd,1; bonus bUseSPrate,-5; bonus bFixedCastrate,-30; }",1800,1,1,EFST_LIMIT_POWER_BOOSTER; - Id: 14805 AegisName: July_Lucky_Scroll Name: Almighty Lucky Egg @@ -34245,7 +34244,7 @@ Body: NoMail: true NoAuction: true Script: | - itemskill "AC_CONCENTRATION",max(getskilllv("AC_CONCENTRATION"),3); + bonus_script "{ bonus bBaseAtk,30; bonus bMatk,30; bonus bAspdRate,5; bonus bVariableCastrate,-5; bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus5 bAutoSpell,\"AC_CONCENTRATION\",max(getskilllv(\"AC_CONCENTRATION\"),3),10,BF_WEAPON|BF_MAGIC,0; }",600,1,1,EFST_2011RWC_SCROLL; specialeffect2 EF_POTION_BERSERK; showscript "Oh My GOODNESS!!! I FEEL AWESOMELY STRONG!!! WOWOW"; - Id: 14875 @@ -45377,6 +45376,63 @@ Body: Trade: Script: | callfunc "F_CashStore"; + - Id: 22816 + AegisName: G_Mysterious_Water + Name: True Mysterious Life Potion # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + specialeffect2 EF_HEAL3; + sc_start2 SC_M_LIFEPOTION,3600000,-4,3; + sc_start SC_SPEEDUP0,600000,25; + - Id: 22817 + AegisName: G_Small_Life_Potion + Name: True Small Life Potion # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + specialeffect2 EF_HEAL3; + sc_start2 SC_S_LIFEPOTION,3600000,-5,5; + sc_start SC_SPEEDUP0,600000,25; + - Id: 22818 + AegisName: G_Med_Life_Potion + Name: True Medium Life potion # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + specialeffect2 EF_HEAL3; + sc_start2 SC_L_LIFEPOTION,3600000,-7,4; + sc_start SC_SPEEDUP0,600000,25; - Id: 22819 AegisName: G_Almighty Name: True Almighty @@ -45392,6 +45448,46 @@ Body: Script: | bonus_script "{ bonus bAllStats,10; bonus bBaseAtk,30; bonus bMatk,30; }",3600; sc_start SC_SPEEDUP0,600000,25; + - Id: 22820 + AegisName: G_ASPD_Potion + Name: True EnhancedASPD Potion # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Delay: + Duration: 3600000 + Status: Reuse_Limit_Aspd_Potion + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + sc_start SC_ATTHASTE_CASH,3600000,3; + sc_start SC_SPEEDUP0,600000,25; + - Id: 22821 + AegisName: G_Red_Booster + Name: True Red Booster # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + specialeffect2 EF_POTION_BERSERK; + bonus_script "{ bonus bBaseAtk,30; bonus bMatk,30; bonus bAspdRate,5; bonus bVariableCastrate,-5; bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; bonus5 bAutoSpell,\"AC_CONCENTRATION\",max(getskilllv(\"AC_CONCENTRATION\"),3),10,BF_WEAPON|BF_MAGIC,0; }",3600,1,1,EFST_2011RWC_SCROLL; + sc_start SC_SPEEDUP0,600000,25; - Id: 22822 AegisName: Summer_Vacation_Costumes Name: Summer Vacation Costumes @@ -46126,6 +46222,42 @@ Body: Container: true Script: | getgroupitem(IG_Enchant_Stone_Box7); + - Id: 22973 + AegisName: Shadow_Cube_Weapon + Name: Shadow Cube (Weapon) + Type: Usable + Weight: 10 + Flags: + Container: true + Script: | + getgroupitem(IG_SHADOW_CUBE_WEAPON); + - Id: 22974 + AegisName: Shadow_Cube_Armor + Name: Shadow Cube (Armor) + Type: Usable + Weight: 10 + Flags: + Container: true + Script: | + getgroupitem(IG_SHADOW_CUBE_ARMOR); + - Id: 22975 + AegisName: Shadow_Cube_Shield + Name: Shadow Cube (Shield) + Type: Usable + Weight: 10 + Flags: + Container: true + Script: | + getgroupitem(IG_SHADOW_CUBE_SHIELD); + - Id: 22976 + AegisName: Shadow_Cube_Shoes + Name: Shadow Cube (Shoes) + Type: Usable + Weight: 10 + Flags: + Container: true + Script: | + getgroupitem(IG_SHADOW_CUBE_SHOES); - Id: 22977 AegisName: Shadow_Cube_Pendant Name: Shadow Cube (Pendant) @@ -46598,6 +46730,13 @@ Body: getitem 12508,3; getitem 12509,3; getitem 12510,3; + - Id: 23150 + AegisName: Lapine_DdukddakBox + Name: Lapine Big Box + Type: Delayconsume + Weight: 10 + Script: | + /* TODO Update Description */ - Id: 23151 AegisName: EnchantStone_Recipe Name: Enchant Stone Recipe @@ -47239,6 +47378,37 @@ Body: Script: | input .@megaphone$; announce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000; + - Id: 23360 + AegisName: Psychotropic + Name: Psychotropic + Type: Delayconsume + Weight: 10 + EquipLevelMin: 100 + NoUse: + Sitting: true + Flags: + BuyingStore: true + Script: | + itemskill "WM_GLOOMYDAY",5; + - Id: 23361 + AegisName: Serum + Name: Serum + Type: Healing + Weight: 100 + EquipLevelMin: 100 + Flags: + BuyingStore: true + Delay: + Duration: 60000 + Script: | + sc_end SC_PARALYSE; + sc_end SC_PYREXIA; + sc_end SC_DEATHHURT; + sc_end SC_LEECHESEND; + sc_end SC_VENOMBLEED; + sc_end SC_TOXIN; + sc_end SC_MAGICMUSHROOM; + sc_end SC_OBLIVIONCURSE; - Id: 23374 AegisName: Fire_Armor_S Name: Fire Armor Scroll @@ -47510,6 +47680,15 @@ Body: Container: true Script: | getgroupitem(IG_Enchant_Stone_Box14); + - Id: 23660 + AegisName: Dogly_Bottle_Z + Name: Dogly Bottle Z + Type: Healing + Weight: 180 + Flags: + BuyingStore: true + Script: | + percentheal 18,18; - Id: 23665 AegisName: PhysicalMagical_Mix Name: PhysicalMagical Mix @@ -47703,6 +47882,15 @@ Body: Container: true Script: | getitem callfunc("F_Rand",15278,15279,15346,15347,15353,15354),1; + - Id: 23767 + AegisName: Powerful_Helm_Box + Name: Powerful Helm Box # !todo check english name + Type: Usable + Flags: + Container: true + Weight: 800 + Script: | + getitem callfunc("F_Rand",19300,19249,19263,19296,19308),1; - Id: 23770 AegisName: Enchant_Stone_Box16 Name: Costume Enchant Stone Box 16 @@ -47982,6 +48170,13 @@ Body: Weight: 50 Script: | laphine_upgrade(); + - Id: 23817 + AegisName: Bs_Making_S + Name: Mysterious Combination Bundle + Type: Delayconsume + Weight: 10 + Script: | + /* TODO Update Description */ - Id: 23818 AegisName: Bs_Item_M_S_2 Name: Giant Orc Helm Combination SynthesisBox @@ -48593,6 +48788,50 @@ Body: Type: Delayconsume Script: | laphine_upgrade(); + - Id: 100005 + AegisName: G_Small_Mana_Potion + Name: True Small Mana Potion # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Script: | + specialeffect2 EF_HEAL3; + sc_start2 SC_S_MANAPOTION,3600000,-5,5; + sc_start SC_SPEEDUP0,600000,25; + - Id: 100006 + AegisName: G_M_DEFScroll + Name: True Brilliant Protection Scroll # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Script: | + specialeffect2 EF_HEAL3; + bonus_script "{ bonus bDef,500; bonus bMdef,200; }",3600,0,1,EFST_M_DEFSCROLL; + sc_start SC_SPEEDUP0,600000,25; + - Id: 100007 + AegisName: G_Limit_Power_Booster + Name: Gin Limited Power Booster # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Script: | + specialeffect2 EF_POTION_BERSERK; + bonus_script "{ bonus bBaseAtk,30; bonus bMatk,30; bonus2 bAddClass,Class_All,1; bonus bMatkRate,1; bonus bHit,30; bonus bFlee,30; bonus bAspd,1; bonus bUseSPrate,-5; bonus bFixedCastrate,-30; }",3600,1,1,EFST_LIMIT_POWER_BOOSTER; + sc_start SC_SPEEDUP0,600000,25; + - Id: 100008 + AegisName: G_Infinity_Drink + Name: Gin Infinity Drink # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Script: | + specialeffect2 EF_POTION_BERSERK; + bonus_script "{ bonus bMaxHPrate,5; bonus bMaxSPrate,5; bonus bCritAtkRate,5; bonus bLongAtkRate,5; bonus bMatkRate,5; bonus bNoCastCancel; }",3600,1,1,EFST_INFINITY_DRINK; + sc_start SC_SPEEDUP0,600000,25; - Id: 100009 AegisName: Joy_Of_Victory Name: Victorious Happiness @@ -48759,6 +48998,96 @@ Body: NoConsume: true Script: | itemskill "WL_READING_SB_READING",10; + - Id: 100075 + AegisName: DishSet05 + Name: Level 5 Dishes + Type: Usable + Weight: 50 + NoUse: + Sitting: true + Script: | + sc_start SC_STRFOOD,600000,5; + sc_start SC_AGIFOOD,600000,5; + sc_start SC_VITFOOD,600000,5; + sc_start SC_INTFOOD,600000,5; + sc_start SC_DEXFOOD,600000,5; + sc_start SC_LUKFOOD,600000,5; + percentheal 5,5; + - Id: 100076 + AegisName: DishSet06 + Name: Level 6 Dishes + Type: Usable + Weight: 50 + NoUse: + Sitting: true + Script: | + sc_start SC_STRFOOD,600000,6; + sc_start SC_AGIFOOD,600000,6; + sc_start SC_VITFOOD,600000,6; + sc_start SC_INTFOOD,600000,6; + sc_start SC_DEXFOOD,600000,6; + sc_start SC_LUKFOOD,600000,6; + percentheal 6,6; + - Id: 100077 + AegisName: DishSet07 + Name: Level 7 Dishes + Type: Usable + Weight: 50 + NoUse: + Sitting: true + Script: | + sc_start SC_STRFOOD,600000,7; + sc_start SC_AGIFOOD,600000,7; + sc_start SC_VITFOOD,600000,7; + sc_start SC_INTFOOD,600000,7; + sc_start SC_DEXFOOD,600000,7; + sc_start SC_LUKFOOD,600000,7; + percentheal 7,7; + - Id: 100078 + AegisName: DishSet08 + Name: Level 8 Dishes + Type: Usable + Weight: 50 + NoUse: + Sitting: true + Script: | + sc_start SC_STRFOOD,600000,8; + sc_start SC_AGIFOOD,600000,8; + sc_start SC_VITFOOD,600000,8; + sc_start SC_INTFOOD,600000,8; + sc_start SC_DEXFOOD,600000,8; + sc_start SC_LUKFOOD,600000,8; + percentheal 8,8; + - Id: 100079 + AegisName: DishSet09 + Name: Level 9 Dishes + Type: Usable + Weight: 50 + NoUse: + Sitting: true + Script: | + sc_start SC_STRFOOD,600000,9; + sc_start SC_AGIFOOD,600000,9; + sc_start SC_VITFOOD,600000,9; + sc_start SC_INTFOOD,600000,9; + sc_start SC_DEXFOOD,600000,9; + sc_start SC_LUKFOOD,600000,9; + percentheal 9,9; + - Id: 100080 + AegisName: DishSet10 + Name: Level 10 Dishes + Type: Usable + Weight: 50 + NoUse: + Sitting: true + Script: | + sc_start SC_STRFOOD,600000,10; + sc_start SC_AGIFOOD,600000,10; + sc_start SC_VITFOOD,600000,10; + sc_start SC_INTFOOD,600000,10; + sc_start SC_DEXFOOD,600000,10; + sc_start SC_LUKFOOD,600000,10; + percentheal 10,10; - Id: 100081 AegisName: Kr_B_Special01 Name: "[Not for Sale] Advanced Combat Manual" @@ -48782,6 +49111,27 @@ Body: Container: true Script: | getitem callfunc("F_Rand",31754,31755,31756,31757,31758,31759,31760,31761),1; + - Id: 100316 + AegisName: G_Tyrs_Blessing + Name: Gin Tyr's Blessing # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Script: | + bonus_script "{ bonus bBaseAtk,20; bonus bMatk,20; bonus bHit,30; bonus bFlee,30; }",3600,3,1; + sc_start SC_SPEEDUP0,600000,25; + - Id: 100317 + AegisName: G_Mental_Potion + Name: Gin Mental Potion # !todo check english name + Type: Usable + Weight: 10 + NoUse: + Sitting: true + Script: | + specialeffect2 EF_SPELLBREAKER; + bonus_script "{ bonus bUseSPrate,-10; bonus bMaxSPrate,10; }",3600,1,1,EFST_TARGET_ASPD; + sc_start SC_SPEEDUP0,600000,25; - Id: 101097 AegisName: aegis_101097 Name: "[Scroll] Unlimited Drink" diff --git a/db/re/item_group_db.yml b/db/re/item_group_db.yml index c5ae5f2c88..1e666e4c26 100644 --- a/db/re/item_group_db.yml +++ b/db/re/item_group_db.yml @@ -29368,3 +29368,529 @@ Body: - Item: Up_Demon_Slayer_Shot RefineMinimum: 7 RefineMaximum: 7 + - Group: RUNE_CRAFT_MATERIALS + SubGroups: + - SubGroup: 1 + List: + - Item: Emperium + Rate: 1 + - Item: Ogre_Tooth + Rate: 1 + - Item: Cobold_Hair + Rate: 1 + - Item: Broken_Armor_Piece + Rate: 1 + - Item: Claw_Of_Desert_Wolf + Rate: 1 + - Item: Tangled_Chain + Rate: 1 + - Item: Dullahan_Armor + Rate: 1 + - Item: Dragon's_Skin + Rate: 1 + - Item: Dragon_Canine + Rate: 1 + - Item: Honey + Rate: 1 + - Item: Light_Granule + Rate: 1 + - Item: Old_Magic_Circle + Rate: 1 + - Item: Slender_Snake + Rate: 1 + - Item: Round_Shell + Rate: 1 + - Item: Burning_Heart + Rate: 1 + - Item: Red_Gemstone + Rate: 1 + - Group: ELEMENTAL_CONVERTER + SubGroups: + - SubGroup: 1 + List: + - Item: Scorpion's_Tail + Rate: 1 + - Item: Snail's_Shell + Rate: 1 + - Item: Horn + Rate: 1 + - Item: Colorful_Shell + Rate: 1 + - Group: POISONS + SubGroups: + - SubGroup: 1 + List: + - Item: Anolian_Skin + Rate: 1 + - Item: Izidor + Rate: 1 + - Item: Poison_Toad's_Skin + Rate: 1 + - Item: Poison_Spore + Rate: 1 + - Item: Poison_Herb_Amoena + Rate: 1 + - Item: Poison_Herb_Scopolia + Rate: 1 + - Item: Poison_Herb_Seratum + Rate: 1 + - Item: Poison_Herb_Makulata + Rate: 1 + - Item: Poison_Herb_Rantana + Rate: 1 + - Item: Poison_Herb_Nerium + Rate: 1 + - Item: Heart_Of_Mermaid + Rate: 1 + - Item: Sticky_Poison + Rate: 1 + - Item: Decayed_Nail + Rate: 1 + - Group: BLACKSMITH + SubGroups: + - SubGroup: 1 + List: + - Item: Steel + Rate: 1 + - Item: Iron + Rate: 1 + - Item: Brigan + Rate: 1 + - Group: POTION_CRAFT_MATERIALS + SubGroups: + - SubGroup: 1 + List: + - Item: Red_Herb + Rate: 1 + - Item: Yellow_Herb + Rate: 1 + - Item: White_Herb + Rate: 1 + - Item: Blue_Herb + Rate: 1 + - Item: Green_Herb + Rate: 1 + - Item: Cactus_Needle + Rate: 1 + - Item: Starsand_Of_Witch + Rate: 1 + - Item: Moustache_Of_Mole + Rate: 1 + - Group: KUNAI_BOX + SubGroups: + - SubGroup: 1 + List: + - Item: Dried_Squid_Box + Rate: 1 + - Item: Flying_Fish_Box + Rate: 1 + - Item: Starfish_Box + Rate: 1 + - Group: BULLET_CASE + SubGroups: + - SubGroup: 1 + List: + - Item: Bullet_Case + Rate: 1 + - Item: Bullet_Case_Silver + Rate: 1 + - Item: Bullet_Case_Blood + Rate: 1 + - Group: SOUL_LINKER + SubGroups: + - SubGroup: 1 + List: + - Item: Witherless_Rose + Rate: 1 + - Item: Crystal_Jewel__ + Rate: 1 + - Item: Immortal_Heart + Rate: 1 + - Group: ELEMENTAL_STONES + SubGroups: + - SubGroup: 1 + List: + - Item: Flame_Heart + Rate: 1 + - Item: Mistic_Frozen + Rate: 1 + - Item: Rough_Wind + Rate: 1 + - Item: Great_Nature + Rate: 1 + - Item: Star_Crumb + Rate: 1 + - Item: Sparkling_Dust + Rate: 1 + - Group: SHADOW_CUBE_ARMOR + SubGroups: + - SubGroup: 1 + List: + - Item: S_Breezy_Armor + Rate: 227 + - Item: S_Immune_Armor + Rate: 227 + - Item: S_Hard_Armor + Rate: 227 + - Item: S_Ancient_Armor + Rate: 227 + - Item: S_Critical_Armor + Rate: 227 + - Item: S_Dexterous_Armor + Rate: 227 + - Item: S_Lucky_Armor + Rate: 227 + - Item: S_Big_Armor + Rate: 227 + - Item: S_Medium_Armor + Rate: 227 + - Item: S_Small_Armor + Rate: 227 + - Item: S_Malicious_Armor + Rate: 227 + - Item: S_Gemstone_Armor + Rate: 227 + - Item: S_Plasterer's_Armor + Rate: 227 + - Item: S_Insomniac_Armor + Rate: 227 + - Item: S_Peerless_Armor + Rate: 227 + - Item: S_Adurate_Armor + Rate: 227 + - Item: S_Spell_Flow_Armor + Rate: 227 + - Item: S_Greed_Armor + Rate: 227 + - Item: S_Heal_Armor + Rate: 227 + - Item: S_Hiding_Armor + Rate: 227 + - Item: S_Cloaking_Armor + Rate: 227 + - Item: S_Teleport_Armor + Rate: 227 + - Item: S_Steal_Armor + Rate: 227 + - Item: S_Immortal_Armor + Rate: 227 + - Item: S_Bearers_Armor + Rate: 227 + - Item: S_Basis_Armor + Rate: 227 + - Item: S_Hallowed_Armor + Rate: 227 + - Item: S_Saharic_Armor + Rate: 227 + - Item: S_Underneath_Armor + Rate: 227 + - Item: S_Flam_Armor + Rate: 227 + - Item: S_Windy_Armor + Rate: 227 + - Item: S_Envenom_Armor + Rate: 227 + - Item: S_Damned_Armor + Rate: 227 + - Item: S_Geist_Armor + Rate: 227 + - Item: S_Divine_Armor + Rate: 227 + - Item: S_Hasty_Armor + Rate: 227 + - Item: S_Attack_Armor + Rate: 227 + - Item: S_ColdBolt_Armor + Rate: 227 + - Item: S_FireBolt_Armor + Rate: 227 + - Item: S_LightingBolt_Armor + Rate: 227 + - Item: S_EarthSpike_Armor + Rate: 227 + - Item: S_Caster_Armor + Rate: 227 + - Item: S_Reload_Armor + Rate: 227 + - Item: S_Blitz_Armor + Rate: 227 + - Group: SHADOW_CUBE_SHIELD + SubGroups: + - SubGroup: 1 + List: + - Item: S_Athena_Shield + Rate: 233 + - Item: S_Athletic_Shield + Rate: 233 + - Item: S_Vital_Shield + Rate: 233 + - Item: S_Cranial_Shield + Rate: 233 + - Item: S_Safeguard_Shield + Rate: 233 + - Item: S_Brutal_Shield + Rate: 233 + - Item: S_Gargantua_Shield + Rate: 233 + - Item: S_Homers_Shield + Rate: 233 + - Item: S_Dragoon_Shield + Rate: 233 + - Item: S_Satanic_Shield + Rate: 233 + - Item: S_Flameguard_Shield + Rate: 233 + - Item: S_Requiem_Shield + Rate: 233 + - Item: S_Cadi_Shield + Rate: 233 + - Item: S_Malicious_Shield + Rate: 233 + - Item: S_Gemstone_Shield + Rate: 233 + - Item: S_Stability_Shield + Rate: 233 + - Item: S_Spell_Flow_Shield + Rate: 233 + - Item: S_Greed_Shield + Rate: 233 + - Item: S_Heal_Shield + Rate: 233 + - Item: S_Hiding_Shield + Rate: 233 + - Item: S_Cloaking_Shield + Rate: 233 + - Item: S_Teleport_Shield + Rate: 233 + - Item: S_Steal_Shield + Rate: 233 + - Item: S_Bearers_Shield + Rate: 233 + - Item: S_Basis_Shield + Rate: 233 + - Item: S_Hallowed_Shield + Rate: 233 + - Item: S_Saharic_Shield + Rate: 233 + - Item: S_Underneath_Shield + Rate: 233 + - Item: S_Flam_Shield + Rate: 233 + - Item: S_Windy_Shield + Rate: 233 + - Item: S_Envenom_Shield + Rate: 233 + - Item: S_Damned_Shield + Rate: 233 + - Item: S_Geist_Shield + Rate: 233 + - Item: S_Divine_Shield + Rate: 233 + - Item: S_Expert_Shield + Rate: 233 + - Item: S_Beginner_Shield + Rate: 233 + - Item: S_Rookie_Shield + Rate: 233 + - Item: S_Advanced_Shield + Rate: 233 + - Item: S_Blitz_Shield + Rate: 233 + - Item: S_Caster_Shield + Rate: 233 + - Item: S_Reload_Shield + Rate: 233 + - Item: S_Critical_Shield + Rate: 233 + - Item: S_Healing_Shield + Rate: 233 + - Group: SHADOW_CUBE_SHOES + SubGroups: + - SubGroup: 1 + List: + - Item: S_Champion_Shoes + Rate: 270 + - Item: S_Vital_Shoes + Rate: 270 + - Item: S_Athletic_Shoes + Rate: 270 + - Item: S_Bloody_Shoes + Rate: 270 + - Item: S_Liberation_Shoes + Rate: 270 + - Item: S_Chemical_Shoes + Rate: 270 + - Item: S_Clamorous_Shoes + Rate: 270 + - Item: S_Insecticide_Shoes + Rate: 270 + - Item: S_Fisher_Shoes + Rate: 270 + - Item: S_Seraphim_Shoes + Rate: 270 + - Item: S_Beholder_Shoes + Rate: 270 + - Item: S_Divine_Shoes + Rate: 270 + - Item: S_Dragoon_Shoes + Rate: 270 + - Item: S_Malicious_Shoes + Rate: 270 + - Item: S_Gemstone_Shoes + Rate: 270 + - Item: S_Plasterer's_Shoes + Rate: 270 + - Item: S_Insomniac_Shoes + Rate: 270 + - Item: S_Peerless_Shoes + Rate: 270 + - Item: S_Adurate_Shoes + Rate: 270 + - Item: S_Spell_Flow_Shoes + Rate: 270 + - Item: S_Greed_Shoes + Rate: 270 + - Item: S_Heal_Shoes + Rate: 270 + - Item: S_Hiding_Shoes + Rate: 270 + - Item: S_Cloaking_Shoes + Rate: 270 + - Item: S_Teleport_Shoes + Rate: 270 + - Item: S_Steal_Shoes + Rate: 270 + - Item: S_Bearers_Shoes + Rate: 270 + - Item: S_Hasty_Shoes + Rate: 270 + - Item: S_Expert_Shoes + Rate: 270 + - Item: S_Beginner_Shoes + Rate: 270 + - Item: S_Rookie_Shoes + Rate: 270 + - Item: S_Advanced_Shoes + Rate: 270 + - Item: S_Blitz_Shoes + Rate: 270 + - Item: S_Caster_Shoes + Rate: 270 + - Item: S_Reload_Shoes + Rate: 270 + - Item: S_Critical_Shoes + Rate: 270 + - Item: S_Healing_Shoes + Rate: 270 + - Group: SHADOW_CUBE_WEAPON + SubGroups: + - SubGroup: 1 + List: + - Item: S_Physical_Weapon + Rate: 185 + - Item: S_Magical_Weapon + Rate: 185 + - Item: S_Kingbird_Weapon + Rate: 185 + - Item: S_Cri_Hit_Weapon + Rate: 185 + - Item: S_Healing_Weapon + Rate: 185 + - Item: S_Lucky_Weapon + Rate: 185 + - Item: S_Dexterous_Weapon + Rate: 185 + - Item: S_Big_Weapon + Rate: 185 + - Item: S_Medium_Weapon + Rate: 185 + - Item: S_Small_Weapon + Rate: 185 + - Item: S_Spiritual_Weapon + Rate: 185 + - Item: S_Gemstone_Weapon + Rate: 185 + - Item: Unfreez_Weapon_S + Rate: 185 + - Item: S_Neutral_Weapon + Rate: 185 + - Item: S_Caster_Weapon + Rate: 185 + - Item: S_Greed_Weapon + Rate: 185 + - Item: S_Heal_Weapon + Rate: 185 + - Item: S_Hiding_Weapon + Rate: 185 + - Item: S_Cloaking_Weapon + Rate: 185 + - Item: S_Teleport_Weapon + Rate: 185 + - Item: S_Steal_Weapon + Rate: 185 + - Item: S_Solid_Weapon + Rate: 185 + - Item: S_Executioner_Weapon + Rate: 185 + - Item: S_Exorcist_Weapon + Rate: 185 + - Item: S_Hunting_Weapon + Rate: 185 + - Item: S_Insect_Net_Weapon + Rate: 185 + - Item: S_Fishing_Weapon + Rate: 185 + - Item: S_Dragon_Killer_Weapon + Rate: 185 + - Item: S_Corrupt_Weapon + Rate: 185 + - Item: S_Vibration_Weapon + Rate: 185 + - Item: S_Holy_Water_Weapon + Rate: 185 + - Item: S_Scissors_Weapon + Rate: 185 + - Item: S_M_Executioner_Weapon + Rate: 185 + - Item: S_M_Exorcist_Weapon + Rate: 185 + - Item: S_M_Hunting_Weapon + Rate: 185 + - Item: S_M_Insect_Net_Weapon + Rate: 185 + - Item: S_M_Fishing_Weapon + Rate: 185 + - Item: S_M_Dragon_K_Weapon + Rate: 185 + - Item: S_M_Corrupt_Weapon + Rate: 185 + - Item: S_M_Vibration_Weapon + Rate: 185 + - Item: S_M_Holy_Water_Weapon + Rate: 185 + - Item: S_M_Scissors_Weapon + Rate: 185 + - Item: S_Bearers_Weapon + Rate: 185 + - Item: S_Enhance_Force_Weapon + Rate: 185 + - Item: S_Force_Weapon + Rate: 185 + - Item: S_Enhance_Spirit_Weapon + Rate: 185 + - Item: S_Spirit_Weapon + Rate: 185 + - Item: S_Exceed_Weapon + Rate: 185 + - Item: S_Blitz_Weapon + Rate: 185 + - Item: S_Tension_Weapon + Rate: 185 + - Item: S_Elegant_Weapon + Rate: 185 + - Item: S_Mortal_Blow_Weapon + Rate: 185 + - Item: Sentimental_Weapone_S + Rate: 185 + - Item: Enchanting_Weapone_S + Rate: 185 diff --git a/db/re/status.yml b/db/re/status.yml index 18dacfea8f..16ed9a5cfd 100644 --- a/db/re/status.yml +++ b/db/re/status.yml @@ -2781,6 +2781,9 @@ Body: NoDispell: true NoBanishingBuster: true NoClearance: true + End: + L_Lifepotion: true + M_Lifepotion: true Fail: S_Lifepotion: true - Status: L_Lifepotion @@ -2789,6 +2792,9 @@ Body: NoDispell: true NoBanishingBuster: true NoClearance: true + End: + S_Lifepotion: true + M_Lifepotion: true Fail: L_Lifepotion: true - Status: Jexpboost @@ -8131,3 +8137,22 @@ Body: All: true Flags: RemoveElementalOption: true + - Status: M_Lifepotion + Icon: EFST_M_LIFEPOTION + Flags: + NoDispell: true + NoBanishingBuster: true + NoClearance: true + End: + S_Lifepotion: true + L_Lifepotion: true + Fail: + M_Lifepotion: true + - Status: S_Manapotion + Icon: EFST_S_MANAPOTION + Flags: + NoDispell: true + NoBanishingBuster: true + NoClearance: true + Fail: + S_Manapotion: true diff --git a/src/map/itemdb.hpp b/src/map/itemdb.hpp index 419022a34a..d94f7d7a24 100644 --- a/src/map/itemdb.hpp +++ b/src/map/itemdb.hpp @@ -955,6 +955,19 @@ enum e_random_item_group { IG_GOLDEN_LORD_LAUNCHER_CUBE, IG_THE_BLACK_CUBE, IG_DEMON_SLAYER_SHOT_CUBE, + IG_RUNE_CRAFT_MATERIALS, + IG_ELEMENTAL_CONVERTER, + IG_POISONS, + IG_BLACKSMITH, + IG_POTION_CRAFT_MATERIALS, + IG_KUNAI_BOX, + IG_BULLET_CASE, + IG_SOUL_LINKER, + IG_ELEMENTAL_STONES, + IG_SHADOW_CUBE_ARMOR, + IG_SHADOW_CUBE_SHIELD, + IG_SHADOW_CUBE_SHOES, + IG_SHADOW_CUBE_WEAPON, IG_MAX, }; diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index 4331c1bbc7..2bef3c1557 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -1840,6 +1840,8 @@ export_constant(SC_DEEP_POISONING_OPTION); export_constant(SC_POISON_SHIELD); export_constant(SC_POISON_SHIELD_OPTION); + export_constant(SC_M_LIFEPOTION); + export_constant(SC_S_MANAPOTION); #ifdef RENEWAL export_constant(SC_EXTREMITYFIST2); @@ -5718,6 +5720,19 @@ export_constant(IG_GOLDEN_LORD_LAUNCHER_CUBE); export_constant(IG_THE_BLACK_CUBE); export_constant(IG_DEMON_SLAYER_SHOT_CUBE); + export_constant(IG_RUNE_CRAFT_MATERIALS); + export_constant(IG_ELEMENTAL_CONVERTER); + export_constant(IG_POISONS); + export_constant(IG_BLACKSMITH); + export_constant(IG_POTION_CRAFT_MATERIALS); + export_constant(IG_KUNAI_BOX); + export_constant(IG_BULLET_CASE); + export_constant(IG_SOUL_LINKER); + export_constant(IG_ELEMENTAL_STONES); + export_constant(IG_SHADOW_CUBE_ARMOR); + export_constant(IG_SHADOW_CUBE_SHIELD); + export_constant(IG_SHADOW_CUBE_SHOES); + export_constant(IG_SHADOW_CUBE_WEAPON); /* unit stop walking */ export_constant(USW_NONE); diff --git a/src/map/status.cpp b/src/map/status.cpp index fbfb914067..1f105be76d 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -10596,6 +10596,8 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty break; case SC_S_LIFEPOTION: case SC_L_LIFEPOTION: + case SC_M_LIFEPOTION: + case SC_S_MANAPOTION: if( val1 == 0 ) return 0; // val1 = heal percent/amout // val2 = seconds between heals @@ -13685,6 +13687,7 @@ TIMER_FUNC(status_change_timer){ case SC_S_LIFEPOTION: case SC_L_LIFEPOTION: + case SC_M_LIFEPOTION: if( --(sce->val4) >= 0 ) { // val1 < 0 = per max% | val1 > 0 = exact amount int hp = 0; @@ -13696,6 +13699,18 @@ TIMER_FUNC(status_change_timer){ } break; + case SC_S_MANAPOTION: + if( --(sce->val4) >= 0 ) { + // val1 < 0 = per max% | val1 > 0 = exact amount + int sp = 0; + if( status->sp < status->max_sp ) + sp = (sce->val1 < 0) ? (int)(status->max_sp * -1 * sce->val1 / 100.) : sce->val1; + status_heal(bl, 0, sp, 2); + sc_timer_next((sce->val2 * 1000) + tick); + return 0; + } + break; + case SC_BOSSMAPINFO: if( sd && --(sce->val4) >= 0 ) { struct mob_data *boss_md = map_id2boss(sce->val1); diff --git a/src/map/status.hpp b/src/map/status.hpp index 400b7f3858..2d48745402 100644 --- a/src/map/status.hpp +++ b/src/map/status.hpp @@ -1226,6 +1226,8 @@ enum sc_type : int16 { SC_DEEP_POISONING_OPTION, SC_POISON_SHIELD, SC_POISON_SHIELD_OPTION, + SC_M_LIFEPOTION, + SC_S_MANAPOTION, #ifdef RENEWAL SC_EXTREMITYFIST2, //! NOTE: This SC should be right before SC_MAX, so it doesn't disturb if RENEWAL is disabled