From 4f36f0c78cc8e082263d74ccd4ad7fb1abbf2c64 Mon Sep 17 00:00:00 2001 From: Kenpachi Developer Date: Thu, 21 May 2020 10:47:21 +0200 Subject: Remove hard-coded required item amounts and update skill DBs accordingly --- db/pre-re/skill_db.conf | 186 +++++++++++++++++++++++++++++++++--------------- db/re/skill_db.conf | 178 +++++++++++++++++++++++++++++++-------------- src/map/skill.c | 60 ---------------- 3 files changed, 253 insertions(+), 171 deletions(-) diff --git a/db/pre-re/skill_db.conf b/db/pre-re/skill_db.conf index f65e35357..800c21803 100644 --- a/db/pre-re/skill_db.conf +++ b/db/pre-re/skill_db.conf @@ -2850,7 +2850,13 @@ skill_db: ( Requirements: { SPCost: 75 Items: { - Blue_Gemstone: 1 + Blue_Gemstone: { + Lv6: 1 + Lv7: 1 + Lv8: 1 + Lv9: 1 + Lv10: 1 + } } } Unit: { @@ -6739,16 +6745,21 @@ skill_db: ( Requirements: { SPCost: 1 Items: { - Red_Potion: 1 - Orange_Potion: 1 - Yellow_Potion: 1 - White_Potion: 1 - Blue_Potion: 1 - Fruit_Of_Mastela: 1 - Royal_Jelly: 1 - Seed_Of_Yggdrasil: 1 - Yggdrasilberry: 1 - Berserk_Potion: 1 + Red_Potion: { + Lv1: 1 + } + Orange_Potion: { + Lv2: 1 + } + Yellow_Potion: { + Lv3: 1 + } + White_Potion: { + Lv4: 1 + } + Blue_Potion: { + Lv5: 1 + } } } }, @@ -14309,16 +14320,22 @@ skill_db: ( Requirements: { SPCost: 30 Items: { - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - White_Slim_Potion: 1 + Red_Slim_Potion: { + Lv1: 1 + Lv2: 1 + Lv3: 1 + Lv4: 1 + Lv5: 1 + } + Yellow_Slim_Potion: { + Lv6: 1 + Lv7: 1 + Lv8: 1 + Lv9: 1 + } + White_Slim_Potion: { + Lv10: 1 + } } } }, @@ -14807,8 +14824,12 @@ skill_db: ( Requirements: { SPCost: 10 Items: { - Mushroom_Spore: 1 - Stem: 1 + Mushroom_Spore: { + Lv1: 1 + } + Stem: { + Lv2: 1 + } } } }, @@ -22589,10 +22610,18 @@ skill_db: ( SPCost: 100 State: "MadoGear" Items: { - Scarlet_Pts: 1 - Lime_Green_Pts: 1 - Yellow_Wish_Pts: 1 - Indigo_Pts: 1 + Scarlet_Pts: { + Lv1: 1 + } + Lime_Green_Pts: { + Lv2: 1 + } + Yellow_Wish_Pts: { + Lv3: 1 + } + Indigo_Pts: { + Lv4: 1 + } Magic_Gear_Fuel: 2 Shape_Shifter: 0 } @@ -22898,6 +22927,17 @@ skill_db: ( } State: "MadoGear" Items: { + RepairA: { + Lv1: 1 + Lv2: 1 + } + RepairB: { + Lv3: 1 + Lv4: 1 + } + RepairC: { + Lv5: 1 + } Repair_Kit: 0 } } @@ -28507,9 +28547,13 @@ skill_db: ( Lv10: 550 } Items: { - Boody_Red: 3 - Boody_Red: 6 - Flame_Heart: 1 + Boody_Red: { + Lv1: 3 + Lv2: 6 + } + Flame_Heart: { + Lv3: 1 + } } } }, @@ -28566,9 +28610,13 @@ skill_db: ( Lv10: 550 } Items: { - Crystal_Blue: 3 - Crystal_Blue: 6 - Mistic_Frozen: 1 + Crystal_Blue: { + Lv1: 3 + Lv2: 6 + } + Mistic_Frozen: { + Lv3: 1 + } } } }, @@ -28625,9 +28673,13 @@ skill_db: ( Lv10: 550 } Items: { - Wind_Of_Verdure: 3 - Wind_Of_Verdure: 6 - Rough_Wind: 1 + Wind_Of_Verdure: { + Lv1: 3 + Lv2: 6 + } + Rough_Wind: { + Lv3: 1 + } } } }, @@ -28684,9 +28736,13 @@ skill_db: ( Lv10: 550 } Items: { - Yellow_Live: 3 - Yellow_Live: 6 - Great_Nature: 1 + Yellow_Live: { + Lv1: 3 + Lv2: 6 + } + Great_Nature: { + Lv3: 1 + } } } }, @@ -28800,9 +28856,11 @@ skill_db: ( Lv10: 94 } Items: { - Scarlet_Pts: 1 - Scarlet_Pts: 2 - Scarlet_Pts: 3 + Scarlet_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -28849,9 +28907,11 @@ skill_db: ( Lv10: 94 } Items: { - Indigo_Pts: 1 - Indigo_Pts: 2 - Indigo_Pts: 3 + Indigo_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -28898,9 +28958,11 @@ skill_db: ( Lv10: 94 } Items: { - Yellow_Wish_Pts: 1 - Yellow_Wish_Pts: 2 - Yellow_Wish_Pts: 3 + Yellow_Wish_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -28947,9 +29009,11 @@ skill_db: ( Lv10: 94 } Items: { - Lime_Green_Pts: 1 - Lime_Green_Pts: 2 - Lime_Green_Pts: 3 + Lime_Green_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -29540,11 +29604,21 @@ skill_db: ( Lv10: 75 } Items: { - Oil_Bottle: 1 - Explosive_Powder: 1 - Smoke_Powder: 1 - Tear_Gas: 1 - Acid_Bottle: 1 + Oil_Bottle: { + Lv1: 1 + } + Explosive_Powder: { + Lv2: 1 + } + Smoke_Powder: { + Lv3: 1 + } + Tear_Gas: { + Lv4: 1 + } + Acid_Bottle: { + Lv5: 1 + } } } }, diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 4bbdd19f3..2ff5fe9c0 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -7070,16 +7070,21 @@ skill_db: ( Requirements: { SPCost: 1 Items: { - Red_Potion: 1 - Orange_Potion: 1 - Yellow_Potion: 1 - White_Potion: 1 - Blue_Potion: 1 - Fruit_Of_Mastela: 1 - Royal_Jelly: 1 - Seed_Of_Yggdrasil: 1 - Yggdrasilberry: 1 - Berserk_Potion: 1 + Red_Potion: { + Lv1: 1 + } + Orange_Potion: { + Lv2: 1 + } + Yellow_Potion: { + Lv3: 1 + } + White_Potion: { + Lv4: 1 + } + Blue_Potion: { + Lv5: 1 + } } } }, @@ -14671,16 +14676,22 @@ skill_db: ( Requirements: { SPCost: 30 Items: { - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Red_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - Yellow_Slim_Potion: 1 - White_Slim_Potion: 1 + Red_Slim_Potion: { + Lv1: 1 + Lv2: 1 + Lv3: 1 + Lv4: 1 + Lv5: 1 + } + Yellow_Slim_Potion: { + Lv6: 1 + Lv7: 1 + Lv8: 1 + Lv9: 1 + } + White_Slim_Potion: { + Lv10: 1 + } } } }, @@ -15166,8 +15177,12 @@ skill_db: ( Requirements: { SPCost: 10 Items: { - Mushroom_Spore: 1 - Stem: 1 + Mushroom_Spore: { + Lv1: 1 + } + Stem: { + Lv2: 1 + } } } }, @@ -23209,10 +23224,18 @@ skill_db: ( SPCost: 100 State: "MadoGear" Items: { - Scarlet_Pts: 1 - Lime_Green_Pts: 1 - Yellow_Wish_Pts: 1 - Indigo_Pts: 1 + Scarlet_Pts: { + Lv1: 1 + } + Lime_Green_Pts: { + Lv2: 1 + } + Yellow_Wish_Pts: { + Lv3: 1 + } + Indigo_Pts: { + Lv4: 1 + } Magic_Gear_Fuel: 2 Shape_Shifter: 0 } @@ -23523,6 +23546,17 @@ skill_db: ( } State: "MadoGear" Items: { + RepairA: { + Lv1: 1 + Lv2: 1 + } + RepairB: { + Lv3: 1 + Lv4: 1 + } + RepairC: { + Lv5: 1 + } Repair_Kit: 0 } } @@ -29317,9 +29351,13 @@ skill_db: ( Lv10: 550 } Items: { - Boody_Red: 3 - Boody_Red: 6 - Flame_Heart: 1 + Boody_Red: { + Lv1: 3 + Lv2: 6 + } + Flame_Heart: { + Lv3: 1 + } } } }, @@ -29377,9 +29415,13 @@ skill_db: ( Lv10: 550 } Items: { - Crystal_Blue: 3 - Crystal_Blue: 6 - Mistic_Frozen: 1 + Crystal_Blue: { + Lv1: 3 + Lv2: 6 + } + Mistic_Frozen: { + Lv3: 1 + } } } }, @@ -29437,9 +29479,13 @@ skill_db: ( Lv10: 550 } Items: { - Wind_Of_Verdure: 3 - Wind_Of_Verdure: 6 - Rough_Wind: 1 + Wind_Of_Verdure: { + Lv1: 3 + Lv2: 6 + } + Rough_Wind: { + Lv3: 1 + } } } }, @@ -29497,9 +29543,13 @@ skill_db: ( Lv10: 550 } Items: { - Yellow_Live: 3 - Yellow_Live: 6 - Great_Nature: 1 + Yellow_Live: { + Lv1: 3 + Lv2: 6 + } + Great_Nature: { + Lv3: 1 + } } } }, @@ -29615,9 +29665,11 @@ skill_db: ( Lv10: 94 } Items: { - Scarlet_Pts: 1 - Scarlet_Pts: 2 - Scarlet_Pts: 3 + Scarlet_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -29665,9 +29717,11 @@ skill_db: ( Lv10: 94 } Items: { - Indigo_Pts: 1 - Indigo_Pts: 2 - Indigo_Pts: 3 + Indigo_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -29715,9 +29769,11 @@ skill_db: ( Lv10: 94 } Items: { - Yellow_Wish_Pts: 1 - Yellow_Wish_Pts: 2 - Yellow_Wish_Pts: 3 + Yellow_Wish_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -29765,9 +29821,11 @@ skill_db: ( Lv10: 94 } Items: { - Lime_Green_Pts: 1 - Lime_Green_Pts: 2 - Lime_Green_Pts: 3 + Lime_Green_Pts: { + Lv1: 1 + Lv2: 2 + Lv3: 3 + } } } Unit: { @@ -30363,11 +30421,21 @@ skill_db: ( Lv10: 75 } Items: { - Oil_Bottle: 1 - Explosive_Powder: 1 - Smoke_Powder: 1 - Tear_Gas: 1 - Acid_Bottle: 1 + Oil_Bottle: { + Lv1: 1 + } + Explosive_Powder: { + Lv2: 1 + } + Smoke_Powder: { + Lv3: 1 + } + Tear_Gas: { + Lv4: 1 + } + Acid_Bottle: { + Lv5: 1 + } } } }, diff --git a/src/map/skill.c b/src/map/skill.c index 09165506f..0e90cdbc2 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -15640,23 +15640,11 @@ static struct skill_condition skill_get_requirement(struct map_session_data *sd, } for( i = 0; i < MAX_SKILL_ITEM_REQUIRE; i++ ) { - int item_idx = (skill_lv - 1) % MAX_SKILL_ITEM_REQUIRE; - if ((skill_id == AM_POTIONPITCHER || skill_id == CR_SLIMPITCHER || skill_id == CR_CULTIVATION) && i != item_idx) - continue; - switch( skill_id ) { case AM_CALLHOMUN: if (sd->status.hom_id) //Don't delete items when hom is already out. continue; break; - case NC_SHAPESHIFT: - if( i < 4 ) - continue; - break; - case WZ_FIREPILLAR: // celest - if (skill_lv <= 5) // no gems required at level 1-5 - continue; - break; case AB_ADORAMUS: if (itemid_isgemstone(skill->get_itemid(skill_id, i)) && skill->check_pc_partner(sd, skill_id, &skill_lv, 1, 2) != 0) continue; @@ -15665,21 +15653,6 @@ static struct skill_condition skill_get_requirement(struct map_session_data *sd, if (itemid_isgemstone(skill->get_itemid(skill_id, i)) && skill->check_pc_partner(sd, skill_id, &skill_lv, 1, 0) != 0) continue; break; - case GN_FIRE_EXPANSION: - if( i < 5 ) - continue; - break; - case SO_SUMMON_AGNI: - case SO_SUMMON_AQUA: - case SO_SUMMON_VENTUS: - case SO_SUMMON_TERA: - case SO_WATER_INSIGNIA: - case SO_FIRE_INSIGNIA: - case SO_WIND_INSIGNIA: - case SO_EARTH_INSIGNIA: - if( i < 3 ) - continue; - break; default: { if (skill->get_requirement_item_unknown(sc, sd, &skill_id, &skill_lv, &idx, &i)) @@ -15725,39 +15698,6 @@ static struct skill_condition skill_get_requirement(struct map_session_data *sd, } } - /* requirements are level-dependent */ - switch( skill_id ) { - case NC_SHAPESHIFT: - case GN_FIRE_EXPANSION: - case SO_SUMMON_AGNI: - case SO_SUMMON_AQUA: - case SO_SUMMON_VENTUS: - case SO_SUMMON_TERA: - case SO_WATER_INSIGNIA: - case SO_FIRE_INSIGNIA: - case SO_WIND_INSIGNIA: - case SO_EARTH_INSIGNIA: - req.itemid[skill_lv - 1] = skill->get_itemid(skill_id, skill_lv - 1); - req.amount[skill_lv - 1] = skill->get_itemqty(skill_id, skill_lv - 1, skill_lv); - break; - } - if (skill_id == NC_REPAIR) { - switch(skill_lv) { - case 1: - case 2: - req.itemid[1] = ITEMID_REPAIRA; - break; - case 3: - case 4: - req.itemid[1] = ITEMID_REPAIRB; - break; - case 5: - req.itemid[1] = ITEMID_REPAIRC; - break; - } - req.amount[1] = 1; - } - // Check for cost reductions due to skills & SCs switch(skill_id) { case MC_MAMMONITE: -- cgit v1.2.3-70-g09d2