@@ -24,7 +24,7 @@ class Abilities extends CoreAbilities {
2424 gcd : {
2525 base : 1500 ,
2626 } ,
27- range : AbilityRange . Melee ,
27+ range : 30 ,
2828 } ,
2929 {
3030 spell : SPELLS . FESTERING_SCYTHE . id ,
@@ -70,7 +70,24 @@ class Abilities extends CoreAbilities {
7070 } ,
7171 range : AbilityRange . Melee ,
7272 } ,
73- //endregion
73+ {
74+ spell : SPELLS . FESTERING_STRIKE . id ,
75+ category : SPELL_CATEGORY . ROTATIONAL ,
76+ // If Festering Scythe is talented, there is a -500ms GCD reduction
77+ gcd : {
78+ base : combatant . hasTalent ( TALENTS . FESTERING_SCYTHE_TALENT ) ? 1000 : 1500 ,
79+ } ,
80+ range : AbilityRange . Melee ,
81+ } ,
82+ {
83+ spell : TALENTS . PUTREFY_TALENT . id ,
84+ enabled : combatant . hasTalent ( TALENTS . PUTREFY_TALENT ) ,
85+ category : SPELL_CATEGORY . ROTATIONAL ,
86+ gcd : {
87+ base : 1500 ,
88+ } ,
89+ range : 40 ,
90+ } ,
7491
7592 // region Cooldowns
7693 {
@@ -85,12 +102,11 @@ class Abilities extends CoreAbilities {
85102 spell : TALENTS . ARMY_OF_THE_DEAD_TALENT . id ,
86103 enabled : combatant . hasTalent ( TALENTS . ARMY_OF_THE_DEAD_TALENT ) ,
87104 category : SPELL_CATEGORY . COOLDOWNS ,
88- cooldown : 180 ,
105+ cooldown : 90 ,
89106 gcd : {
90107 base : 1500 ,
91108 } ,
92109 } ,
93- //endregion
94110
95111 // region Defensives
96112 {
@@ -102,10 +118,7 @@ class Abilities extends CoreAbilities {
102118 {
103119 spell : SPELLS . ANTI_MAGIC_SHELL . id ,
104120 category : SPELL_CATEGORY . DEFENSIVE ,
105- cooldown :
106- 60 -
107- Number ( combatant . hasTalent ( TALENTS . ANTI_MAGIC_BARRIER_TALENT ) ) * 20 +
108- Number ( combatant . hasTalent ( TALENTS . UNYIELDING_WILL_TALENT ) ) * 20 ,
121+ cooldown : 60 ,
109122 gcd : null ,
110123 } ,
111124 {
@@ -141,7 +154,6 @@ class Abilities extends CoreAbilities {
141154 cooldown : 120 ,
142155 gcd : null ,
143156 } ,
144- //endregion
145157
146158 // region Utility
147159 {
@@ -236,34 +248,28 @@ class Abilities extends CoreAbilities {
236248 base : 1500 ,
237249 } ,
238250 } ,
251+ /*
252+ Rune cooldown is base 10s reduced by haste. Runic Corruption's regeneration acceleration is handled in the RuneTracker via onApplybuff/onRemovebuff.
253+ Do not add RC logic here to avoid double-counting.
254+ */
239255 {
240256 spell : SPELLS . RUNE_1 . id ,
241257 category : SPELL_CATEGORY . HIDDEN ,
242- cooldown : ( haste ) => {
243- const multiplier = combatant . hasBuff ( SPELLS . RUNIC_CORRUPTION . id ) ? 1 : 0 ;
244- return 10 / ( 1 + haste ) / ( 1 + multiplier ) ;
245- } ,
258+ cooldown : ( haste ) => 10 / ( 1 + haste ) ,
246259 charges : 2 ,
247260 } ,
248261 {
249262 spell : SPELLS . RUNE_2 . id ,
250263 category : SPELL_CATEGORY . HIDDEN ,
251- cooldown : ( haste ) => {
252- const multiplier = combatant . hasBuff ( SPELLS . RUNIC_CORRUPTION . id ) ? 1 : 0 ;
253- return 10 / ( 1 + haste ) / ( 1 + multiplier ) ;
254- } ,
264+ cooldown : ( haste ) => 10 / ( 1 + haste ) ,
255265 charges : 2 ,
256266 } ,
257267 {
258268 spell : SPELLS . RUNE_3 . id ,
259269 category : SPELL_CATEGORY . HIDDEN ,
260- cooldown : ( haste ) => {
261- const multiplier = combatant . hasBuff ( SPELLS . RUNIC_CORRUPTION . id ) ? 1 : 0 ;
262- return 10 / ( 1 + haste ) / ( 1 + multiplier ) ;
263- } ,
270+ cooldown : ( haste ) => 10 / ( 1 + haste ) ,
264271 charges : 2 ,
265272 } ,
266- //endregion
267273 ] ;
268274 }
269275}
0 commit comments