Rebalance windhawk 20220608 (#7859)
* Hawk Rush - Increases damage from 1000%Atk to 2500%Atk based on level 5. * Gale Storm - Reduces cooldown from 2 seconds to 1.5 seconds. - Increases damage from 2500%Atk to 9500%Atk based on level 10. Skipped, not enough info (the values have been changed again) - Reduces SP consumption from 179 to 100 based on level 10. * Crescive Bolt - Reduces delay after skill from 0.5 seconds to 0.3 seconds. - Reduces SP consumption from 100 to 65 based on level 10. - Increases damage from 3000%Atk to 3400%Atk based on level 10. - When reach 3 stacks of Crescive Bolt consecutive attack buff, the duration of buff will be refreshed when reusing Crescive Bolt. * Deep Blind Trap / Solid Trap / Swift Trap / Flame Trap - Reduces cooldown to 2.5 seconds. - Increases SP consumption from 62 to 84 based on level 5. - Increases area of effect to 7 x 7 cells based on level 5. - Reduces trap duration to 5 seconds. - Changes damage interval to 0.5 seconds. - Reduces AP recovery rate from 4 to 3 based on level 5. - No longer inflict status ailment to the target. - Increases damage from 1250%Atk to 4250%Atk per hit based on level 5. Note: already implemented - Increases factor weight of CON in skill formula from 3 to 5. * Hawk Boomerang - Adds 0.15 seconds cooldown. - Reduces SP consumption from 120 to 80. - Reduces AP consumption from 15 to 12. - Increases damage from 2500%Atk to 3000%Atk based on level 5. * Updated Gale Storm - Reduces SP consumption from 179 to 100 based on level 10. Additionally: - Updated Crescive Bolt ratio (+10% each hit)
This commit is contained in:
parent
c16473eb94
commit
0a87d2f3d6
@ -39228,10 +39228,11 @@ Body:
|
||||
CastCancel: true
|
||||
CastTime: 800
|
||||
AfterCastActDelay: 500
|
||||
Cooldown: 150
|
||||
FixedCastTime: 200
|
||||
Requires:
|
||||
SpCost: 120
|
||||
ApCost: 15
|
||||
SpCost: 80
|
||||
ApCost: 12
|
||||
Weapon:
|
||||
Bow: true
|
||||
State: Falcon
|
||||
@ -39272,30 +39273,30 @@ Body:
|
||||
CastCancel: true
|
||||
CastTime: 3500
|
||||
AfterCastActDelay: 500
|
||||
Cooldown: 2000
|
||||
Cooldown: 1500
|
||||
FixedCastTime: 500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 80
|
||||
Amount: 64
|
||||
- Level: 2
|
||||
Amount: 91
|
||||
Amount: 68
|
||||
- Level: 3
|
||||
Amount: 102
|
||||
Amount: 72
|
||||
- Level: 4
|
||||
Amount: 113
|
||||
Amount: 76
|
||||
- Level: 5
|
||||
Amount: 124
|
||||
Amount: 80
|
||||
- Level: 6
|
||||
Amount: 135
|
||||
Amount: 84
|
||||
- Level: 7
|
||||
Amount: 146
|
||||
Amount: 88
|
||||
- Level: 8
|
||||
Amount: 157
|
||||
Amount: 92
|
||||
- Level: 9
|
||||
Amount: 168
|
||||
Amount: 96
|
||||
- Level: 10
|
||||
Amount: 179
|
||||
Amount: 100
|
||||
Weapon:
|
||||
Bow: true
|
||||
Ammo:
|
||||
@ -39313,42 +39314,61 @@ Body:
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Dark
|
||||
GiveAp: 3
|
||||
GiveAp:
|
||||
- Level: 1
|
||||
Amount: 1
|
||||
- Level: 2
|
||||
Amount: 1
|
||||
- Level: 3
|
||||
Amount: 2
|
||||
- Level: 4
|
||||
Amount: 2
|
||||
- Level: 5
|
||||
Amount: 3
|
||||
CastCancel: true
|
||||
CastTime: 1000
|
||||
AfterCastActDelay: 500
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 12000
|
||||
Time: 3000
|
||||
- Level: 2
|
||||
Time: 24000
|
||||
Time: 3500
|
||||
- Level: 3
|
||||
Time: 36000
|
||||
Time: 4000
|
||||
- Level: 4
|
||||
Time: 48000
|
||||
Time: 4500
|
||||
- Level: 5
|
||||
Time: 60000
|
||||
Duration2: 20000
|
||||
Cooldown: 30000
|
||||
Time: 5000
|
||||
Cooldown: 2500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 50
|
||||
Amount: 68
|
||||
- Level: 2
|
||||
Amount: 53
|
||||
Amount: 72
|
||||
- Level: 3
|
||||
Amount: 56
|
||||
Amount: 76
|
||||
- Level: 4
|
||||
Amount: 59
|
||||
Amount: 80
|
||||
- Level: 5
|
||||
Amount: 62
|
||||
Amount: 84
|
||||
ItemCost:
|
||||
- Item: Special_Alloy_Trap
|
||||
Amount: 2
|
||||
Unit:
|
||||
Id: Deepblindtrap
|
||||
Range: 1
|
||||
Interval: 3000
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 1
|
||||
- Level: 2
|
||||
Size: 1
|
||||
- Level: 3
|
||||
Size: 2
|
||||
- Level: 4
|
||||
Size: 2
|
||||
- Level: 5
|
||||
Size: 3
|
||||
Interval: 500
|
||||
Target: Enemy
|
||||
Flag:
|
||||
NoOverlap: true
|
||||
@ -39366,43 +39386,62 @@ Body:
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Earth
|
||||
GiveAp: 3
|
||||
GiveAp:
|
||||
- Level: 1
|
||||
Amount: 1
|
||||
- Level: 2
|
||||
Amount: 1
|
||||
- Level: 3
|
||||
Amount: 2
|
||||
- Level: 4
|
||||
Amount: 2
|
||||
- Level: 5
|
||||
Amount: 3
|
||||
CastCancel: true
|
||||
CastTime: 1000
|
||||
AfterCastActDelay: 500
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 12000
|
||||
Time: 3000
|
||||
- Level: 2
|
||||
Time: 24000
|
||||
Time: 3500
|
||||
- Level: 3
|
||||
Time: 36000
|
||||
Time: 4000
|
||||
- Level: 4
|
||||
Time: 48000
|
||||
Time: 4500
|
||||
- Level: 5
|
||||
Time: 60000
|
||||
Duration2: 10000
|
||||
Cooldown: 30000
|
||||
Time: 5000
|
||||
Cooldown: 2500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 70
|
||||
Amount: 68
|
||||
- Level: 2
|
||||
Amount: 80
|
||||
Amount: 72
|
||||
- Level: 3
|
||||
Amount: 90
|
||||
Amount: 76
|
||||
- Level: 4
|
||||
Amount: 100
|
||||
Amount: 80
|
||||
- Level: 5
|
||||
Amount: 110
|
||||
Amount: 84
|
||||
ItemCost:
|
||||
- Item: Special_Alloy_Trap
|
||||
Amount: 2
|
||||
Status: HandicapState_Crystallization
|
||||
Unit:
|
||||
Id: Solidtrap
|
||||
Range: 1
|
||||
Interval: 3000
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 1
|
||||
- Level: 2
|
||||
Size: 1
|
||||
- Level: 3
|
||||
Size: 2
|
||||
- Level: 4
|
||||
Size: 2
|
||||
- Level: 5
|
||||
Size: 3
|
||||
Interval: 500
|
||||
Target: Enemy
|
||||
Flag:
|
||||
NoOverlap: true
|
||||
@ -39419,43 +39458,62 @@ Body:
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Wind
|
||||
GiveAp: 3
|
||||
GiveAp:
|
||||
- Level: 1
|
||||
Amount: 1
|
||||
- Level: 2
|
||||
Amount: 1
|
||||
- Level: 3
|
||||
Amount: 2
|
||||
- Level: 4
|
||||
Amount: 2
|
||||
- Level: 5
|
||||
Amount: 3
|
||||
CastCancel: true
|
||||
CastTime: 1000
|
||||
AfterCastActDelay: 500
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 12000
|
||||
Time: 3000
|
||||
- Level: 2
|
||||
Time: 24000
|
||||
Time: 3500
|
||||
- Level: 3
|
||||
Time: 36000
|
||||
Time: 4000
|
||||
- Level: 4
|
||||
Time: 48000
|
||||
Time: 4500
|
||||
- Level: 5
|
||||
Time: 60000
|
||||
Duration2: 10000
|
||||
Cooldown: 30000
|
||||
Time: 5000
|
||||
Cooldown: 2500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 60
|
||||
- Level: 2
|
||||
Amount: 62
|
||||
- Level: 3
|
||||
Amount: 64
|
||||
- Level: 4
|
||||
Amount: 66
|
||||
- Level: 5
|
||||
Amount: 68
|
||||
- Level: 2
|
||||
Amount: 72
|
||||
- Level: 3
|
||||
Amount: 76
|
||||
- Level: 4
|
||||
Amount: 80
|
||||
- Level: 5
|
||||
Amount: 84
|
||||
ItemCost:
|
||||
- Item: Special_Alloy_Trap
|
||||
Amount: 2
|
||||
Status: HandicapState_LightningStrike
|
||||
Unit:
|
||||
Id: Swifttrap
|
||||
Range: 1
|
||||
Interval: 3000
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 1
|
||||
- Level: 2
|
||||
Size: 1
|
||||
- Level: 3
|
||||
Size: 2
|
||||
- Level: 4
|
||||
Size: 2
|
||||
- Level: 5
|
||||
Size: 3
|
||||
Interval: 500
|
||||
Target: Enemy
|
||||
Flag:
|
||||
NoOverlap: true
|
||||
@ -39475,31 +39533,31 @@ Body:
|
||||
GiveAp: 1
|
||||
CastCancel: true
|
||||
CastTime: 800
|
||||
AfterCastActDelay: 500
|
||||
AfterCastActDelay: 300
|
||||
Duration1: 10000
|
||||
FixedCastTime: 200
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 55
|
||||
Amount: 47
|
||||
- Level: 2
|
||||
Amount: 60
|
||||
Amount: 49
|
||||
- Level: 3
|
||||
Amount: 65
|
||||
Amount: 51
|
||||
- Level: 4
|
||||
Amount: 70
|
||||
Amount: 53
|
||||
- Level: 5
|
||||
Amount: 75
|
||||
Amount: 55
|
||||
- Level: 6
|
||||
Amount: 80
|
||||
Amount: 57
|
||||
- Level: 7
|
||||
Amount: 85
|
||||
Amount: 59
|
||||
- Level: 8
|
||||
Amount: 90
|
||||
Amount: 61
|
||||
- Level: 9
|
||||
Amount: 95
|
||||
Amount: 63
|
||||
- Level: 10
|
||||
Amount: 100
|
||||
Amount: 65
|
||||
Weapon:
|
||||
Bow: true
|
||||
Ammo:
|
||||
@ -39518,42 +39576,61 @@ Body:
|
||||
Hit: Single
|
||||
HitCount: 1
|
||||
Element: Fire
|
||||
GiveAp: 3
|
||||
GiveAp:
|
||||
- Level: 1
|
||||
Amount: 1
|
||||
- Level: 2
|
||||
Amount: 1
|
||||
- Level: 3
|
||||
Amount: 2
|
||||
- Level: 4
|
||||
Amount: 2
|
||||
- Level: 5
|
||||
Amount: 3
|
||||
CastCancel: true
|
||||
CastTime: 1000
|
||||
AfterCastActDelay: 500
|
||||
Duration1:
|
||||
- Level: 1
|
||||
Time: 12000
|
||||
Time: 3000
|
||||
- Level: 2
|
||||
Time: 24000
|
||||
Time: 3500
|
||||
- Level: 3
|
||||
Time: 36000
|
||||
Time: 4000
|
||||
- Level: 4
|
||||
Time: 48000
|
||||
Time: 4500
|
||||
- Level: 5
|
||||
Time: 60000
|
||||
Duration2: 20000
|
||||
Cooldown: 30000
|
||||
Time: 5000
|
||||
Cooldown: 2500
|
||||
Requires:
|
||||
SpCost:
|
||||
- Level: 1
|
||||
Amount: 40
|
||||
Amount: 68
|
||||
- Level: 2
|
||||
Amount: 44
|
||||
Amount: 72
|
||||
- Level: 3
|
||||
Amount: 48
|
||||
Amount: 76
|
||||
- Level: 4
|
||||
Amount: 52
|
||||
Amount: 80
|
||||
- Level: 5
|
||||
Amount: 56
|
||||
Amount: 84
|
||||
ItemCost:
|
||||
- Item: Special_Alloy_Trap
|
||||
Amount: 2
|
||||
Unit:
|
||||
Id: Flametrap
|
||||
Range: 1
|
||||
Interval: 3000
|
||||
Range:
|
||||
- Level: 1
|
||||
Size: 1
|
||||
- Level: 2
|
||||
Size: 1
|
||||
- Level: 3
|
||||
Size: 2
|
||||
- Level: 4
|
||||
Size: 2
|
||||
- Level: 5
|
||||
Size: 3
|
||||
Interval: 500
|
||||
Target: Enemy
|
||||
Flag:
|
||||
NoOverlap: true
|
||||
|
@ -5563,27 +5563,27 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
case WH_HAWKRUSH:
|
||||
skillratio += -100 + 200 * skill_lv + 5 * sstatus->con;
|
||||
skillratio += -100 + 500 * skill_lv + 5 * sstatus->con;
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
case WH_HAWKBOOMERANG:// Affected by trait stats??? CON for sure but the other one unknown. Likely POW. [Rytech]
|
||||
skillratio += -100 + 500 * skill_lv + 10 * sstatus->pow + 10 * sstatus->con;
|
||||
skillratio += -100 + 600 * skill_lv + 10 * sstatus->pow + 10 * sstatus->con;
|
||||
if (tstatus->race == RC_BRUTE || tstatus->race == RC_FISH)
|
||||
skillratio += 250 * skill_lv;
|
||||
skillratio += skillratio * 50 / 100;
|
||||
RE_LVL_DMOD(100);
|
||||
break;
|
||||
case WH_GALESTORM:
|
||||
skillratio += -100 + 250 * skill_lv + 10 * sstatus->con;
|
||||
skillratio += -100 + 950 * skill_lv + 10 * sstatus->con;
|
||||
RE_LVL_DMOD(100);
|
||||
if (sc && sc->getSCE(SC_CALAMITYGALE) && (tstatus->race == RC_BRUTE || tstatus->race == RC_FISH))
|
||||
skillratio += skillratio * 50 / 100;
|
||||
break;
|
||||
case WH_CRESCIVE_BOLT:
|
||||
skillratio += -100 + 300 * skill_lv + 5 * sstatus->con;
|
||||
skillratio += -100 + 340 * skill_lv + 5 * sstatus->con;
|
||||
RE_LVL_DMOD(100);
|
||||
if (sc) { // At level 10 the SP usage of 100 increased by 20 on each count. So maybe damage increase is 20%??? [Rytech]
|
||||
if (sc) {
|
||||
if (sc->getSCE(SC_CRESCIVEBOLT))
|
||||
skillratio += skillratio * (20 * sc->getSCE(SC_CRESCIVEBOLT)->val1) / 100;
|
||||
skillratio += skillratio * (10 * sc->getSCE(SC_CRESCIVEBOLT)->val1) / 100;
|
||||
|
||||
if (sc->getSCE(SC_CALAMITYGALE)) {
|
||||
skillratio += skillratio * 20 / 100;
|
||||
@ -5597,7 +5597,7 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
||||
case WH_SOLIDTRAP:
|
||||
case WH_SWIFTTRAP:
|
||||
case WH_FLAMETRAP:
|
||||
skillratio += -100 + 250 * skill_lv + 5 * sstatus->con;
|
||||
skillratio += -100 + 850 * skill_lv + 5 * sstatus->con;
|
||||
RE_LVL_DMOD(100);
|
||||
skillratio += skillratio * (20 * (sd ? pc_checkskill(sd, WH_ADVANCED_TRAP) : 5)) / 100;
|
||||
break;
|
||||
|
@ -2179,18 +2179,6 @@ int skill_additional_effect( struct block_list* src, struct block_list *bl, uint
|
||||
case ABC_CHAIN_REACTION_SHOT:
|
||||
skill_castend_damage_id(src, bl, ABC_CHAIN_REACTION_SHOT_ATK, skill_lv, tick, SD_LEVEL);
|
||||
break;
|
||||
case WH_DEEPBLINDTRAP:// Need official success chances for all 4 Windhawk traps.
|
||||
sc_start(src, bl, SC_HANDICAPSTATE_DEEPBLIND, 50, skill_lv, skill_get_time2(skill_id, skill_lv));
|
||||
break;
|
||||
case WH_SOLIDTRAP:
|
||||
sc_start(src, bl, SC_HANDICAPSTATE_CRYSTALLIZATION, 50, skill_lv, skill_get_time2(skill_id, skill_lv));
|
||||
break;
|
||||
case WH_SWIFTTRAP:
|
||||
sc_start(src, bl, SC_HANDICAPSTATE_LIGHTNINGSTRIKE, 50, skill_lv, skill_get_time2(skill_id, skill_lv));
|
||||
break;
|
||||
case WH_FLAMETRAP:
|
||||
sc_start(src, bl, SC_HANDICAPSTATE_CONFLAGRATION, 50, skill_lv, skill_get_time2(skill_id, skill_lv));
|
||||
break;
|
||||
case TR_ROSEBLOSSOM:// Rose blossom seed can only bloom if the target is hit.
|
||||
sc_start4(src, bl, SC_ROSEBLOSSOM, 100, skill_lv, TR_ROSEBLOSSOM_ATK, src->id, 0, skill_get_time(skill_id, skill_lv));
|
||||
case WM_METALICSOUND:
|
||||
@ -12973,7 +12961,6 @@ TIMER_FUNC(skill_castend_id){
|
||||
map_session_data *sd;
|
||||
struct mob_data *md;
|
||||
struct unit_data *ud;
|
||||
status_change *sc = NULL;
|
||||
int flag = 0;
|
||||
|
||||
src = map_id2bl(id);
|
||||
@ -12992,6 +12979,7 @@ TIMER_FUNC(skill_castend_id){
|
||||
|
||||
sd = BL_CAST(BL_PC, src);
|
||||
md = BL_CAST(BL_MOB, src);
|
||||
status_change *sc = status_get_sc(src);
|
||||
|
||||
if( src->prev == NULL ) {
|
||||
ud->skilltimer = INVALID_TIMER;
|
||||
@ -13155,6 +13143,11 @@ TIMER_FUNC(skill_castend_id){
|
||||
sd->skill_id_old = ud->skill_id; // Prevents AP bonus on non Retro Spection use.
|
||||
}
|
||||
break;
|
||||
case WH_CRESCIVE_BOLT:
|
||||
if (sc && sc->getSCE(SC_CRESCIVEBOLT) && sc->getSCE(SC_CRESCIVEBOLT)->val1 >= 3) {
|
||||
add_ap += 2;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
status_heal(&sd->bl, 0, 0, add_ap, 0);
|
||||
@ -13204,7 +13197,7 @@ TIMER_FUNC(skill_castend_id){
|
||||
else
|
||||
type = SC_STRIPSHIELD;
|
||||
|
||||
if ((sc = status_get_sc(src)) && sc->getSCE(type)) {
|
||||
if (sc && sc->getSCE(type)) {
|
||||
const struct TimerData* timer = get_timer(sc->getSCE(type)->timer);
|
||||
|
||||
if (timer && timer->func == status_change_timer && DIFF_TICK(timer->tick, gettick() + skill_get_time(ud->skill_id, ud->skill_lv)) > 0)
|
||||
@ -13233,7 +13226,6 @@ TIMER_FUNC(skill_castend_id){
|
||||
sd->skill_keep_using.tid = add_timer( sd->ud.canact_tick + 100, skill_keep_using, sd->bl.id, 0 );
|
||||
}
|
||||
|
||||
sc = status_get_sc(src);
|
||||
if(sc && sc->count) {
|
||||
if (ud->skill_id != RA_CAMOUFLAGE)
|
||||
status_change_end(src, SC_CAMOUFLAGE); // Applies to the first skill if active
|
||||
|
Loading…
x
Reference in New Issue
Block a user