diff --git a/internal/characters/clorinde/attack.go b/internal/characters/clorinde/attack.go index 777d3f9a2..f0af588c5 100644 --- a/internal/characters/clorinde/attack.go +++ b/internal/characters/clorinde/attack.go @@ -153,9 +153,13 @@ func (c *char) skillAttack(_ map[string]int) (action.Info, error) { }, skillAttackHitmarks[c.normalSCounter]) defer c.AdvanceNormalIndex() + n := c.normalSCounter + atkspd := c.Stat(attributes.AtkSpd) return action.Info{ - Frames: frames.NewAbilFunc(skillAttackFrames[c.normalSCounter]), + Frames: func(next action.Action) int { + return frames.AtkSpdAdjust(skillAttackFrames[n][next], atkspd) + }, AnimationLength: skillAttackFrames[c.normalSCounter][action.InvalidAction], CanQueueAfter: skillAttackFrames[c.normalSCounter][action.ActionBurst], State: action.NormalAttackState, diff --git a/internal/characters/clorinde/clorinde.go b/internal/characters/clorinde/clorinde.go index 11fe5db3f..0ecc07fd6 100644 --- a/internal/characters/clorinde/clorinde.go +++ b/internal/characters/clorinde/clorinde.go @@ -52,6 +52,11 @@ func (c *char) Init() error { return nil } +func (c *char) ResetNormalCounter() { + c.normalSCounter = 0 + c.Character.ResetNormalCounter() +} + func (c *char) AdvanceNormalIndex() { if c.StatusIsActive(skillStateKey) { c.normalSCounter++ @@ -60,10 +65,14 @@ func (c *char) AdvanceNormalIndex() { } return } - c.NormalCounter++ - if c.NormalCounter == c.NormalHitNum { - c.NormalCounter = 0 + c.Character.AdvanceNormalIndex() +} + +func (c *char) NextNormalCounter() int { + if c.StatusIsActive(skillStateKey) { + return c.normalSCounter + 1 } + return c.Character.NextNormalCounter() } func (c *char) ActionReady(a action.Action, p map[string]int) (bool, action.Failure) {