From e8bd25b88662de981215f263fb95db769a509c5a Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sat, 19 Aug 2023 21:20:50 -0300 Subject: [PATCH 01/10] change size penalty of Knuckles for Renewal Small: 100% -> 100% Medium: 75% -> 100% Large: 50% -> 75% From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/size_fix.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/re/size_fix.txt b/db/re/size_fix.txt index e8e3774d584..94a285a12a8 100644 --- a/db/re/size_fix.txt +++ b/db/re/size_fix.txt @@ -3,5 +3,5 @@ // Columns: Weapon type, Rows: Target size. // Unarmed, Knife, 1H Sword, 2H Sword, 1H Spear, 2H Spears, 1H Axe, 2H Axe, Mace, 2H Mace, Staff, Bow, Knuckle, Musical Instrument, Whip, Book, Katar, Revolver, Rifle, Shotgun, Gatling Gun, Grenade Launcher, Fuuma Shuriken, 2H Staff 100,100, 75, 75, 75, 75, 50, 50, 75, 75,100,100,100, 75, 75,100, 75,100,100,100,100,100, 75,100 // Size: Small -100, 75,100, 75, 75, 75, 75, 75,100,100,100,100, 75,100,100,100,100,100,100,100,100,100, 75,100 // Size: Medium -100, 50, 75,100,100,100,100,100,100,100,100, 75, 50, 75, 50, 50, 75,100,100,100,100,100,100,100 // Size: Large +100, 75,100, 75, 75, 75, 75, 75,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 75,100 // Size: Medium +100, 50, 75,100,100,100,100,100,100,100,100, 75, 75, 75, 50, 50, 75,100,100,100,100,100,100,100 // Size: Large From 2acc8ef573a3bdca241af3977c276d5a0c3d36cd Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sat, 19 Aug 2023 21:27:33 -0300 Subject: [PATCH 02/10] Rebalance of MO_TRIPLEATTACK (Raging Trifecta Blow) - Chance of activation changed: - Old: 30% for level 1, less chance for each level above - New: Always 30% From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- src/map/battle.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/map/battle.c b/src/map/battle.c index f2ede54dce1..8c9d3010900 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6717,13 +6717,17 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_ } if(sd && (skillv = pc->checkskill(sd,MO_TRIPLEATTACK)) > 0) { - int triple_rate= 30 - skillv; //Base Rate - if (sc && sc->data[SC_SKILLRATE_UP] && sc->data[SC_SKILLRATE_UP]->val1 == MO_TRIPLEATTACK) { - triple_rate += triple_rate * (sc->data[SC_SKILLRATE_UP]->val2) /100; +#ifndef RENEWAL + int triple_rate = 30 - skillv; // Base Rate +#else + int triple_rate = 30; // Base Rate +#endif + if (sc != NULL && sc->data[SC_SKILLRATE_UP] != NULL && sc->data[SC_SKILLRATE_UP]->val1 == MO_TRIPLEATTACK) { + triple_rate += triple_rate * (sc->data[SC_SKILLRATE_UP]->val2) / 100; status_change_end(src, SC_SKILLRATE_UP, INVALID_TIMER); } if (rnd() % 100 < triple_rate) { - if (skill->attack(BF_WEAPON, src, src, target, MO_TRIPLEATTACK, skillv, tick, 0)) + if (skill->attack(BF_WEAPON, src, src, target, MO_TRIPLEATTACK, skillv, tick, 0) != 0) return ATK_DEF; return ATK_MISS; } From ff58af9eb9e222309a8b0ab79a8f1d938a72fe7c Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sat, 19 Aug 2023 22:26:46 -0300 Subject: [PATCH 03/10] Rebalance of MO_CHAINCOMBO (Raging Quadruple Blow) - SP cost reduced by 6 in every level - When used with Knuckle class weapon: - Skill damage is doubled - Number of hits increased to 6 (visual only) Example: - Non Knuckle: 4 hits of 100 (Total = 400) - Knuckle: 6 hits of 133 (Total = 800) From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/skill_db.conf | 20 ++++++++++---------- src/map/battle.c | 12 ++++++++++++ 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index aa3bc9bd56e..b8d85742d76 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8362,16 +8362,16 @@ skill_db: ( } Requirements: { SPCost: { - Lv1: 11 - Lv2: 12 - Lv3: 13 - Lv4: 14 - Lv5: 15 - Lv6: 16 - Lv7: 17 - Lv8: 18 - Lv9: 19 - Lv10: 20 + Lv1: 5 + Lv2: 6 + Lv3: 7 + Lv4: 8 + Lv5: 9 + Lv6: 10 + Lv7: 11 + Lv8: 12 + Lv9: 13 + Lv10: 14 } WeaponTypes: { NoWeapon: true diff --git a/src/map/battle.c b/src/map/battle.c index 8c9d3010900..c8030ca2d80 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2266,7 +2266,14 @@ static int battle_calc_skillratio(int attack_type, struct block_list *src, struc skillratio += 20 * skill_lv; break; case MO_CHAINCOMBO: +#ifndef RENEWAL skillratio += 50 + 50 * skill_lv; +#else + if (sd != NULL && sd->weapontype == W_KNUCKLE) + skillratio += -100 + (250 + 50 * skill_lv) * 2; + else + skillratio += 150 + 50 * skill_lv; +#endif break; case MO_COMBOFINISH: skillratio += 140 + 60 * skill_lv; @@ -4822,6 +4829,11 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl wd.div_ = 4; } break; + + case MO_CHAINCOMBO: + if (sd != NULL && sd->weapontype == W_KNUCKLE) + wd.div_ = -6; + break; #endif case KN_AUTOCOUNTER: From 6ce47717509b80d44854dfd7062349ab4a832055 Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sat, 19 Aug 2023 22:48:20 -0300 Subject: [PATCH 04/10] Rebalance of MO_COMBOFINISH (Raging Thrust) - Damage formula changed - New: (450 + SkillLevel * 150 + STR * 5)% - SP Consumption reduced - Old: SkillLevel + 10 - New: SkillLevel + 2 From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/skill_db.conf | 20 ++++++++++---------- src/map/battle.c | 4 ++++ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index b8d85742d76..879955e1590 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8424,16 +8424,16 @@ skill_db: ( } Requirements: { SPCost: { - Lv1: 11 - Lv2: 12 - Lv3: 13 - Lv4: 14 - Lv5: 15 - Lv6: 16 - Lv7: 17 - Lv8: 18 - Lv9: 19 - Lv10: 20 + Lv1: 3 + Lv2: 4 + Lv3: 5 + Lv4: 6 + Lv5: 7 + Lv6: 8 + Lv7: 9 + Lv8: 10 + Lv9: 11 + Lv10: 12 } WeaponTypes: { NoWeapon: true diff --git a/src/map/battle.c b/src/map/battle.c index c8030ca2d80..fef320075f9 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2276,7 +2276,11 @@ static int battle_calc_skillratio(int attack_type, struct block_list *src, struc #endif break; case MO_COMBOFINISH: +#ifndef RENEWAL skillratio += 140 + 60 * skill_lv; +#else + skillratio += 350 + 150 * skill_lv + status_get_str(src) * 5; +#endif break; case BA_MUSICALSTRIKE: case DC_THROWARROW: From e09ac5e31d8673a9428dfe04cffc4eed1f2b9132 Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sat, 19 Aug 2023 23:04:05 -0300 Subject: [PATCH 05/10] Rebalance of MO_EXTREMITYFIST (Asura Strike) - Change required spheres when used after Raging Thrust or Root - Old: 4 spheres were required - New: 1 sphere is required - Doubles damage when there are 6 or more spirit sphere on cast - SP recovery penalty duration reduced: 10s -> 3s From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/skill_db.conf | 4 ++-- src/map/battle.c | 7 +++++-- src/map/skill.c | 25 +++++++++++++++++-------- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 879955e1590..b9c4f6f0ff2 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8295,8 +8295,8 @@ skill_db: ( Lv9: 1 Lv10: 1 } - SkillData1: 10000 - SkillData2: 300000 + SkillData1: 3_000 // Duration of the SP Recovery block (in milliseconds) (SC_EXTREMITYFIST2) + SkillData2: 300_000 FixedCastTime: { Lv1: 2000 Lv2: 1750 diff --git a/src/map/battle.c b/src/map/battle.c index fef320075f9..83d9be67dc4 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5522,10 +5522,13 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl case MO_EXTREMITYFIST: // [malufett] { short totaldef = status->get_total_def(target); - GET_NORMAL_ATTACK((sc && sc->data[SC_MAXIMIZEPOWER] ? 1 : 0) | 8, skill_id); - if ( wd.damage ) { + GET_NORMAL_ATTACK((sc != NULL && sc->data[SC_MAXIMIZEPOWER] != NULL ? 1 : 0) | 8, skill_id); + if (wd.damage != 0) { ATK_ADD(250 * (skill_lv + 1) + (10 * (status_get_sp(src) + 1) * wd.damage / 100) + (8 * wd.damage)); ATK_ADD(-totaldef); + + if (sd != NULL && sd->spiritball_old >= 6) + ATK_ADDRATE(100); // +100% damage = doubles the damage } } break; diff --git a/src/map/skill.c b/src/map/skill.c index 03d93c7b5af..12734782422 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -15665,6 +15665,9 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s if(sc && sc->data[SC_EXTREMITYFIST]) return 0; #endif // 0 +#ifdef RENEWAL + sd->spiritball_old = sd->spiritball; +#endif if (sc && (sc->data[SC_BLADESTOP] || sc->data[SC_CURSEDCIRCLE_ATKER])) break; if (sc && sc->data[SC_COMBOATTACK]) { @@ -17181,16 +17184,21 @@ static struct skill_condition skill_get_requirement(struct map_session_data *sd, req.spiritball = 0; break; case MO_EXTREMITYFIST: - if( sc ) - { - if( sc->data[SC_BLADESTOP] ) + if (sc != NULL) { + if (sc->data[SC_BLADESTOP] != NULL) { +#ifndef RENEWAL req.spiritball--; - else if( sc->data[SC_COMBOATTACK] ) - { - switch( sc->data[SC_COMBOATTACK]->val1 ) - { +#else + req.spiritball = 1; +#endif + } else if (sc->data[SC_COMBOATTACK] != NULL) { + switch (sc->data[SC_COMBOATTACK]->val1) { case MO_COMBOFINISH: +#ifndef RENEWAL req.spiritball = 4; +#else + req.spiritball = 1; +#endif break; case CH_TIGERFIST: req.spiritball = 3; @@ -17199,8 +17207,9 @@ static struct skill_condition skill_get_requirement(struct map_session_data *sd, req.spiritball = sd->spiritball?sd->spiritball:1; break; } - }else if( sc->data[SC_RAISINGDRAGON] && sd->spiritball > 5) + } else if (sc->data[SC_RAISINGDRAGON] != NULL && sd->spiritball > 5) { req.spiritball = sd->spiritball; // must consume all regardless of the amount required + } } break; case SR_RAMPAGEBLASTER: From 603ddc49900b3c0f15cfeb717011aba8644dc537 Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sun, 20 Aug 2023 01:00:49 -0300 Subject: [PATCH 06/10] Rebalance of MO_BLADESTOP (Root) - Cooldown added: 3s - Boss monsters are now affected - Duration changed: - Old: 10 + (SkillLevel * 10) seconds - New: 10 seconds (2 seconds on boss monsters) From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/skill_db.conf | 15 ++++----------- src/map/battle.c | 10 +++++++++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index b9c4f6f0ff2..7629c35dc5a 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8186,18 +8186,11 @@ skill_db: ( Lv9: 2100 Lv10: 2300 } - SkillData2: { - Lv1: 20000 - Lv2: 30000 - Lv3: 40000 - Lv4: 50000 - Lv5: 60000 - Lv6: 70000 - Lv7: 80000 - Lv8: 90000 - Lv9: 100000 - Lv10: 110000 + SkillData2: { // Effect duration (in milliseconds) + Lv1: 2_000 // Boss targets + Lv2: 10_000 // Non-Boss targets } + CoolDown: 3_000 FixedCastTime: 0 Requirements: { SPCost: 10 diff --git a/src/map/battle.c b/src/map/battle.c index 83d9be67dc4..41d4b22377a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -6640,8 +6640,10 @@ static bool battle_should_bladestop_attacker(struct block_list *attacker, struct if (tsc == NULL || tsc->data[SC_BLADESTOP_WAIT] == NULL) return false; // Target is not in BladeStop wait mode +#ifndef RENEWAL if (is_boss(attacker)) return false; // Boss monsters are not affected +#endif #ifndef RENEWAL if (attacker->type == BL_PC) @@ -6724,8 +6726,14 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_ } if (tsc != NULL && battle->should_bladestop_attacker(src, target)) { uint16 skill_lv = tsc->data[SC_BLADESTOP_WAIT]->val1; - int duration = skill->get_time2(MO_BLADESTOP,skill_lv); status_change_end(target, SC_BLADESTOP_WAIT, INVALID_TIMER); + +#ifndef RENEWAL + int duration = skill->get_time2(MO_BLADESTOP, skill_lv); +#else + int duration = skill->get_time2(MO_BLADESTOP, is_boss(src) ? 1 : 2); +#endif + if (sc_start4(target, src, SC_BLADESTOP, 100, sd ? pc->checkskill(sd, MO_BLADESTOP) : 5, 0, 0, target->id, duration, MO_BLADESTOP)) { //Target locked. clif->damage(src, target, sstatus->amotion, 1, 0, 1, BDT_NORMAL, 0); //Display MISS. From 2f53cf58a4c2e4d438627e3a141990cb81416168 Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Fri, 26 Apr 2024 08:48:11 -0300 Subject: [PATCH 07/10] Fix MO_INVESTIGATE renewal damage calculation The base ATK (before skill ratio) should be (ATK + (HardDef/2)) --- db/re/skill_db.conf | 1 + src/map/battle.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 7629c35dc5a..3cf7924c78e 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8046,6 +8046,7 @@ skill_db: ( } AttackType: "Weapon" DamageType: { + IgnoreDefense: true IgnoreFlee: true } CastTime: 500 diff --git a/src/map/battle.c b/src/map/battle.c index 41d4b22377a..7a11380af29 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5532,6 +5532,18 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl } } break; + + case MO_INVESTIGATE: { + // Based on in-game tests, RENEWAL Occult Impact has its base ATK increased by 50% of target's hard def + // In other words: (ATK + (Target_HardDef / 2)) * SkillRatio + defType hardDef = status->get_def(target); + hardDef = status->calc_def2(target, tsc, hardDef, false); + + ATK_ADD(hardDef / 2); + ATK_RATE(battle->calc_skillratio(BF_WEAPON, src, target, skill_id, skill_lv, skillratio, wflag)); + break; + } + case PA_SHIELDCHAIN: GET_NORMAL_ATTACK((sc && sc->data[SC_MAXIMIZEPOWER] ? 1 : 0) | (sc && sc->data[SC_WEAPONPERFECT] ? 8 : 0), skill_id); if ( sd ) { From 57228f87fb3aa8fe2e37802bb9d1bfc4d7600a5f Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Fri, 26 Apr 2024 08:48:29 -0300 Subject: [PATCH 08/10] Rebalance of MO_INVESTIGATE (Occult Impact) - Damage formula changed - New: (SkillLevel * 100)% - When used on target in Root state, deals 50% more damage - ATK Mastery no longer increases its damage (Not sure if this was added by the Rebalance, but this info only appeared in iRO Wiki after rebalance, so I am assuming it was an undocumented change) From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- src/map/battle.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/map/battle.c b/src/map/battle.c index 7a11380af29..13d80682250 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -826,6 +826,13 @@ static int64 battle_calc_masteryfix(struct block_list *src, struct block_list *t nullpo_ret(src); nullpo_ret(target); +#ifdef RENEWAL + // In renewal, Occult Impact doesn't get extra damage by any mastery, not even weapon ones + if (skill_id == MO_INVESTIGATE) + return damage; +#endif + + sc = status->get_sc(src); sd = BL_CAST(BL_PC, src); tstatus = status->get_status_data(target); @@ -2248,8 +2255,20 @@ static int battle_calc_skillratio(int attack_type, struct block_list *src, struc case MO_FINGEROFFENSIVE: skillratio+= 50 * skill_lv; break; - case MO_INVESTIGATE: + case MO_INVESTIGATE: { +#ifndef RENEWAL skillratio += 75 * skill_lv; +#else + int ratio = skill_lv * 100; + + // Cast and Target must be locked in BladeStop. + // In other words: A third player won't do extra damage from hitting another Monk's blade stop + if (tsc != NULL && tsc->data[SC_BLADESTOP] != NULL && sc->data[SC_BLADESTOP] != NULL) + ratio += ratio * 50 / 100; + + skillratio += - 100 + ratio; +#endif + } break; case MO_EXTREMITYFIST: #ifndef RENEWAL From 04e0a1584741b12f8fa5fb1e6b245cae3d29c80f Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sun, 20 Aug 2023 12:35:57 -0300 Subject: [PATCH 09/10] Rebalance of MO_FINGEROFFENSIVE (Throw Spirit Sphere) - Damage formula changed - Old: (Spirit Spheres x 350)% - New: [600 + (Skill Level x 200)]% - Casting time changed - Old: (Spirit Spheres + 1) seconds - New: 0.5 seconds fixed casting time + 0.5 seconds variable casting time - 1 second cooldown added - SP cost increased - Old: 10 at all skill levels - New: 8 + (Skill Level x 4) - Spirit sphere usage changed - Old: (Skill Level) sphere - New: 1 sphere at all skill levels - Skill will deal 50% more damage on target caught with Root - The damage is delivered as a bundle of 5 hits (TotalDMG/5) From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/skill_db.conf | 38 ++++++++++++++------------------------ src/map/battle.c | 18 ++++++++++++++++-- src/map/unit.c | 2 ++ 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 3cf7924c78e..8c2fa847272 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -8084,18 +8084,7 @@ skill_db: ( } AttackType: "Weapon" Element: "Ele_Weapon" - NumberOfHits: { - Lv1: 1 - Lv2: 2 - Lv3: 3 - Lv4: 4 - Lv5: 5 - Lv6: 6 - Lv7: 7 - Lv8: 8 - Lv9: 9 - Lv10: 10 - } + NumberOfHits: -5 CastTime: 500 AfterCastActDelay: 500 AfterCastWalkDelay: { @@ -8110,21 +8099,22 @@ skill_db: ( Lv9: 1600 Lv10: 1800 } + CoolDown: 1_000 FixedCastTime: 500 Requirements: { - SPCost: 10 - SpiritSphereCost: { - Lv1: 1 - Lv2: 2 - Lv3: 3 - Lv4: 4 - Lv5: 5 - Lv6: 6 - Lv7: 7 - Lv8: 8 - Lv9: 9 - Lv10: 10 + SPCost: { + Lv1: 12 + Lv2: 16 + Lv3: 20 + Lv4: 24 + Lv5: 28 + Lv6: 32 + Lv7: 36 + Lv8: 40 + Lv9: 44 + Lv10: 48 } + SpiritSphereCost: 1 } }, { diff --git a/src/map/battle.c b/src/map/battle.c index 13d80682250..abe0ec60a9e 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -2252,8 +2252,20 @@ static int battle_calc_skillratio(int attack_type, struct block_list *src, struc skillratio += 40 * skill_lv; #endif break; - case MO_FINGEROFFENSIVE: - skillratio+= 50 * skill_lv; + case MO_FINGEROFFENSIVE: { +#ifndef RENEWAL + skillratio += 50 * skill_lv; +#else + int ratio = 600 + 200 * skill_lv; + + // Cast and Target must be locked in BladeStop. + // In other words: A third player won't do extra damage from hitting another Monk's blade stop + if (tsc != NULL && tsc->data[SC_BLADESTOP] != NULL && sc->data[SC_BLADESTOP] != NULL) + ratio += ratio * 50 / 100; + + skillratio += - 100 + ratio; +#endif + } break; case MO_INVESTIGATE: { #ifndef RENEWAL @@ -4793,6 +4805,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl if(skill_id) { wd.flag |= battle->range_type(src, target, skill_id, skill_lv); switch(skill_id) { +#ifndef RENEWAL case MO_FINGEROFFENSIVE: if(sd) { if (battle_config.finger_offensive_type) @@ -4801,6 +4814,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl wd.div_ = sd->spiritball_old; } break; +#endif case HT_PHANTASMIC: //Since these do not consume ammo, they need to be explicitly set as arrow attacks. flag.arrow = 1; diff --git a/src/map/unit.c b/src/map/unit.c index 26e39f36909..110fe50fa67 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1656,10 +1656,12 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill } else if (!status->isdead(target)) return 0; //Can't cast on non-dead characters. break; +#ifndef RENEWAL case MO_FINGEROFFENSIVE: if(sd) casttime += casttime * min(skill_lv, sd->spiritball); break; +#endif case MO_EXTREMITYFIST: if (sc && sc->data[SC_COMBOATTACK] && (sc->data[SC_COMBOATTACK]->val1 == MO_COMBOFINISH || From 296b56b6e6e747891b64179b458d76c1fb1e0aab Mon Sep 17 00:00:00 2001 From: "Guilherme G. Menaldo" Date: Sun, 20 Aug 2023 12:39:06 -0300 Subject: [PATCH 10/10] Rebalance of MO_ABSORBSPIRITS (Absorb Spirit Sphere) - Reduced fixed casting time: 1s -> 0.5s - Removed variable casting time From massive skills rebalance (1st/2nd/transclass) (2018.10.31) --- db/re/skill_db.conf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf index 8c2fa847272..a50b8d77f07 100644 --- a/db/re/skill_db.conf +++ b/db/re/skill_db.conf @@ -7979,8 +7979,7 @@ skill_db: ( NoDamage: true } InterruptCast: true - CastTime: 1000 - FixedCastTime: 1000 + FixedCastTime: 500 Requirements: { SPCost: 5 }