public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Town = Town.ReadReference(reader); m_Corrupted = Faction.ReadReference(reader); m_Corrupting = Faction.ReadReference(reader); m_LastMonolith = reader.ReadItem() as BaseMonolith; m_LastStolen = reader.ReadDateTime(); m_GraceStart = reader.ReadDateTime(); m_CorruptionStart = reader.ReadDateTime(); m_PurificationStart = reader.ReadDateTime(); Update(); Mobile mob = RootParent as Mobile; if (mob != null) { mob.SolidHueOverride = OwnershipHue; } break; } } }
public Election(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 0: { m_Faction = Faction.ReadReference(reader); m_LastStateTime = reader.ReadDateTime(); m_State = (ElectionState)reader.ReadEncodedInt(); m_Candidates = new CandidateCollection(); int count = reader.ReadEncodedInt(); for (int i = 0; i < count; ++i) { Candidate cd = new Candidate(reader); if (cd.Mobile != null) { m_Candidates.Add(cd); } } break; } } StartTimer(); }
public Election(IGenericReader reader) { var version = reader.ReadEncodedInt(); switch (version) { case 0: { Faction = Faction.ReadReference(reader); LastStateTime = reader.ReadDateTime(); CurrentState = (ElectionState)reader.ReadEncodedInt(); Candidates = new List <Candidate>(); var count = reader.ReadEncodedInt(); for (var i = 0; i < count; ++i) { var cd = new Candidate(reader); if (cd.Mobile != null) { Candidates.Add(cd); } } break; } } StartTimer(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Faction = Faction.ReadReference(reader); m_Town = Town.ReadReference(reader); m_Orders = new Orders(this, reader); Timer.DelayCall(TimeSpan.Zero, new TimerCallback(Register)); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { Faction = Faction.ReadReference(reader); break; } } }
public TownState(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 4: { m_Active = reader.ReadBool(); goto case 3; } case 3: { m_LastIncome = reader.ReadDateTime(); goto case 2; } case 2: { m_Tax = reader.ReadEncodedInt(); m_LastTaxChange = reader.ReadDateTime(); goto case 1; } case 1: { m_Silver = reader.ReadEncodedInt(); goto case 0; } case 0: { m_Town = Town.ReadReference(reader); m_Owner = Faction.ReadReference(reader); m_Sheriff = reader.ReadMobile(); m_Finance = reader.ReadMobile(); m_Town.State = this; break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); /*int version = */ reader.ReadInt(); m_Faction = Faction.ReadReference(reader); m_Placer = reader.ReadMobile(); m_TimeOfPlacement = reader.ReadDateTime(); if (Visible) { BeginConceal(); } CheckDecay(); }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); var version = reader.ReadInt(); Faction = Faction.ReadReference(reader); Placer = reader.ReadEntity <Mobile>(); TimeOfPlacement = reader.ReadDateTime(); if (Visible) { BeginConceal(); } CheckDecay(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { Town = Town.ReadReference(reader); Faction = Faction.ReadReference(reader); m_Sigil = reader.ReadItem() as Sigil; break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Town = Town.ReadReference(reader); m_Faction = Faction.ReadReference(reader); Register(); break; } } Frozen = true; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { Town = Town.ReadReference(reader); Faction = Faction.ReadReference(reader); m_Sigil = reader.ReadItem() as Sigil; break; } } Timer.DelayCall(TimeSpan.FromSeconds(5.0), new TimerCallback(CheckActive)); }
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 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 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); } }