bool ShouldBeRemoved() { Unit creator = Global.ObjAccessor.GetUnit(this, GetOwnerGUID()); if (creator == null) { return(true); } if (!_createdBySpellCast.IsEmpty()) { // search for a dummy aura on creator Aura linkedAura = creator.GetAura(_createdBySpellCast.GetEntry(), aura => aura.GetCastId() == _createdBySpellCast); if (linkedAura == null) { return(true); } } return(false); }