From 9ae34b3ca854548c3314bf36c901b688c12fbab1 Mon Sep 17 00:00:00 2001 From: Josh Date: Sat, 30 Sep 2023 12:43:30 -0400 Subject: [PATCH] fix MCD logic for balance, since it modifies the pointer (#3788) --- sim/core/major_cooldown.go | 4 ++-- sim/mage/mage.go | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sim/core/major_cooldown.go b/sim/core/major_cooldown.go index 2aaca3d917..2706f7c52a 100644 --- a/sim/core/major_cooldown.go +++ b/sim/core/major_cooldown.go @@ -421,9 +421,9 @@ func (mcdm *majorCooldownManager) GetMajorCooldown(actionID ActionID) *MajorCool return nil } func (mcdm *majorCooldownManager) GetMajorCooldownIgnoreTag(actionID ActionID) *MajorCooldown { - for _, mcd := range mcdm.initialMajorCooldowns { + for _, mcd := range mcdm.majorCooldowns { if mcd.Spell.SameActionIgnoreTag(actionID) { - return &mcd + return mcd } } return nil diff --git a/sim/mage/mage.go b/sim/mage/mage.go index 250b5ce081..1089157efa 100644 --- a/sim/mage/mage.go +++ b/sim/mage/mage.go @@ -141,13 +141,13 @@ func (mage *Mage) Initialize() { mage.registerBlastWaveSpell() mage.registerDragonsBreathSpell() - if mirrorImageMCD := mage.GetMajorCooldownIgnoreTag(mage.MirrorImage.ActionID); !mage.IsUsingAPL && mirrorImageMCD != nil { - if len(mirrorImageMCD.GetTimings()) == 0 { - mage.RegisterPrepullAction(-2000*time.Millisecond, func(sim *core.Simulation) { + mage.RegisterPrepullAction(-2000*time.Millisecond, func(sim *core.Simulation) { + if mirrorImageMCD := mage.GetMajorCooldownIgnoreTag(mage.MirrorImage.ActionID); !mage.IsUsingAPL && mirrorImageMCD != nil { + if len(mirrorImageMCD.GetTimings()) == 0 { mage.MirrorImage.Cast(sim, nil) - }) + } } - } + }) } func (mage *Mage) Reset(sim *core.Simulation) {