protected override void OnTick()
            {
                if (m_Owner.Deleted)
                {
                    Stop();
                    return;
                }

//Old Salty - commented this region because the check is now made in BaseGuard.cs
//				if ( m_Owner.Combatant != null )
//					m_Owner.Focus = m_Owner.Combatant;

                if ((m_Stage++ % 4) == 0 || !m_Owner.Move(m_Owner.Direction))
                {
                    m_Owner.Direction = (Direction)Utility.Random(8);
                }

                if (m_Stage > 16)
                {
                    Effects.SendLocationParticles(EffectItem.Create(m_Owner.Location, m_Owner.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023);
                    m_Owner.PlaySound(0x1FE);

                    m_Owner.Delete();
                }
            }
Exemple #2
0
            protected override void OnTick()
            {
                if (m_Owner.Deleted || (m_Owner.m_IsAutoGuard && m_Owner.Region is Regions.GuardedRegion))
                {
                    Stop();
                    return;
                }

                //if ( (m_Stage % 4) == 0 || !m_Owner.Move( m_Owner.Direction ) )
                //	m_Owner.Direction = (Direction)Utility.Random( 8 );

                if (m_Stage++ > 16)
                {
                    Effects.SendLocationParticles(EffectItem.Create(m_Owner.Location, m_Owner.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023);
                    m_Owner.PlaySound(0x1FE);

                    m_Owner.Delete();
                }
            }
Exemple #3
0
            protected override void OnTick()
            {
                if (m_Owner.Deleted)
                {
                    Stop();
                    return;
                }

                if ((m_Stage++ % 4) == 0 || !m_Owner.Move(m_Owner.Direction))
                {
                    m_Owner.Direction = (Direction)Utility.Random(8);
                }

                if (m_Stage > 16)
                {
                    Effects.SendLocationParticles(EffectItem.Create(m_Owner.Location, m_Owner.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023);
                    m_Owner.PlaySound(0x1FE);

                    m_Owner.Delete();
                }
            }
            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();
                    }
                }
            }