Skip to content

Commit 05773fc

Browse files
authored
Merge pull request #153 from wowsims/kg/mob-type-pct-effects
update naxx sets to use proper mob type damage calculations
2 parents f82f881 + 15da06f commit 05773fc

File tree

1 file changed

+53
-18
lines changed

1 file changed

+53
-18
lines changed

sim/common/item_sets/item_sets_pve.go

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -361,9 +361,20 @@ var ItemSetRegaliaOfUndeadCleansing = core.NewItemSet(core.ItemSet{
361361
// Increases your damage against undead by 2%.
362362
3: func(agent core.Agent) {
363363
character := agent.GetCharacter()
364-
if character.CurrentTarget.MobType == proto.MobType_MobTypeUndead {
365-
character.PseudoStats.DamageDealtMultiplier *= 1.02
366-
}
364+
delta := 1.02
365+
366+
character.Env.RegisterPostFinalizeEffect(func() {
367+
for _, target := range character.Env.Encounter.TargetUnits {
368+
if target.MobType != proto.MobType_MobTypeUndead {
369+
continue
370+
}
371+
372+
for _, at := range character.AttackTables[target.UnitIndex] {
373+
at.DamageDealtMultiplier *= delta
374+
at.CritMultiplier *= delta
375+
}
376+
}
377+
})
367378
},
368379
},
369380
})
@@ -374,18 +385,20 @@ var ItemSetUndeadSlayersArmor = core.NewItemSet(core.ItemSet{
374385
// Increases your damage against undead by 2%.
375386
3: func(agent core.Agent) {
376387
character := agent.GetCharacter()
377-
378388
delta := 1.02
379-
for _, target := range character.Env.Encounter.TargetUnits {
380-
if target.MobType != proto.MobType_MobTypeUndead {
381-
continue
382-
}
383389

384-
for _, at := range character.AttackTables[target.UnitIndex] {
385-
at.DamageDealtMultiplier *= delta
386-
at.CritMultiplier *= delta
390+
character.Env.RegisterPostFinalizeEffect(func() {
391+
for _, target := range character.Env.Encounter.TargetUnits {
392+
if target.MobType != proto.MobType_MobTypeUndead {
393+
continue
394+
}
395+
396+
for _, at := range character.AttackTables[target.UnitIndex] {
397+
at.DamageDealtMultiplier *= delta
398+
at.CritMultiplier *= delta
399+
}
387400
}
388-
}
401+
})
389402
},
390403
},
391404
})
@@ -396,9 +409,20 @@ var ItemSetGarbOfTheUndeadSlayer = core.NewItemSet(core.ItemSet{
396409
// Increases your damage against undead by 2%.
397410
3: func(agent core.Agent) {
398411
character := agent.GetCharacter()
399-
if character.CurrentTarget.MobType == proto.MobType_MobTypeUndead {
400-
character.PseudoStats.DamageDealtMultiplier *= 1.02
401-
}
412+
delta := 1.02
413+
414+
character.Env.RegisterPostFinalizeEffect(func() {
415+
for _, target := range character.Env.Encounter.TargetUnits {
416+
if target.MobType != proto.MobType_MobTypeUndead {
417+
continue
418+
}
419+
420+
for _, at := range character.AttackTables[target.UnitIndex] {
421+
at.DamageDealtMultiplier *= delta
422+
at.CritMultiplier *= delta
423+
}
424+
}
425+
})
402426
},
403427
},
404428
})
@@ -409,9 +433,20 @@ var ItemSetBattlegearOfUndeadSlaying = core.NewItemSet(core.ItemSet{
409433
// Increases your damage against undead by 2%.
410434
3: func(agent core.Agent) {
411435
character := agent.GetCharacter()
412-
if character.CurrentTarget.MobType == proto.MobType_MobTypeUndead {
413-
character.PseudoStats.DamageDealtMultiplier *= 1.02
414-
}
436+
delta := 1.02
437+
438+
character.Env.RegisterPostFinalizeEffect(func() {
439+
for _, target := range character.Env.Encounter.TargetUnits {
440+
if target.MobType != proto.MobType_MobTypeUndead {
441+
continue
442+
}
443+
444+
for _, at := range character.AttackTables[target.UnitIndex] {
445+
at.DamageDealtMultiplier *= delta
446+
at.CritMultiplier *= delta
447+
}
448+
}
449+
})
415450
},
416451
},
417452
})

0 commit comments

Comments
 (0)