protected override void OnTick() { if (m_Owner.Deleted) { Stop(); return; } if (m_AutoDelete) { if ((m_Stage++ % 4) == 0 || !m_Owner.Move(m_Owner.Direction)) { m_Owner.Direction = (Direction)Utility.Random(8); } if (m_Stage > 16) { Stop(); Effects.SendLocationParticles(EffectItem.Create(m_Owner.Location, m_Owner.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023); m_Owner.PlaySound(0x1FE); m_Owner.Delete(); } } else { if (m_Mobile == null) { Stop(); } else if (m_Stage++ % 4 == 0) { if (Utility.RandomBool()) { switch (Utility.Random(5)) { // say things just once case 0: if (said[0]++ == 0) { m_Owner.Say("Let that be a lesson to you {0}!", m_Mobile.Name); } break; case 1: if (said[1]++ == 0) { m_Owner.Say("Take heed citizens."); } break; case 2: if (said[2]++ == 0) { m_Owner.Say("{0} won’t be giving us any more trouble.", m_Mobile.Female ? "She" : "He"); } break; case 3: if (said[3]++ == 0) { m_Owner.Say("{0} > {1}", m_Owner.Name, m_Mobile.Name); } break; case 4: if (said[4]++ == 0) { m_Owner.Whisper("That'll teach {0}.", m_Mobile.Female ? "her" : "him"); } break; } } } else if (m_Stage > 16) { // salute m_Owner.Animate(33, 5, 1, true, false, 0); Stop(); } } }