Skip to content

Commit ca0cd28

Browse files
committed
convert Mercy, Crimson Cleaver to DPM, add SSpellFlagsExclude on Regicide
1 parent 0b4b5fe commit ca0cd28

File tree

4 files changed

+33
-71
lines changed

4 files changed

+33
-71
lines changed

sim/common/sod/item_effects/phase_8.go

+16-58
Original file line numberDiff line numberDiff line change
@@ -290,42 +290,21 @@ func init() {
290290
},
291291
}).AttachMultiplicativePseudoStatBuff(&character.PseudoStats.SchoolDamageDealtMultiplier[stats.SchoolIndexNature], 1.20)
292292

293+
dpm := character.AutoAttacks.NewDynamicProcManagerForWeaponEffect(CrimsonCleaver, 1.0, 0)
294+
293295
core.MakeProcTriggerAura(&character.Unit, core.ProcTrigger{
294-
Name: "Crimson Cleaver Trigger",
295-
Callback: core.CallbackOnSpellHitDealt,
296-
Outcome: core.OutcomeLanded,
297-
ProcMask: core.ProcMaskMelee,
298-
PPM: 1.0,
299-
ICD: time.Millisecond * 100,
296+
Name: "Crimson Cleaver Trigger",
297+
Callback: core.CallbackOnSpellHitDealt,
298+
Outcome: core.OutcomeLanded,
299+
SpellFlagsExclude: core.SpellFlagSuppressWeaponProcs,
300+
DPM: dpm,
301+
ICD: time.Millisecond * 100,
300302
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
301303
buffAura.Activate(sim)
302304
buffAura.SetStacks(sim, buffAura.MaxStacks)
303305
},
304306
})
305307
})
306-
// itemhelpers.CreateWeaponProcAura(CrimsonCleaver, "Crimson Cleaver", 1.0, func(character *core.Character) *core.Aura {
307-
// duration := time.Second * 12
308-
// icd := core.Cooldown{
309-
// Timer: character.NewTimer(),
310-
// Duration: time.Millisecond * 100,
311-
// }
312-
313-
// // Confirmed on Wago - Harmful Spells and Melee Specials, plus Can proc from procs
314-
// procMask := core.ProcMaskMeleeSpecial | core.ProcMaskMeleeDamageProc | core.ProcMaskSpellDamage | core.ProcMaskSpellDamageProc
315-
316-
// return character.RegisterAura(core.Aura{
317-
// ActionID: core.ActionID{SpellID: 1231456},
318-
// Label: "Crimson Crusade",
319-
// Duration: duration,
320-
// MaxStacks: 2,
321-
// OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
322-
// if spell.ProcMask.Matches(procMask) && spell.SpellSchool.Matches(core.SpellSchoolNature) && icd.IsReady(sim) {
323-
// icd.Use(sim)
324-
// aura.RemoveStack(sim)
325-
// }
326-
// },
327-
// }).AttachMultiplicativePseudoStatBuff(&character.PseudoStats.SchoolDamageDealtMultiplier[stats.SchoolIndexNature], 1.20)
328-
// })
329308

330309
// https://www.wowhead.com/classic-ptr/item=240922/deception
331310
// Equip: 2% chance on melee hit to gain 1 extra attack. (Proc chance: 2%, 100ms cooldown)
@@ -689,42 +668,21 @@ func init() {
689668
FloatValue: 1 / 1.20,
690669
})
691670

671+
dpm := character.AutoAttacks.NewDynamicProcManagerForWeaponEffect(Mercy, 1.0, 0.00)
672+
692673
core.MakeProcTriggerAura(&character.Unit, core.ProcTrigger{
693-
Name: "Mercy Trigger",
694-
Callback: core.CallbackOnSpellHitDealt,
695-
Outcome: core.OutcomeLanded,
696-
ProcMask: core.ProcMaskMelee,
697-
PPM: 1.0,
698-
ICD: time.Millisecond * 100,
674+
Name: "Mercy Trigger",
675+
Callback: core.CallbackOnSpellHitDealt,
676+
Outcome: core.OutcomeLanded,
677+
SpellFlagsExclude: core.SpellFlagSuppressWeaponProcs,
678+
DPM: dpm,
679+
ICD: time.Millisecond * 100,
699680
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
700681
buffAura.Activate(sim)
701682
buffAura.SetStacks(sim, buffAura.MaxStacks)
702683
},
703684
})
704685
})
705-
// itemhelpers.CreateWeaponProcAura(Mercy, "Mercy", 1.0, func(character *core.Character) *core.Aura {
706-
// duration := time.Second * 12
707-
// icd := core.Cooldown{
708-
// Timer: character.NewTimer(),
709-
// Duration: time.Millisecond * 100,
710-
// }
711-
712-
// // Confirmed on Wago - Harmful Spells and Melee Specials, plus Can proc from procs
713-
// procMask := core.ProcMaskMeleeSpecial | core.ProcMaskMeleeDamageProc | core.ProcMaskSpellDamage | core.ProcMaskSpellDamageProc
714-
715-
// return character.RegisterAura(core.Aura{
716-
// ActionID: core.ActionID{SpellID: 1231498},
717-
// Label: "Mercy by Fire",
718-
// Duration: duration,
719-
// MaxStacks: 2,
720-
// OnSpellHitDealt: func(aura *core.Aura, sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
721-
// if spell.ProcMask.Matches(procMask) && spell.SpellSchool.Matches(core.SpellSchoolFire) && icd.IsReady(sim) {
722-
// icd.Use(sim)
723-
// aura.RemoveStack(sim)
724-
// }
725-
// },
726-
// }).AttachMultiplicativePseudoStatBuff(&character.PseudoStats.SchoolDamageDealtMultiplier[stats.SchoolIndexFire], 1.20)
727-
// })
728686

