public void Deserialize( GenericReader reader, int version ) { switch( version ) { case 2: { m_Description = reader.ReadString(); goto case 1; } case 1: { m_BlessBond = reader.ReadBool(); m_BBPrice = reader.ReadInt(); goto case 0; } case 0: { m_Item = reader.ReadString(); m_Name = reader.ReadString(); m_Price = reader.ReadInt(); m_Amount = reader.ReadInt(); break; } } }
public VendorInventory(BaseHouse house, GenericReader reader) { this.m_House = house; int version = reader.ReadEncodedInt(); this.m_Owner = reader.ReadMobile(); this.m_VendorName = reader.ReadString(); this.m_ShopName = reader.ReadString(); this.m_Items = reader.ReadStrongItemList(); this.m_Gold = reader.ReadInt(); this.m_ExpireTime = reader.ReadDeltaTime(); if (this.m_Items.Count == 0 && this.m_Gold == 0) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(Delete)); } else { TimeSpan delay = this.m_ExpireTime - DateTime.Now; this.m_ExpireTimer = new ExpireTimer(this, delay > TimeSpan.Zero ? delay : TimeSpan.Zero); this.m_ExpireTimer.Start(); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_House = reader.ReadItem() as BaseHouse; goto case 0; } case 0: { m_Description = reader.ReadString(); m_Marked = reader.ReadBool(); m_Target = reader.ReadPoint3D(); m_TargetMap = reader.ReadMap(); CalculateHue(); break; } } }
public LocationStruct(GenericReader reader) { int version = reader.ReadInt(); Map = reader.ReadMap(); Location = reader.ReadPoint3D(); Name = reader.ReadString(); }
public BOBSmallEntry( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { case 0: { string type = reader.ReadString(); if ( type != null ) m_ItemType = ScriptCompiler.FindTypeByFullName( type ); m_RequireExceptional = reader.ReadBool(); m_DeedType = (BODType)reader.ReadEncodedInt(); m_Material = (BulkMaterialType)reader.ReadEncodedInt(); m_AmountCur = reader.ReadEncodedInt(); m_AmountMax = reader.ReadEncodedInt(); m_Number = reader.ReadEncodedInt(); m_Graphic = reader.ReadEncodedInt(); m_Price = reader.ReadEncodedInt(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch ( version ) { case 1: { reader.ReadInt(); reader.ReadInt(); reader.ReadInt(); //this.m_TextColor = reader.ReadInt(); //this.m_TitleColor = reader.ReadInt(); //this.m_size = reader.ReadInt(); } break; case 0: { reader.ReadString(); reader.ReadString(); reader.ReadInt(); reader.ReadInt(); reader.ReadInt(); //this.NoteString = reader.ReadString(); //this.TitleString = reader.ReadString(); //this.m_TextColor = reader.ReadInt(); //this.m_TitleColor = reader.ReadInt(); //this.m_size = reader.ReadInt(); } break; } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_LabelNumber = reader.ReadInt(); m_From = reader.ReadString(); m_To = reader.ReadString(); Utility.Intern(ref m_From); Utility.Intern(ref m_To); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch( version ) { case 3: { m_BeforeChangeover = reader.ReadBool(); goto case 2; } case 2: { m_GuildName = reader.ReadString(); m_GuildAbbrev = reader.ReadString(); goto case 1; } case 1: { m_Guild = reader.ReadGuild() as Guild; goto case 0; } case 0: { break; } } if( Guild.NewGuildSystem && ItemID == 0xED4 ) ItemID = 0xED6; if( m_Guild != null ) { m_GuildName = m_Guild.Name; m_GuildAbbrev = m_Guild.Abbreviation; } if( version <= 2 ) m_BeforeChangeover = true; if( Guild.NewGuildSystem && m_BeforeChangeover ) Timer.DelayCall( TimeSpan.Zero, new TimerCallback( AddToHouse ) ); if( !Guild.NewGuildSystem && m_Guild == null ) this.Delete(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: this.m_Condition = reader.ReadString(); goto case 0; case 0: this.m_Action = reader.ReadString(); break; } }
public void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); switch ( version ) { case 1: { m_Flag = reader.ReadItem() as IGameFlag; goto case 0; } case 0: { m_Members = reader.ReadMobileList(); m_Home = reader.ReadPoint3D(); m_FlagHome = reader.ReadPoint3D(); m_Map = reader.ReadMap(); m_Points = reader.ReadInt(); m_Name = reader.ReadString(); m_Hue = reader.ReadInt(); m_UId = reader.ReadInt(); m_Game = reader.ReadItem() as CTFGame; break; } } }
public static Type ReadType(Type[] referenceTable, GenericReader reader) { int encoding = reader.ReadEncodedInt(); switch ( encoding ) { default: case 0x00: // null { return null; } case 0x01: // indexed { int index = reader.ReadEncodedInt(); if (index >= 0 && index < referenceTable.Length) return referenceTable[index]; return null; } case 0x02: // by name { string fullName = reader.ReadString(); if (fullName == null) return null; return ScriptCompiler.FindTypeByFullName(fullName, false); } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch ( version ) { case 2: // Reset from Resource System this.m_Resource = this.DefaultResource; reader.ReadString(); break; case 1: { this.m_Resource = (CraftResource)reader.ReadInt(); break; } case 0: { OreInfo info; switch ( reader.ReadInt() ) { case 0: info = OreInfo.Iron; break; case 1: info = OreInfo.DullCopper; break; case 2: info = OreInfo.ShadowIron; break; case 3: info = OreInfo.Copper; break; case 4: info = OreInfo.Bronze; break; case 5: info = OreInfo.Gold; break; case 6: info = OreInfo.Agapite; break; case 7: info = OreInfo.Verite; break; case 8: info = OreInfo.Valorite; break; default: info = null; break; } this.m_Resource = CraftResources.GetFromOreInfo(info); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: case 0: { m_MultiID = reader.ReadInt(); m_Offset = reader.ReadPoint3D(); m_ShipName = reader.ReadString(); if ( version == 0 ) reader.ReadUInt(); break; } } if ( LootType == LootType.Newbied ) LootType = LootType.Blessed; if ( Weight == 0.0 ) Weight = 1.0; }
public void Deserialize(GenericReader reader) { int version = reader.ReadInt(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { ExchangeTypeInfo etinfo = null; string fullname = reader.ReadString(); Type type = ScriptCompiler.FindTypeByFullName(fullname); foreach (ExchangeTypeInfo eti in InfoList) { if (eti.Type == type) { etinfo = eti; break; } } if (etinfo == null) etinfo = new ExchangeTypeInfo(typeof(Gold), "readerror"); etinfo.Deserialize(reader); etinfo.Category = this; } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadEncodedInt(); m_ForumAccount = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); reader.ReadInt(); EventName = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); this.m_Name = Utility.Intern(reader.ReadString()); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_BottleID = reader.ReadInt(); m_ToxinName = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); this.m_Subtext = reader.ReadString(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_BreweryName = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); // version 0 this.m_DataValue = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_MobileLock = reader.ReadMobile(); m_BeltName = reader.ReadString(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); com = reader.ReadString(); if ( Hue == 0 ) Hue = 1167; }
public BookPageInfo(GenericReader reader) { int length = reader.ReadInt(); this.m_Lines = new string[length]; for (int i = 0; i < this.m_Lines.Length; ++i) this.m_Lines[i] = Utility.Intern(reader.ReadString()); }
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 TransactionInfo(GenericReader reader) { int version = reader.ReadInt(); Price = reader.ReadDouble(); Quantity = reader.ReadInt(); Name = reader.ReadString(); Buyer = reader.ReadBool(); Date = reader.ReadDateTime(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); /*int version = */ reader.ReadInt(); m_Type = (ContractType) reader.ReadInt(); m_CrafterName = (string) reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.GetVersion(); _Owner = reader.ReadString(); _Contribution = reader.ReadInt(); }
public KeyInfo( GenericReader reader ) { int version = reader.ReadInt(); m_KeyVal = reader.ReadUInt(); m_Description = reader.ReadString(); m_MaxRange = reader.ReadInt(); m_Link = reader.ReadItem(); m_Type = (KeyType)reader.ReadInt(); }
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(); switch (version) { case 2: { m_ChanceToSpawn = reader.ReadDouble(); goto case 1; } break; case 1: { m_RandomItem = reader.ReadBool(); goto case 0; } break; case 0: { m_Container = reader.ReadItem() as Container; m_MinDelay = reader.ReadTimeSpan(); m_MaxDelay = reader.ReadTimeSpan(); m_Count = reader.ReadInt(); m_Running = reader.ReadBool(); if (m_Running) { TimeSpan delay = reader.ReadTimeSpan(); DoTimer(delay); } int size = reader.ReadInt(); m_ItemsName = new ArrayList(size); for (int i = 0; i < size; ++i) { string typeName = reader.ReadString(); m_ItemsName.Add(typeName); if (ChestItemSpawnerType.GetType(typeName) == null && ChestItemSpawnerType.GetLootPack(typeName) == null) { if (m_WarnTimer == null) { m_WarnTimer = new WarnTimer(); } m_WarnTimer.Add(Location, Map, typeName); } } int count = reader.ReadInt(); m_Items = new ArrayList(count); for (int i = 0; i < count; ++i) { IEntity e = World.FindEntity(reader.ReadInt()); if (e != null) { m_Items.Add(e); } } } break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 6: { m_SpawnRange = reader.ReadInt(); goto case 5; } case 5: case 4: { m_WalkingRange = reader.ReadInt(); goto case 3; } case 3: case 2: { m_WayPoint = reader.ReadItem() as WayPoint; goto case 1; } case 1: { m_Group = reader.ReadBool(); goto case 0; } case 0: { m_MinDelay = reader.ReadTimeSpan(); m_MaxDelay = reader.ReadTimeSpan(); m_MaxCount = reader.ReadInt(); m_Team = reader.ReadInt(); m_HomeRange = reader.ReadInt(); m_Running = reader.ReadBool(); TimeSpan ts = TimeSpan.Zero; if (m_Running) { ts = reader.ReadDeltaTime() - DateTime.UtcNow; } int size = reader.ReadInt(); m_SpawnObjects = new List <SpawnObject>(size); for (int i = 0; i < size; ++i) { if (version > 4) { SpawnObject so = new SpawnObject(reader); if (AddSpawnObject(so)) { string typeName = ParseType(so.SpawnName); if (ScriptCompiler.FindTypeByName(typeName) == null) { if (m_WarnTimer == null) { m_WarnTimer = new WarnTimer(); } m_WarnTimer.Add(Location, Map, typeName); } } } else { string creatureString = reader.ReadString(); AddSpawnObject(new SpawnObject(creatureString)); string typeName = ParseType(creatureString); if (ScriptCompiler.FindTypeByName(typeName) == null) { if (m_WarnTimer == null) { m_WarnTimer = new WarnTimer(); } m_WarnTimer.Add(Location, Map, typeName); } } } if (version < 5) { int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { ISpawnable e = World.FindEntity(reader.ReadInt()) as ISpawnable; if (e != null) { e.Delete(); // lets make this easy } } } if (m_Running) { DoTimer(ts); } break; } } if (version < 3 && Weight == 0) { Weight = -1; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 5: { m_BeginGame = reader.ReadBool(); } goto case 4; case 4: { int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { PlayerMobile player = reader.ReadMobile() as PlayerMobile; EquipmentStorage storage = reader.ReadItem() as EquipmentStorage; m_PlayerSupplies.Add(player, storage); } goto case 3; } case 3: { m_UseGump = reader.ReadBool(); m_GameName = reader.ReadString(); m_EventType = (EventType)reader.ReadInt(); int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { m_PlayerScores.Add(reader.ReadMobile(), reader.ReadInt()); } goto case 2; } case 2: { Open = reader.ReadBool(); m_GiveSupplies = reader.ReadBool(); m_Supplier = reader.ReadItem() as EventSupplier; goto case 1; } case 1: { m_Players = reader.ReadStrongMobileList(); m_GameMaster = reader.ReadMobile(); m_MsgStaff = reader.ReadBool(); m_Running = reader.ReadBool(); m_StartTime = reader.ReadDateTime(); m_Length = reader.ReadTimeSpan(); m_MaxScore = reader.ReadInt(); m_Lobby = reader.ReadPoint3D(); m_LobbyMap = reader.ReadMap(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 4: { _VvVItem = reader.ReadBool(); _Owner = reader.ReadMobile(); _OwnerName = reader.ReadString(); goto case 3; } case 3: case 2: IsArrowAmmo = reader.ReadBool(); goto case 1; case 1: { if (version == 1) { IsArrowAmmo = (Ammo == null || Ammo is Arrow); } m_AosSkillBonuses = new AosSkillBonuses(this, reader); m_Resistances = new AosElementAttributes(this, reader); goto case 0; } case 0: { if (version == 0) { m_AosSkillBonuses = new AosSkillBonuses(this); m_Resistances = new AosElementAttributes(this); } SaveFlag flags = (SaveFlag)reader.ReadEncodedInt(); if (GetSaveFlag(flags, SaveFlag.Attributes)) { m_Attributes = new AosAttributes(this, reader); } else { m_Attributes = new AosAttributes(this); } if (version < 3 && GetSaveFlag(flags, SaveFlag.LowerAmmoCost)) { m_Attributes.LowerAmmoCost = reader.ReadInt(); } if (GetSaveFlag(flags, SaveFlag.WeightReduction)) { m_WeightReduction = reader.ReadInt(); } if (GetSaveFlag(flags, SaveFlag.DamageIncrease)) { m_DamageIncrease = reader.ReadInt(); } if (GetSaveFlag(flags, SaveFlag.Crafter)) { m_Crafter = reader.ReadMobile(); } if (GetSaveFlag(flags, SaveFlag.Quality)) { m_Quality = (ItemQuality)reader.ReadInt(); } if (GetSaveFlag(flags, SaveFlag.Capacity)) { m_Capacity = reader.ReadInt(); } #region Mondain's Legacy Sets if (GetSaveFlag(flags, SaveFlag.SetPhysical)) { m_SetPhysicalBonus = reader.ReadEncodedInt(); } if (GetSaveFlag(flags, SaveFlag.SetFire)) { m_SetFireBonus = reader.ReadEncodedInt(); } if (GetSaveFlag(flags, SaveFlag.SetCold)) { m_SetColdBonus = reader.ReadEncodedInt(); } if (GetSaveFlag(flags, SaveFlag.SetPoison)) { m_SetPoisonBonus = reader.ReadEncodedInt(); } if (GetSaveFlag(flags, SaveFlag.SetEnergy)) { m_SetEnergyBonus = reader.ReadEncodedInt(); } if (GetSaveFlag(flags, SaveFlag.SetAttributes)) { m_SetAttributes = new AosAttributes(this, reader); } else { m_SetAttributes = new AosAttributes(this); } if (GetSaveFlag(flags, SaveFlag.SetSkillAttributes)) { m_SetSkillBonuses = new AosSkillBonuses(this, reader); } else { m_SetSkillBonuses = new AosSkillBonuses(this); } if (GetSaveFlag(flags, SaveFlag.SetHue)) { m_SetHue = reader.ReadInt(); } if (GetSaveFlag(flags, SaveFlag.LastEquipped)) { m_LastEquipped = reader.ReadBool(); } if (GetSaveFlag(flags, SaveFlag.SetEquipped)) { m_SetEquipped = reader.ReadBool(); } #endregion break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 11: { m_SetPhysicalBonus = reader.ReadInt(); m_SetFireBonus = reader.ReadInt(); m_SetColdBonus = reader.ReadInt(); m_SetPoisonBonus = reader.ReadInt(); m_SetEnergyBonus = reader.ReadInt(); goto case 10; } case 10: { m_PlayerConstructed = reader.ReadBool(); goto case 9; } case 9: { m_TalismanProtection = new TalismanAttribute(reader); goto case 8; } case 8: { _VvVItem = reader.ReadBool(); _Owner = reader.ReadMobile(); _OwnerName = reader.ReadString(); goto case 7; } case 7: { m_IsImbued = reader.ReadBool(); goto case 6; } case 6: { m_NegativeAttributes = new NegativeAttributes(this, reader); goto case 5; } case 5: { #region Runic Reforging m_ReforgedPrefix = (ReforgedPrefix)reader.ReadInt(); m_ReforgedSuffix = (ReforgedSuffix)reader.ReadInt(); m_ItemPower = (ItemPower)reader.ReadInt(); m_BlockRepair = reader.ReadBool(); #endregion #region Stygian Abyss m_GorgonLenseCharges = reader.ReadInt(); m_GorgonLenseType = (LenseType)reader.ReadInt(); goto case 4; } case 4: { m_TimesImbued = reader.ReadEncodedInt(); m_SAAbsorptionAttributes = new SAAbsorptionAttributes(this, reader); #endregion m_BlessedBy = reader.ReadMobile(); m_LastEquipped = reader.ReadBool(); m_SetEquipped = reader.ReadBool(); m_SetHue = reader.ReadEncodedInt(); m_SetAttributes = new AosAttributes(this, reader); m_SetSkillBonuses = new AosSkillBonuses(this, reader); m_Crafter = reader.ReadMobile(); m_Quality = (ItemQuality)reader.ReadInt(); goto case 3; } case 3: { m_MaxHitPoints = reader.ReadEncodedInt(); m_HitPoints = reader.ReadEncodedInt(); goto case 2; } case 2: { m_Resource = (CraftResource)reader.ReadEncodedInt(); m_GemType = (GemType)reader.ReadEncodedInt(); goto case 1; } case 1: { m_AosAttributes = new AosAttributes(this, reader); m_AosResistances = new AosElementAttributes(this, reader); m_AosSkillBonuses = new AosSkillBonuses(this, reader); 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(); } break; } case 0: { m_AosAttributes = new AosAttributes(this); m_AosResistances = new AosElementAttributes(this); m_AosSkillBonuses = new AosSkillBonuses(this); break; } } if (m_NegativeAttributes == null) { m_NegativeAttributes = new NegativeAttributes(this); } if (m_TalismanProtection == null) { m_TalismanProtection = new TalismanAttribute(); } #region Mondain's Legacy Sets if (m_SetAttributes == null) { m_SetAttributes = new AosAttributes(this); } if (m_SetSkillBonuses == null) { m_SetSkillBonuses = new AosSkillBonuses(this); } #endregion if (version < 2) { m_Resource = CraftResource.Iron; m_GemType = GemType.None; } }
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 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 override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: // Reset from Resource System m_Resource = DefaultResource; reader.ReadString(); break; case 1: { m_Resource = (CraftResource)reader.ReadInt(); break; } case 0: { OreInfo info; switch (reader.ReadInt()) { case 0: info = OreInfo.Iron; break; case 1: info = OreInfo.DullCopper; break; case 2: info = OreInfo.ShadowIron; break; case 3: info = OreInfo.Copper; break; case 4: info = OreInfo.Bronze; break; case 5: info = OreInfo.Gold; break; case 6: info = OreInfo.Agapite; break; case 7: info = OreInfo.Verite; break; case 8: info = OreInfo.Valorite; break; default: info = null; break; } m_Resource = CraftResources.GetFromOreInfo(info); break; } } }
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 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 12: { if (reader.ReadBool()) { m_RestoreEquip = reader.ReadStrongItemList(); } goto case 11; } case 11: { // Version 11, we move all bools to a CorpseFlag m_Flags = (CorpseFlag)reader.ReadInt(); m_TimeOfDeath = reader.ReadDeltaTime(); int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { Item item = reader.ReadItem(); if (reader.ReadBool()) { SetRestoreInfo(item, reader.ReadPoint3D()); } else if (item != null) { SetRestoreInfo(item, item.Location); } } if (reader.ReadBool()) { BeginDecay(reader.ReadDeltaTime() - DateTime.UtcNow); } m_Looters = reader.ReadStrongMobileList(); m_Killer = reader.ReadMobile(); m_Aggressors = reader.ReadStrongMobileList(); m_Owner = reader.ReadMobile(); m_CorpseName = reader.ReadString(); m_AccessLevel = (AccessLevel)reader.ReadInt(); reader.ReadInt(); // guild reserve m_Kills = reader.ReadInt(); m_EquipItems = reader.ReadStrongItemList(); break; } case 10: { m_TimeOfDeath = reader.ReadDeltaTime(); goto case 9; } case 9: { int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { Item item = reader.ReadItem(); if (reader.ReadBool()) { SetRestoreInfo(item, reader.ReadPoint3D()); } else if (item != null) { SetRestoreInfo(item, item.Location); } } goto case 8; } case 8: { SetFlag(CorpseFlag.VisitedByTaxidermist, reader.ReadBool()); goto case 7; } case 7: { if (reader.ReadBool()) { BeginDecay(reader.ReadDeltaTime() - DateTime.UtcNow); } goto case 6; } case 6: { m_Looters = reader.ReadStrongMobileList(); m_Killer = reader.ReadMobile(); goto case 5; } case 5: { SetFlag(CorpseFlag.Carved, reader.ReadBool()); goto case 4; } case 4: { m_Aggressors = reader.ReadStrongMobileList(); goto case 3; } case 3: { m_Owner = reader.ReadMobile(); goto case 2; } case 2: { SetFlag(CorpseFlag.NoBones, reader.ReadBool()); goto case 1; } case 1: { m_CorpseName = reader.ReadString(); goto case 0; } case 0: { if (version < 10) { m_TimeOfDeath = DateTime.UtcNow; } if (version < 7) { BeginDecay(m_DefaultDecayTime); } if (version < 6) { m_Looters = new List <Mobile>(); } if (version < 4) { m_Aggressors = new List <Mobile>(); } m_AccessLevel = (AccessLevel)reader.ReadInt(); reader.ReadInt(); // guild reserve m_Kills = reader.ReadInt(); SetFlag(CorpseFlag.Criminal, reader.ReadBool()); m_EquipItems = reader.ReadStrongItemList(); break; } } if (m_Owner is PlayerMobile) { if (PlayerCorpses == null) { PlayerCorpses = new Dictionary <Corpse, int>(); } PlayerCorpses[this] = 0; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); ToolbarHelper.Infos = this; int count = reader.ReadInt(); // Version 1.3 int font = 0; bool phantom = true, stealth = false, reverse = false, locked = true; // Version 1.0 string account; List <int> dimensions; List <string> entries; int subcount, skin; List <Point3D> points; for (int i = 0; i < count; i++) { switch (version) { case 130: { font = reader.ReadInt(); phantom = reader.ReadBool(); stealth = reader.ReadBool(); reverse = reader.ReadBool(); locked = reader.ReadBool(); goto case 100; } default: case 100: { account = reader.ReadString(); dimensions = new List <int>(); subcount = reader.ReadInt(); for (int j = 0; j < subcount; j++) { dimensions.Add(reader.ReadInt()); } entries = new List <string>(); subcount = reader.ReadInt(); for (int k = 0; k < subcount; k++) { entries.Add(reader.ReadString()); } skin = reader.ReadInt(); points = new List <Point3D>(); subcount = reader.ReadInt(); for (int l = 0; l < subcount; l++) { points.Add(reader.ReadPoint3D()); } break; } } ToolbarInfo info = new ToolbarInfo(account, dimensions, entries, skin, points, font, new bool[] { phantom, stealth, reverse, locked }); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: m_Credits = reader.ReadInt(); goto case 0; case 0: // version 0 verboseMobFactions = reader.ReadBool(); int count = reader.ReadInt(); int newcount = (int)GroupTypes.End_Unused;; // prepare the new faction status list FactionList = new GroupStatus[newcount]; // initialize the faction status list with the default grouptypes for (int j = 0; j < newcount; j++) { FactionList[j] = new GroupStatus((GroupTypes)j); } // now read in the serialized FactionList entries and cross reference to the current GroupTypes for (int i = 0; i < count; i++) { string gname = reader.ReadString(); int gfac = reader.ReadInt(); // look up the enum by name GroupTypes gtype = GroupTypes.End_Unused; if (!BaseXmlSpawner.TryParse(gname, out gtype)) { gtype = GroupTypes.End_Unused; } // try to find the matching entry in the recently constructed faction status list if (gtype != GroupTypes.End_Unused) { for (int j = 0; j < newcount; j++) { GroupStatus g = FactionList[j]; if (g.GroupType == gtype) { g.FactionLevel = gfac; break; } } } } Refractory = reader.ReadTimeSpan(); TimeSpan remaining = reader.ReadTimeSpan(); m_EndTime = DateTime.Now + remaining; break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: // Reset from Resource System this.m_Resource = this.DefaultResource; reader.ReadString(); break; case 1: { this.m_Resource = (CraftResource)reader.ReadInt(); break; } case 0: { OreInfo info; switch (reader.ReadInt()) { case 0: info = OreInfo.Iron; break; case 1: info = OreInfo.DullCopper; break; case 2: info = OreInfo.ShadowIron; break; case 3: info = OreInfo.Copper; break; case 4: info = OreInfo.Bronze; break; case 5: info = OreInfo.Gold; break; case 6: info = OreInfo.Agapite; break; case 7: info = OreInfo.Verite; break; case 8: info = OreInfo.Valorite; break; //daat99 OWLTR start - custom ores case 9: info = OreInfo.Blaze; break; case 10: info = OreInfo.Ice; break; case 11: info = OreInfo.Toxic; break; case 12: info = OreInfo.Electrum; break; case 13: info = OreInfo.Platinum; break; //daat99 OWLTR end - custom ores default: info = null; break; } this.m_Resource = CraftResources.GetFromOreInfo(info); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 10: { m_TimeOfDeath = reader.ReadDeltaTime(); goto case 9; } case 9: { int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { Item item = reader.ReadItem(); if (reader.ReadBool()) { SetRestoreInfo(item, reader.ReadPoint3D()); } else if (item != null) { SetRestoreInfo(item, item.Location); } } goto case 8; } case 8: { m_VisitedByTaxidermist = reader.ReadBool(); goto case 7; } case 7: { if (reader.ReadBool()) { BeginDecay(reader.ReadDeltaTime() - DateTime.Now); } goto case 6; } case 6: { m_Looters = reader.ReadStrongMobileList(); m_Killer = reader.ReadMobile(); goto case 5; } case 5: { m_Carved = reader.ReadBool(); goto case 4; } case 4: { m_Aggressors = reader.ReadStrongMobileList(); goto case 3; } case 3: { m_Owner = reader.ReadMobile(); goto case 2; } case 2: { m_NoBones = reader.ReadBool(); goto case 1; } case 1: { m_CorpseName = reader.ReadString(); goto case 0; } case 0: { if (version < 10) { m_TimeOfDeath = DateTime.Now; } if (version < 7) { BeginDecay(m_DefaultDecayTime); } if (version < 6) { m_Looters = new List <Mobile>(); } if (version < 4) { m_Aggressors = new List <Mobile>(); } m_AccessLevel = (AccessLevel)reader.ReadInt(); reader.ReadInt(); // guild reserve m_Kills = reader.ReadInt(); m_Criminal = reader.ReadBool(); m_EquipItems = reader.ReadStrongItemList(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 4: { this.m_WalkingRange = reader.ReadInt(); goto case 3; } case 3: case 2: { this.m_WayPoint = reader.ReadItem() as WayPoint; goto case 1; } case 1: { this.m_Group = reader.ReadBool(); goto case 0; } case 0: { this.m_MinDelay = reader.ReadTimeSpan(); this.m_MaxDelay = reader.ReadTimeSpan(); this.m_Count = reader.ReadInt(); this.m_Team = reader.ReadInt(); this.m_HomeRange = reader.ReadInt(); this.m_Running = reader.ReadBool(); TimeSpan ts = TimeSpan.Zero; if (this.m_Running) { ts = reader.ReadDeltaTime() - DateTime.UtcNow; } int size = reader.ReadInt(); this.m_SpawnNames = new List <string>(size); for (int i = 0; i < size; ++i) { string creatureString = reader.ReadString(); this.m_SpawnNames.Add(creatureString); string typeName = ParseType(creatureString); if (ScriptCompiler.FindTypeByName(typeName) == null) { if (m_WarnTimer == null) { m_WarnTimer = new WarnTimer(); } m_WarnTimer.Add(this.Location, this.Map, typeName); } } int count = reader.ReadInt(); this.m_Spawned = new List <ISpawnable>(count); for (int i = 0; i < count; ++i) { ISpawnable e = World.FindEntity(reader.ReadInt()) as ISpawnable; if (e != null) { e.Spawner = this; this.m_Spawned.Add(e); } } if (this.m_Running) { this.DoTimer(ts); } break; } } if (version < 3 && this.Weight == 0) { this.Weight = -1; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: int count = reader.ReadInt(); for (int i = 0; i < count; i++) { CTFBase b = reader.ReadItem() as CTFBase; HomeBases.Add(b); } m_Challenger = reader.ReadMobile(); m_Organizers.Add(m_Challenger); m_GameLocked = reader.ReadBool(); m_GameInProgress = reader.ReadBool(); m_TotalPurse = reader.ReadInt(); m_EntryFee = reader.ReadInt(); m_ArenaSize = reader.ReadInt(); m_TargetScore = reader.ReadInt(); m_MatchLength = reader.ReadTimeSpan(); TimeSpan elapsed = reader.ReadTimeSpan(); if (elapsed > TimeSpan.Zero) { m_MatchStart = DateTime.UtcNow - elapsed; } m_MatchEnd = reader.ReadDateTime(); count = reader.ReadInt(); for (int i = 0; i < count; i++) { ChallengeEntry entry = new ChallengeEntry(); entry.Participant = reader.ReadMobile(); string sname = reader.ReadString(); // look up the enum by name ChallengeStatus status = ChallengeStatus.None; try{ status = (ChallengeStatus)Enum.Parse(typeof(ChallengeStatus), sname); } catch {} entry.Status = status; entry.Accepted = reader.ReadBool(); entry.PageBeingViewed = reader.ReadInt(); entry.Score = reader.ReadInt(); entry.Winner = reader.ReadBool(); entry.Team = reader.ReadInt(); Participants.Add(entry); } break; } if (GameCompleted) { Timer.DelayCall(PostGameDecayTime, new TimerCallback(Delete)); } // start the challenge timer StartChallengeTimer(); SetNameHue(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Creatures = new Dictionary <IEntity, SpawnerEntry>(); if (version < 7) { m_Entries = new List <SpawnerEntry>(); } switch (version) { case 7: { int size = reader.ReadInt(); m_Entries = new List <SpawnerEntry>(size); for (int i = 0; i < size; ++i) { m_Entries.Add(new SpawnerEntry(this, reader)); } goto case 4; //Skip the other crap } case 6: { int size = reader.ReadInt(); bool addentries = m_Entries.Count == 0; for (int i = 0; i < size; ++i) { if (addentries) { m_Entries.Add(new SpawnerEntry(String.Empty, 100, reader.ReadInt())); } else { m_Entries[i].CreaturesMaxCount = reader.ReadInt(); } } goto case 5; } case 5: { int size = reader.ReadInt(); bool addentries = m_Entries.Count == 0; for (int i = 0; i < size; ++i) { if (addentries) { m_Entries.Add(new SpawnerEntry(String.Empty, reader.ReadInt(), 1)); } else { m_Entries[i].CreaturesProbability = reader.ReadInt(); } } goto case 4; } case 4: { m_WalkingRange = reader.ReadInt(); goto case 2; //Skip version 3, already contains version 5 } case 3: { int size = reader.ReadInt(); bool addentries = m_Entries.Count == 0; for (int i = 0; i < size; ++i) { if (addentries) { m_Entries.Add(new SpawnerEntry(String.Empty, reader.ReadInt(), 1)); } else { m_Entries[i].CreaturesProbability = reader.ReadInt(); } } goto case 2; } case 2: { m_WayPoint = reader.ReadItem() as WayPoint; goto case 1; } case 1: { m_Group = reader.ReadBool(); goto case 0; } case 0: { m_MinDelay = reader.ReadTimeSpan(); m_MaxDelay = reader.ReadTimeSpan(); m_Count = reader.ReadInt(); m_Team = reader.ReadInt(); m_HomeRange = reader.ReadInt(); m_Running = reader.ReadBool(); TimeSpan ts = TimeSpan.Zero; if (m_Running) { ts = reader.ReadDeltaTime() - DateTime.Now; } if (version < 7) { int size = reader.ReadInt(); bool addentries = m_Entries.Count == 0; for (int i = 0; i < size; ++i) { string typeName = reader.ReadString(); if (addentries) { m_Entries.Add(new SpawnerEntry(typeName, 100, 1)); } else { m_Entries[i].CreaturesName = typeName; } if (SpawnerType.GetType(typeName) == null) { if (m_WarnTimer == null) { m_WarnTimer = new WarnTimer(); } m_WarnTimer.Add(Location, Map, typeName); } } int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { IEntity e = reader.ReadEntity(); if (e != null) { if (e is BaseCreature) { ((BaseCreature)e).RemoveIfUntamed = true; } if (e is Item) { ((Item)e).Spawner = this; } else if (e is Mobile) { ((Mobile)e).Spawner = this; } for (int j = 0; j < m_Entries.Count; j++) { if (SpawnerType.GetType(m_Entries[j].CreaturesName) == e.GetType()) { m_Entries[j].Creatures.Add(e); m_Creatures.Add(e, m_Entries[j]); break; } } } } } DoTimer(ts); break; } } if (version < 4) { m_WalkingRange = m_HomeRange; } }
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 3: { m_BeforeChangeover = reader.ReadBool(); goto case 2; } case 2: { m_GuildName = reader.ReadString(); m_GuildAbbrev = reader.ReadString(); goto case 1; } case 1: { m_Guild = reader.ReadGuild() as Guild; goto case 0; } case 0: { break; } } if (Guild.NewGuildSystem && ItemID == 0xED4) { ItemID = 0xED6; } if (m_Guild != null) { m_GuildName = m_Guild.Name; m_GuildAbbrev = m_Guild.Abbreviation; } if (version <= 2) { m_BeforeChangeover = true; } if (Guild.NewGuildSystem && m_BeforeChangeover) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(AddToHouse)); } if (!Guild.NewGuildSystem && m_Guild == null) { this.Delete(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_ChallengeArea = new Rectangle3D[0]; switch (version) { case 2: case 1: { m_Disable = reader.ReadBool(); goto case 0; } case 0: { m_Music = (MusicName)reader.ReadInt(); m_Priority = reader.ReadInt(); if (version < 2) { // old region area reader.ReadRect2D(); } m_ChallengeRegionName = reader.ReadString(); string mapname = reader.ReadString(); try{ m_ChallengeMap = Map.Parse(mapname); } catch {} m_CopiedRegion = reader.ReadString(); // do the coord list int count = reader.ReadInt(); if (count > 0) { // the old version used 2D rectangles for the region area. The new version uses 3D if (version < 2) { Rectangle2D[] area = new Rectangle2D[count]; for (int i = 0; i < count; i++) { area[i] = reader.ReadRect2D(); } m_ChallengeArea = Region.ConvertTo3D(area); } else { m_ChallengeArea = new Rectangle3D[count]; for (int i = 0; i < count; i++) { m_ChallengeArea[i] = new Rectangle3D(reader.ReadPoint3D(), reader.ReadPoint3D()); } } } break; } } // refresh the region Timer.DelayCall(TimeSpan.Zero, new TimerCallback(RefreshRegions)); }
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 6: { m_NegativeAttributes = new NegativeAttributes(this, reader); m_MaxHitPoints = reader.ReadInt(); m_HitPoints = reader.ReadInt(); _VvVItem = reader.ReadBool(); _Owner = reader.ReadMobile(); _OwnerName = reader.ReadString(); goto case 5; } 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 (m_NegativeAttributes == null) { m_NegativeAttributes = new NegativeAttributes(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) { 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 void Deserialize(GenericReader reader) { var version = reader.GetVersion(); switch (version) { case 3: Deleted = reader.ReadBool(); goto case 2; case 2: case 1: Bonus = reader.ReadLong(); goto case 0; case 0: { ID = reader.ReadString(); _State = reader.ReadFlag <TransactionState>(); Account = reader.ReadAccount(); Email = reader.ReadString(); Total = reader.ReadDouble(); Credit = reader.ReadLong(); Time = version > 0 ? reader.ReadTimeStamp() : reader.ReadDouble(); Version = reader.ReadInt(); if (version < 1) { reader.ReadInt(); // InternalVersion } Notes = reader.ReadString(); Extra = reader.ReadString(); if (version > 1) { DeliveredTo = reader.ReadString(); DeliveryTime = reader.ReadTimeStamp(); } else if (version > 0) { var m = reader.ReadMobile(); DeliveredTo = m != null ? m.RawName : null; DeliveryTime = reader.ReadTimeStamp(); } else { reader.ReadMobile(); // DeliverFrom var m = reader.ReadMobile(); DeliveredTo = m != null ? m.RawName : null; DeliveryTime = reader.ReadDouble(); } } break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version == 0) //BodyParty -> Head { reader.ReadDateTime(); version = reader.ReadInt(); } switch (version) { case 2: { m_PlayerName = reader.ReadString(); m_HeadType = (HeadType)reader.ReadEncodedInt(); break; } case 1: case 0: { if (reader.ReadBool()) { Timer.DelayCall(TimeSpan.FromSeconds(5.0), new TimerStateCallback(ConvertHead), reader.ReadMobile()); } break; } /* * case 0: * { * string format = this.Name; * * if ( format != null ) * { * if ( format.StartsWith( "the head of " ) ) * format = format.Substring( "the head of ".Length ); * * if ( format.EndsWith( ", taken in a duel" ) ) * { * format = format.Substring( 0, format.Length - ", taken in a duel".Length ); * m_HeadType = HeadType.Duel; * } * else if ( format.EndsWith( ", taken in a tournament" ) ) * { * format = format.Substring( 0, format.Length - ", taken in a tournament".Length ); * m_HeadType = HeadType.Tournament; * } * } * * m_PlayerName = format; * this.Name = null; * * break; * } */ } }
public virtual void Deserialize(GenericReader reader) { var version = reader.GetVersion(); if (version > 4) { reader.ReadBlock( r => { if (version > 5) { Serial = new PvPSerial(r); } else { Serial = r.ReadTypeCreate <PvPSerial>(r); Serial = new PvPSerial(); } }); } else { Serial = new PvPSerial(); } switch (version) { case 8: case 7: { RespawnRangeMin = reader.ReadInt(); RespawnRangeMax = reader.ReadInt(); } goto case 6; case 6: case 5: case 4: case 3: RespawnOnStart = reader.ReadBool(); goto case 2; case 2: KickOnDeath = reader.ReadBool(); goto case 1; case 1: { GateLocation = new MapPoint(reader); Gate = reader.ReadItem <PvPTeamGate>(); } goto case 0; case 0: { _Name = reader.ReadString(); _MinCapacity = reader.ReadInt(); _MaxCapacity = reader.ReadInt(); _Color = reader.ReadInt(); _HomeBase = reader.ReadPoint3D(); _SpawnPoint = reader.ReadPoint3D(); RespawnOnDeath = reader.ReadBool(); RespawnDelay = reader.ReadTimeSpan(); if (version < 8) { reader.ReadBlock(r => r.ReadType()); // Statistics } } break; } if (version < 4) { RespawnOnStart = true; } if (version < 1) { GateLocation = MapPoint.Empty; } if (Gate != null) { Gate.Team = this; } if (Battle == null) { Timer.DelayCall(Delete); } }
public Arena(GenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 7: { m_IsGuarded = reader.ReadBool(); goto case 6; } case 6: { m_Ladder = reader.ReadItem() as LadderController; goto case 5; } case 5: { m_Tournament = reader.ReadItem() as TournamentController; m_Announcer = reader.ReadMobile(); goto case 4; } case 4: { m_Name = reader.ReadString(); goto case 3; } case 3: { m_Zone = reader.ReadRect2D(); goto case 2; } case 2: { m_GateIn = reader.ReadPoint3D(); m_GateOut = reader.ReadPoint3D(); m_Teleporter = reader.ReadItem(); goto case 1; } case 1: { m_Players = reader.ReadStrongMobileList(); goto case 0; } case 0: { m_Facet = reader.ReadMap(); m_Bounds = reader.ReadRect2D(); m_Outside = reader.ReadPoint3D(); m_Wall = reader.ReadPoint3D(); if (version == 0) { reader.ReadBool(); m_Players = new List <Mobile>(); } m_Active = reader.ReadBool(); m_Points = new ArenaStartPoints(reader); if (m_Active) { m_Arenas.Add(this); m_Arenas.Sort(); } break; } } if (m_Zone.Start != Point2D.Zero && m_Zone.End != Point2D.Zero && m_Facet != null) { m_Region = new SafeZone(m_Zone, m_Outside, m_Facet, m_IsGuarded); } if (IsOccupied) { Timer.DelayCall(TimeSpan.FromSeconds(2.0), new TimerCallback(Evict)); } if (m_Tournament != null) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(AttachToTournament_Sandbox)); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 5: { MultiID = reader.ReadInt(); Offset = reader.ReadPoint3D(); m_ShipName = reader.ReadString(); BoatItem = reader.ReadItem() as BaseBoat; break; } case 4: { switch (reader.ReadInt()) { default: case 0: break; case 1: m_PilotEntry = new PilotEntry(reader); break; } goto case 3; } case 3: { m_BaseHue = reader.ReadInt(); if (version < 5) { reader.ReadItem(); } reader.ReadItem(); m_Owner = reader.ReadMobile(); goto case 2; } case 2: { switch (reader.ReadInt()) { default: case 0: break; case 1: m_SecurityEntry = new SecurityEntry(null, reader); break; } goto case 1; } case 1: case 0: { MultiID = reader.ReadInt(); Offset = reader.ReadPoint3D(); m_ShipName = reader.ReadString(); if (version == 0) { reader.ReadUInt(); } break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 4: { m_SecureLevel = (SecureLevel)reader.ReadInt(); goto case 3; } case 3: case 2: { BookContent content = DefaultContent; SaveFlags flags = (SaveFlags)reader.ReadByte(); if ((flags & SaveFlags.Title) != 0) { m_Title = Utility.Intern(reader.ReadString()); } else if (content != null) { m_Title = content.Title; } if ((flags & SaveFlags.Author) != 0) { m_Author = reader.ReadString(); } else if (content != null) { m_Author = content.Author; } m_Writable = (flags & SaveFlags.Writable) != 0; if ((flags & SaveFlags.Content) != 0) { m_Pages = new BookPageInfo[reader.ReadEncodedInt()]; for (int i = 0; i < m_Pages.Length; ++i) { m_Pages[i] = new BookPageInfo(reader); } } else { if (content != null) { m_Pages = content.Copy(); } else { m_Pages = new BookPageInfo[0]; } } break; } case 1: case 0: { m_Title = reader.ReadString(); m_Author = reader.ReadString(); m_Writable = reader.ReadBool(); if (version == 0 || reader.ReadBool()) { m_Pages = new BookPageInfo[reader.ReadInt()]; for (int i = 0; i < m_Pages.Length; ++i) { m_Pages[i] = new BookPageInfo(reader); } } else { BookContent content = DefaultContent; if (content != null) { m_Pages = content.Copy(); } else { m_Pages = new BookPageInfo[0]; } } break; } } if (version < 3 && (Weight == 1 || Weight == 2)) { Weight = -1; } }