@@ -7,12 +7,12 @@ import (
77 "github.com/genshinsim/gcsim/pkg/core/info"
88)
99
10- func (e * Enemy ) calc (atk * info.AttackEvent , evt glog.Event , grp_mult float64 ) (float64 , bool ) {
10+ func (e * Enemy ) calc (atk * info.AttackEvent , evt glog.Event , grpMult float64 ) (float64 , bool ) {
1111 var isCrit bool
1212
1313 if atk .Info .AttackTag == attacks .AttackTagDirectLunarCharged ||
1414 atk .Info .AttackTag == attacks .AttackTagDirectLunarBloom {
15- e .calcDirectLunar (atk , evt )
15+ e .calcDirectLunar (atk , evt , grpMult )
1616 }
1717
1818 elePer := 0.0
@@ -111,19 +111,20 @@ func (e *Enemy) calc(atk *info.AttackEvent, evt glog.Event, grp_mult float64) (f
111111 damage *= (atk .Info .AmpMult * (1 + emBonus + reactBonus ))
112112 }
113113
114+ // reduce damage by damage group
115+ damage *= grpMult
116+
114117 elevation := atk .Info .Elevation
115118 damage *= 1 + elevation
116119
117- damage *= grp_mult
118-
119120 if e .Core .Flags .LogDebug {
120121 e .Core .Log .NewEvent (
121122 atk .Info .Abil ,
122123 glog .LogCalc ,
123124 atk .Info .ActorIndex ,
124125 ).
125126 Write ("src_frame" , atk .SourceFrame ).
126- Write ("damage_grp_mult" , grp_mult ).
127+ Write ("damage_grp_mult" , grpMult ).
127128 Write ("damage" , damage ).
128129 Write ("abil" , atk .Info .Abil ).
129130 Write ("talent" , atk .Info .Mult ).
@@ -179,7 +180,7 @@ func (e *Enemy) calc(atk *info.AttackEvent, evt glog.Event, grp_mult float64) (f
179180 return damage , isCrit
180181}
181182
182- func (e * Enemy ) calcDirectLunar (atk * info.AttackEvent , evt glog.Event ) (float64 , bool ) {
183+ func (e * Enemy ) calcDirectLunar (atk * info.AttackEvent , evt glog.Event , grpMult float64 ) (float64 , bool ) {
183184 var isCrit bool
184185
185186 // no DMG% for direct lunar damage
@@ -241,11 +242,7 @@ func (e *Enemy) calcDirectLunar(atk *info.AttackEvent, evt glog.Event) (float64,
241242 damage *= resmod
242243
243244 // reduce damage by damage group
244- x := 1.0
245- if ! atk .Info .SourceIsSim {
246- x = e .GroupTagDamageMult (atk .Info .ICDTag , atk .Info .ICDGroup , atk .Info .ActorIndex )
247- damage *= x
248- }
245+ damage *= grpMult
249246
250247 elevation := atk .Info .Elevation
251248 damage *= 1 + elevation
@@ -276,7 +273,7 @@ func (e *Enemy) calcDirectLunar(atk *info.AttackEvent, evt glog.Event) (float64,
276273 atk .Info .ActorIndex ,
277274 ).
278275 Write ("src_frame" , atk .SourceFrame ).
279- Write ("damage_grp_mult" , x ).
276+ Write ("damage_grp_mult" , grpMult ).
280277 Write ("damage" , damage ).
281278 Write ("abil" , atk .Info .Abil ).
282279 Write ("talent" , atk .Info .Mult ).
0 commit comments