Rebalance Dragon Knight 2024-02-05 (#8135)
* Servant Weapon - Reduces skill cooldown from 150 seconds to 60 seconds based on level 5. - Increases base damage from 2500%Atk to 4850%Atk based on level 5. - Increases number of hit from 2 hits to 3 hits. - No longer be removed by Dispell or Clearance. - Increases the trigger chance of weapon from 15% to 25% based on level 5. * Madness Crusher - Increases base damage from 8350%Atk to 20000%Atk based on level 5. * Storm Slash - Increases base damage from 2200%Atk to 4050%Atk per hit based on level 5. * Hack and Slasher - Increases base damage from 7700%Atk to 8550%Atk per hit based on level 10. * Dragonic Breath - Increases factor weight of MaxHP in skill formula from 12.5% to 25%. - Increases factor weight of MaxSP in skill formula from 25% to 50%. Additionally: Dragonic Breath formula updated. Thanks to @datawulf ! Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
This commit is contained in:
parent
8e44c94c7c
commit
fa71d1012d
@ -34931,17 +34931,7 @@ Body:
|
||||
Time: 2000
|
||||
- Level: 5
|
||||
Time: 1000
|
||||
Cooldown:
|
||||
- Level: 1
|
||||
Time: 30000
|
||||
- Level: 2
|
||||
Time: 60000
|
||||
- Level: 3
|
||||
Time: 90000
|
||||
- Level: 4
|
||||
Time: 120000
|
||||
- Level: 5
|
||||
Time: 150000
|
||||
Cooldown: 60000
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
@ -34966,7 +34956,7 @@ Body:
|
||||
Critical: true
|
||||
Range: 1
|
||||
Hit: Multi_Hit
|
||||
HitCount: 2
|
||||
HitCount: 3
|
||||
Element: Weapon
|
||||
Requires:
|
||||
SpCost: 1
|
||||
|
@ -5432,7 +5432,8 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
||||
skillratio += skillratio * sc->getSCE(SC_LIGHTOFSTAR)->val2 / 100;
|
||||
break;
|
||||
case DK_SERVANTWEAPON_ATK:
|
||||
skillratio += -100 + 500 + 400 * skill_lv + 5 * sstatus->pow;
|
||||
skillratio += -100 + 450 + 800 * skill_lv;
|
||||
skillratio += 5 * sstatus->pow;
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
case DK_SERVANT_W_PHANTOM:
|
||||
@ -5445,7 +5446,7 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
||||
break;
|
||||
case DK_HACKANDSLASHER:
|
||||
case DK_HACKANDSLASHER_ATK:
|
||||
skillratio += -100 + 200 + 750 * skill_lv;
|
||||
skillratio += -100 + 350 + 820 * skill_lv;
|
||||
skillratio += 7 * sstatus->pow;
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
@ -5456,7 +5457,8 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
case DK_MADNESS_CRUSHER:
|
||||
skillratio += -100 + 350 + 1600 * skill_lv + 10 * sstatus->pow;
|
||||
skillratio += -100 + 1000 + 3800 * skill_lv;
|
||||
skillratio += 10 * sstatus->pow;
|
||||
if( sd != nullptr ){
|
||||
int16 index = sd->equip_index[EQI_HAND_R];
|
||||
|
||||
@ -5469,18 +5471,25 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
||||
skillratio *= 2;
|
||||
break;
|
||||
case DK_STORMSLASH:
|
||||
skillratio += -100 + 200 + 400 * skill_lv + 5 * sstatus->pow;
|
||||
skillratio += -100 + 300 + 750 * skill_lv;
|
||||
skillratio += 5 * sstatus->pow;
|
||||
RE_LVL_DMOD(100);
|
||||
if (sc && sc->getSCE(SC_GIANTGROWTH) && rnd_chance(60, 100))
|
||||
skillratio *= 2;
|
||||
break;
|
||||
case DK_DRAGONIC_BREATH:
|
||||
skillratio += -100 + 50 + 350 * skill_lv;
|
||||
skillratio += 5 * sstatus->pow;
|
||||
//TODO: needs official HP/SP scaling [Muh]
|
||||
skillratio += sstatus->max_hp / 500 + status_get_max_sp(src) / 40;
|
||||
if (sc && sc->getSCE(SC_DRAGONIC_AURA))
|
||||
skillratio += sstatus->max_hp / 500 + status_get_max_sp(src) / 40;
|
||||
skillratio += 7 * sstatus->pow;
|
||||
|
||||
if (sc && sc->getSCE(SC_DRAGONIC_AURA)) {
|
||||
skillratio += 3 * sstatus->pow;
|
||||
skillratio += (skill_lv * (sstatus->max_hp * 25 / 100) * 5) / 100; // Skill level x 0.05 x ((MaxHP / 4) + (MaxSP / 2))
|
||||
skillratio += (skill_lv * (sstatus->max_sp * 50 / 100) * 5) / 100;
|
||||
} else {
|
||||
skillratio += (skill_lv * (sstatus->max_hp * 25 / 100) * 7) / 100; // Skill level x 0.07 x ((MaxHP / 4) + (MaxSP / 2))
|
||||
skillratio += (skill_lv * (sstatus->max_sp * 50 / 100) * 7) / 100;
|
||||
}
|
||||
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
case IQ_OLEUM_SANCTUM:
|
||||
@ -9718,7 +9727,7 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
|
||||
}
|
||||
|
||||
if( sc ){
|
||||
if( sc->getSCE( SC_SERVANTWEAPON ) && sd->servantball > 0 && rnd() % 100 < ( 3 * sc->getSCE( SC_SERVANTWEAPON )->val1 ) ){
|
||||
if( sc->getSCE( SC_SERVANTWEAPON ) && sd->servantball > 0 && rnd_chance( 5 * sc->getSCE( SC_SERVANTWEAPON )->val1, 100 ) ){
|
||||
uint16 skill_id = DK_SERVANTWEAPON_ATK;
|
||||
uint16 skill_lv = sc->getSCE(SC_SERVANTWEAPON)->val1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user