@@ -43,31 +43,35 @@ func NewSet(core *core.Core, char *character.CharWrapper, count int, param map[s
4343 return & s , nil
4444 }
4545
46- c4Buff := make ([]float64 , attributes .EndStatType )
47- c4Buff [attributes .CR ] = 0.16
48-
4946 char .AddReactBonusMod (character.ReactBonusMod {
50- Base : modifier .NewBase ("disenchantment-reaction-bonus- 4pc" , - 1 ),
47+ Base : modifier .NewBase ("disenchantment-4pc-dmg " , - 1 ),
5148 Amount : func (ai info.AttackInfo ) float64 {
52- if ai .AttackTag != attacks .AttackTagSuperconductDamage {
53- return 0
49+ switch ai .AttackTag {
50+ case attacks .AttackTagSuperconductDamage :
51+ return 0.8
52+ case attacks .AttackTagDirectStellarConduct :
53+ return 0.4
5454 }
5555
56- return 0.8
56+ return 0
5757 },
5858 })
5959
60- // TODO: check if it works while character is off-field
61-
60+ m := make ([] float64 , attributes . EndStatType )
61+ m [ attributes . CR ] = 0.16
6262 char .AddAttackMod (character.AttackMod {
63- Base : modifier .NewBase ("disenchantment-on-superconduct- 4pc" , - 1 ),
63+ Base : modifier .NewBase ("disenchantment-4pc-cr " , - 1 ),
6464 Amount : func (_ * info.AttackEvent , t info.Target ) []float64 {
6565 e , ok := t .(* enemy.Enemy )
6666 if ! ok {
6767 return nil
6868 }
6969 if e .StatusIsActive (reactable .SuperConductShredKey ) {
70- return c4Buff
70+ return m
71+ }
72+
73+ if e .StatusIsActive (reactable .StellarConductShredKey ) {
74+ return m
7175 }
7276 return nil
7377 },
@@ -84,7 +88,7 @@ func NewSet(core *core.Core, char *character.CharWrapper, count int, param map[s
8488 return
8589 }
8690
87- if r .StatusIsActive (reactable .SuperConductShredKey ) {
91+ if r .StatusIsActive (reactable .SuperConductShredKey ) || r . StatusIsActive ( reactable . StellarConductShredKey ) {
8892 ae .Snapshot .Stats [attributes .CR ] += 0.16
8993 }
9094 }, "disenchantment-4pc-superconduct-" + char .Base .Key .String ())
0 commit comments