@@ -22,6 +22,7 @@ const (
2222 particleICDKey = "clorinde-particle-icd"
2323
2424 skillDashHitmark = 11
25+ skillHealFrame = 6 // no ping
2526 tolerance = 0.0000001
2627 skillStart = 6
2728 skillCD = 16 * 60
@@ -70,10 +71,6 @@ func (c *char) skillDash(p map[string]int) (action.Info, error) {
7071 ratio := c .currentHPDebtRatio ()
7172 switch {
7273 case ratio >= 1 :
73- if c .Base .Cons >= 6 && c .c6Stacks > 0 {
74- c .c6 ()
75- c .c6Stacks -= 1
76- }
7774 return c .skillDashFullBOL (p )
7875 case math .Abs (ratio ) < tolerance :
7976 return c .skillDashNoBOL (p )
@@ -132,10 +129,17 @@ func (c *char) skillDashFullBOL(_ map[string]int) (action.Info, error) {
132129 c .Core .QueueAttack (ai , ap , skillDashHitmark , skillDashHitmark , c .particleCB )
133130 }
134131
135- // Bond of Life timing is ping dependent
136132 c .QueueCharTask (func () {
137133 c .skillHeal (skillLungeFullBOLHeal [0 ], "Impale the Night (100%+ BoL)" )
138- }, skillDashHitmark )
134+ }, skillHealFrame )
135+
136+ if c .Base .Cons >= 6 && c .c6Stacks > 0 {
137+ c .QueueCharTask (func () {
138+ if c .StatusIsActive (skillStateKey ) {
139+ c .c6 ()
140+ }
141+ }, 37 )
142+ }
139143
140144 return action.Info {
141145 Frames : frames .NewAbilFunc (skillDashFrames ),
@@ -163,10 +167,9 @@ func (c *char) skillDashRegular(_ map[string]int) (action.Info, error) {
163167 ap := combat .NewCircleHitOnTarget (c .Core .Combat .PrimaryTarget (), nil , 0.8 )
164168 c .Core .QueueAttack (ai , ap , skillDashHitmark , skillDashHitmark , c .particleCB )
165169
166- // Bond of Life timing is ping dependent
167170 c .QueueCharTask (func () {
168171 c .skillHeal (skillLungeLowBOLHeal [0 ], "Impale the Night (<100% BoL)" )
169- }, skillDashHitmark )
172+ }, skillHealFrame )
170173
171174 return action.Info {
172175 Frames : frames .NewAbilFunc (skillDashFrames ),
0 commit comments