Skip to content

Commit 689562d

Browse files
committed
Fix Linnea lunar-crystallize base damge increase applying twice for reactions
1 parent 28f8a2a commit 689562d

1 file changed

Lines changed: 20 additions & 8 deletions

File tree

  • internal/characters/linnea

internal/characters/linnea/asc.go

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,11 @@ func (c *char) a4Init() {
9191

9292
func (c *char) moonsignInit() {
9393
c.Core.Flags.Custom[reactable.LunarCrystallizeEnableKey] = 1
94-
f := func(args ...any) {
94+
95+
c.Core.Events.Subscribe(event.OnEnemyHit, func(args ...any) {
9596
atk := args[1].(*info.AttackEvent)
9697

97-
switch atk.Info.AttackTag {
98-
case attacks.AttackTagDirectLunarCrystallize:
99-
case attacks.AttackTagReactionLunarCrystallize:
100-
default:
98+
if atk.Info.AttackTag != attacks.AttackTagDirectLunarCrystallize {
10199
return
102100
}
103101

@@ -108,7 +106,21 @@ func (c *char) moonsignInit() {
108106
}
109107

110108
atk.Info.BaseDmgBonus += bonus
111-
}
112-
c.Core.Events.Subscribe(event.OnEnemyHit, f, lunarcrystallizeBonusKey)
113-
c.Core.Events.Subscribe(event.OnLunarReactionAttack, f, lunarcrystallizeBonusKey)
109+
}, lunarcrystallizeBonusKey)
110+
111+
c.Core.Events.Subscribe(event.OnLunarReactionAttack, func(args ...any) {
112+
atk := args[1].(*info.AttackEvent)
113+
114+
if atk.Info.AttackTag != attacks.AttackTagReactionLunarCrystallize {
115+
return
116+
}
117+
118+
bonus := min(c.TotalDef(false)/100.0*0.007, 0.14)
119+
120+
if c.Core.Flags.LogDebug {
121+
c.Core.Log.NewEvent("linnea adding lunar crystallize base damage", glog.LogCharacterEvent, c.Index()).Write("bonus", bonus)
122+
}
123+
124+
atk.Info.BaseDmgBonus += bonus
125+
}, lunarcrystallizeBonusKey)
114126
}

0 commit comments

Comments
 (0)