public override void Deserialize(GenericReader reader) { base.Deserialize(reader); m_RemovalTime = reader.ReadDateTime(); TemporaryItemSystem.Verify(this); }
public PlayerState(GenericReader reader, Faction faction, List<PlayerState> owner) { this.m_Faction = faction; this.m_Owner = owner; int version = reader.ReadEncodedInt(); switch ( version ) { case 1: { this.m_IsActive = reader.ReadBool(); this.m_LastHonorTime = reader.ReadDateTime(); goto case 0; } case 0: { this.m_Mobile = reader.ReadMobile(); this.m_KillPoints = reader.ReadEncodedInt(); this.m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt(); this.m_Leaving = reader.ReadDateTime(); break; } } this.Attach(); }
public Election(GenericReader reader) { int version = reader.ReadEncodedInt(); switch ( version ) { case 0: { this.m_Faction = Faction.ReadReference(reader); this.m_LastStateTime = reader.ReadDateTime(); this.m_State = (ElectionState)reader.ReadEncodedInt(); this.m_Candidates = new List<Candidate>(); int count = reader.ReadEncodedInt(); for (int i = 0; i < count; ++i) { Candidate cd = new Candidate(reader); if (cd.Mobile != null) this.m_Candidates.Add(cd); } break; } } this.StartTimer(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); // version 0 m_DataValue = reader.ReadDateTime(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_LastTimeOpened = reader.ReadDateTime(); m_CoffinSlave = reader.ReadItem(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); decayTime = reader.ReadDateTime(); mountedHead = reader.ReadItem() as Head; }
public static MLDoneQuestInfo Deserialize( GenericReader reader, int version ) { MLQuest quest = MLQuestSystem.ReadQuestRef( reader ); DateTime nextAvailable = reader.ReadDateTime(); if ( quest == null || !quest.RecordCompletion ) return null; // forget about this record return new MLDoneQuestInfo( quest, nextAvailable ); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); var version = reader.ReadInt(); Created = reader.ReadDateTime(); Bounty = reader.ReadInt(); Player = reader.ReadMobile<PlayerMobile>(); }
public TransactionInfo(GenericReader reader) { int version = reader.ReadInt(); Price = reader.ReadDouble(); Quantity = reader.ReadInt(); Name = reader.ReadString(); Buyer = reader.ReadBool(); Date = reader.ReadDateTime(); }
public TownState( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { 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_Title = reader.ReadString(); m_Rank = (TrophyRank) reader.ReadInt(); m_Owner = reader.ReadMobile(); m_Date = reader.ReadDateTime(); if ( version == 0 ) LootType = LootType.Blessed; }
public void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); switch( version ) { case 0: { m_Author = reader.ReadMobile(); m_PostDate = reader.ReadDateTime(); m_Post = reader.ReadString(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); m_IsRewardItem = reader.ReadBool(); m_Logs = reader.ReadInt(); DateTime next = reader.ReadDateTime(); if ( next < DateTime.Now ) next = DateTime.Now; m_Timer = Timer.DelayCall( next - DateTime.Now, TimeSpan.FromDays( 1 ), new TimerCallback( GiveLogs ) ); }
public FactionItem( GenericReader reader, Faction faction ) { int version = reader.ReadEncodedInt(); switch ( version ) { case 0: { m_Item = reader.ReadItem(); m_Expiration = reader.ReadDateTime(); break; } } m_Faction = faction; }
public RaffleEntry(GenericReader reader, int version) { switch ( version ) { case 3: // HouseRaffleStone version changes case 2: case 1: case 0: { this.m_From = reader.ReadMobile(); this.m_Address = Utility.Intern(reader.ReadIPAddress()); this.m_Date = reader.ReadDateTime(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { cleanupTime = reader.ReadDateTime(); goto case 0; } case 0: { break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); int count = reader.ReadInt(); for( int i = 0; i < count; i++ ) { string name = reader.ReadString(); DateTime date = reader.ReadDateTime(); string creator = reader.ReadString(); if( !reader.ReadBool() ) Events.Add( new IRCEvent( name, date, creator ) ); } Database = this; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); UID = new EventSerial(reader); switch (version) { case 0: { EventType = (EventType)reader.ReadInt(); EventName = reader.ReadString(); TimeAwarded = reader.ReadDateTime(); PointsGained = reader.ReadInt(); } break; } }
public void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); switch( version ) { case 0: { m_Serial = reader.ReadInt(); m_PostCount = reader.ReadInt(); m_Name = reader.ReadString(); m_Signature = reader.ReadString(); m_RankTitle = reader.ReadString(); m_CustomRank = reader.ReadString(); m_JoinDate = reader.ReadDateTime(); m_CustomRankAllowed = reader.ReadBool(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); DateTime next = reader.ReadDateTime(); this.m_Area = new Rectangle3D[reader.ReadInt()]; for (int i = 0; i < this.m_Area.Length; i++) this.m_Area[i] = reader.ReadRect3D(); this.m_Region = new SimpleNoHousingRegion(this.Map, this.m_Area); this.m_Region.Register(); if (next < DateTime.Now) { this.m_Timer = new NoHousingDelayTimer(this, next - DateTime.Now); this.m_Timer.Start(); } else this.Delete(); }
public PlantSystem(PlantItem plant, GenericReader reader) { this.m_Plant = plant; int version = reader.ReadInt(); this.m_FertileDirt = reader.ReadBool(); if (version >= 1) this.m_NextGrowth = reader.ReadDateTime(); else this.m_NextGrowth = reader.ReadDeltaTime(); this.m_GrowthIndicator = (PlantGrowthIndicator)reader.ReadInt(); this.m_Water = reader.ReadInt(); this.m_Hits = reader.ReadInt(); this.m_Infestation = reader.ReadInt(); this.m_Fungus = reader.ReadInt(); this.m_Poison = reader.ReadInt(); this.m_Disease = reader.ReadInt(); this.m_PoisonPotion = reader.ReadInt(); this.m_CurePotion = reader.ReadInt(); this.m_HealPotion = reader.ReadInt(); this.m_StrengthPotion = reader.ReadInt(); this.m_Pollinated = reader.ReadBool(); this.m_SeedType = (PlantType)reader.ReadInt(); this.m_SeedHue = (PlantHue)reader.ReadInt(); this.m_AvailableSeeds = reader.ReadInt(); this.m_LeftSeeds = reader.ReadInt(); this.m_AvailableResources = reader.ReadInt(); this.m_LeftResources = reader.ReadInt(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: { m_Level = (SecureLevel)reader.ReadInt(); goto case 2; } case 2: { if (version < 3) { m_Level = SecureLevel.Anyone; } m_InstaSell = reader.ReadInt(); m_LastBid = reader.ReadInt(); m_CurrentBid = reader.ReadInt(); m_StartingBid = reader.ReadInt(); m_BidInc = reader.ReadInt(); m_Bidding = reader.ReadBool(); m_NumBids = reader.ReadInt(); m_Last = reader.ReadMobile(); m_Current = reader.ReadMobile(); m_Hours = reader.ReadDouble(); m_AuctionStart = reader.ReadDateTime(); goto case 1; } case 1: { m_Command = reader.ReadBool(); m_BondingBegin = reader.ReadDateTime(); goto case 0; } case 0: { m_HomeRange = reader.ReadInt(); m_Mode = (Server.Mobiles.FightMode)reader.ReadInt(); m_Loyal = reader.ReadInt(); m_Order = (Server.Mobiles.OrderType)reader.ReadInt(); m_Owner = reader.ReadMobile(); m_Controlled = (BaseCreature)reader.ReadMobile(); m_IsBonded = reader.ReadBool(); m_IsStabled = reader.ReadBool(); m_Blessed = reader.ReadBool(); m_Tamable = reader.ReadBool(); m_NameMod = reader.ReadString(); m_PetName = reader.ReadString(); m_OwnerAbandonTime = reader.ReadDateTime(); m_MinTameSkill = reader.ReadInt(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_CreatureType = (MobileType)reader.ReadInt(); int countSt = reader.ReadInt(); for (int st = 0; st < countSt; st++) { MobileSousType mst = (MobileSousType)reader.ReadInt(); m_SousTypes.Add(mst); } if (version >= 1) { //Charac additionelles mRawCha = reader.ReadInt(); mRawCons = reader.ReadInt(); mRawSag = reader.ReadInt(); //Compétences int lenght = reader.ReadInt(); mCompetences = new CompetenceStack(this); for (int i = 0; i < lenght; i++) { CompType comp = (CompType)reader.ReadInt(); int achats = reader.ReadInt(); if (mCompetences[comp] is NullCompetence) { mCompetences.AddCompetence(comp); } mCompetences[comp].Achat = achats; } } if (version >= 2) { //### Blessures m_blessureList = new ArrayList(); int count2 = reader.ReadInt(); for (int i = 0; i < count2; i++) { DateTime btime = reader.ReadDateTime(); BlessureType btype = (BlessureType)reader.ReadInt(); BlessureGravite bgrav = (BlessureGravite)reader.ReadInt(); bool bhemo = reader.ReadBool(); int bhemoc = reader.ReadInt(); int sta = reader.ReadInt(); BlessureLocalisation bloc = (BlessureLocalisation)reader.ReadInt(); NubiaBlessure blessure = new NubiaBlessure(bhemo, bgrav, btype, bhemoc); blessure.SoinStatut = sta; blessure.setTimeEnd(btime); blessure.setLocalisation(bloc); m_blessureList.Add(blessure); } } m_ChakraColor = reader.ReadInt(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version >= 13) { c_ForcePrivate = reader.ReadBool(); c_ForcePublic = reader.ReadBool(); c_NoTrade = reader.ReadBool(); } if (version >= 12) { c_Free = reader.ReadBool(); } if (version >= 11) { c_Murderers = (Intu)reader.ReadInt(); } if (version >= 10) { c_LeaveItems = reader.ReadBool(); } if (version >= 9) { c_RentToOwn = reader.ReadBool(); c_OriginalRentTime = reader.ReadTimeSpan(); c_RTOPayments = reader.ReadInt(); } c_PreviewItems = new ArrayList(); if (version >= 7) { c_PreviewItems = reader.ReadItemList(); } if (version >= 6) { c_ItemsPrice = reader.ReadInt(); c_KeepItems = reader.ReadBool(); } c_DecoreItemInfos = new ArrayList(); if (version >= 5) { int decorecount = reader.ReadInt(); DecoreItemInfo info; for (int i = 0; i < decorecount; ++i) { info = new DecoreItemInfo(); info.Load(reader); c_DecoreItemInfos.Add(info); } c_Relock = reader.ReadBool(); } if (version >= 4) { c_RecurRent = reader.ReadBool(); c_RentByTime = reader.ReadTimeSpan(); c_RentTime = reader.ReadDateTime(); c_DemolishTime = reader.ReadDateTime(); c_YoungOnly = reader.ReadBool(); c_MinTotalSkill = reader.ReadInt(); c_MaxTotalSkill = reader.ReadInt(); } if (version >= 3) { c_MinZ = reader.ReadInt(); c_MaxZ = reader.ReadInt(); } if (version >= 2) { c_House = (TownHouse)reader.ReadItem(); } c_Price = reader.ReadInt(); c_Locks = reader.ReadInt(); c_Secures = reader.ReadInt(); c_BanLoc = reader.ReadPoint3D(); c_SignLoc = reader.ReadPoint3D(); c_Skill = reader.ReadString(); c_SkillReq = reader.ReadDouble(); c_Blocks = new ArrayList(); int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { c_Blocks.Add(reader.ReadRect2D()); } if (c_RentTime > DateTime.Now) { BeginRentTimer(c_RentTime - DateTime.Now); } Timer.DelayCall(TimeSpan.Zero, new TimerCallback(StartTimers)); ClearPreview(); s_TownHouseSigns.Add(this); }
public object DeserializeObject(GenericReader reader) { object output = null; XmlObjectType xmlObjectType = (XmlObjectType)reader.ReadInt(); if (xmlObjectType == XmlObjectType.Mobile) { output = reader.ReadMobile(); } else if (xmlObjectType == XmlObjectType.Item) { output = reader.ReadItem(); } else if (xmlObjectType == XmlObjectType.MobileList) { output = reader.ReadStrongMobileList(); } else if (xmlObjectType == XmlObjectType.ItemList) { output = reader.ReadStrongItemList(); } else if (xmlObjectType == XmlObjectType.ArrayList) { int elements = reader.ReadInt(); ArrayList list = new ArrayList(elements); for (int i = 0; i < elements; i++) { list.Add(DeserializeObject(reader)); } output = list; } else if (xmlObjectType == XmlObjectType.DateTime) { output = reader.ReadDateTime(); } else if (xmlObjectType == XmlObjectType.DateTimeOffset) { output = reader.ReadDateTimeOffset(); } else if (xmlObjectType == XmlObjectType.BaseGuild) { output = reader.ReadGuild(); } else if (xmlObjectType == XmlObjectType.IPAddress) { output = reader.ReadIPAddress(); } else if (xmlObjectType == XmlObjectType.Map) { output = reader.ReadMap(); } else if (xmlObjectType == XmlObjectType.Point3D) { output = reader.ReadPoint3D(); } else if (xmlObjectType == XmlObjectType.Point2D) { output = reader.ReadPoint2D(); } else if (xmlObjectType == XmlObjectType.TimeSpan) { output = reader.ReadTimeSpan(); } else if (xmlObjectType == XmlObjectType.Rectangle2D) { output = reader.ReadRect2D(); } else if (xmlObjectType == XmlObjectType.Rectangle3D) { output = reader.ReadRect3D(); } else if (xmlObjectType == XmlObjectType.Double) { output = reader.ReadDouble(); } else if (xmlObjectType == XmlObjectType.Integer) { output = reader.ReadInt(); } else if (xmlObjectType == XmlObjectType.Boolean) { output = reader.ReadBool(); } else if (xmlObjectType == XmlObjectType.UInt64) { output = reader.ReadULong(); } else if (xmlObjectType == XmlObjectType.String) { output = reader.ReadString(); } else if (xmlObjectType == XmlObjectType.Type) { output = UberScriptFunctions.Methods.TYPE(null, reader.ReadString()); } else if (xmlObjectType == XmlObjectType.Other) { LoggingCustom.Log( "ERROR_Uberscript.txt", DateTime.Now + ": xmlobject: " + Name + " attached to " + AttachedTo + " with data of type other was deserialized"); } return(output); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch ( version ) { case 1: case 0: { this.m_Poster = reader.ReadMobile(); this.m_Subject = reader.ReadString(); this.m_Time = reader.ReadDateTime(); this.m_LastPostTime = reader.ReadDateTime(); bool hasThread = reader.ReadBool(); this.m_Thread = reader.ReadItem() as BulletinMessage; this.m_PostedName = reader.ReadString(); this.m_PostedBody = reader.ReadInt(); this.m_PostedHue = reader.ReadInt(); this.m_PostedEquip = new BulletinEquip[reader.ReadInt()]; for (int i = 0; i < this.m_PostedEquip.Length; ++i) { this.m_PostedEquip[i].itemID = reader.ReadInt(); this.m_PostedEquip[i].hue = reader.ReadInt(); } this.m_Lines = new string[reader.ReadInt()]; for (int i = 0; i < this.m_Lines.Length; ++i) this.m_Lines[i] = reader.ReadString(); if (hasThread && this.m_Thread == null) this.Delete(); if (version == 0) ValidationQueue<BulletinMessage>.Add(this); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 5: { Owner = reader.ReadMobile(); goto case 4; } case 4: case 3: if (version < 5) { reader.ReadBool(); } goto case 2; case 2: case 1: if (reader.ReadBool()) { m_Helpers = reader.ReadStrongMobileList <BaseCreature>(); } goto case 0; case 0: Peerless = reader.ReadMobile() as BasePeerless; BossLocation = reader.ReadPoint3D(); TeleportDest = reader.ReadPoint3D(); ExitDest = reader.ReadPoint3D(); Deadline = reader.ReadDateTime(); MasterKeys = reader.ReadStrongItemList(); Fighters = reader.ReadStrongMobileList(); if (version < 4) { int count = reader.ReadInt(); for (int i = 0; i < count; i++) { reader.ReadMobile(); reader.ReadStrongMobileList(); } } if (version < 2) { reader.ReadBool(); } if (Peerless == null && m_Helpers.Count > 0) { Timer.DelayCall(TimeSpan.FromSeconds(30), new TimerCallback(CleanupHelpers)); } break; } if (Owner != null && Peerless == null) { FinishSequence(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: case 2: case 1: { DateTime next = reader.ReadDateTime(); if (next < DateTime.UtcNow) { next = DateTime.UtcNow; } this.m_Timer = Timer.DelayCall(next - DateTime.UtcNow, EvaluationInterval, new TimerCallback(Evaluate)); goto case 0; } case 0: { this.m_LiveCreatures = reader.ReadInt(); this.m_VacationLeft = reader.ReadInt(); this.m_Food = new AquariumState(); this.m_Water = new AquariumState(); this.m_Food.Deserialize(reader); this.m_Water.Deserialize(reader); this.m_Events = new List <int>(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { this.m_Events.Add(reader.ReadInt()); } this.m_RewardAvailable = reader.ReadBool(); break; } } if (version < 2) { this.Weight = this.DefaultWeight; this.Movable = false; } if (version < 3) { ValidationQueue <Aquarium> .Add(this); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { m_DeadLine = reader.ReadDateTime(); m_Boss = reader.ReadMobile(); m_Activated = reader.ReadBool(); m_Active = reader.ReadBool(); m_WarpPoint = reader.ReadPoint3D(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Item map = reader.ReadItem(); if (map != null && !map.Deleted && map is CorgulIslandMap) { m_IslandMaps.Add(map); ((CorgulIslandMap)map).Altar = this; } } break; } case 0: { m_DeadLine = reader.ReadDateTime(); m_Boss = reader.ReadMobile(); m_Activated = reader.ReadBool(); m_Active = reader.ReadBool(); m_WarpPoint = reader.ReadPoint3D(); //m_IslandMap = reader.ReadItem() as CorgulIslandMap; Item item = reader.ReadItem(); break; } } InitializeBossRegion(); if (m_Active && m_Activated && m_WarpPoint != Point3D.Zero) { if (m_DeadLine < DateTime.UtcNow || m_Boss == null || m_Boss.Deleted) { Reset(); } else { Rectangle2D bounds = GetRectangle(m_WarpPoint); m_WarpRegion = new CorgulWarpRegion(this, bounds); m_WarpRegion.Register(); m_DeadLineTimer = Timer.DelayCall(TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(10), OnTick); } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 8: { m_MinimumDuelers = (int)reader.ReadInt(); m_LastReset = (DateTime)reader.ReadDateTime(); goto case 7; } case 7: { m_TimerEnabled = (bool)reader.ReadBool(); goto case 6; } case 6: { m_CoinsPerRound = (int)reader.ReadInt(); m_CoinsWinner = (int)reader.ReadInt(); goto case 5; } case 5: { m_BroadcastHue = (int)reader.ReadInt(); goto case 4; } case 4: { m_WallHue = (int)reader.ReadInt(); m_WallID = (int)reader.ReadInt(); goto case 3; } case 3: { m_WallMidPoint = (Point3D)reader.ReadPoint3D(); m_WallExtendWidth = (int)reader.ReadInt();; m_WallNorthToSouth = (bool)reader.ReadBool(); goto case 2; } case 2: { m_CurrentRound = (int)reader.ReadInt(); m_TotalParticipants = (int)reader.ReadInt(); goto case 1; } case 1: { m_Running = (bool)reader.ReadBool(); m_AcceptingPlayers = (bool)reader.ReadBool(); m_MapLocation = (Map)reader.ReadMap(); goto case 0; } case 0: { m_EventRate = (TimeSpan)reader.ReadTimeSpan(); m_StartLocation = (Point3D)reader.ReadPoint3D(); m_LostLocation = (Point3D)reader.ReadPoint3D(); m_DuelLocation1 = (Point3D)reader.ReadPoint3D(); m_DuelLocation2 = (Point3D)reader.ReadPoint3D(); m_LastEvent = (DateTime)reader.ReadDateTime(); m_DuelingArea = (Rectangle2D)reader.ReadRect2D(); m_StageingArea = (Rectangle2D)reader.ReadRect2D(); m_ViewingArea = (Rectangle2D)reader.ReadRect2D(); break; } } if (version == 7) { m_LastReset = DateTime.UtcNow; } if (version == 5) { m_CoinsPerRound = 2; m_CoinsWinner = 10; } if (version == 4) { m_BroadcastHue = 269; } if (version == 3) { m_WallHue = 0; m_WallID = 0x0081; } if (m_DuelList == null) { m_DuelList = new List <Mobile>(); } if (m_CurrentDuelers == null) { m_CurrentDuelers = new List <Mobile>(); } if (m_WallList == null) { m_WallList = new List <Item>(); } if (m_BroadcastList == null) { m_BroadcastList = new List <Mobile>(); } m_CountDown = 0; UpdateRegions(false); m_RestartTimer = new InternalTimer(this, TimeSpan.FromSeconds(1.0)); if (m_TimerEnabled) { m_RestartTimer.Start(); } }
public override void Deserialize(GenericReader reader) { int version = reader.ReadInt(); switch (version) { case 7: case 6: case 5: { int count = reader.ReadInt(); PendingWars = new List <WarDeclaration>(); for (int i = 0; i < count; i++) { PendingWars.Add(new WarDeclaration(reader)); } count = reader.ReadInt(); AcceptedWars = new List <WarDeclaration>(); for (int i = 0; i < count; i++) { AcceptedWars.Add(new WarDeclaration(reader)); } bool isAllianceLeader = reader.ReadBool(); if (isAllianceLeader) { m_AllianceInfo = new AllianceInfo(reader); } else { m_AllianceLeader = reader.ReadGuild() as Guild; } goto case 4; } case 4: { AllyDeclarations = reader.ReadStrongGuildList <Guild>(); AllyInvitations = reader.ReadStrongGuildList <Guild>(); goto case 3; } case 3: { m_TypeLastChange = reader.ReadDateTime(); goto case 2; } case 2: { if (version < 6) { reader.ReadInt(); } goto case 1; } case 1: { LastFealty = reader.ReadDateTime(); goto case 0; } case 0: { m_Leader = reader.ReadMobile(); if (m_Leader is PlayerMobile mobile) { mobile.GuildRank = RankDefinition.Leader; } m_Name = reader.ReadString(); m_Abbreviation = reader.ReadString(); Allies = reader.ReadStrongGuildList <Guild>(); Enemies = reader.ReadStrongGuildList <Guild>(); WarDeclarations = reader.ReadStrongGuildList <Guild>(); WarInvitations = reader.ReadStrongGuildList <Guild>(); Members = reader.ReadStrongMobileList(); Candidates = reader.ReadStrongMobileList(); Accepted = reader.ReadStrongMobileList(); if (version < 7) { reader.ReadItem(); reader.ReadItem(); } Charter = reader.ReadString(); Website = reader.ReadString(); break; } } if (AllyDeclarations == null) { AllyDeclarations = new List <Guild>(); } if (AllyInvitations == null) { AllyInvitations = new List <Guild>(); } if (AcceptedWars == null) { AcceptedWars = new List <WarDeclaration>(); } if (PendingWars == null) { PendingWars = new List <WarDeclaration>(); } Timer.DelayCall(TimeSpan.Zero, VerifyGuild_Callback); }
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 Auction(IAuctionItem safe, GenericReader reader) { Safe = safe; int version = reader.ReadInt(); switch (version) { case 2: ClaimPeriod = reader.ReadDateTime(); goto case 1; case 1: Owner = reader.ReadMobile(); AuctionItem = reader.ReadItem(); CurrentBid = reader.ReadLong(); StartBid = reader.ReadLong(); Buyout = reader.ReadLong(); Description = reader.ReadString(); Duration = reader.ReadInt(); StartTime = reader.ReadDateTime(); OnGoing = reader.ReadBool(); Bids = new List <BidEntry>(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { PlayerMobile m = reader.ReadMobile() as PlayerMobile; BidEntry entry = new BidEntry(m, reader); if (m != null) { Bids.Add(entry); if (entry.CurrentBid > 0 && (HighestBid == null || entry.CurrentBid > HighestBid.CurrentBid)) { HighestBid = entry; } } } count = reader.ReadInt(); if (count > 0) { BidHistory = new List <HistoryEntry>(); } for (int i = 0; i < count; i++) { BidHistory.Add(new HistoryEntry(reader)); } break; } if (HasBegun) { Auctions.Add(this); } }
public TitleInfo( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch( version ) { case 0: { m_Value = reader.ReadEncodedInt(); m_LastDecay = reader.ReadDateTime(); break; } } }
public void Deserialize(GenericReader reader) { Flag = reader.ReadFlag <DataType>(); Type = Flag.ToType(); switch (Flag) { case DataType.Null: Value = null; break; case DataType.Bool: Value = reader.ReadBool(); break; case DataType.Char: Value = reader.ReadChar(); break; case DataType.Byte: Value = reader.ReadByte(); break; case DataType.SByte: Value = reader.ReadSByte(); break; case DataType.Short: Value = reader.ReadShort(); break; case DataType.UShort: Value = reader.ReadUShort(); break; case DataType.Int: Value = reader.ReadInt(); break; case DataType.UInt: Value = reader.ReadUInt(); break; case DataType.Long: Value = reader.ReadLong(); break; case DataType.ULong: Value = reader.ReadULong(); break; case DataType.Float: Value = reader.ReadFloat(); break; case DataType.Decimal: Value = reader.ReadDecimal(); break; case DataType.Double: Value = reader.ReadDouble(); break; case DataType.String: Value = reader.ReadString() ?? String.Empty; break; case DataType.DateTime: Value = reader.ReadDateTime(); break; case DataType.TimeSpan: Value = reader.ReadTimeSpan(); break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch(version) { case 8: { this.m_StartingLoc = reader.ReadPoint3D(); try { this.m_StartingMap = Map.Parse(reader.ReadString()); } catch { } goto case 7; } case 7: { string langstr = reader.ReadString(); try { this.m_CurrentLanguage = (LanguageType)Enum.Parse(typeof(LanguageType), langstr); } catch { } goto case 6; } case 6: { this.m_ChallengeGame = (BaseChallengeGame)reader.ReadItem(); this.m_ChallengeSetup = (BaseChallengeGame)reader.ReadItem(); goto case 5; } case 5: { TimeSpan remaining = reader.ReadTimeSpan(); if (remaining > TimeSpan.Zero) { this.DoTimer(remaining); } goto case 4; } case 4: { this.m_ReceiveBroadcasts = reader.ReadBool(); goto case 3; } case 3: { this.m_Rank = reader.ReadInt(); this.m_DeltaRank = reader.ReadInt(); this.m_WhenRanked = reader.ReadDateTime(); this.m_LastDecay = reader.ReadDateTime(); goto case 2; } case 2: { this.m_Credits = reader.ReadInt(); goto case 1; } case 1: { this.m_Broadcast = reader.ReadBool(); goto case 0; } case 0: { this.m_Points = reader.ReadInt(); this.m_Kills = reader.ReadInt(); this.m_Deaths = reader.ReadInt(); this.m_Challenger = reader.ReadMobile(); this.m_LastKill = reader.ReadDateTime(); this.m_LastDeath = reader.ReadDateTime(); // read in the kill list int count = reader.ReadInt(); this.KillList = new ArrayList(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime t = reader.ReadDateTime(); if (m != null && !m.Deleted) { this.KillList.Add(new KillEntry(m,t)); } } // get the owner of this in order to rebuild the rankings Mobile killer = reader.ReadMobile(); // rebuild the ranking list // if they have never made a kill, then dont rank if (killer != null && this.m_Kills > 0) { UpdateRanking(killer, this); } break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version < 5) { // have to add the XmlDialog attachment m_DialogAttachment = new XmlDialog((string)null); XmlAttach.AttachTo(this, m_DialogAttachment); } switch (version) { case 7: m_EItemID = reader.ReadInt(); m_Duration = reader.ReadInt(); m_Offset = reader.ReadPoint3D(); m_EHue = reader.ReadInt(); goto case 6; case 6: TalkText = reader.ReadString(); break; case 5: { break; } case 4: { int count = reader.ReadInt(); SpeechEntries = new ArrayList(); for (int i = 0; i < count; i++) { XmlDialog.SpeechEntry newentry = new XmlDialog.SpeechEntry(); newentry.Condition = reader.ReadString(); SpeechEntries.Add(newentry); } goto case 3; } case 3: { TriggerOnCarried = reader.ReadString(); NoTriggerOnCarried = reader.ReadString(); goto case 2; } case 2: { SpeechPace = reader.ReadInt(); int count = reader.ReadInt(); if (version < 4) { SpeechEntries = new ArrayList(); } for (int i = 0; i < count; i++) { if (version < 4) { XmlDialog.SpeechEntry newentry = new XmlDialog.SpeechEntry(); newentry.PrePause = reader.ReadInt(); newentry.LockConversation = reader.ReadBool(); newentry.AllowNPCTrigger = reader.ReadBool(); newentry.SpeechStyle = (MessageType)reader.ReadInt(); SpeechEntries.Add(newentry); } else { XmlDialog.SpeechEntry newentry = (XmlDialog.SpeechEntry)SpeechEntries[i]; newentry.PrePause = reader.ReadInt(); newentry.LockConversation = reader.ReadBool(); newentry.AllowNPCTrigger = reader.ReadBool(); newentry.SpeechStyle = (MessageType)reader.ReadInt(); } } goto case 1; } case 1: { ActivePlayer = reader.ReadMobile(); goto case 0; } case 0: { IsActive = reader.ReadBool(); ResetTime = reader.ReadTimeSpan(); LastInteraction = reader.ReadDateTime(); AllowGhostTrig = reader.ReadBool(); ProximityRange = reader.ReadInt(); IsRunning = reader.ReadBool(); ConfigFile = reader.ReadString(); int count = reader.ReadInt(); if (version < 2) { SpeechEntries = new ArrayList(); } for (int i = 0; i < count; i++) { if (version < 2) { XmlDialog.SpeechEntry newentry = new XmlDialog.SpeechEntry(); newentry.EntryNumber = reader.ReadInt(); newentry.ID = reader.ReadInt(); newentry.Text = reader.ReadString(); newentry.Keywords = reader.ReadString(); newentry.Action = reader.ReadString(); newentry.DependsOn = reader.ReadInt().ToString(); newentry.Pause = reader.ReadInt(); SpeechEntries.Add(newentry); } else { XmlDialog.SpeechEntry newentry = (XmlDialog.SpeechEntry)SpeechEntries[i]; newentry.EntryNumber = reader.ReadInt(); newentry.ID = reader.ReadInt(); newentry.Text = reader.ReadString(); newentry.Keywords = reader.ReadString(); newentry.Action = reader.ReadString(); newentry.DependsOn = reader.ReadInt().ToString(); newentry.Pause = reader.ReadInt(); } } // read in the current entry number. Note this will also set the current entry EntryNumber = reader.ReadInt(); // restart the timer if it was active bool isrunning = reader.ReadBool(); if (isrunning) { Mobile trigmob = reader.ReadMobile(); TimeSpan delay = reader.ReadTimeSpan(); if (DialogAttachment != null) { DialogAttachment.DoTimer(delay, trigmob); } } break; } } }
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 override void Deserialize(GenericReader reader) { int version = reader.ReadInt(); switch (version) { case 8: { m_Flags = (GuildFlags)reader.ReadInt(); goto case 7; } case 7: { m_bGuildWarRing = reader.ReadBool(); goto case 6; } case 6: { m_TownshipStone = reader.ReadItem(); goto case 5; } case 5: { m_IOBAlignment = (IOBAlignment)reader.ReadInt(); goto case 4; } case 4: { m_AllyDeclarations = reader.ReadGuildList(); m_AllyInvitations = reader.ReadGuildList(); goto case 3; } case 3: { m_TypeLastChange = reader.ReadDateTime(); goto case 2; } case 2: { m_Type = (GuildType)reader.ReadInt(); goto case 1; } case 1: { m_LastFealty = reader.ReadDateTime(); goto case 0; } case 0: { m_Leader = reader.ReadMobile(); m_Name = reader.ReadString(); m_Abbreviation = reader.ReadString(); m_Allies = reader.ReadGuildList(); m_Enemies = reader.ReadGuildList(); m_WarDeclarations = reader.ReadGuildList(); m_WarInvitations = reader.ReadGuildList(); m_Members = reader.ReadMobileList(); m_Candidates = reader.ReadMobileList(); m_Accepted = reader.ReadMobileList(); m_Guildstone = reader.ReadItem(); m_Teleporter = reader.ReadItem(); m_Charter = reader.ReadString(); m_Website = reader.ReadString(); break; } } if (m_AllyDeclarations == null) { m_AllyDeclarations = new ArrayList(); } if (m_AllyInvitations == null) { m_AllyInvitations = new ArrayList(); } if (m_Guildstone == null || m_Members.Count == 0) { Disband(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); var version = reader.GetVersion(); switch (version) { case 3: AllowNoOwner = reader.ReadBool(); goto case 2; case 2: case 1: Silent = reader.ReadBool(); goto case 0; case 0: { Usage = reader.ReadString(); Token = reader.ReadString(); AllowCombat = reader.ReadBool(); AllowDeadUser = reader.ReadBool(); Consumable = reader.ReadBool(); ClearHands = reader.ReadBool(); DismountUser = reader.ReadBool(); EffectID = reader.ReadInt(); EffectHue = reader.ReadInt(); EffectSpeed = reader.ReadInt(); if (version < 2) { EffectRender = (EffectRender)reader.ReadShort(); TargetFlags = (TargetFlags)reader.ReadByte(); } else { EffectRender = reader.ReadFlag <EffectRender>(); TargetFlags = reader.ReadFlag <TargetFlags>(); } ThrowSound = reader.ReadInt(); ImpactSound = reader.ReadInt(); ThrowRange = reader.ReadInt(); ThrowRecovery = reader.ReadTimeSpan(); ThrownLast = reader.ReadDateTime(); if (version < 2) { RequiredSkill = (SkillName)reader.ReadShort(); } else { RequiredSkill = reader.ReadFlag <SkillName>(); } RequiredSkillValue = reader.ReadDouble(); } break; } }
public FactionState(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 5: { this.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 < this.m_LastBroadcasts.Length) { this.m_LastBroadcasts[i] = time; } } goto case 3; } case 3: case 2: case 1: { this.m_Election = new Election(reader); goto case 0; } case 0: { this.m_Faction = Faction.ReadReference(reader); this.m_Commander = reader.ReadMobile(); if (version < 5) { this.m_LastAtrophy = DateTime.Now; } if (version < 4) { DateTime time = reader.ReadDateTime(); if (this.m_LastBroadcasts.Length > 0) { this.m_LastBroadcasts[0] = time; } } this.m_Tithe = reader.ReadEncodedInt(); this.m_Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); this.m_Members = new List <PlayerState>(); for (int i = 0; i < memberCount; ++i) { PlayerState pl = new PlayerState(reader, this.m_Faction, this.m_Members); if (pl.Mobile != null) { this.m_Members.Add(pl); } } this.m_Faction.State = this; this.m_Faction.ZeroRankOffset = this.m_Members.Count; this.m_Members.Sort(); for (int i = this.m_Members.Count - 1; i >= 0; i--) { PlayerState player = this.m_Members[i]; if (player.KillPoints <= 0) { this.m_Faction.ZeroRankOffset = i; } else { player.RankIndex = i; } } this.m_FactionItems = new List <FactionItem>(); if (version >= 2) { int factionItemCount = reader.ReadEncodedInt(); for (int i = 0; i < factionItemCount; ++i) { FactionItem factionItem = new FactionItem(reader, this.m_Faction); Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.CheckAttach)); // sandbox attachment } } this.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()) { this.m_FactionTraps.Add(trap); } } } break; } } if (version < 1) { this.m_Election = new Election(this.m_Faction); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int v = reader.ReadInt(); m_Active = reader.ReadBool(); m_SeasonBegins = reader.ReadDateTime(); m_SeasonEnds = reader.ReadDateTime(); m_Top10 = new Dictionary <HuntType, List <HuntingKillEntry> >(); m_Leaders = new Dictionary <HuntType, List <HuntingKillEntry> >(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); int c = 1; if (v == 0) { new HuntingKillEntry(reader); } else { c = reader.ReadInt(); } if (m != null) { m_UnclaimedWinners[m] = c; } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { HuntType type = (HuntType)reader.ReadInt(); int c = reader.ReadInt(); if (!m_Top10.ContainsKey(type)) { m_Top10[type] = new List <HuntingKillEntry>(); } for (int j = 0; j < c; j++) { m_Top10[type].Add(new HuntingKillEntry(reader)); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { HuntType type = (HuntType)reader.ReadInt(); int c = reader.ReadInt(); if (!m_Leaders.ContainsKey(type)) { m_Leaders[type] = new List <HuntingKillEntry>(); } for (int j = 0; j < c; j++) { m_Leaders[type].Add(new HuntingKillEntry(reader)); } } m_Instance = this; m_NextHint = DateTime.UtcNow; m_NextBonusIndex = DateTime.UtcNow; CheckTimer(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_EvilSpawners = new List <XmlSpawner>(); m_GoodSpawners = new List <XmlSpawner>(); m_Instance = this; m_Enabled = reader.ReadBool(); m_NextBossEncounter = reader.ReadDateTime(); m_Boss = reader.ReadMobile() as DespiseBoss; m_DeadLine = reader.ReadDateTime(); m_SequenceAlignment = (Alignment)reader.ReadInt(); if (version < 4) { Timer.DelayCall(TimeSpan.FromSeconds(30), CheckSpawnersVersion3); } int count = reader.ReadInt(); for (int i = 0; i < count; i++) { XmlSpawner spawner = reader.ReadItem() as XmlSpawner; if (spawner != null) { m_GoodSpawners.Add(spawner); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { XmlSpawner spawner = reader.ReadItem() as XmlSpawner; if (spawner != null) { m_EvilSpawners.Add(spawner); } } //Conversion to new Point System if (version == 0) { count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); int points = reader.ReadInt(); if (m != null && points > 0) { Server.Engines.Points.PointsSystem.DespiseCrystals.ConvertFromOldSystem((PlayerMobile)m, points); } } } if (!m_Enabled) { return; } BeginTimer(); if (m_DeadLine > DateTime.UtcNow) { if (m_Boss != null && m_Boss.Alive) { BeginSequenceTimer(); return; } } else if (m_DeadLine != DateTime.MinValue) { BeginCleanupTimer(); return; } EndSequence(); if (m_GoodSpawners.Count == 0 && m_EvilSpawners.Count == 0) { CreateSpawners(); } if (version < 2) { Timer.DelayCall(TimeSpan.FromSeconds(30), RemoveAnkh); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); //Version 0 if (version >= 0) { m_Guildmaster = (PlayerMobile)reader.ReadMobile(); m_Abbreviation = reader.ReadString(); m_CreationTime = reader.ReadDateTime(); m_Icon = reader.ReadInt(); m_IconHue = reader.ReadInt(); m_Website = reader.ReadString(); m_Guildhouse = reader.ReadItem() as BaseHouse; m_Faction = reader.ReadItem() as Faction; //Rank Names int rankNamesCount = reader.ReadInt(); for (int a = 0; a < rankNamesCount; a++) { m_RankNames[a] = reader.ReadString(); } //Members int membersCount = reader.ReadInt(); for (int a = 0; a < membersCount; a++) { PlayerMobile player = reader.ReadMobile() as PlayerMobile; GuildMemberRank rank = (GuildMemberRank)reader.ReadInt(); DateTime joinDate = reader.ReadDateTime(); PlayerMobile fealtyPlayer = reader.ReadMobile() as PlayerMobile; if (player != null) { if (!player.Deleted) { GuildMemberEntry guildMemberEntry = new GuildMemberEntry(player, rank, joinDate, fealtyPlayer); m_Members.Add(guildMemberEntry); } } } //Lists int alliesCount = reader.ReadInt(); for (int a = 0; a < alliesCount; a++) { Guild entry = reader.ReadItem() as Guild; if (entry != null) { if (!entry.Deleted) { m_Allies.Add(entry); } } } int alliesRequestsSentCount = reader.ReadInt(); for (int a = 0; a < alliesRequestsSentCount; a++) { Guild entry = reader.ReadItem() as Guild; if (entry != null) { if (!entry.Deleted) { m_AlliesRequestsSent.Add(entry); } } } int alliesRequestsReceivedCount = reader.ReadInt(); for (int a = 0; a < alliesRequestsReceivedCount; a++) { Guild entry = reader.ReadItem() as Guild; if (entry != null) { if (!entry.Deleted) { m_AlliesRequestsReceived.Add(entry); } } } int enemiesCount = reader.ReadInt(); for (int a = 0; a < enemiesCount; a++) { Guild entry = reader.ReadItem() as Guild; if (entry != null) { if (!entry.Deleted) { m_Enemies.Add(entry); } } } int enemiesRequestsSentCount = reader.ReadInt(); for (int a = 0; a < enemiesRequestsSentCount; a++) { Guild entry = reader.ReadItem() as Guild; if (entry != null) { if (!entry.Deleted) { m_EnemiesRequestsSent.Add(entry); } } } int enemiesRequestsReceivedCount = reader.ReadInt(); for (int a = 0; a < enemiesRequestsReceivedCount; a++) { Guild entry = reader.ReadItem() as Guild; if (entry != null) { if (!entry.Deleted) { m_EnemiesRequestsReceived.Add(entry); } } } int candidatesCount = reader.ReadInt(); for (int a = 0; a < candidatesCount; a++) { PlayerMobile candidate = reader.ReadMobile() as PlayerMobile; if (candidate != null) { if (!candidate.Deleted) { m_Candidates.Add(candidate); } } } } //----- Guilds.m_Guilds.Add(this); ReapplyMemberships(); AuditGuild(); }
public virtual void Deserialize(GenericReader reader) { int version = reader.GetVersion(); if (version > 5) { reader.ReadBlock(() => { if (version > 6) { Serial = new PvPSerial(reader); } else { Serial = reader.ReadTypeCreate <PvPSerial>(reader) ?? new PvPSerial(reader); } }); } switch (version) { case 7: case 6: case 5: Hidden = reader.ReadBool(); goto case 4; case 4: FloorItemDelete = reader.ReadBool(); goto case 3; case 3: case 2: { Gate = reader.ReadItem <PvPSpectatorGate>(); if (Gate != null) { Gate.Battle = this; } } goto case 1; case 1: { Category = reader.ReadString(); Ranked = reader.ReadBool(); InviteWhileRunning = reader.ReadBool(); } goto case 0; case 0: { if (version < 6) { reader.ReadBlock(() => Serial = reader.ReadTypeCreate <PvPSerial>(reader) ?? new PvPSerial()); } DebugMode = reader.ReadBool(); State = reader.ReadFlag <PvPBattleState>(); Name = reader.ReadString(); Description = reader.ReadString(); AutoAssign = reader.ReadBool(); UseTeamColors = reader.ReadBool(); IgnoreCapacity = reader.ReadBool(); SubCommandPrefix = reader.ReadChar(); QueueAllowed = reader.ReadBool(); SpectateAllowed = reader.ReadBool(); KillPoints = version < 3 ? (reader.ReadBool() ? 1 : 0) : reader.ReadInt(); PointsBase = reader.ReadInt(); PointsRankFactor = reader.ReadDouble(); IdleKick = reader.ReadBool(); IdleThreshold = reader.ReadTimeSpan(); LastState = reader.ReadFlag <PvPBattleState>(); LastStateChange = reader.ReadDateTime(); LightLevel = reader.ReadInt(); LogoutDelay = reader.ReadTimeSpan(); Doors.AddRange(reader.ReadStrongItemList <BaseDoor>()); reader.ReadBlock(() => Options = reader.ReadTypeCreate <PvPBattleOptions>(reader) ?? new PvPBattleOptions()); if (Schedule != null && Schedule.Running) { Schedule.Stop(); } reader.ReadBlock( () => Schedule = reader.ReadTypeCreate <Schedule>(reader) ?? new Schedule("Battle " + Serial.Value, false)); reader.ReadBlock( () => BattleRegion = reader.ReadTypeCreate <PvPBattleRegion>(this, reader) ?? new PvPBattleRegion(this)); reader.ReadBlock( () => SpectateRegion = reader.ReadTypeCreate <PvPSpectateRegion>(this, reader) ?? new PvPSpectateRegion(this)); reader.ReadBlockList(() => reader.ReadTypeCreate <PvPTeam>(this, reader) ?? new PvPTeam(this), Teams); } break; } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); switch ( version ) { case 1: { m_Flags = (MacingSkillScrollFlags)reader.ReadEncodedInt(); m_ExpireDate = reader.ReadDateTime(); goto case 0; } case 0: { m_SkillBonus = reader.ReadInt(); break; } } //We save it just in case, then delete it afterwards if ( Expires && DateTime.UtcNow >= m_ExpireDate ) AddToCleanup( this ); SkillScroll.ConvertSkillScroll(this, m_OldSkills[0]); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); LockingPerson = reader.ReadMobile(); int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { Mobile m = reader.ReadMobile(); if (m != null) { list.Add(new SecretChestArray { Mobile = m, Permission = reader.ReadBool(), TrialsNumber = reader.ReadInt(), Expire = reader.ReadDateTime() }); } } count = reader.ReadInt(); for (int i = 0; i < count; ++i) { SecretKey[i] = reader.ReadInt(); } }
public static void Load(GenericReader reader) { int version = reader.ReadInt(); int greetingsCount = 0; switch (version) { case 1: greetingsCount = reader.ReadInt(); int count = count = reader.ReadInt(); for (int i = 0; i < count; i++) { var pm = reader.ReadMobile() as PlayerMobile; if (pm != null) { AddExempt(pm); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerGreetingEntry(reader); if (!entry.Expired) { GreetingsEntries.Add(entry); } } goto case 0; case 0: count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerModeratorEntry(reader); if (!entry.Expired) { ModeratorEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerCityEntry(reader); if (!entry.Expired) { CityEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerGuildEntry(reader); if (!entry.Expired) { GuildEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null) { if (MysteriousPotionEffects == null) { MysteriousPotionEffects = new Dictionary <Mobile, DateTime>(); } MysteriousPotionEffects[m] = dt; } } break; } if (greetingsCount < GreetingsEntries.Count) { NewGreeting = true; } CheckTimer(); }
public override void Deserialize(GenericReader reader) { City = (City)reader.ReadInt(); base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null && dt > DateTime.UtcNow) { CitizenWait[m] = dt; } } } goto case 0; case 0: { CompletedTrades = reader.ReadInt(); Governor = reader.ReadMobile(); GovernorElect = reader.ReadMobile(); PendingGovernor = reader.ReadBool(); Treasury = reader.ReadLong(); ActiveTradeDeal = (TradeDeal)reader.ReadInt(); TradeDealStart = reader.ReadDateTime(); NextTradeDealCheck = reader.ReadDateTime(); CanUtilize = reader.ReadBool(); Headline = reader.ReadString(); Body = reader.ReadString(); PostedOn = reader.ReadDateTime(); if (reader.ReadInt() == 0) { Election = new CityElection(this, reader); } else { Election = new CityElection(this); } } break; } if (version == 0 && this.City == City.Britain) { int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null && dt > DateTime.UtcNow) { CitizenWait[m] = dt; } } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: { m_State = (HouseRaffleState)reader.ReadEncodedInt(); goto case 2; } case 2: { m_ExpireAction = (HouseRaffleExpireAction)reader.ReadEncodedInt(); goto case 1; } case 1: { m_Deed = reader.ReadItem <HouseRaffleDeed>(); goto case 0; } case 0: { bool oldActive = (version < 3) ? reader.ReadBool() : false; m_Bounds = reader.ReadRect2D(); m_Facet = reader.ReadMap(); m_Winner = reader.ReadMobile(); m_TicketPrice = reader.ReadInt(); m_Started = reader.ReadDateTime(); m_Duration = reader.ReadTimeSpan(); int entryCount = reader.ReadInt(); m_Entries = new List <RaffleEntry>(entryCount); for (int i = 0; i < entryCount; i++) { RaffleEntry entry = new RaffleEntry(reader, version); if (entry.From == null) { continue; // Character was deleted } m_Entries.Add(entry); } InvalidateRegion(); m_AllStones.Add(this); if (version < 3) { if (oldActive) { m_State = HouseRaffleState.Active; } else if (m_Winner != null) { m_State = HouseRaffleState.Completed; } else { m_State = HouseRaffleState.Inactive; } } break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_ReplenishesCharges = reader.ReadBool(); if (m_ReplenishesCharges) { m_LastReplenished = reader.ReadDateTime(); } m_Crafter = reader.ReadMobile(); m_Quality = (InstrumentQuality)reader.ReadEncodedInt(); m_Slayer = (SlayerName)reader.ReadEncodedInt(); m_Slayer2 = (SlayerName)reader.ReadEncodedInt(); UsesRemaining = reader.ReadEncodedInt(); m_WellSound = reader.ReadEncodedInt(); m_BadlySound = reader.ReadEncodedInt(); m_MaxHitPoints = reader.ReadEncodedInt(); m_HitPoints = reader.ReadEncodedInt(); m_Resource = (CraftResource)reader.ReadEncodedInt(); m_AosAttributes = new AosAttributes(this, reader); m_AosResistances = new AosElementAttributes(this, reader); m_AosSkillBonuses = new AosSkillBonuses(this, reader); CheckReplenishUses(); if (Core.AOS && Parent is Mobile) { m_AosSkillBonuses.AddTo((Mobile)Parent); } int strBonus = m_AosAttributes.BonusStr; int dexBonus = m_AosAttributes.BonusDex; int intBonus = m_AosAttributes.BonusInt; if (Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0)) { Mobile m = (Mobile)Parent; string modName = Serial.ToString(); if (strBonus != 0) { m.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero)); } if (dexBonus != 0) { m.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero)); } if (intBonus != 0) { m.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero)); } } if (Parent is Mobile) { ((Mobile)Parent).CheckStatTimers(); } }
public override void Deserialize(GenericReader reader) { City = (City)reader.ReadInt(); base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: case 1: { int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null && dt > DateTime.UtcNow) { CitizenWait[m] = dt; } } } goto case 0; case 0: { CompletedTrades = reader.ReadInt(); Governor = reader.ReadMobile(); GovernorElect = reader.ReadMobile(); PendingGovernor = reader.ReadBool(); Treasury = reader.ReadLong(); ActiveTradeDeal = (TradeDeal)reader.ReadInt(); TradeDealStart = reader.ReadDateTime(); NextTradeDealCheck = reader.ReadDateTime(); CanUtilize = reader.ReadBool(); Headline = reader.ReadString(); Body = reader.ReadString(); PostedOn = reader.ReadDateTime(); if (reader.ReadInt() == 0) { Election = new CityElection(this, reader); } else { Election = new CityElection(this); } } break; } if (version == 0 && this.City == City.Britain) { int count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null && dt > DateTime.UtcNow) { CitizenWait[m] = dt; } } } // City Bulletin Board Location if (version == 1) { Timer.DelayCall(TimeSpan.FromSeconds(10), () => { Board = new CityMessageBoard(City, 0xA0C5); Board.MoveToWorld(Definition.BoardLocation, Map.Trammel); Console.WriteLine("City Message Board for {0} Converted!", City.ToString()); /*if (Board != null) * { * //Board.ItemID = 0xA0C5; * //board.MoveToWorld(Definition.BoardLocation, Map.Trammel); * * * Console.WriteLine("City Message Board for {0} Converted!", City.ToString()); * } * else * { * Console.WriteLine("City Message Board for {0} not found!", City.ToString()); * }*/ }); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 28: { m_PeacedUntil = reader.ReadDateTime(); goto case 27; } case 27: { m_AnkhNextUse = reader.ReadDateTime(); goto case 26; } case 26: { m_AutoStabled = reader.ReadStrongMobileList(); goto case 25; } case 25: { int recipeCount = reader.ReadInt(); if( recipeCount > 0 ) { m_AcquiredRecipes = new Dictionary<int, bool>(); for( int i = 0; i < recipeCount; i++ ) { int r = reader.ReadInt(); if( reader.ReadBool() ) //Don't add in recipies which we haven't gotten or have been removed m_AcquiredRecipes.Add( r, true ); } } goto case 24; } case 24: { m_LastHonorLoss = reader.ReadDeltaTime(); goto case 23; } case 23: { m_ChampionTitles = new ChampionTitleInfo( reader ); goto case 22; } case 22: { m_LastValorLoss = reader.ReadDateTime(); goto case 21; } case 21: { m_ToTItemsTurnedIn = reader.ReadEncodedInt(); m_ToTTotalMonsterFame = reader.ReadInt(); goto case 20; } case 20: { m_AllianceMessageHue = reader.ReadEncodedInt(); m_GuildMessageHue = reader.ReadEncodedInt(); goto case 19; } case 19: { int rank = reader.ReadEncodedInt(); int maxRank = Guilds.RankDefinition.Ranks.Length -1; if( rank > maxRank ) rank = maxRank; m_GuildRank = Guilds.RankDefinition.Ranks[rank]; m_LastOnline = reader.ReadDateTime(); goto case 18; } case 18: { m_SolenFriendship = (SolenFriendship) reader.ReadEncodedInt(); goto case 17; } case 17: // changed how DoneQuests is serialized case 16: { m_Quest = QuestSerializer.DeserializeQuest( reader ); if ( m_Quest != null ) m_Quest.From = this; int count = reader.ReadEncodedInt(); if ( count > 0 ) { m_DoneQuests = new List<QuestRestartInfo>(); for ( int i = 0; i < count; ++i ) { Type questType = QuestSerializer.ReadType( QuestSystem.QuestTypes, reader ); DateTime restartTime; if ( version < 17 ) restartTime = DateTime.MaxValue; else restartTime = reader.ReadDateTime(); m_DoneQuests.Add( new QuestRestartInfo( questType, restartTime ) ); } } m_Profession = reader.ReadEncodedInt(); goto case 15; } case 15: { m_LastCompassionLoss = reader.ReadDeltaTime(); goto case 14; } case 14: { m_CompassionGains = reader.ReadEncodedInt(); if ( m_CompassionGains > 0 ) m_NextCompassionDay = reader.ReadDeltaTime(); goto case 13; } case 13: // just removed m_PayedInsurance list case 12: { m_BOBFilter = new Engines.BulkOrders.BOBFilter( reader ); goto case 11; } case 11: { if ( version < 13 ) { List<Item> payed = reader.ReadStrongItemList(); for ( int i = 0; i < payed.Count; ++i ) payed[i].PayedInsurance = true; } goto case 10; } case 10: { if ( reader.ReadBool() ) { m_HairModID = reader.ReadInt(); m_HairModHue = reader.ReadInt(); m_BeardModID = reader.ReadInt(); m_BeardModHue = reader.ReadInt(); } goto case 9; } case 9: { SavagePaintExpiration = reader.ReadTimeSpan(); if ( SavagePaintExpiration > TimeSpan.Zero ) { BodyMod = ( Female ? 184 : 183 ); HueMod = 0; } goto case 8; } case 8: { m_NpcGuild = (NpcGuild)reader.ReadInt(); m_NpcGuildJoinTime = reader.ReadDateTime(); m_NpcGuildGameTime = reader.ReadTimeSpan(); goto case 7; } case 7: { m_PermaFlags = reader.ReadStrongMobileList(); goto case 6; } case 6: { NextTailorBulkOrder = reader.ReadTimeSpan(); goto case 5; } case 5: { NextSmithBulkOrder = reader.ReadTimeSpan(); goto case 4; } case 4: { m_LastJusticeLoss = reader.ReadDeltaTime(); m_JusticeProtectors = reader.ReadStrongMobileList(); goto case 3; } case 3: { m_LastSacrificeGain = reader.ReadDeltaTime(); m_LastSacrificeLoss = reader.ReadDeltaTime(); m_AvailableResurrects = reader.ReadInt(); goto case 2; } case 2: { m_Flags = (PlayerFlag)reader.ReadInt(); goto case 1; } case 1: { m_LongTermElapse = reader.ReadTimeSpan(); m_ShortTermElapse = reader.ReadTimeSpan(); m_GameTime = reader.ReadTimeSpan(); goto case 0; } case 0: { if( version < 26 ) m_AutoStabled = new List<Mobile>(); break; } } if (m_RecentlyReported == null) m_RecentlyReported = new List<Mobile>(); // Professions weren't verified on 1.0 RC0 if ( !CharacterCreation.VerifyProfession( m_Profession ) ) m_Profession = 0; if ( m_PermaFlags == null ) m_PermaFlags = new List<Mobile>(); if ( m_JusticeProtectors == null ) m_JusticeProtectors = new List<Mobile>(); if ( m_BOBFilter == null ) m_BOBFilter = new Engines.BulkOrders.BOBFilter(); if( m_GuildRank == null ) m_GuildRank = Guilds.RankDefinition.Member; //Default to member if going from older verstion to new version (only time it should be null) if( m_LastOnline == DateTime.MinValue && Account != null ) m_LastOnline = ((Account)Account).LastLogin; if( m_ChampionTitles == null ) m_ChampionTitles = new ChampionTitleInfo(); if ( AccessLevel > AccessLevel.Player ) m_IgnoreMobiles = true; List<Mobile> list = this.Stabled; for ( int i = 0; i < list.Count; ++i ) { BaseCreature bc = list[i] as BaseCreature; if ( bc != null ) bc.IsStabled = true; } CheckAtrophies( this ); if( Hidden ) //Hiding is the only buff where it has an effect that's serialized. AddBuff( new BuffInfo( BuffIcon.HidingAndOrStealth, 1075655 ) ); }
public VvVBattle(GenericReader reader, ViceVsVirtueSystem system) { int version = reader.ReadInt(); System = system; Altars = new List <VvVAltar>(); KillCooldown = new Dictionary <Mobile, DateTime>(); Messages = new List <string>(); Traps = new List <VvVTrap>(); Warned = new List <Mobile>(); Turrets = new List <CannonTurret>(); Teams = new List <BattleTeam>(); OnGoing = reader.ReadBool(); if (reader.ReadInt() == 0) { StartTime = reader.ReadDateTime(); CooldownEnds = reader.ReadDateTime(); LastOccupationCheck = reader.ReadDateTime(); NextSigilSpawn = reader.ReadDateTime(); NextAnnouncement = reader.ReadDateTime(); NextAltarActivate = reader.ReadDateTime(); City = (VvVCity)reader.ReadInt(); Sigil = reader.ReadItem() as VvVSigil; VicePriest = reader.ReadMobile() as VvVPriest; VirtuePriest = reader.ReadMobile() as VvVPriest; if (Sigil != null) { Sigil.Battle = this; } if (VicePriest != null) { VicePriest.Battle = this; } if (VirtuePriest != null) { VirtuePriest.Battle = this; } int count = reader.ReadInt(); for (int i = 0; i < count; i++) { VvVAltar altar = reader.ReadItem() as VvVAltar; if (altar != null) { altar.Battle = this; Altars.Add(altar); } } if (version == 1) { count = reader.ReadInt(); for (int i = 0; i < count; i++) { BattleTeam team = new BattleTeam(reader); Teams.Add(team); } } else { count = reader.ReadInt(); for (int i = 0; i < count; i++) { Guild g = reader.ReadGuild() as Guild; VvVGuildBattleStats stats = new VvVGuildBattleStats(reader, g); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { VvVTrap t = reader.ReadItem() as VvVTrap; if (t != null) { Traps.Add(t); } } Timer.DelayCall(TimeSpan.FromSeconds(10), () => { if (Region is GuardedRegion) { GuardedRegion.Disable((GuardedRegion)Region); } BeginTimer(); ActivateArrows(); }); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); m_Charges = reader.ReadInt(); DateTime next = reader.ReadDateTime(); if ( next < DateTime.UtcNow ) m_Timer = Timer.DelayCall( TimeSpan.Zero, RechargeTime, new TimerCallback( Recharge ) ); else m_Timer = Timer.DelayCall( next - DateTime.UtcNow, RechargeTime, new TimerCallback( Recharge ) ); }
public override void Deserialize(GenericReader reader) { int version = reader.ReadInt(); switch (version) { case 4: { m_AllyDeclarations = reader.ReadGuildListOrNull(); m_AllyInvitations = reader.ReadGuildListOrNull(); goto case 3; } case 3: { m_TypeLastChange = reader.ReadDateTime(); goto case 2; } case 2: { m_Type = (GuildType)reader.ReadInt(); goto case 1; } case 1: { m_LastFealty = reader.ReadDateTime(); goto case 0; } case 0: { m_Leader = reader.ReadMobile(); m_Name = reader.ReadString(); m_Abbreviation = reader.ReadString(); m_Allies = reader.ReadGuildListOrNull(); m_Enemies = reader.ReadGuildListOrNull(); m_WarDeclarations = reader.ReadGuildListOrNull(); m_WarInvitations = reader.ReadGuildListOrNull(); m_Members = reader.ReadMobileList(); m_Candidates = reader.ReadMobileListOrNull(); m_Accepted = reader.ReadMobileListOrNull(); m_Guildstone = reader.ReadItem(); m_Teleporter = reader.ReadItem(); m_Charter = reader.ReadString(); m_Website = reader.ReadString(); break; } } if (m_Guildstone == null || m_Members.Count == 0) { Disband(); } }
public Voter( GenericReader reader, Mobile candidate ) { m_Candidate = candidate; int version = reader.ReadEncodedInt(); switch ( version ) { case 0: { m_From = reader.ReadMobile(); m_Address = Utility.Intern( reader.ReadIPAddress() ); m_Time = reader.ReadDateTime(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { /*case 2: * { * m_Score = reader.ReadInt(); * m_Wins = reader.ReadInt(); * m_Losses = reader.ReadInt(); * m_GameLevel = reader.ReadInt(); * m_Banned = reader.ReadBool(); * Hallucinating = ( bool )reader.ReadBool(); * goto case 1; * }*/ case 1: { IsMarried = ( bool )reader.ReadBool(); m_AllowGayMarriages = ( bool )reader.ReadBool(); m_AllowCelestialMarriages = ( bool )reader.ReadBool(); m_MarriageTime = reader.ReadDateTime(); m_WifeLoc = reader.ReadPoint3D(); m_HusbandLoc = reader.ReadPoint3D(); m_MaritalStatus = ( MaritalStatus )reader.ReadInt(); m_TypeOfMarriage = ( TypeOfMarriage )reader.ReadInt(); m_FirstName = ( string )reader.ReadString(); m_LastName = ( string )reader.ReadString(); m_MaidenName = ( string )reader.ReadString(); m_RankPoints = reader.ReadInt(); /*GD13_HS_Start_5*/ m_HuntMode = ( HuntMode )reader.ReadInt(); m_HuntRank = ( HuntRank )reader.ReadInt(); m_HuntReward = ( HuntReward )reader.ReadInt(); m_Hunting = ( bool )reader.ReadBool(); m_EasyKills = reader.ReadInt(); m_HardKills = reader.ReadInt(); m_ExtremeKills = reader.ReadInt(); m_GodKills = reader.ReadInt(); /*GD13_HS_End_5*/ goto case 0; } case 0: { m_Class = ( PlayerClasses )reader.ReadInt(); m_Race = ( PlayerRaces )reader.ReadInt(); m_Tribe = ( PlayerTribes )reader.ReadInt(); m_Rank = ( PlayerRanks )reader.ReadInt(); m_RewardsClaimed = reader.ReadInt(); m_Level = reader.ReadInt(); m_SkillPts = reader.ReadInt(); m_Experience = reader.ReadInt(); m_Age = reader.ReadInt(); m_NextLevelUp = reader.ReadInt(); m_Updated = reader.ReadBool(); m_Bioenginer = reader.ReadBool(); NextSmithBulkOrder = reader.ReadTimeSpan(); NextTailorBulkOrder = reader.ReadTimeSpan(); NextFletcherBulkOrder = reader.ReadTimeSpan(); NextCarpenterBulkOrder = reader.ReadTimeSpan(); NextTinkerBulkOrder = reader.ReadTimeSpan(); NextTamingBulkOrder = reader.ReadTimeSpan(); m_BOBFilter = new Engines.BulkOrders.BOBFilter(reader); m_TinkBOBFilter = new Engines.BulkOrders.TinkBOBFilter(reader); m_TamingBOBFilter = new Engines.BulkOrders.TamingBOBFilter(reader); m_Flags = (MyPlayerFlag)reader.ReadInt(); break; } } if (m_BOBFilter == null) { m_BOBFilter = new Engines.BulkOrders.BOBFilter(); } if (m_TinkBOBFilter == null) { m_TinkBOBFilter = new Engines.BulkOrders.TinkBOBFilter(); } if (m_TamingBOBFilter == null) { m_TamingBOBFilter = new Engines.BulkOrders.TamingBOBFilter(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch ( version ) { case 0: { this.m_Title = reader.ReadString(); this.m_Duration = reader.ReadTimeSpan(); this.m_StartTime = reader.ReadDateTime(); this.m_Active = reader.ReadBool(); this.m_Options = new ShardPollOption[reader.ReadInt()]; for (int i = 0; i < this.m_Options.Length; ++i) this.m_Options[i] = new ShardPollOption(reader); if (this.m_Active) m_ActivePollers.Add(this); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: { m_ReplenishesCharges = reader.ReadBool(); if (m_ReplenishesCharges) { m_LastReplenished = reader.ReadDateTime(); } goto case 2; } case 2: { m_Crafter = reader.ReadMobile(); m_Quality = (InstrumentQuality)reader.ReadEncodedInt(); m_Slayer = (SlayerName)reader.ReadEncodedInt(); m_Slayer2 = (SlayerName)reader.ReadEncodedInt(); UsesRemaining = reader.ReadEncodedInt(); m_WellSound = reader.ReadEncodedInt(); m_BadlySound = reader.ReadEncodedInt(); break; } case 1: { m_Crafter = reader.ReadMobile(); m_Quality = (InstrumentQuality)reader.ReadEncodedInt(); m_Slayer = (SlayerName)reader.ReadEncodedInt(); UsesRemaining = reader.ReadEncodedInt(); m_WellSound = reader.ReadEncodedInt(); m_BadlySound = reader.ReadEncodedInt(); break; } case 0: { m_WellSound = reader.ReadInt(); m_BadlySound = reader.ReadInt(); UsesRemaining = Utility.RandomMinMax(InitMinUses, InitMaxUses); break; } } CheckReplenishUses(); }