Example #1
0
        private static void Timer_Callback()
        {
            PlayerMobile player = null;

            if (DateTime.UtcNow <= HolidaySettings.FinishHalloween)
            {
                for (var index = 0; m_DeathQueue.Count > 0 && index < m_DeathQueue.Count; index++)
                {
                    var entry = m_DeathQueue[index];

                    if (!ReAnimated.ContainsKey(entry))
                    {
                        player = entry;
                        break;
                    }
                }

                if (player?.Deleted == false && ReAnimated.Count < m_TotalZombieLimit)
                {
                    var map = Utility.RandomBool() ? Map.Trammel : Map.Felucca;

                    var home = GetRandomPointInRect(m_Cemetaries.RandomElement(), map);

                    if (map.CanSpawnMobile(home))
                    {
                        var zombieskel = new ZombieSkeleton(player);

                        ReAnimated.Add(player, zombieskel);
                        zombieskel.Home      = home;
                        zombieskel.RangeHome = 10;

                        zombieskel.MoveToWorld(home, map);

                        m_DeathQueue.Remove(player);
                    }
                }
            }
            else
            {
                m_Timer.Stop();
            }
        }
        private static void Timer_Callback()
        {
            PlayerMobile player = null;

            if (DateTime.UtcNow <= HolidaySettings.FinishHalloween)
            {
                for (int index = 0; m_DeathQueue.Count > 0 && index < m_DeathQueue.Count; index++)
                {
                    if (!m_ReAnimated.ContainsKey(m_DeathQueue[index]))
                    {
                        player = m_DeathQueue[index];

                        break;
                    }
                }

                if (player != null && !player.Deleted && m_ReAnimated.Count < m_TotalZombieLimit)
                {
                    Map map = Utility.RandomBool() ? Map.Trammel : Map.Felucca;

                    Point3D home = (GetRandomPointInRect(m_Cemetaries[Utility.Random(m_Cemetaries.Length)], map));

                    if (map.CanSpawnMobile(home))
                    {
                        ZombieSkeleton zombieskel = new ZombieSkeleton(player);

                        m_ReAnimated.Add(player, zombieskel);
                        zombieskel.Home      = home;
                        zombieskel.RangeHome = 10;

                        zombieskel.MoveToWorld(home, map);

                        m_DeathQueue.Remove(player);
                    }
                }
            }
            else
            {
                m_Timer.Stop();
            }
        }
Example #3
0
		private static void Timer_Callback()
		{
			PlayerMobile player = null;

			if( DateTime.Now <= HolidaySettings.FinishHalloween )
			{
				for( int index = 0; m_DeathQueue.Count > 0 && index < m_DeathQueue.Count; index++ )
				{
					if( !m_ReAnimated.ContainsKey( m_DeathQueue[ index ] ) )
					{
						player = m_DeathQueue[ index ];

						break;
					}
				}

				if( player != null && !player.Deleted && m_ReAnimated.Count < m_TotalZombieLimit )
				{
					Map map = Utility.RandomBool() ? Map.Trammel : Map.Felucca;

					Point3D home = ( GetRandomPointInRect( m_Cemetaries[ Utility.Random( m_Cemetaries.Length ) ], map ));

					if( map.CanSpawnMobile( home ) )
					{
						ZombieSkeleton zombieskel = new ZombieSkeleton( player );

						m_ReAnimated.Add( player, zombieskel );
						zombieskel.Home = home;
						zombieskel.RangeHome = 10;

						zombieskel.MoveToWorld( home, map );

						m_DeathQueue.Remove( player );
					}
				}
			}
			else
			{
				m_Timer.Stop();
			}
		}