public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: Credit = reader.ReadULong(); goto case 0; case 0: { Owner = reader.ReadMobile(); Opened = reader.ReadBool(); if (Owner == null) { Delete(); } } break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); m_Formula = reader.ReadULong(); m_RealName = reader.ReadString(); m_Identified = reader.ReadBool(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Leader = reader.ReadMobile(); m_Commander = reader.ReadMobile(); m_Members = reader.ReadMobileList(); m_SiegeWeapons = reader.ReadItemList(); m_Guards = reader.ReadMobileList(); m_GuardPoints = reader.ReadItemList(); m_Gold = reader.ReadULong(); m_Wood = reader.ReadULong(); m_ColorOne = reader.ReadInt(); m_ColorTwo = reader.ReadInt(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); m_Formulas = reader.ReadULong(); if (LootType != LootType.Blessed) { LootType = LootType.Blessed; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 5: { m_Quality = (BookQuality)reader.ReadByte(); goto case 4; } case 4: { m_EngravedText = reader.ReadString(); goto case 3; } case 3: { m_Crafter = reader.ReadMobile(); goto case 2; } case 2: { m_Slayer = (SlayerName)reader.ReadInt(); m_Slayer2 = (SlayerName)reader.ReadInt(); goto case 1; } case 1: { goto case 0; } case 0: { m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); break; } } if (Parent is Mobile) { ((Mobile)Parent).CheckStatTimers(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version >= 0) { m_Quality = (BookQuality)reader.ReadInt(); m_SlayerGroup = (SlayerGroupType)reader.ReadInt(); m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version >= 4) { activeListA = reader.ReadBool(); DeserializeList(reader, true); DeserializeList(reader, false); } else { activeListA = false; RestoreDefaultList(); activeListA = true; DeserializeList(reader, true); } GoldLedger = reader.ReadBool(); TokenLedger = reader.ReadBool(); if (version >= 3) { try { lootSettings = (LootSettingsEnum)reader.ReadInt(); } catch { lootSettings = LootSettingsEnum.From_List; } } else { lootSettings = reader.ReadBool()?LootSettingsEnum.Currency_Only:LootSettingsEnum.From_List; } GoldAmount = reader.ReadULong(); TokensAmount = reader.ReadULong(); Owner = reader.ReadInt(); if (version > 1) { DeleteAllCorpses = reader.ReadBool(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { // version 0 reads second integer, version 1 no longer // needs it. No going to case 0 or serialization error // will occur!! case 2: m_Charges = reader.ReadInt(); goto case 1; case 1: m_Content = reader.ReadULong(); break; case 0: m_Content = reader.ReadULong(); int m_Count = reader.ReadInt(); break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Crafter = reader.ReadMobile(); m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); if (Parent is Mobile) { ((Mobile)Parent).CheckStatTimers(); } LootType = LootType.Regular; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); var v = reader.GetVersion(); if (v > 0) { var flags = reader.ReadULong(); AllowNonExceptional = GetFlag(flags, 0x1); } else { AllowNonExceptional = true; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); LootType = LootType.Blessed; int version = reader.ReadInt(); switch (version) { case 0: { m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); break; } } }
private static void DeserializeCams(GenericReader reader) { int version = reader.GetVersion(); switch (version) { case 3: // Skip to case 1 goto case 1; case 2: { reader.ReadBlockDictionary( () => { var cam = reader.ReadMobile <PlayerMobile>(); var viewed = reader.ReadMobile <PlayerMobile>(); return(new KeyValuePair <PlayerMobile, PlayerMobile>(cam, viewed)); }, CurrentlyViewing); } goto case 1; case 1: { reader.ReadBlockDictionary( () => { var player = reader.ReadMobile <PlayerMobile>(); int count = reader.ReadInt(); return(new KeyValuePair <PlayerMobile, int>(player, count)); }, PlayerMurderers); reader.ReadBlockDictionary( () => { BaseCreature mob = reader.ReadMobile <BaseCreature>(); int count = reader.ReadInt(); return(new KeyValuePair <BaseCreature, int>(mob, count)); }, MonsterMurderers); CurrentDeathCount = reader.ReadULong(); CurrentPlayerMurders = reader.ReadULong(); CurrentMonsterMurders = reader.ReadULong(); } goto case 0; case 0: { if (version < 1) { CurrentDeathCount = Convert.ToUInt64(reader.ReadInt()); CurrentPlayerMurders = Convert.ToUInt64(reader.ReadInt()); CurrentMonsterMurders = Convert.ToUInt64(reader.ReadInt()); } TopPlayerMurderer = reader.ReadMobile <PlayerMobile>(); TopMonsterMurderer = reader.ReadMobile <BaseCreature>(); if (version < 1) { reader.ReadBlockDictionary( () => { var player = reader.ReadMobile <PlayerMobile>(); DateTime date = reader.ReadDateTime(); return(new KeyValuePair <PlayerMobile, DateTime>(player, date)); }, DeathCams); reader.ReadBlockDictionary( () => { var player = reader.ReadMobile <PlayerMobile>(); DateTime date = reader.ReadDateTime(); return(new KeyValuePair <PlayerMobile, DateTime>(player, date)); }, DeathCamsEvents); } } break; } }
public void Deserialize(GenericReader r) { int ver = r.ReadInt(); switch (ver) { case 2: { int length = r.ReadInt(); if (length > 0) { List <Account> accs = new List <Account>(length); for (int i = 0; i < accs.Count; i++) { string accName = r.ReadString(); Account acc = Accounting.Accounts.GetAccount(accName) as Account; if (acc != null) { accs.Add(acc); } } if (accs.Count > 0) { Accounts = accs.ToArray(); } } } goto case 1; case 1: if (r.ReadByte() != 0) { SelectedCharacter = r.ReadMobile(); } goto case 0; case 0: if (ver >= 2) { DiscordUserId = r.ReadULong(); break; } if (r.ReadByte() != 0) { IAccount acc = Accounting.Accounts.GetAccount(r.ReadString()); if (acc != null) { AddAccount((Account)acc); } } DiscordUserId = r.ReadULong(); 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 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 5: { m_Quality = (BookQuality) reader.ReadByte(); goto case 4; } case 4: { m_EngravedText = reader.ReadString(); goto case 3; } case 3: { m_Crafter = reader.ReadMobile(); goto case 2; } case 2: { m_Slayer = (SlayerName)reader.ReadInt(); m_Slayer2 = (SlayerName)reader.ReadInt(); goto case 1; } case 1: { goto case 0; } case 0: { m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); break; } } if ( Parent is Mobile ) ((Mobile)Parent).CheckStatTimers(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Active = reader.ReadBool(); m_Theme = (ThemeType)reader.ReadInt(); m_TotalSpins = reader.ReadULong(); m_TotalCollected = reader.ReadULong(); m_TotalWon = reader.ReadULong(); m_ErrorCode = reader.ReadInt(); m_OrigHue = reader.ReadInt(); m_Throttle = reader.ReadBool(); m_ThrottleSeconds = reader.ReadDouble(); m_CardClubOnly = reader.ReadBool(); m_MembershipCard = reader.ReadBool(); m_LastWonBy = reader.ReadMobile(); m_LastWonByDate = reader.ReadDateTime(); m_LastWonAmount = reader.ReadInt(); m_SecurityCamMobile = reader.ReadMobile(); m_SecurityChatter = (VerboseType)reader.ReadInt(); m_TotalPlayers = reader.ReadInt(); InvalidateProperties(); if (m_TotalPlayers > 0) { for (int i = 0; i < m_TotalPlayers; i++) { PlayerInfo player = new PlayerInfo(); player.mobile = reader.ReadMobile(); player.LastPlayed = reader.ReadDateTime(); player.OnCredit = reader.ReadInt(); player.Cost = reader.ReadInt(); PlayerList.Add(player); } } for (int i = 0; i < m_HitStats.Length; i++) m_HitStats[i] = reader.ReadULong(); if (m_OrigHue != -1 && m_Active) { Hue = m_OrigHue; m_OrigHue = -1; } SetupTheme(m_Theme); ActivateIdleTimer(TimeSpan.FromMinutes(5)); m_GameSpeed = Utility.RandomList(5, 6, 7, 8, 9, 10, 11, 12); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: drawing = reader.ReadUInt(); for (uint i = 0; i < jackpot.Length; i++) { jackpot[i] = reader.ReadULong(); } for (uint i = 0; i < awards.Length; i++) { awards[i] = reader.ReadULong(); } award = reader.ReadULong(); given = reader.ReadULong(); destroyed = reader.ReadULong(); mode = (LotteryBasketMode)reader.ReadInt(); if (reader.ReadBool()) { outcome = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) { outcome[p] = reader.ReadUInt(); } } uint count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) { data[p] = reader.ReadUInt(); } RegisteredTicket rt = new RegisteredTicket(id, data); rt.Class = reader.ReadInt(); tickets[id] = rt; } count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) { data[p] = reader.ReadUInt(); } incoming[id] = new RegisteredTicket(id, data); } board = reader.ReadItem(); itemPrize = reader.ReadBool(); break; case 1: drawing = reader.ReadUInt(); for (uint i = 0; i < drawingCount.Length; i++) { drawingCount[i] = reader.ReadUInt(); } for (uint i = 0; i < jackpot.Length; i++) { jackpot[i] = reader.ReadULong(); } for (uint i = 0; i < awards.Length; i++) { awards[i] = reader.ReadULong(); } for (uint i = 0; i < winners.Length; i++) { winners[i] = reader.ReadInt(); } oldParticipants = reader.ReadUInt(); award = reader.ReadULong(); given = reader.ReadULong(); destroyed = reader.ReadULong(); mode = (LotteryBasketMode)reader.ReadInt(); if (reader.ReadBool()) { outcome = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) { outcome[p] = reader.ReadUInt(); } } count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) { data[p] = reader.ReadUInt(); } RegisteredTicket rt = new RegisteredTicket(id, data); rt.Class = reader.ReadInt(); tickets[id] = rt; } count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) { data[p] = reader.ReadUInt(); } incoming[id] = new RegisteredTicket(id, data); } board = reader.ReadItem(); itemPrize = reader.ReadBool(); break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); if (!(this is TomeOfEnlightenment || this is TomeOfLostKnowledge)) { LootType = LootType.Blessed; } int version = reader.ReadInt(); switch (version) { case 3: { m_Crafter_Name = reader.ReadString(); m_Crafter = reader.ReadMobile(); m_Quality = (SpellbookQuality)reader.ReadEncodedInt(); goto case 2; } case 2: { m_Slayer = (SlayerName)reader.ReadEncodedInt(); goto case 1; } case 1: { m_AosAttributes = new AosAttributes(this, reader); m_AosSkillBonuses = new AosSkillBonuses(this, reader); if (this is TomeOfEnlightenment) { Attributes.BonusInt = 5; Attributes.SpellDamage = 10; Attributes.CastSpeed = 1; } else if (this is TomeOfLostKnowledge) { SkillBonuses.SetValues(0, SkillName.Magery, 15.0); Attributes.BonusInt = 8; Attributes.SpellDamage = 15; Attributes.LowerManaCost = 15; } else { FixAttributes(); } goto case 0; } case 0: { m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); break; } } if (m_AosAttributes == null) { m_AosAttributes = new AosAttributes(this); } if (m_AosSkillBonuses == null) { m_AosSkillBonuses = new AosSkillBonuses(this); } 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) { base.Deserialize(reader); int version = reader.ReadInt(); switch ( version ) { case 0: drawing = reader.ReadUInt(); for (uint i = 0; i < jackpot.Length; i++) jackpot[i] = reader.ReadULong(); for (uint i = 0; i < awards.Length; i++) awards[i] = reader.ReadULong(); award = reader.ReadULong(); given = reader.ReadULong(); destroyed = reader.ReadULong(); mode = (LotteryBasketMode)reader.ReadInt(); if (reader.ReadBool()) { outcome = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) outcome[p] = reader.ReadUInt(); } uint count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) data[p] = reader.ReadUInt(); RegisteredTicket rt = new RegisteredTicket(id, data); rt.Class = reader.ReadInt(); tickets[id] = rt; } count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) data[p] = reader.ReadUInt(); incoming[id] = new RegisteredTicket(id, data); } board = reader.ReadItem(); itemPrize = reader.ReadBool(); break; case 1: drawing = reader.ReadUInt(); for (uint i = 0; i < drawingCount.Length; i++) drawingCount[i] = reader.ReadUInt(); for (uint i = 0; i < jackpot.Length; i++) jackpot[i] = reader.ReadULong(); for (uint i = 0; i < awards.Length; i++) awards[i] = reader.ReadULong(); for (uint i = 0; i < winners.Length; i++) winners[i] = reader.ReadInt(); oldParticipants = reader.ReadUInt(); award = reader.ReadULong(); given = reader.ReadULong(); destroyed = reader.ReadULong(); mode = (LotteryBasketMode)reader.ReadInt(); if (reader.ReadBool()) { outcome = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) outcome[p] = reader.ReadUInt(); } count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) data[p] = reader.ReadUInt(); RegisteredTicket rt = new RegisteredTicket(id, data); rt.Class = reader.ReadInt(); tickets[id] = rt; } count = reader.ReadUInt(); for (uint i = 0; i < count; i++) { int id = reader.ReadInt(); uint[] data = new uint[LotteryConstants.Picks]; for (uint p = 0; p < LotteryConstants.Picks; p++) data[p] = reader.ReadUInt(); incoming[id] = new RegisteredTicket(id, data); } board = reader.ReadItem(); itemPrize = reader.ReadBool(); break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); if (!(this is TomeOfEnlightenment || this is TomeOfLostKnowledge || this is FactionTomeOfLostKnowledge)) { LootType = LootType.Blessed; } int version = reader.ReadInt(); switch (version) { case 7: { m_Exceptional = reader.ReadBool(); m_Crafter = reader.ReadMobile(); goto case 6; } case 6: case 5: { m_Slayer2 = (SlayerName)reader.ReadEncodedInt(); goto case 4; } case 4: { m_EngraveString = reader.ReadString(); goto case 3; } case 3: case 2: { m_Slayer = (SlayerName)reader.ReadEncodedInt(); goto case 1; } case 1: { m_MagicalAttributes = new MagicalAttributes(this, reader); m_SkillBonuses = new SkillBonuses(this, reader); if (this is ScrappersCompendium) { Attributes.SpellDamage = 25; Attributes.LowerManaCost = 10; } else if (this is ClaininsSpellbook) { Attributes.LowerRegCost = 15; Attributes.RegenMana = 3; } else if (this is TomeOfEnlightenment) { Attributes.BonusInt = 5; Attributes.SpellDamage = 10; Attributes.CastSpeed = 1; } else if (this is TomeOfLostKnowledge) { SkillBonuses.SetValues(0, SkillName.Magery, 15.0); Attributes.BonusInt = 8; Attributes.SpellDamage = 15; Attributes.LowerManaCost = 15; } else if (this is FactionTomeOfLostKnowledge) { SkillBonuses.SetValues(0, SkillName.Magery, 15.0); Attributes.BonusInt = 8; Attributes.SpellDamage = 15; Attributes.LowerManaCost = 15; Attributes.RegenMana = 3; } else if (this is ConjurersGrimoire) { SkillBonuses.SetValues(0, SkillName.Magery, 15.0); Attributes.BonusInt = 8; Attributes.SpellDamage = 15; Attributes.LowerManaCost = 10; } else if (this is FallenMysticsSpellbook) { Attributes.SpellDamage = 10; } else { FixAttributes(); } goto case 0; } case 0: { m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); break; } } if (m_MagicalAttributes == null) { m_MagicalAttributes = new MagicalAttributes(this); } if (m_SkillBonuses == null) { m_SkillBonuses = new SkillBonuses(this); } if (Parent is Mobile) { m_SkillBonuses.AddTo((Mobile)Parent); } int strBonus = m_MagicalAttributes.BonusStr; int dexBonus = m_MagicalAttributes.BonusDex; int intBonus = m_MagicalAttributes.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(); } }
private static void DeserializeCams(GenericReader reader) { int version = reader.GetVersion(); switch (version) { case 3: // Skip to case 1 goto case 1; case 2: { reader.ReadBlockDictionary( () => { var cam = reader.ReadMobile<PlayerMobile>(); var viewed = reader.ReadMobile<PlayerMobile>(); return new KeyValuePair<PlayerMobile, PlayerMobile>(cam, viewed); }, CurrentlyViewing); } goto case 1; case 1: { reader.ReadBlockDictionary( () => { var player = reader.ReadMobile<PlayerMobile>(); int count = reader.ReadInt(); return new KeyValuePair<PlayerMobile, int>(player, count); }, PlayerMurderers); reader.ReadBlockDictionary( () => { BaseCreature mob = reader.ReadMobile<BaseCreature>(); int count = reader.ReadInt(); return new KeyValuePair<BaseCreature, int>(mob, count); }, MonsterMurderers); CurrentDeathCount = reader.ReadULong(); CurrentPlayerMurders = reader.ReadULong(); CurrentMonsterMurders = reader.ReadULong(); } goto case 0; case 0: { if (version < 1) { CurrentDeathCount = Convert.ToUInt64(reader.ReadInt()); CurrentPlayerMurders = Convert.ToUInt64(reader.ReadInt()); CurrentMonsterMurders = Convert.ToUInt64(reader.ReadInt()); } TopPlayerMurderer = reader.ReadMobile<PlayerMobile>(); TopMonsterMurderer = reader.ReadMobile<BaseCreature>(); if (version < 1) { reader.ReadBlockDictionary( () => { var player = reader.ReadMobile<PlayerMobile>(); DateTime date = reader.ReadDateTime(); return new KeyValuePair<PlayerMobile, DateTime>(player, date); }, DeathCams); reader.ReadBlockDictionary( () => { var player = reader.ReadMobile<PlayerMobile>(); DateTime date = reader.ReadDateTime(); return new KeyValuePair<PlayerMobile, DateTime>(player, date); }, DeathCamsEvents); } } break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 5: { m_Quality = (BookQuality)reader.ReadByte(); goto case 4; } case 4: { m_EngravedText = reader.ReadString(); goto case 3; } case 3: { m_Crafter = reader.ReadMobile(); goto case 2; } case 2: { m_Slayer = (SlayerName)reader.ReadInt(); m_Slayer2 = (SlayerName)reader.ReadInt(); goto case 1; } case 1: { m_AosAttributes = new AosAttributes(this, reader); m_AosSkillBonuses = new AosSkillBonuses(this, reader); goto case 0; } case 0: { m_Content = reader.ReadULong(); m_Count = reader.ReadInt(); break; } } if (m_AosAttributes == null) { m_AosAttributes = new AosAttributes(this); } if (m_AosSkillBonuses == null) { m_AosSkillBonuses = new AosSkillBonuses(this); } 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) { base.Deserialize(reader); int version = reader.ReadInt(); m_Active = reader.ReadBool(); m_Casino = (Casino)reader.ReadInt(); m_CasinoName = reader.ReadString(); m_TotalPlays = reader.ReadULong(); m_TotalCollected = reader.ReadULong(); m_TotalWon = reader.ReadULong(); m_ErrorCode = reader.ReadInt(); m_OrigHue = reader.ReadInt(); m_InUseBy = reader.ReadMobile(); m_OnCredit = reader.ReadInt(); m_Escrow = reader.ReadInt(); m_SecurityCamMobile = reader.ReadMobile(); m_SecurityChatter = (VerboseType)reader.ReadInt(); m_Bet = reader.ReadInt(); m_TestMode = reader.ReadBool(); m_DealerDelay = reader.ReadBool(); m_DoubleAfterSplit = reader.ReadBool(); m_DealerHitsSoft17 = reader.ReadBool(); m_DealerTakesPush = reader.ReadBool(); m_Resplits = reader.ReadBool(); m_SplitAces = (SplitAces)reader.ReadInt(); m_BJSplitAces21 = reader.ReadBool(); m_BJSplitAcesPaysEven = reader.ReadBool(); m_DoubleDown = (DoubleDown)reader.ReadInt(); m_PlayerCardsFaceUp = reader.ReadBool(); m_DealerCardsFaceUp = reader.ReadBool(); m_NumberOfDecks = reader.ReadShort(); m_ContinuousShuffle = reader.ReadBool(); m_MinBet = (BetValues)reader.ReadInt(); m_MaxBet = (BetValues)reader.ReadInt(); m_BlackJackPays = (BlackJackPays)reader.ReadInt(); m_CardSounds = reader.ReadBool(); carddeck = new CardDeck(m_NumberOfDecks,0); m_BJInfo.HandInfo = new HandStruct[5]; for (int h = 0; h < 5; h++) { m_BJInfo.HandInfo[h].bet = 0; m_BJInfo.HandInfo[h].totalcards = 0; m_BJInfo.HandInfo[h].card = new short[12]; for (int c = 0; c < 12; c++) m_BJInfo.HandInfo[h].card[c] = -1; m_BJInfo.HandInfo[h].bestscore = 0; m_BJInfo.HandInfo[h].altscore = 0; } }
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); }