private void Teleport() { List <PlayerMobile> toTele = new List <PlayerMobile>(); foreach (IDamageable target in SpellHelper.AcquireIndirectTargets(this, Location, Map, StrikingRange)) { if (target is PlayerMobile mobile) { toTele.Add(mobile); } } if (toTele.Count > 0) { PlayerMobile from = toTele[Utility.Random(toTele.Count)]; if (from != null) { Combatant = from; from.MoveToWorld(GetSpawnPosition(1), Map); from.FixedParticles(0x376A, 9, 32, 0x13AF, EffectLayer.Waist); from.PlaySound(0x1FE); from.ApplyPoison(this, HitPoison); } } ColUtility.Free(toTele); m_Teleport = DateTime.UtcNow + TimeSpan.FromSeconds(Utility.RandomMinMax(40, 60)); }
private void Teleport() { System.Collections.Generic.List <PlayerMobile> toTele = SpellHelper.AcquireIndirectTargets(this, Location, Map, StrikingRange).OfType <PlayerMobile>().ToList(); if (toTele.Count > 0) { PlayerMobile from = toTele[Utility.Random(toTele.Count)]; if (from != null) { Combatant = from; from.MoveToWorld(GetSpawnPosition(1), Map); from.FixedParticles(0x376A, 9, 32, 0x13AF, EffectLayer.Waist); from.PlaySound(0x1FE); from.ApplyPoison(this, HitPoison); } } ColUtility.Free(toTele); m_Teleport = DateTime.UtcNow + TimeSpan.FromSeconds(Utility.RandomMinMax(40, 60)); }