diff --git a/sim/core/apl.go b/sim/core/apl.go index 8f8a687b85..17a90700aa 100644 --- a/sim/core/apl.go +++ b/sim/core/apl.go @@ -234,6 +234,11 @@ func (apl *APLRotation) getNextAction(sim *Simulation) *APLAction { func (apl *APLRotation) shouldInterruptChannel(sim *Simulation) bool { channeledDot := apl.unit.ChanneledDot + if channeledDot == nil { + // Cast was started by a different APL action (not Channel) so is non-interruptible. + return false + } + if channeledDot.MaxTicksRemaining() == 0 { // Channel has ended, but apl.unit.ChanneledDot hasn't been cleared yet meaning the aura is still active. return false