Implemented DK_DRAGONIC_BREATH (#7985)

Deals normal long ranged physical damage to the target.
    Can only be used when riding dragon.
    Deals additional damage depends on user's MaxHP and MaxSP.
    Affected by Hit/Flee calculation.
    Ignores physical defense.
    Damage property depends on weapon property.
    Affected by attack modifiers (such as race modifier).
    Recovers 2 AP.
    When using while under Dragonic Aura buff, increases influence of MaxHP and MaxSP in skill damage.
    Fixed casting time : 0.5 seconds (based on level 10).
    Variable Casting time : 2 seconds (based on level 10).
    Cooldown: 0.5 seconds (based on level 10).
    Global cool time : 0.15 seconds (based on level 10).

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Credit to @datawulf
This commit is contained in:
Atemo 2023-11-01 15:47:54 +01:00 committed by GitHub
parent da9e321330
commit ebabfd8807
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 97 additions and 0 deletions

View File

@ -41389,6 +41389,85 @@ Body:
SplashArea: 6
Requires:
SpCost: 1
- Id: 6001
Name: DK_DRAGONIC_BREATH
Description: Dragonic Breath
MaxLevel: 10
Type: Weapon
TargetType: Attack
DamageFlags:
Splash: true
IgnoreDefense: true
Flags:
TargetTrap: true
Range: 9
GiveAp: 2
Hit: Multi_Hit
HitCount: -2
Element: Weapon
SplashArea:
- Level: 1
Area: 3
- Level: 2
Area: 3
- Level: 3
Area: 3
- Level: 4
Area: 3
- Level: 5
Area: 3
- Level: 6
Area: 4
- Level: 7
Area: 4
- Level: 8
Area: 4
- Level: 9
Area: 4
- Level: 10
Area: 4
CastCancel: true
CastTime:
- Level: 4
Time: 1000
- Level: 5
Time: 1000
- Level: 6
Time: 1000
- Level: 7
Time: 1500
- Level: 8
Time: 1500
- Level: 9
Time: 2000
- Level: 10
Time: 2000
AfterCastActDelay: 150
FixedCastTime: 500
Cooldown: 500
Requires:
SpCost:
- Level: 1
Amount: 61
- Level: 2
Amount: 64
- Level: 3
Amount: 67
- Level: 4
Amount: 70
- Level: 5
Amount: 73
- Level: 6
Amount: 76
- Level: 7
Amount: 79
- Level: 8
Amount: 82
- Level: 9
Amount: 85
- Level: 10
Amount: 88
State: Ridingdragon
- Id: 6002
Name: MT_SPARK_BLASTER
Description: Spark Blaster

View File

@ -6683,6 +6683,13 @@ Body:
Requires:
- Name: DK_TWOHANDDEF
Level: 5
- Name: DK_DRAGONIC_BREATH
MaxLevel: 10
Requires:
- Name: RK_DRAGONBREATH
Level: 10
- Name: RK_DRAGONBREATH_WATER
Level: 10
- Name: DK_DRAGONIC_AURA
MaxLevel: 10
Requires:

View File

@ -5405,6 +5405,15 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
if (sc && sc->getSCE(SC_GIANTGROWTH) && rnd()%100 < 30)
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;
RE_LVL_DMOD(100);
break;
case IQ_OLEUM_SANCTUM:
skillratio += -100 + 500 + 2000 * skill_lv + 5 * sstatus->pow;
RE_LVL_DMOD(100);

View File

@ -5616,6 +5616,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case DK_SERVANT_W_DEMOL:
case DK_MADNESS_CRUSHER:
case DK_HACKANDSLASHER:
case DK_DRAGONIC_BREATH:
case AG_CRIMSON_ARROW_ATK:
case AG_DESTRUCTIVE_HURRICANE:
case AG_SOUL_VC_STRIKE:
@ -5735,6 +5736,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case GN_CARTCANNON:
case SU_SCRATCH:
case BO_MAYHEMIC_THORNS:
case DK_DRAGONIC_BREATH:
case DK_HACKANDSLASHER:
case MT_SPARK_BLASTER:
clif_skill_nodamage(src,bl,skill_id,skill_lv,1);