Ejemplo n.º 1
0
        public static void FactionReset_OnCommand(CommandEventArgs e)
        {
            MonolithCollection monoliths = BaseMonolith.Monoliths;

            for (int i = 0; i < monoliths.Count; ++i)
            {
                monoliths[i].Sigil = null;
            }

            TownCollection towns = Town.Towns;

            for (int i = 0; i < towns.Count; ++i)
            {
                towns[i].Silver  = 0;
                towns[i].Sheriff = null;
                towns[i].Finance = null;
                towns[i].Tax     = 0;
                towns[i].Owner   = null;
            }

            SigilCollection sigils = Sigil.Sigils;

            for (int i = 0; i < sigils.Count; ++i)
            {
                sigils[i].Corrupted         = null;
                sigils[i].Corrupting        = null;
                sigils[i].LastStolen        = DateTime.MinValue;
                sigils[i].GraceStart        = DateTime.MinValue;
                sigils[i].CorruptionStart   = DateTime.MinValue;
                sigils[i].PurificationStart = DateTime.MinValue;
                sigils[i].LastMonolith      = null;
                sigils[i].ReturnHome();
            }

            FactionCollection factions = Faction.Factions;

            for (int i = 0; i < factions.Count; ++i)
            {
                Faction f = factions[i];

                ArrayList list = new ArrayList(f.Members);

                for (int j = 0; j < list.Count; ++j)
                {
                    f.RemoveMember(((PlayerState)list[j]).Mobile);
                }

                list = new ArrayList(f.State.FactionItems);

                for (int j = 0; j < list.Count; ++j)
                {
                    FactionItem fi = (FactionItem)list[j];

                    if (fi.Expiration == DateTime.MinValue)
                    {
                        fi.Item.Delete();
                    }
                    else
                    {
                        fi.Detach();
                    }
                }

                list = new ArrayList(f.Traps);

                for (int j = 0; j < list.Count; ++j)
                {
                    ((BaseFactionTrap)list[j]).Delete();
                }
            }
        }
Ejemplo n.º 2
0
		public static void FactionReset_OnCommand( CommandEventArgs e )
		{
			List<BaseMonolith> monoliths = BaseMonolith.Monoliths;

			for ( int i = 0; i < monoliths.Count; ++i )
				monoliths[i].Sigil = null;

			List<Town> towns = Town.Towns;

			for ( int i = 0; i < towns.Count; ++i )
			{
				towns[i].Silver = 0;
				towns[i].Sheriff = null;
				towns[i].Finance = null;
				towns[i].Tax = 0;
				towns[i].Owner = null;
			}

			List<Sigil> sigils = Sigil.Sigils;

			for ( int i = 0; i < sigils.Count; ++i )
			{
				sigils[i].Corrupted = null;
				sigils[i].Corrupting = null;
				sigils[i].LastStolen = DateTime.MinValue;
				sigils[i].GraceStart = DateTime.MinValue;
				sigils[i].CorruptionStart = DateTime.MinValue;
				sigils[i].PurificationStart = DateTime.MinValue;
				sigils[i].LastMonolith = null;
				sigils[i].ReturnHome();
			}

			List<Faction> factions = Faction.Factions;

			for ( int i = 0; i < factions.Count; ++i )
			{
				Faction f = factions[i];

				List<PlayerState> playerStateList = new List<PlayerState>( f.Members );

				for( int j = 0; j < playerStateList.Count; ++j )
					f.RemoveMember( playerStateList[j].Mobile );

				List<FactionItem> factionItemList = new List<FactionItem>( f.State.FactionItems );

				for( int j = 0; j < factionItemList.Count; ++j )
				{
					FactionItem fi = (FactionItem)factionItemList[j];

					if ( fi.Expiration == DateTime.MinValue )
						fi.Item.Delete();
					else
						fi.Detach();
				}

				List<BaseFactionTrap> factionTrapList = new List<BaseFactionTrap>( f.Traps );

				for( int j = 0; j < factionTrapList.Count; ++j )
					factionTrapList[j].Delete();
			}
		}