public void AddMember(Mobile mob) { Members.Add(new PlayerState(mob, this, Members)); Item item = mob.FindItemOnLayer(Layer.OuterTorso) as Item; if (item != null) { if (item.Movable == false) { mob.AddToBackpack(FactionItem.Imbue(new Robe(), this, false, Definition.HuePrimary)); mob.SendAsciiMessage("You have been granted a robe which signifies your faction."); } if (item.Movable == true) { mob.AddToBackpack(item); mob.EquipItem(FactionItem.Imbue(new Robe(), this, false, Definition.HuePrimary)); mob.SendAsciiMessage("You have been granted a robe which signifies your faction."); } } else { mob.EquipItem(FactionItem.Imbue(new Robe(), this, false, Definition.HuePrimary)); mob.SendAsciiMessage("You have been granted a robe which signifies your faction."); } mob.InvalidateProperties(); mob.Delta(MobileDelta.Noto); }
public static Item Imbue(Item item, Faction faction, bool expire, int hue) { if ((item is IFactionItem)) { FactionItem state = Find(item); if (state == null) { state = new FactionItem(item, faction); state.Attach(); } if (expire) { state.StartExpiration(); } state.m_OrigHue = item.Hue; state.m_OrigLootType = item.LootType; item.Hue = hue; item.LootType = LootType.Blessed; } return(item); }
public static Item Imbue(Item item, Faction faction, bool expire, int hue, int MinRank = 0) { if (!(item is IFactionItem)) { return(item); } FactionItem state = Find(item); if (state == null) { state = new FactionItem(item, faction, MinRank); state.Attach(); } if (expire) { state.StartExpiration(); } if (hue >= 0) { item.Hue = hue; } return(item); }
public override void OnGiveReward(PlayerMobile to, Item item, IComunityCollection collection, int hue) { if (this.Faction != null) { FactionEquipment.CheckProperties(item); FactionItem.Imbue(item, Faction, false, -1, MinRank); if (!(item is Spellbook || item is ShrineGem)) { item.LootType = LootType.Regular; } if (item is IWearableDurability) { ((IWearableDurability)item).MaxHitPoints = 255; ((IWearableDurability)item).HitPoints = 255; } if (item is IOwnerRestricted) { ((IOwnerRestricted)item).Owner = to; to.SendLocalizedMessage(1094803); // This faction reward is bound to you, and cannot be traded. } item.InvalidateProperties(); } base.OnGiveReward(to, item, collection, hue); }
public static void FactionTownReset_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.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(); } } } }
public void AddMember(Mobile mob) { Members.Add(new PlayerState(mob, this, Members)); mob.AddToBackpack(FactionItem.Imbue(new Robe(), this, false, Definition.HuePrimary)); mob.SendLocalizedMessage(1010374); // You have been granted a robe which signifies your faction mob.InvalidateProperties(); mob.Delta(MobileDelta.Noto); }
public static void FactionTownReset_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<FactionItem> list = new List<FactionItem>( f.State.FactionItems ); for ( int j = 0; j < list.Count; ++j ) { FactionItem fi = list[j]; if ( fi.Expiration == DateTime.MinValue ) fi.Item.Delete(); else fi.Detach(); } } }
public override void OnResponse(NetState sender, RelayInfo info) { if (info.ButtonID == 1) { var pack = m_Mobile.Backpack; if (pack != null && m_Item.IsChildOf(pack)) { if (pack.ConsumeTotal(typeof(Silver), m_Definition.SilverCost)) { int hue; if (m_Item is SpellScroll) { hue = 0; } else if (info.IsSwitched(1)) { hue = m_Faction.Definition.HuePrimary; } else { hue = m_Faction.Definition.HueSecondary; } FactionItem.Imbue(m_Item, m_Faction, true, hue); } else { m_Mobile.SendLocalizedMessage(1042204); // You do not have enough silver. } } } if (m_Tool?.Deleted == false && m_Tool.UsesRemaining > 0) { m_Mobile.SendGump(new CraftGump(m_Mobile, m_CraftSystem, m_Tool, m_Notice)); } else if (m_Notice != null) { if (m_Notice.Number > 0) { m_Mobile.SendLocalizedMessage(m_Notice.Number); } else { m_Mobile.SendMessage(m_Notice.String); } } }
public virtual void AddMember( Mobile mob ) { PlayerState ps = new PlayerState( mob, this, Members ); Members.Add( ps ); mob.AddToBackpack( FactionItem.Imbue( new Robe(), this, false, Definition.HuePrimary ) ); mob.SendLocalizedMessage( 1010374 ); // You have been granted a robe which signifies your faction mob.InvalidateProperties(); mob.Delta( MobileDelta.Noto ); mob.FixedEffect( 0x373A, 10, 30 ); mob.PlaySound( 0x209 ); OnRankUpdate( ps ); }
public override void OnResponse(NetState sender, RelayInfo info) { if (info.ButtonID == 1) { Container pack = m_Mobile.Backpack; if (pack != null && m_Item.IsChildOf(pack)) { if (pack.ConsumeTotal(typeof(Silver), m_Definition.SilverCost)) { int hue; if (m_Item is SpellScroll) { hue = 0; } else if (info.IsSwitched(1)) { hue = m_Faction.Definition.HuePrimary; } else { hue = m_Faction.Definition.HueSecondary; } FactionItem.Imbue(m_Item, m_Faction, true, hue); } else { m_Mobile.SendAsciiMessage("You do not have enough silver."); } } } if (m_Tool != null && !m_Tool.Deleted && m_Tool.UsesRemaining > 0) { m_Mobile.SendGump(new CraftGump(m_Mobile, m_CraftSystem, m_Tool, m_Notice)); } else if (m_Notice is string) { m_Mobile.SendAsciiMessage((string)m_Notice); } else if (m_Notice is int && ((int)m_Notice) > 0) { m_Mobile.SendLocalizedMessage((int)m_Notice); } }
public static FactionItem Find(Item item) { if (item is IFactionItem) { FactionItem state = ((IFactionItem)item).FactionItemState; if (state != null && state.HasExpired) { state.Detach(); state = null; } return(state); } return(null); }
public static FactionItem Find(Item item) { if (item is IFactionItem factionItem) { FactionItem state = factionItem.FactionItemState; if (state?.HasExpired == true) { state.Detach(); state = null; } return(state); } return(null); }
public static Item Imbue(Item item, Faction faction, bool expire, int hue) { if (item is not IFactionItem) { return(item); } var state = Find(item); if (state == null) { state = new FactionItem(item, faction); state.Attach(); } if (expire) { state.StartExpiration(); } item.Hue = hue; return(item); }
public FactionState(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 6: case 5: { m_LastAtrophy = reader.ReadDateTime(); goto case 4; } case 4: { int count = reader.ReadEncodedInt(); for (int i = 0; i < count; ++i) { DateTime time = reader.ReadDateTime(); if (i < m_LastBroadcasts.Length) { m_LastBroadcasts[i] = time; } } goto case 3; } case 3: case 2: case 1: { Election ele = new Election(reader); if (Settings.Enabled) { m_Election = ele; } else { m_Election = new Election(m_Faction); } goto case 0; } case 0: { m_Faction = Faction.ReadReference(reader); if (m_Election.Faction == null) { m_Election.Faction = m_Faction; } m_Commander = reader.ReadMobile(); if (version < 5) { m_LastAtrophy = DateTime.UtcNow; } if (version < 4) { DateTime time = reader.ReadDateTime(); if (m_LastBroadcasts.Length > 0) { m_LastBroadcasts[0] = time; } } m_Tithe = reader.ReadEncodedInt(); m_Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); m_Members = new List <PlayerState>(); for (int i = 0; i < memberCount; ++i) { PlayerState pl = new PlayerState(reader, m_Faction, m_Members); if (pl.Mobile != null) { if (Settings.Enabled) { m_Members.Add(pl); } else { Settings.AddDisabledNotice(pl.Mobile); } } } m_Faction.State = this; m_Faction.ZeroRankOffset = m_Members.Count; m_Members.Sort(); for (int i = m_Members.Count - 1; i >= 0; i--) { PlayerState player = m_Members[i]; if (player.KillPoints <= 0) { m_Faction.ZeroRankOffset = i; } else { player.RankIndex = i; } } m_FactionItems = new List <FactionItem>(); if (version >= 2) { int factionItemCount = reader.ReadEncodedInt(); for (int i = 0; i < factionItemCount; ++i) { FactionItem factionItem = new FactionItem(reader, m_Faction); if (Settings.Enabled) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.CheckAttach)); // sandbox attachment } } } m_FactionTraps = new List <BaseFactionTrap>(); if (version >= 3) { int factionTrapCount = reader.ReadEncodedInt(); for (int i = 0; i < factionTrapCount; ++i) { BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap; if (trap != null && !trap.CheckDecay()) { if (Settings.Enabled) { m_FactionTraps.Add(trap); } else { trap.Delete(); } } } } break; } } if (version < 6 && Settings.Enabled && Core.ML) { FactionCollectionBox box = new FactionCollectionBox(m_Faction); WeakEntityCollection.Add("factions", box); box.MoveToWorld(m_Faction.Definition.Stronghold.CollectionBox, Faction.Facet); } if (version < 1) { m_Election = new Election(m_Faction); } }
public static Item Imbue( Item item, Faction faction, bool expire, int hue ) { if ( !( item is IFactionItem ) ) { return item; } FactionItem state = Find( item ); if ( state == null ) { state = new FactionItem( item, faction ); state.Attach(); } if ( expire ) { state.StartExpiration(); } item.Hue = hue; return item; }
public FactionState( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { case 4: { int count = reader.ReadEncodedInt(); for ( int i = 0; i < count; ++i ) { DateTime time = reader.ReadDateTime(); if ( i < m_LastBroadcasts.Length ) m_LastBroadcasts[i] = time; } goto case 3; } case 3: case 2: case 1: { m_Election = new Election( reader ); goto case 0; } case 0: { m_Faction = Faction.ReadReference( reader ); m_Commander = reader.ReadMobile(); if ( version < 4 ) { DateTime time = reader.ReadDateTime(); if ( m_LastBroadcasts.Length > 0 ) m_LastBroadcasts[0] = time; } m_Tithe = reader.ReadEncodedInt(); m_Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); m_Members = new PlayerStateCollection(); for ( int i = 0; i < memberCount; ++i ) { PlayerState pl = new PlayerState( reader, m_Faction, m_Members ); if ( pl.Mobile != null ) m_Members.Add( pl ); } m_Faction.State = this; m_Faction.UpdateRanks(); m_FactionItems = new FactionItemCollection(); if ( version >= 2 ) { int factionItemCount = reader.ReadEncodedInt(); for ( int i = 0; i < factionItemCount; ++i ) { FactionItem factionItem = new FactionItem( reader, m_Faction ); if ( !factionItem.HasExpired ) factionItem.Attach(); else Timer.DelayCall( TimeSpan.Zero, new TimerCallback( factionItem.Detach ) ); // sandbox detachment } } m_FactionTraps = new FactionTrapCollection(); if ( version >= 3 ) { int factionTrapCount = reader.ReadEncodedInt(); for ( int i = 0; i < factionTrapCount; ++i ) { BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap; if ( trap != null && !trap.CheckDecay() ) m_FactionTraps.Add( trap ); } } break; } } if ( version < 1 ) m_Election = new Election( m_Faction ); }
public FactionState(IGenericReader reader) { var version = reader.ReadEncodedInt(); switch (version) { case 5: { LastAtrophy = reader.ReadDateTime(); goto case 4; } case 4: { var count = reader.ReadEncodedInt(); for (var i = 0; i < count; ++i) { var time = reader.ReadDateTime(); if (i < m_LastBroadcasts.Length) { m_LastBroadcasts[i] = time; } } goto case 3; } case 3: case 2: case 1: { Election = new Election(reader); goto case 0; } case 0: { m_Faction = Faction.ReadReference(reader); m_Commander = reader.ReadEntity <Mobile>(); if (version < 5) { LastAtrophy = Core.Now; } if (version < 4) { var time = reader.ReadDateTime(); if (m_LastBroadcasts.Length > 0) { m_LastBroadcasts[0] = time; } } Tithe = reader.ReadEncodedInt(); Silver = reader.ReadEncodedInt(); var memberCount = reader.ReadEncodedInt(); Members = new List <PlayerState>(); for (var i = 0; i < memberCount; ++i) { var pl = new PlayerState(reader, m_Faction, Members); if (pl.Mobile != null) { Members.Add(pl); } } m_Faction.State = this; m_Faction.ZeroRankOffset = Members.Count; Members.Sort(); for (var i = Members.Count - 1; i >= 0; i--) { var player = Members[i]; if (player.KillPoints <= 0) { m_Faction.ZeroRankOffset = i; } else { player.RankIndex = i; } } FactionItems = new List <FactionItem>(); if (version >= 2) { var factionItemCount = reader.ReadEncodedInt(); for (var i = 0; i < factionItemCount; ++i) { var factionItem = new FactionItem(reader, m_Faction); Timer.StartTimer(factionItem.CheckAttach); // sandbox attachment } } Traps = new List <BaseFactionTrap>(); if (version >= 3) { var factionTrapCount = reader.ReadEncodedInt(); for (var i = 0; i < factionTrapCount; ++i) { if (reader.ReadEntity <Item>() is BaseFactionTrap trap && !trap.CheckDecay()) { Traps.Add(trap); } } } break; } } if (version < 1) { Election = new Election(m_Faction); } }
public FactionState(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 5: { m_LastAtrophy = reader.ReadDateTime(); goto case 4; } case 4: { int count = reader.ReadEncodedInt(); for (int i = 0; i < count; ++i) { DateTime time = reader.ReadDateTime(); if (i < m_LastBroadcasts.Length) { m_LastBroadcasts[i] = time; } } goto case 3; } case 3: case 2: case 1: { m_Election = new Election(reader); goto case 0; } case 0: { m_Faction = Faction.ReadReference(reader); m_Commander = reader.ReadMobile(); if (version < 5) { m_LastAtrophy = DateTime.UtcNow; } if (version < 4) { DateTime time = reader.ReadDateTime(); if (m_LastBroadcasts.Length > 0) { m_LastBroadcasts[0] = time; } } m_Tithe = reader.ReadEncodedInt(); m_Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); m_Members = new List <PlayerState>(); for (int i = 0; i < memberCount; ++i) { PlayerState pl = new PlayerState(reader, m_Faction, m_Members); if (pl.Mobile != null) { m_Members.Add(pl); } } m_Faction.State = this; m_Faction.ZeroRankOffset = m_Members.Count; m_Members.Sort(); for (int i = m_Members.Count - 1; i >= 0; i--) { PlayerState player = m_Members[i]; if (player.KillPoints <= 0) { m_Faction.ZeroRankOffset = i; } else { player.RankIndex = i; } } m_FactionItems = new List <FactionItem>(); if (version >= 2) { int factionItemCount = reader.ReadEncodedInt(); for (int i = 0; i < factionItemCount; ++i) { FactionItem factionItem = new FactionItem(reader, m_Faction); Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.CheckAttach)); // sandbox attachment } } m_FactionTraps = new List <BaseFactionTrap>(); if (version >= 3) { int factionTrapCount = reader.ReadEncodedInt(); for (int i = 0; i < factionTrapCount; ++i) { BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap; if (trap != null && !trap.CheckDecay()) { m_FactionTraps.Add(trap); } } } break; } } if (version < 1) { m_Election = new Election(m_Faction); } }
public static Item Imbue( Item item, Faction faction, bool expire, int hue ) { if ( (item is IFactionItem) ) { FactionItem state = Find( item ); if ( state == null ) { state = new FactionItem( item, faction ); state.Attach(); } if ( expire ) state.StartExpiration(); state.m_OrigHue = item.Hue; state.m_OrigLootType = item.LootType; item.Hue = hue; item.LootType = LootType.Blessed; } return item; }
public FactionState( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { case 5: { m_LastAtrophy = reader.ReadDateTime(); goto case 4; } case 4: { int count = reader.ReadEncodedInt(); for ( int i = 0; i < count; ++i ) { DateTime time = reader.ReadDateTime(); if ( i < m_LastBroadcasts.Length ) m_LastBroadcasts[i] = time; } goto case 3; } case 3: case 2: case 1: { m_Election = new Election( reader ); goto case 0; } case 0: { m_Faction = Faction.ReadReference( reader ); m_Commander = reader.ReadMobile(); if (version < 5) m_LastAtrophy = DateTime.Now; if ( version < 4 ) { DateTime time = reader.ReadDateTime(); if ( m_LastBroadcasts.Length > 0 ) m_LastBroadcasts[0] = time; } m_Tithe = reader.ReadEncodedInt(); m_Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); m_Members = new List<PlayerState>(); for ( int i = 0; i < memberCount; ++i ) { PlayerState pl = new PlayerState( reader, m_Faction, m_Members ); if ( pl.Mobile != null ) m_Members.Add( pl ); } m_Faction.State = this; m_Faction.ZeroRankOffset = m_Members.Count; m_Members.Sort(); for (int i = m_Members.Count - 1; i >= 0; i--) { PlayerState player = m_Members[i]; if (player.KillPoints <= 0) m_Faction.ZeroRankOffset = i; else player.RankIndex = i; } m_FactionItems = new List<FactionItem>(); if ( version >= 2 ) { int factionItemCount = reader.ReadEncodedInt(); for ( int i = 0; i < factionItemCount; ++i ) { FactionItem factionItem = new FactionItem( reader, m_Faction ); Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.CheckAttach)); // sandbox attachment } } m_FactionTraps = new List<BaseFactionTrap>(); if ( version >= 3 ) { int factionTrapCount = reader.ReadEncodedInt(); for ( int i = 0; i < factionTrapCount; ++i ) { BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap; if ( trap != null && !trap.CheckDecay() ) m_FactionTraps.Add( trap ); } } break; } } if ( version < 1 ) m_Election = new Election( m_Faction ); }
public FactionState(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 4: { int count = reader.ReadEncodedInt(); for (int i = 0; i < count; ++i) { DateTime time = reader.ReadDateTime(); if (i < m_LastBroadcasts.Length) { m_LastBroadcasts[i] = time; } } goto case 3; } case 3: case 2: case 1: { m_Election = new Election(reader); goto case 0; } case 0: { m_Faction = Faction.ReadReference(reader); m_Commander = reader.ReadMobile(); if (version < 4) { DateTime time = reader.ReadDateTime(); if (m_LastBroadcasts.Length > 0) { m_LastBroadcasts[0] = time; } } m_Tithe = reader.ReadEncodedInt(); m_Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); m_Members = new PlayerStateCollection(); for (int i = 0; i < memberCount; ++i) { PlayerState pl = new PlayerState(reader, m_Faction, m_Members); if (pl.Mobile != null) { m_Members.Add(pl); } } m_Faction.State = this; m_Faction.UpdateRanks(); m_FactionItems = new FactionItemCollection(); if (version >= 2) { int factionItemCount = reader.ReadEncodedInt(); for (int i = 0; i < factionItemCount; ++i) { FactionItem factionItem = new FactionItem(reader, m_Faction); if (!factionItem.HasExpired) { factionItem.Attach(); } else { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.Detach)); // sandbox detachment } } } m_FactionTraps = new FactionTrapCollection(); if (version >= 3) { int factionTrapCount = reader.ReadEncodedInt(); for (int i = 0; i < factionTrapCount; ++i) { BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap; if (trap != null && !trap.CheckDecay()) { m_FactionTraps.Add(trap); } } } break; } } if (version < 1) { m_Election = new Election(m_Faction); } }
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(); } } }