void Apply(AuraEffect aurEff, AuraEffectHandleModes mode) { List <TempSummon> minions = new List <TempSummon>(); GetTarget().GetAllMinionsByEntry(minions, (uint)Global.SpellMgr.GetSpellInfo(SpellIds.RingOfFrostSummon, GetCastDifficulty()).GetEffect(0).MiscValue); // Get the last summoned RoF, save it and despawn older ones foreach (var summon in minions) { TempSummon ringOfFrost = GetRingOfFrostMinion(); if (ringOfFrost) { if (summon.GetTimer() > ringOfFrost.GetTimer()) { ringOfFrost.DespawnOrUnsummon(); _ringOfFrostGUID = summon.GetGUID(); } else { summon.DespawnOrUnsummon(); } } else { _ringOfFrostGUID = summon.GetGUID(); } } }
void Apply(AuraEffect aurEff, AuraEffectHandleModes mode) { List <TempSummon> MinionList = new List <TempSummon>(); GetTarget().GetAllMinionsByEntry(MinionList, (uint)GetSpellInfo().GetEffect(0).MiscValue); // Get the last summoned RoF, save it and despawn older ones foreach (var creature in MinionList) { TempSummon summon = creature.ToTempSummon(); if (ringOfFrost && summon) { if (summon.GetTimer() > ringOfFrost.GetTimer()) { ringOfFrost.DespawnOrUnsummon(); ringOfFrost = summon; } else { summon.DespawnOrUnsummon(); } } else if (summon) { ringOfFrost = summon; } } }