public override void DoEffects(BaseCreature creature, Mobile defender, ref int damage) { IPooledEnumerable eable = creature.GetMobilesInRange(3); List <Mobile> list = new List <Mobile>(); list.Add(defender); foreach (Mobile m in eable) { if (AreaEffect.ValidTarget(creature, m)) { list.Add(m); } } eable.Free(); Poison p = creature.GetHitPoison(); if (p == null) { return; } foreach (var m in list) { defender.PlaySound(0xDD); defender.FixedParticles(0x3728, 244, 25, 9941, 1266, 0, EffectLayer.Waist); m.SendLocalizedMessage(1008097, false, creature.Name); // : poisoned you! m.ApplyPoison(creature, p); } if (creature.Controlled && list.Count > 0) { var profile = PetTrainingHelper.GetAbilityProfile(creature); if ((profile != null && profile.HasAbility(MagicalAbility.Poisoning)) || 0.2 > Utility.RandomDouble()) { creature.CheckSkill(SkillName.Poisoning, 0, creature.Skills[SkillName.Poisoning].Cap); } } ColUtility.Free(list); }