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