729687
// https://www.wowhead.com/classic-ptr/item=241003/mirage-rod-of-illusion
730688
// Equip: Chance on landing a damaging spell to create a Mirage on top of your target that deals arcane damage to nearby enemies for 30 sec. (Proc chance: 10%, 30s cooldown)

sim/hunter/items.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -803,10 +803,11 @@ func (hunter *Hunter) ApplyRegicideHunterEffect(itemID int32, aura *core.Aura) {
803803

804804
// Apply the Coup debuff to the target hit by melee abilities
805805
aura.AttachProcTrigger(core.ProcTrigger{
806-
Name: "Regicide Trigger - Hunter",
807-
Callback: core.CallbackOnSpellHitDealt,
808-
Outcome: core.OutcomeLanded,
809-
ProcMask: core.ProcMaskMelee,
806+
Name: "Regicide Trigger - Hunter",
807+
Callback: core.CallbackOnSpellHitDealt,
808+
Outcome: core.OutcomeLanded,
809+
ProcMask: core.ProcMaskMelee,
810+
SpellFlagsExclude: core.SpellFlagSuppressWeaponProcs,
810811
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
811812
debuff := debuffAuras.Get(result.Target)
812813
debuff.Activate(sim)

sim/rogue/items.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,11 @@ func (rogue *Rogue) ApplyRegicideRogueEffect(itemID int32, aura *core.Aura) {
268268

269269
// Apply the Coup debuff to the target hit by melee abilities
270270
aura.AttachProcTrigger(core.ProcTrigger{
271-
Name: "Regicide Trigger - Rogue",
272-
Callback: core.CallbackOnSpellHitDealt,
273-
Outcome: core.OutcomeLanded,
274-
ProcMask: core.ProcMaskMelee,
271+
Name: "Regicide Trigger - Rogue",
272+
Callback: core.CallbackOnSpellHitDealt,
273+
Outcome: core.OutcomeLanded,
274+
ProcMask: core.ProcMaskMelee,
275+
SpellFlagsExclude: core.SpellFlagSuppressWeaponProcs,
275276
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
276277
debuff := debuffAuras.Get(result.Target)
277278
debuff.Activate(sim)

sim/warrior/items.go

+7-5
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,8 @@ func (warrior *Warrior) ApplyQueensfallWarriorEffect(aura *core.Aura) {
241241
})
242242
}
243243

244-
// Striking a higher level enemy applies a stack of Coup, increasing their damage taken from your next Execute by 10% per stack, stacking up to 20 times. At 20 stacks, Execute may be cast regardless of the target's health.
244+
// Striking a higher level enemy applies a stack of Coup, increasing their damage taken from your next Execute by 10% per stack, stacking up to 20 times.
245+
// At 20 stacks, Execute may be cast regardless of the target's health.
245246
func (warrior *Warrior) ApplyRegicideWarriorEffect(itemID int32, aura *core.Aura) {
246247
// Coup debuff array
247248
debuffAuras := warrior.NewEnemyAuraArray(func(unit *core.Unit, _ int32) *core.Aura {
@@ -282,10 +283,11 @@ func (warrior *Warrior) ApplyRegicideWarriorEffect(itemID int32, aura *core.Aura
282283

283284
// Apply the Coup debuff to the target hit by melee abilities
284285
aura.AttachProcTrigger(core.ProcTrigger{
285-
Name: "Regicide Trigger - Warrior",
286-
Callback: core.CallbackOnSpellHitDealt,
287-
Outcome: core.OutcomeLanded,
288-
ProcMask: core.ProcMaskMelee,
286+
Name: "Regicide Trigger - Warrior",
287+
Callback: core.CallbackOnSpellHitDealt,
288+
Outcome: core.OutcomeLanded,
289+
ProcMask: core.ProcMaskMelee,
290+
SpellFlagsExclude: core.SpellFlagSuppressWeaponProcs,
289291
Handler: func(sim *core.Simulation, spell *core.Spell, result *core.SpellResult) {
290292
debuff := debuffAuras.Get(result.Target)
291293
debuff.Activate(sim)

0 commit comments

Comments
 (0)