public void Deserialize(GenericReader reader) { int version = reader.ReadInt(); switch (version) { case 0: { m_ThreadCreator = reader.ReadMobile(); m_LastPostTime = reader.ReadDateTime(); m_CreationTime = reader.ReadDateTime(); m_ThreadType = ( ThreadType )reader.ReadInt(); m_Posts = ReadPostList(reader); m_Viewers = reader.ReadMobileList(); m_ViewersSinceUpdate = reader.ReadMobileList(); m_Posters = reader.ReadMobileList(); m_PostersSinceUpdate = reader.ReadMobileList(); m_FileInUse = reader.ReadBool(); m_StaffMessage = reader.ReadBool(); m_Deleted = reader.ReadBool(); m_Locked = reader.ReadBool(); m_Subject = reader.ReadString(); m_ThreadID = reader.ReadInt(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { QtRespawnMobileRare1 = reader.ReadInt(); QtRespawnMobileRare2 = reader.ReadInt(); QtRespawnMobileRare3 = reader.ReadInt(); QtRespawnMobileRare4 = reader.ReadInt(); QtRespawnMobileRare5 = reader.ReadInt(); MobileListRare1 = reader.ReadMobileList(); MobileListRare2 = reader.ReadMobileList(); MobileListRare3 = reader.ReadMobileList(); MobileListRare4 = reader.ReadMobileList(); MobileListRare5 = reader.ReadMobileList(); break; } } this.InitializeRespawnController(); }
public void LoadGlobalListens(GenericReader reader) { int version = reader.ReadInt(); c_GIgnores = reader.ReadMobileList(); c_GListens = reader.ReadMobileList(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: sleeping = reader.ReadMobileList(); sleepingbod = reader.ReadItemList(); goto case 1; case 1: m_ArmyHome = reader.ReadPoint3D(); goto case 0; case 0: m_Owner = reader.ReadMobile(); m_War = reader.ReadBool(); m_Free = reader.ReadBool(); m_ArmyDirection = (Direction)reader.ReadInt(); m_ArmyFormationDirection = (Direction)reader.ReadInt(); m_CurrentFormation = (ArmyFormationEnum)reader.ReadInt(); Soldiers = reader.ReadMobileList(); break; default: break; } }
/// <summary> /// Deserializes the specified reader. /// </summary> /// <param name="reader">The reader.</param> public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: { m_LastAnnounceTime = reader.ReadDateTime(); goto case 2; } case 2: { m_ShopperQueue = new Queue <PlayerMobile>(reader.ReadMobileList <PlayerMobile>()); goto case 1; } case 1: { m_VisitorQueue = new Queue <PlayerMobile>(reader.ReadMobileList <PlayerMobile>()); m_City = (KinFactionCities)reader.ReadInt(); m_Champs = reader.ReadItemList <ChampKinCity>(); goto case 0; } case 0: break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_sheep = reader.ReadMobileList(); m_dog = reader.ReadMobileList(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Teams = reader.ReadInt(); Players = reader.ReadMobileList(); NpcPlayers = reader.ReadMobileList(); m_Announcers = reader.ReadMobileList(); m_WinnersPrizes = reader.ReadItemList(); m_Team1Dest = reader.ReadPoint3D(); m_Team2Dest = reader.ReadPoint3D(); m_Team3Dest = reader.ReadPoint3D(); m_Team4Dest = reader.ReadPoint3D(); m_Exit1Dest = reader.ReadPoint3D(); m_Exit2Dest = reader.ReadPoint3D(); m_Exit3Dest = reader.ReadPoint3D(); m_Exit4Dest = reader.ReadPoint3D(); m_MapDest = reader.ReadMap(); m_Mod = (Mod)reader.ReadInt(); m_Active = reader.ReadBool(); m_Team1 = reader.ReadInt(); m_Team2 = reader.ReadInt(); m_Team3 = reader.ReadInt(); m_Team4 = reader.ReadInt(); m_Team1Hue = reader.ReadInt(); m_Team2Hue = reader.ReadInt(); m_Team3Hue = reader.ReadInt(); m_Team4Hue = reader.ReadInt(); m_Team1Name = reader.ReadString(); m_Team2Name = reader.ReadString(); m_Team3Name = reader.ReadString(); m_Team4Name = reader.ReadString(); m_NadeDamage = reader.ReadInt(); m_NumNades = reader.ReadInt(); m_PBScoreBoard = reader.ReadItem() as PBScoreBoard; m_Active = false; Reset(); //m_Timer = new PBTimer( this ); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Chat = new List <string>(); m_Players = new Dictionary <Mobile, bool>(); if (version > 0) { ArrayList arrayList = reader.ReadMobileList(); if (arrayList != null) { m_Squelched = new List <Mobile>(arrayList.Count); foreach (Mobile item in arrayList) { m_Squelched.Add(item); } } else { m_Squelched = new List <Mobile>(); } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: m_OnePerAccount = reader.ReadBool(); m_Active = reader.ReadBool(); m_Message = reader.ReadString(); m_MobilesGivenTo.Clear(); ArrayList mobs = reader.ReadMobileList(); foreach (Mobile mob in mobs) { m_MobilesGivenTo.Add(mob); } m_AccountsGivenTo.Clear(); int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { m_AccountsGivenTo.Add(reader.ReadString()); } break; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); alFinished = reader.ReadMobileList(); }
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 override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { foreach (Mobile m in reader.ReadMobileList()) { if (m is GolemController) { m_Guardians.Add(m as GolemController); } } goto case 0; } case 0: { m_Sigil = (KinSigil)reader.ReadItem(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); m_Topic = new string[reader.ReadEncodedInt()]; for (int i = 0; i < m_Topic.Length; i++) { m_Topic[i] = reader.ReadString(); } m_Yes = reader.ReadMobileList(); m_No = reader.ReadMobileList(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); /*int version = */ reader.ReadInt(); m_Mobiles = reader.ReadMobileList(); for (int i = 0; i < m_Mobiles.Count; ++i) { ((Mobile)m_Mobiles[i]).Delete(); } m_Mobiles.Clear(); for (int i = Items.Count - 1; i >= 0; --i) { if (i < Items.Count) { ((Item)Items[i]).Delete(); } } if (m_Cache == null) { m_Cache = this; } else { Delete(); } m_Table = new Hashtable(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Time = reader.ReadDeltaTime(); m_Mob1 = reader.ReadMobile(); m_Mob2 = reader.ReadMobile(); m_Votes1 = reader.ReadInt(); m_Votes2 = reader.ReadInt(); m_Voters = reader.ReadMobileList(); m_Stone = (CityManagementStone)reader.ReadItem(); m_Timer = new CityElectionTimer(m_Time, this); m_Timer.Start(); 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 override void Deserialize( GenericReader reader ) { base.Deserialize(reader); int version = reader.ReadInt(); m_market = reader.ReadItemList(); m_marketmob = reader.ReadMobileList(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Type = (PotionEffect)reader.ReadInt(); m_Held = reader.ReadInt(); break; } case 1: { if (reader.ReadBool()) { m_Tasters = reader.ReadMobileList(); } goto case 0; } case 2: { m_Owner = reader.ReadMobile(); goto case 1; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); eventItems = reader.ReadItemList(); eventMobiles = reader.ReadMobileList(); }
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); int version = reader.ReadInt(); switch (version) { case 4: { m_Identified = reader.ReadMobileList(); goto case 3; } case 3: { m_Effect = (SpellEffect)reader.ReadInt(); m_EffectCharges = reader.ReadInt(); if (version < 4) { /*m_Identified = */ reader.ReadBool(); } goto case 2; } case 2: { m_PlayerConstructed = reader.ReadBool(); goto case 1; } case 1: { m_Crafter = reader.ReadMobile(); m_Quality = (CraftQuality)reader.ReadInt(); break; } case 0: { m_Crafter = null; m_Quality = CraftQuality.Regular; break; } } if (version < 2) { m_PlayerConstructed = false; } if (Parent is Mobile && m_Effect != SpellEffect.None && m_EffectCharges > 0 && SpellCastEffect.IsRepeatingEffect(m_Effect)) { m_Timer = new CheckTimer(this); m_Timer.Start(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Town = (TownStone)reader.ReadItem(); m_Payeurs = reader.ReadMobileList(); m_HistoPayeurs = reader.ReadMobileList(); m_Retard_1 = reader.ReadMobileList(); m_Retard_2 = reader.ReadMobileList(); m_Taxe = reader.ReadInt(); m_CaisseVille = reader.ReadInt(); m_CaisseGarde = reader.ReadInt(); m_EndDate = reader.ReadDateTime(); m_TaxeTimer = new TaxeTimer(m_Town, m_EndDate - DateTime.Now); m_TaxeTimer.Start(); m_Delay = reader.ReadTimeSpan(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { m_VilleRace = (VilleRaciale)reader.ReadByte(); goto case 0; } case 0: { m_Citoyens = reader.ReadMobileList(); m_Candidats = reader.ReadMobileList(); m_HLL = reader.ReadMobileList(); m_Gardes = reader.ReadMobileList(); m_gardes_pnj = reader.ReadItemList(); m_Maire = (PlayerMobile)reader.ReadMobile(); m_Conseiller = (PlayerMobile)reader.ReadMobile(); m_Ambassadeur = (PlayerMobile)reader.ReadMobile(); m_Capitaine = (PlayerMobile)reader.ReadMobile(); m_Pomi = (POMI)reader.ReadItem(); m_MaireCloak = (PomiCloak)reader.ReadItem(); m_ConseillerCloak = (PomiCloak)reader.ReadItem(); m_AmbassadeurCloak = (PomiCloak)reader.ReadItem(); m_CapitaineCloak = (PomiCloak)reader.ReadItem(); m_CapitaineBook = (CapitaineBook)reader.ReadItem(); m_GardeCloak = reader.ReadItemList(); m_Nom = reader.ReadString(); m_Charte0 = reader.ReadString(); m_Charte1 = reader.ReadString(); m_Charte2 = reader.ReadString(); m_Charte3 = reader.ReadString(); m_Charte4 = reader.ReadString(); m_Charte5 = reader.ReadString(); m_Charte6 = reader.ReadString(); m_Charte7 = reader.ReadString(); m_Votants = reader.ReadMobileList(); m_Elections = reader.ReadMobileList(); m_Resultats = reader.ReadMobileList(); m_EndDate = reader.ReadDateTime(); m_ElecTimer = new ElectionTimer(this, m_EndDate - DateTime.Now); m_ElecTimer.Start(); m_ElecDelay = reader.ReadTimeSpan(); m_MaxDistance = reader.ReadInt(); m_Allies = reader.ReadItemList(); m_Paix = reader.ReadItemList(); m_Guerre = reader.ReadItemList(); m_Neutre = reader.ReadItemList(); m_Box = (TownBox)reader.ReadItem(); break; } } }
protected void Load(GenericReader reader) { int version = reader.ReadInt(); c_Mobiles = reader.ReadMobileList(); c_Filter = reader.ReadBool(); c_Delay = reader.ReadBool(); c_Name = reader.ReadString(); c_Style = (ChatStyle)reader.ReadInt(); c_ToIrc = reader.ReadBool(); c_NewChars = reader.ReadBool(); c_ShowStaff = reader.ReadBool(); c_Enabled = reader.ReadBool(); int count = reader.ReadInt(); Mobile m; for (int i = 0; i < count; ++i) { m = reader.ReadMobile(); if (m != null) { c_Colors[m] = reader.ReadInt(); } else { reader.ReadInt(); } } c_Commands.Clear(); count = reader.ReadInt(); for (int i = 0; i < count; ++i) { c_Commands.Add(reader.ReadString()); } foreach (string str in c_Commands) { AddCommand(str); } ArrayList list = new ArrayList(); foreach (Mobile mob in c_Mobiles) { if (!list.Contains(mob)) { list.Add(mob); } } c_Mobiles = new ArrayList(list); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); if (version > 0) { int x = reader.ReadInt(); List <ElvenVotePedestal> m_Pedestals = new List <ElvenVotePedestal>(); for (int i = 0; i < x; ++i) { m_Pedestals.Add((ElvenVotePedestal)reader.ReadItem()); } m_Voters = reader.ReadMobileList(); m_Status = (ControllerStatus)reader.ReadInt(); m_Total = reader.ReadInt(); m_Candidates = reader.ReadMobileList(); } }
public override void Deserialize(GenericReader reader) { Players = new ArrayList(); Spawn = new ArrayList(); base.Deserialize(reader); int version = reader.ReadInt(); // version inprogress = reader.ReadBool(); Killed = reader.ReadInt(); Players = reader.ReadMobileList(); Spawn = reader.ReadMobileList(); SpawnType = (InvasionSpawnType)reader.ReadInt(); regionpoint = reader.ReadRect2D(); regionmap = reader.ReadMap(); if (inprogress) { StartInvasion(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Title = reader.ReadString(); if (reader.ReadBool()) { m_Greeting = new BulletinBoardMessage(reader); } int count = reader.ReadEncodedInt(); m_Messages = new List <BulletinBoardMessage>(count); for (int i = 0; i < count; ++i) { m_Messages.Add(new BulletinBoardMessage(reader)); } if (m_BannedPlayers != null) { m_BannedPlayers = reader.ReadMobileList(); } else { m_BannedPlayers = new ArrayList(); m_BannedPlayers = reader.ReadMobileList(); } break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Owner = reader.ReadMobile(); m_Friends = reader.ReadMobileList(); if (version >= 2) { m_Tent = reader.ReadItem() as TravelTent; } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_mobiles = reader.ReadMobileList <Mobile>(); m_items = reader.ReadItemList <Item>(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: { m_Guardians = reader.ReadMobileList(); m_Temporary = reader.ReadBool(); goto case 1; } case 1: { m_Owner = reader.ReadMobile(); goto case 0; } case 0: { m_Level = reader.ReadInt(); m_DeleteTime = reader.ReadDeltaTime(); m_Lifted = reader.ReadItemList(); if (version < 2) { m_Guardians = new ArrayList(); } break; } } if (!m_Temporary) { m_Timer = new DeleteTimer(this, m_DeleteTime); m_Timer.Start(); } else { Delete(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_NestSpawnType = reader.ReadString(); m_Spawn = reader.ReadMobileList(); m_MaxCount = reader.ReadInt(); m_RespawnTime = reader.ReadTimeSpan(); m_HitsMax = reader.ReadInt(); m_Hits = reader.ReadInt(); m_RangeHome = reader.ReadInt(); m_LootLevel = reader.ReadInt(); m_Entity = reader.ReadMobile(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 8: { m_Identified = reader.ReadMobileList(); goto case 7; } case 7: case 6: case 5: { SaveFlag flags = (SaveFlag)reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.DamageLevel ) ) m_DamageLevel = (WeaponDamageLevel)reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.AccuracyLevel ) ) m_AccuracyLevel = (WeaponAccuracyLevel)reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.DurabilityLevel ) ) m_DurabilityLevel = (DurabilityLevel)reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.Quality ) ) m_Quality = (CraftQuality)reader.ReadInt(); else m_Quality = CraftQuality.Regular; if ( GetSaveFlag( flags, SaveFlag.Hits ) ) m_Hits = reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.MaxHits ) ) m_MaxHits = reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.Slayer ) ) m_Slayer = (SlayerName)reader.ReadInt(); if ( GetSaveFlag( flags, SaveFlag.Poison ) ) m_Poison = Poison.Deserialize( reader ); if ( GetSaveFlag( flags, SaveFlag.PoisonCharges ) ) { m_PoisonCharges = reader.ReadInt(); if ( version >= 7 ) m_PoisonChance = reader.ReadDouble(); else m_PoisonChance = Utility.RandomDouble() * 0.25; } if ( GetSaveFlag( flags, SaveFlag.Crafter ) ) m_Crafter = reader.ReadMobile(); if ( GetSaveFlag( flags, SaveFlag.Identified ) && version < 6 ) reader.ReadBool(); //m_Identified = ( version >= 6 || reader.ReadBool() ); if ( GetSaveFlag( flags, SaveFlag.StrReq ) ) m_StrReq = reader.ReadInt(); else m_StrReq = -1; if ( GetSaveFlag( flags, SaveFlag.DexReq ) ) m_DexReq = reader.ReadInt(); else m_DexReq = -1; if ( GetSaveFlag( flags, SaveFlag.IntReq ) ) m_IntReq = reader.ReadInt(); else m_IntReq = -1; if ( GetSaveFlag( flags, SaveFlag.MinDamage ) ) m_MinDamage = reader.ReadInt(); else m_MinDamage = -1; if ( GetSaveFlag( flags, SaveFlag.MaxDamage ) ) m_MaxDamage = reader.ReadInt(); else m_MaxDamage = -1; if ( GetSaveFlag( flags, SaveFlag.HitSound ) ) m_HitSound = reader.ReadInt(); else m_HitSound = -1; if ( GetSaveFlag( flags, SaveFlag.MissSound ) ) m_MissSound = reader.ReadInt(); else m_MissSound = -1; if ( GetSaveFlag( flags, SaveFlag.Speed ) ) m_Speed = reader.ReadInt(); else m_Speed = -1; if ( GetSaveFlag( flags, SaveFlag.MaxRange ) ) m_MaxRange = reader.ReadInt(); else m_MaxRange = -1; if ( GetSaveFlag( flags, SaveFlag.Skill ) ) m_Skill = (SkillName)reader.ReadInt(); else m_Skill = (SkillName)(-1); if ( GetSaveFlag( flags, SaveFlag.Type ) ) m_Type = (WeaponType)reader.ReadInt(); else m_Type = (WeaponType)(-1); if ( GetSaveFlag( flags, SaveFlag.Animation ) ) m_Animation = (WeaponAnimation)reader.ReadInt(); else m_Animation = (WeaponAnimation)(-1); if ( GetSaveFlag( flags, SaveFlag.Resource ) ) m_Resource = (CraftResource)reader.ReadInt(); else m_Resource = CraftResource.Iron; if ( GetSaveFlag( flags, SaveFlag.xAttributes ) ) m_AosAttributes = new AosAttributes( this, reader ); else m_AosAttributes = new AosAttributes( this ); if ( GetSaveFlag( flags, SaveFlag.xWeaponAttributes ) ) m_AosWeaponAttributes = new AosWeaponAttributes( this, reader ); else m_AosWeaponAttributes = new AosWeaponAttributes( this ); if ( UseSkillMod && m_AccuracyLevel != WeaponAccuracyLevel.Regular && Parent is Mobile ) { m_SkillMod = new DefaultSkillMod( AccuracyMod, true, (int)m_AccuracyLevel * 5 ); ((Mobile)Parent).AddSkillMod( m_SkillMod ); } if ( Core.AOS && m_AosWeaponAttributes.MageWeapon != 0 && Parent is Mobile ) { m_MageMod = new DefaultSkillMod( SkillName.Magery, true, -m_AosWeaponAttributes.MageWeapon ); ((Mobile)Parent).AddSkillMod( m_MageMod ); } if ( GetSaveFlag( flags, SaveFlag.PlayerConstructed ) ) m_PlayerConstructed = true; if ( GetSaveFlag( flags, SaveFlag.SpellEffect ) ) { m_Effect = (SpellEffect)reader.ReadInt(); m_EffectCharges = reader.ReadInt(); } break; } case 4: { m_Slayer = (SlayerName)reader.ReadInt(); goto case 3; } case 3: { m_StrReq = reader.ReadInt(); m_DexReq = reader.ReadInt(); m_IntReq = reader.ReadInt(); goto case 2; } case 2: { /*m_Identified = */reader.ReadBool(); goto case 1; } case 1: { m_MaxRange = reader.ReadInt(); goto case 0; } case 0: { if ( version == 0 ) m_MaxRange = 1; // default if ( version < 5 ) { m_Resource = CraftResource.Iron; m_AosAttributes = new AosAttributes( this ); m_AosWeaponAttributes = new AosWeaponAttributes( this ); } m_MinDamage = reader.ReadInt(); m_MaxDamage = reader.ReadInt(); m_Speed = reader.ReadInt(); m_HitSound = reader.ReadInt(); m_MissSound = reader.ReadInt(); m_Skill = (SkillName)reader.ReadInt(); m_Type = (WeaponType)reader.ReadInt(); m_Animation = (WeaponAnimation)reader.ReadInt(); m_DamageLevel = (WeaponDamageLevel)reader.ReadInt(); m_AccuracyLevel = (WeaponAccuracyLevel)reader.ReadInt(); m_DurabilityLevel = (DurabilityLevel)reader.ReadInt(); m_Quality = (CraftQuality)reader.ReadInt(); m_Crafter = reader.ReadMobile(); m_Poison = Poison.Deserialize( reader ); m_PoisonCharges = reader.ReadInt(); if ( m_StrReq == OldStrengthReq ) m_StrReq = -1; if ( m_DexReq == OldDexterityReq ) m_DexReq = -1; if ( m_IntReq == OldIntelligenceReq ) m_IntReq = -1; if ( m_MinDamage == OldMinDamage ) m_MinDamage = -1; if ( m_MaxDamage == OldMaxDamage ) m_MaxDamage = -1; if ( m_HitSound == OldHitSound ) m_HitSound = -1; if ( m_MissSound == OldMissSound ) m_MissSound = -1; if ( m_Speed == OldSpeed ) m_Speed = -1; if ( m_MaxRange == OldMaxRange ) m_MaxRange = -1; if ( m_Skill == OldSkill ) m_Skill = (SkillName)(-1); if ( m_Type == OldType ) m_Type = (WeaponType)(-1); if ( m_Animation == OldAnimation ) m_Animation = (WeaponAnimation)(-1); if ( UseSkillMod && m_AccuracyLevel != WeaponAccuracyLevel.Regular && Parent is Mobile ) { m_SkillMod = new DefaultSkillMod( AccuracyMod, true, (int)m_AccuracyLevel * 5); ((Mobile)Parent).AddSkillMod( m_SkillMod ); } break; } } int strBonus = m_AosAttributes.BonusStr; int dexBonus = m_AosAttributes.BonusDex; int intBonus = m_AosAttributes.BonusInt; if ( this.Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0) ) { Mobile m = (Mobile)this.Parent; string modName = this.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(); if ( m_Hits <= 0 && m_MaxHits <= 0 ) { m_Hits = m_MaxHits = Utility.RandomMinMax( InitMinHits, InitMaxHits ); } if ( version < 6 ) m_PlayerConstructed = true; // we don't know, so, assume it's crafted }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); int count; bool loadedDynamicDecay = false; switch ( version ) { case 15: { int stage = reader.ReadInt(); if (stage != -1) { this.m_CurrentStage = (DecayLevel)stage; this.m_NextDecayStage = reader.ReadDateTime(); loadedDynamicDecay = true; } goto case 14; } case 14: { this.m_RelativeBanLocation = reader.ReadPoint3D(); goto case 13; } case 13: // removed ban location serialization case 12: { this.m_VendorRentalContracts = reader.ReadItemList(); this.m_InternalizedVendors = reader.ReadMobileList(); int relocatedCount = reader.ReadEncodedInt(); for (int i = 0; i < relocatedCount; i++) { Point3D relLocation = reader.ReadPoint3D(); IEntity entity = World.FindEntity(reader.ReadInt()); if (entity != null) this.m_RelocatedEntities.Add(new RelocatedEntity(entity, relLocation)); } int inventoryCount = reader.ReadEncodedInt(); for (int i = 0; i < inventoryCount; i++) { VendorInventory inventory = new VendorInventory(this, reader); this.m_VendorInventories.Add(inventory); } goto case 11; } case 11: { this.m_LastRefreshed = reader.ReadDateTime(); this.m_RestrictDecay = reader.ReadBool(); goto case 10; } case 10: // just a signal for updates case 9: { this.m_Visits = reader.ReadInt(); goto case 8; } case 8: { this.m_Price = reader.ReadInt(); goto case 7; } case 7: { this.m_Access = reader.ReadMobileList(); goto case 6; } case 6: { this.m_BuiltOn = reader.ReadDateTime(); this.m_LastTraded = reader.ReadDateTime(); goto case 5; } case 5: // just removed fields case 4: { this.m_Addons = reader.ReadItemList(); goto case 3; } case 3: { count = reader.ReadInt(); this.m_Secures = new ArrayList(count); for (int i = 0; i < count; ++i) { SecureInfo info = new SecureInfo(reader); if (info.Item != null) { info.Item.IsSecure = true; this.m_Secures.Add(info); } } goto case 2; } case 2: { this.m_Public = reader.ReadBool(); goto case 1; } case 1: { if (version < 13) reader.ReadPoint3D(); // house ban location goto case 0; } case 0: { if (version < 14) this.m_RelativeBanLocation = this.BaseBanLocation; if (version < 12) { this.m_VendorRentalContracts = new ArrayList(); this.m_InternalizedVendors = new ArrayList(); } if (version < 4) this.m_Addons = new ArrayList(); if (version < 7) this.m_Access = new ArrayList(); if (version < 8) this.m_Price = this.DefaultPrice; this.m_Owner = reader.ReadMobile(); if (version < 5) { count = reader.ReadInt(); for (int i = 0; i < count; i++) reader.ReadRect2D(); } this.UpdateRegion(); this.m_CoOwners = reader.ReadMobileList(); this.m_Friends = reader.ReadMobileList(); this.m_Bans = reader.ReadMobileList(); this.m_Sign = reader.ReadItem() as HouseSign; this.m_Trash = reader.ReadItem() as TrashBarrel; this.m_Doors = reader.ReadItemList(); this.m_LockDowns = reader.ReadItemList(); for (int i = 0; i < this.m_LockDowns.Count; ++i) ((Item)this.m_LockDowns[i]).IsLockedDown = true; for (int i = 0; i < this.m_VendorRentalContracts.Count; ++i) ((Item)this.m_VendorRentalContracts[i]).IsLockedDown = true; if (version < 3) { ArrayList items = reader.ReadItemList(); this.m_Secures = new ArrayList(items.Count); for (int i = 0; i < items.Count; ++i) { Container c = items[i] as Container; if (c != null) { c.IsSecure = true; this.m_Secures.Add(new SecureInfo(c, SecureLevel.CoOwners)); } } } this.m_MaxLockDowns = reader.ReadInt(); this.m_MaxSecures = reader.ReadInt(); if ((this.Map == null || this.Map == Map.Internal) && this.Location == Point3D.Zero) this.Delete(); if (this.m_Owner != null) { List<BaseHouse> list = null; m_Table.TryGetValue(this.m_Owner, out list); if (list == null) m_Table[this.m_Owner] = list = new List<BaseHouse>(); list.Add(this); } break; } } if (version <= 1) this.ChangeSignType(0xBD2);//private house, plain brass sign if (version < 10) { /* NOTE: This can exceed the house lockdown limit. It must be this way, because * we do not want players' items to decay without them knowing. Or not even * having a chance to fix it themselves. */ Timer.DelayCall(TimeSpan.Zero, new TimerCallback(FixLockdowns_Sandbox)); } if (version < 11) this.m_LastRefreshed = DateTime.UtcNow + TimeSpan.FromHours(24 * Utility.RandomDouble()); if (DynamicDecay.Enabled && !loadedDynamicDecay) { DecayLevel old = this.GetOldDecayLevel(); if (old == DecayLevel.DemolitionPending) old = DecayLevel.Collapsed; this.SetDynamicDecay(old); } if (!this.CheckDecay()) { if (this.RelocatedEntities.Count > 0) Timer.DelayCall(TimeSpan.Zero, new TimerCallback(RestoreRelocatedEntities)); if (this.m_Owner == null && this.m_Friends.Count == 0 && this.m_CoOwners.Count == 0) Timer.DelayCall(TimeSpan.FromSeconds(10.0), new TimerCallback(Delete)); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Owner = reader.ReadMobile(); m_Friends = reader.ReadMobileList(); if( version >= 2 ) m_Tent = reader.ReadItem() as TravelTent; }
public override void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); if ( version < 5 ) { FixGuilds(); } switch ( version ) { case 5: { m_WarInitializations = reader.ReadGuildList(); m_WarKills = new WarKillsItem[reader.ReadInt()]; for ( int i = 0; i < m_WarKills.Length; ++i ) { m_WarKills[i].w_Guild = reader.ReadGuild() as Guild; m_WarKills[i].Kills = reader.ReadInt(); m_WarKills[i].MaxKills = reader.ReadInt(); m_WarKills[i].WarTime = (uint) reader.ReadInt(); m_WarKills[i].ExpTime = (uint) reader.ReadInt(); } m_AllianceLeader = reader.ReadBool(); m_AllianceName = reader.ReadString(); 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_WarInitializations == null ) { m_WarInitializations = new ArrayList(); } if ( WarTimer1 == null ) { WarTimer1 = new WarTimer(); WarTimer1.Start(); } if ( m_Guildstone == null || m_Members.Count == 0 ) { Timer.DelayCall( TimeSpan.Zero, new TimerCallback( Disband ) ); } }
public Arena( GenericReader reader ) { int version = reader.ReadEncodedInt(); switch ( version ) { 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.ReadMobileList(); 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 ArrayList(); } 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 ); if ( IsOccupied ) Timer.DelayCall( TimeSpan.FromSeconds( 2.0 ), new TimerCallback( Evict ) ); if ( m_Tournament != null ) Timer.DelayCall( TimeSpan.Zero, new TimerCallback( AttachToTournament_Sandbox ) ); }
public void Deserialize( GenericReader reader ) { int version = reader.ReadInt(); switch( version ) { case 0: { m_ThreadCreator = reader.ReadMobile(); m_LastPostTime = reader.ReadDateTime(); m_CreationTime = reader.ReadDateTime(); m_ThreadType = ( ThreadType )reader.ReadInt(); m_Posts = ReadPostList( reader ); m_Viewers = reader.ReadMobileList(); m_ViewersSinceUpdate = reader.ReadMobileList(); m_Posters = reader.ReadMobileList(); m_PostersSinceUpdate = reader.ReadMobileList(); m_FileInUse = reader.ReadBool(); m_StaffMessage = reader.ReadBool(); m_Deleted = reader.ReadBool(); m_Locked = reader.ReadBool(); m_Subject = reader.ReadString(); m_ThreadID = reader.ReadInt(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 1: { m_VilleRace = (VilleRaciale)reader.ReadByte(); goto case 0; } case 0: { m_Citoyens = reader.ReadMobileList(); m_Candidats = reader.ReadMobileList(); m_HLL = reader.ReadMobileList(); m_Gardes = reader.ReadMobileList(); m_gardes_pnj = reader.ReadItemList(); m_Maire = (PlayerMobile)reader.ReadMobile(); m_Conseiller = (PlayerMobile)reader.ReadMobile(); m_Ambassadeur = (PlayerMobile)reader.ReadMobile(); m_Capitaine = (PlayerMobile)reader.ReadMobile(); m_Pomi = (POMI)reader.ReadItem(); m_MaireCloak = (PomiCloak)reader.ReadItem(); m_ConseillerCloak = (PomiCloak)reader.ReadItem(); m_AmbassadeurCloak = (PomiCloak)reader.ReadItem(); m_CapitaineCloak = (PomiCloak)reader.ReadItem(); m_CapitaineBook = (CapitaineBook)reader.ReadItem(); m_GardeCloak = reader.ReadItemList(); m_Nom = reader.ReadString(); m_Charte0 = reader.ReadString(); m_Charte1 = reader.ReadString(); m_Charte2 = reader.ReadString(); m_Charte3 = reader.ReadString(); m_Charte4 = reader.ReadString(); m_Charte5 = reader.ReadString(); m_Charte6 = reader.ReadString(); m_Charte7 = reader.ReadString(); m_Votants = reader.ReadMobileList(); m_Elections = reader.ReadMobileList(); m_Resultats = reader.ReadMobileList(); m_EndDate = reader.ReadDateTime(); m_ElecTimer = new ElectionTimer(this, m_EndDate - DateTime.Now); m_ElecTimer.Start(); m_ElecDelay = reader.ReadTimeSpan(); m_MaxDistance = reader.ReadInt(); m_Allies = reader.ReadItemList(); m_Paix = reader.ReadItemList(); m_Guerre = reader.ReadItemList(); m_Neutre = reader.ReadItemList(); m_Box = (TownBox)reader.ReadItem(); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Teams = reader.ReadInt(); Players = reader.ReadMobileList(); NpcPlayers = reader.ReadMobileList(); m_Announcers = reader.ReadMobileList(); m_WinnersPrizes = reader.ReadItemList(); m_Team1Dest = reader.ReadPoint3D(); m_Team2Dest = reader.ReadPoint3D(); m_Team3Dest = reader.ReadPoint3D(); m_Team4Dest = reader.ReadPoint3D(); m_Exit1Dest = reader.ReadPoint3D(); m_Exit2Dest = reader.ReadPoint3D(); m_Exit3Dest = reader.ReadPoint3D(); m_Exit4Dest = reader.ReadPoint3D(); m_MapDest = reader.ReadMap(); m_Mod = (Mod)reader.ReadInt(); m_Active = reader.ReadBool(); m_Team1 = reader.ReadInt(); m_Team2 = reader.ReadInt(); m_Team3 = reader.ReadInt(); m_Team4 = reader.ReadInt(); m_Team1Hue = reader.ReadInt(); m_Team2Hue = reader.ReadInt(); m_Team3Hue = reader.ReadInt(); m_Team4Hue = reader.ReadInt(); m_Team1Name = reader.ReadString(); m_Team2Name = reader.ReadString(); m_Team3Name = reader.ReadString(); m_Team4Name = reader.ReadString(); m_NadeDamage = reader.ReadInt(); m_NumNades = reader.ReadInt(); m_PBScoreBoard = reader.ReadItem() as PBScoreBoard; m_Active = false; Reset(); //m_Timer = new PBTimer( this ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); int count; switch ( version ) { case 15: { goto case 14; } case 14: { m_RelativeBanLocation = reader.ReadPoint3D(); goto case 13; } case 13: // removed ban location serialization case 12: { m_InternalizedVendors = reader.ReadMobileList(); int inventoryCount = reader.ReadEncodedInt(); for ( int i = 0; i < inventoryCount; i++ ) { VendorInventory inventory = new VendorInventory( this, reader ); m_VendorInventories.Add( inventory ); } goto case 11; } case 11: { m_LastRefreshed = reader.ReadDateTime(); m_RestrictDecay = reader.ReadBool(); goto case 10; } case 10: // just a signal for updates case 9: { m_Visits = reader.ReadInt(); goto case 8; } case 8: { m_Price = reader.ReadInt(); goto case 7; } case 7: { m_Access = reader.ReadMobileList(); goto case 6; } case 6: { m_BuiltOn = reader.ReadDateTime(); goto case 5; } case 5: // just removed fields case 4: { m_Addons = reader.ReadItemList(); goto case 3; } case 3: case 2: { m_Public = reader.ReadBool(); goto case 1; } case 1: { if ( version < 13 ) reader.ReadPoint3D(); // house ban location goto case 0; } case 0: { if ( version < 14 ) m_RelativeBanLocation = this.BaseBanLocation; if ( version < 12 ) { m_InternalizedVendors = new ArrayList(); } if ( version < 4 ) m_Addons = new ArrayList(); if ( version < 7 ) m_Access = new ArrayList(); if ( version < 8 ) m_Price = DefaultPrice; m_Owner = reader.ReadMobile(); if ( version < 5 ) { count = reader.ReadInt(); for(int i=0;i<count;i++) reader.ReadRect2D(); } UpdateRegion(); m_CoOwners = reader.ReadMobileList(); m_Friends = reader.ReadMobileList(); m_Bans = reader.ReadMobileList(); m_Sign = reader.ReadItem() as HouseSign; m_Trash = reader.ReadItem() as TrashBarrel; m_Doors = reader.ReadItemList(); m_LockDowns = reader.ReadItemList(); for ( int i = 0; i < m_LockDowns.Count; ++i ) ((Item)m_LockDowns[i]).IsLockedDown = true; m_Secures = reader.ReadItemList(); for (int i = 0; i < m_Secures.Count; ++i) ((Item)m_Secures[i]).IsSecure = true; m_MaxLockDowns = reader.ReadInt(); m_MaxSecures = reader.ReadInt(); if ( (Map == null || Map == Map.Internal) && Location == Point3D.Zero ) Delete(); if ( m_Owner != null ) { List<BaseHouse> list = null; m_Table.TryGetValue( m_Owner, out list ); if ( list == null ) m_Table[m_Owner] = list = new List<BaseHouse>(); list.Add( this ); } break; } } if ( version <= 1 ) ChangeSignType( 0xBD2 );//private house, plain brass sign if ( version < 10 ) { /* NOTE: This can exceed the house lockdown limit. It must be this way, because * we do not want players' items to decay without them knowing. Or not even * having a chance to fix it themselves. */ Timer.DelayCall( TimeSpan.Zero, new TimerCallback( FixLockdowns_Sandbox ) ); } if ( version < 11 ) m_LastRefreshed = DateTime.Now + TimeSpan.FromHours( 24 * Utility.RandomDouble() ); if ( !CheckDecay() ) { if ( m_Owner == null && m_Friends.Count == 0 && m_CoOwners.Count == 0 ) Timer.DelayCall( TimeSpan.FromSeconds( 10.0 ), new TimerCallback( Delete ) ); } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_CollectionTitles = new ArrayList(); switch ( version ) { case 56: { bool hasAnyBardMastery = reader.ReadBool(); if ( hasAnyBardMastery ) { m_BardMastery = BardMastery.GetFromId( reader.ReadEncodedInt() ); m_BardElementDamage = (ResistanceType) reader.ReadEncodedInt(); m_NextBardMasterySwitch = reader.ReadDateTime(); m_BardMasteryLearnedMask = reader.ReadEncodedInt(); } goto case 55; } case 55: { m_NextAnkhPendantUse = reader.ReadDateTime(); goto case 54; } case 54: { m_NextTenthAnniversarySculptureUse = reader.ReadDateTime(); goto case 53; } case 53: { m_LastForgedPardonUse = reader.ReadDateTime(); goto case 52; } case 52: { m_DoomCredits = reader.ReadInt(); m_TieredQuestInfo = new TieredQuestInfo( reader ); m_LoyaltyInfo = new LoyaltyInfo( reader ); m_FloorTrapsPlaced = reader.ReadInt(); m_NextPuzzleAttempt = reader.ReadDateTime(); m_NextDrinkExplodingTarPotion = reader.ReadDateTime(); m_NextLuckyCoinWish = reader.ReadDateTime(); m_NextSilverSaplingUse = reader.ReadDateTime(); m_SacredQuestNextChance = reader.ReadDateTime(); m_HumilityQuestStatus = (HumilityQuestStatus) reader.ReadInt(); m_HumilityQuestNextChance = reader.ReadDateTime(); m_NextGemOfSalvationUse = reader.ReadDateTime(); m_AnkhNextUse = reader.ReadDateTime(); m_Quests = QuestReader.Quests( reader, this ); m_Chains = QuestReader.Chains( reader ); m_TenthAnniversaryCredits = reader.ReadDouble(); m_KRStartingQuestStep = reader.ReadByte(); m_CurrentCollectionTitle = reader.ReadInt(); int titlecount = reader.ReadInt(); for ( int i = 0; i < titlecount; i++ ) { int title = reader.ReadInt(); m_CollectionTitles.Add( title ); } int recipeCount = reader.ReadInt(); if ( recipeCount > 0 ) { m_AcquiredRecipes = new Hashtable(); 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 ); } } m_AutoStabledPets = reader.ReadMobileList(); ACState = (AdvancedCharacterState) reader.ReadInt(); Deaths = reader.ReadInt(); NextDrinkConflagrationPotion = reader.ReadTimeSpan(); NextDrinkMaskOfDeathPotion = reader.ReadTimeSpan(); NextDrinkConfusionPotion = reader.ReadTimeSpan(); m_GuildRank = reader.ReadInt(); m_LastLogin = reader.ReadDateTime(); m_ToTItemsTurnedIn = reader.ReadInt(); m_ToTTotalMonsterFame = reader.ReadDouble(); LastTierLoss = reader.ReadDeltaTime(); LastChampionTierLoss = reader.ReadDeltaTime(); LastSuperChampionTierLoss = reader.ReadDeltaTime(); int length_super = reader.ReadInt(); for ( int i = 0; i < length_super; i++ ) SuperChampionTiers[i] = reader.ReadInt(); int length = reader.ReadInt(); for ( int i = 0; i < length; i++ ) ChampionTiers[i] = reader.ReadDouble(); m_LastValorLoss = reader.ReadDeltaTime(); m_LastHonorLoss = reader.ReadDeltaTime(); m_SolenFriendship = (SolenFriendship) reader.ReadEncodedInt(); 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 = reader.ReadDateTime(); m_DoneQuests.Add( new QuestRestartInfo( questType, restartTime ) ); } } m_Profession = reader.ReadEncodedInt(); m_LastCompassionLoss = reader.ReadDeltaTime(); m_CompassionGains = reader.ReadEncodedInt(); if ( m_CompassionGains > 0 ) m_NextCompassionDay = reader.ReadDeltaTime(); m_BOBFilter = new Engines.BulkOrders.BOBFilter( reader ); if ( reader.ReadBool() ) { m_HairModID = reader.ReadInt(); m_HairModHue = reader.ReadInt(); m_BeardModID = reader.ReadInt(); m_BeardModHue = reader.ReadInt(); // We cannot call SetHairMods( -1, -1 ) here because the items have not yet loaded Timer.DelayCall( TimeSpan.Zero, new TimerCallback( RevertHair ) ); } SavagePaintExpiration = reader.ReadTimeSpan(); if ( SavagePaintExpiration > TimeSpan.Zero ) { BodyMod = ( Female ? 184 : 183 ); HueMod = 0; } m_NpcGuild = (NpcGuild) reader.ReadInt(); m_NpcGuildJoinTime = reader.ReadDateTime(); m_NpcGuildGameTime = reader.ReadTimeSpan(); m_PermaFlags = reader.ReadMobileList(); NextTailorBulkOrder = reader.ReadTimeSpan(); NextSmithBulkOrder = reader.ReadTimeSpan(); m_LastJusticeLoss = reader.ReadDeltaTime(); m_JusticeProtectors = reader.ReadMobileList(); m_LastSacrificeGain = reader.ReadDeltaTime(); m_LastSacrificeLoss = reader.ReadDeltaTime(); m_AvailableResurrects = reader.ReadInt(); m_Flags = (PlayerFlag) reader.ReadInt(); m_LongTermElapse = reader.ReadTimeSpan(); m_ShortTermElapse = reader.ReadTimeSpan(); m_GameTime = reader.ReadTimeSpan(); break; } } #region ML Quest System if ( m_Quests == null ) m_Quests = new List<BaseQuest>(); if ( m_Chains == null ) m_Chains = new Dictionary<QuestChain, BaseChain>(); if ( m_DoneQuests == null ) m_DoneQuests = new List<QuestRestartInfo>(); #endregion if ( this != null && this.Region.IsPartOf( typeof( DoomLampRoom ) ) ) { Rectangle2D rect = new Rectangle2D( 342, 168, 16, 16 ); int x = Utility.Random( rect.X, rect.Width ); int y = Utility.Random( rect.Y, rect.Height ); if ( x >= 345 && x <= 352 && y >= 173 && y <= 179 ) { x = 353; y = 172; } this.MoveToWorld( new Point3D( x, y, -1 ), Map.Malas ); } // Professions weren't verified on 1.0 RC0 if ( !CharacterCreation.VerifyProfession( m_Profession ) ) m_Profession = 0; if ( m_PermaFlags == null ) m_PermaFlags = new ArrayList(); if ( m_JusticeProtectors == null ) m_JusticeProtectors = new ArrayList(); if ( m_BOBFilter == null ) m_BOBFilter = new Engines.BulkOrders.BOBFilter(); if ( m_LoyaltyInfo == null ) m_LoyaltyInfo = new LoyaltyInfo(); if ( m_TieredQuestInfo == null ) m_TieredQuestInfo = new TieredQuestInfo(); 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; } if ( Hidden ) // Hiding is the only buff where it has an effect that's serialized. this.AddBuff( new BuffInfo( BuffIcon.HidingAndOrStealth, 1075655 ) ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 8: { m_Identified = reader.ReadMobileList(); goto case 7; } case 7: case 6: case 5: { SaveFlag flags = (SaveFlag)reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.Attributes ) ) m_AosAttributes = new AosAttributes( this, reader ); else m_AosAttributes = new AosAttributes( this ); if ( GetSaveFlag( flags, SaveFlag.ArmorAttributes ) ) m_AosArmorAttributes = new AosArmorAttributes( this, reader ); else m_AosArmorAttributes = new AosArmorAttributes( this ); if ( GetSaveFlag( flags, SaveFlag.PhysicalBonus ) ) m_PhysicalBonus = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.FireBonus ) ) m_FireBonus = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.ColdBonus ) ) m_ColdBonus = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.PoisonBonus ) ) m_PoisonBonus = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.EnergyBonus ) ) m_EnergyBonus = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.Identified ) && version < 7 ) reader.ReadBool(); //m_Identified = ( version >= 7 || reader.ReadBool() ); if ( GetSaveFlag( flags, SaveFlag.MaxHitPoints ) ) m_MaxHitPoints = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.HitPoints ) ) m_HitPoints = reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.Crafter ) ) m_Crafter = reader.ReadMobile(); if ( GetSaveFlag( flags, SaveFlag.Quality ) ) m_Quality = (CraftQuality)reader.ReadEncodedInt(); else m_Quality = CraftQuality.Regular; if ( version == 5 && m_Quality == CraftQuality.Low ) m_Quality = CraftQuality.Regular; if ( GetSaveFlag( flags, SaveFlag.Durability ) ) m_Durability = (DurabilityLevel)reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.Protection ) ) m_Protection = (ArmorProtectionLevel)reader.ReadEncodedInt(); if ( GetSaveFlag( flags, SaveFlag.BaseArmor ) ) m_ArmorBase = reader.ReadEncodedInt(); else m_ArmorBase = -1; if ( GetSaveFlag( flags, SaveFlag.StrBonus ) ) m_StrBonus = reader.ReadEncodedInt(); else m_StrBonus = -1; if ( GetSaveFlag( flags, SaveFlag.DexBonus ) ) m_DexBonus = reader.ReadEncodedInt(); else m_DexBonus = -1; if ( GetSaveFlag( flags, SaveFlag.IntBonus ) ) m_IntBonus = reader.ReadEncodedInt(); else m_IntBonus = -1; if ( GetSaveFlag( flags, SaveFlag.StrReq ) ) m_StrReq = reader.ReadEncodedInt(); else m_StrReq = -1; if ( GetSaveFlag( flags, SaveFlag.DexReq ) ) m_DexReq = reader.ReadEncodedInt(); else m_DexReq = -1; if ( GetSaveFlag( flags, SaveFlag.IntReq ) ) m_IntReq = reader.ReadEncodedInt(); else m_IntReq = -1; if ( GetSaveFlag( flags, SaveFlag.MedAllowance ) ) m_Meditate = (AMA)reader.ReadEncodedInt(); else m_Meditate = (AMA)(-1); if ( GetSaveFlag( flags, SaveFlag.SkillBonuses ) ) m_AosSkillBonuses = new AosSkillBonuses( this, reader ); if ( GetSaveFlag( flags, SaveFlag.PlayerConstructed ) ) m_PlayerConstructed = true; break; } case 4: { m_AosAttributes = new AosAttributes( this, reader ); m_AosArmorAttributes = new AosArmorAttributes( this, reader ); goto case 3; } case 3: { m_PhysicalBonus = reader.ReadInt(); m_FireBonus = reader.ReadInt(); m_ColdBonus = reader.ReadInt(); m_PoisonBonus = reader.ReadInt(); m_EnergyBonus = reader.ReadInt(); goto case 2; } case 2: case 1: { /*m_Identified = */reader.ReadBool(); goto case 0; } case 0: { m_ArmorBase = reader.ReadInt(); m_MaxHitPoints = reader.ReadInt(); m_HitPoints = reader.ReadInt(); m_Crafter = reader.ReadMobile(); m_Quality = (CraftQuality)reader.ReadInt(); m_Durability = (DurabilityLevel)reader.ReadInt(); m_Protection = (ArmorProtectionLevel)reader.ReadInt(); AMT mat = (AMT)reader.ReadInt(); if ( m_ArmorBase == RevertArmorBase ) m_ArmorBase = -1; /*m_BodyPos = (ArmorBodyType)*/reader.ReadInt(); if ( version < 4 ) { m_AosAttributes = new AosAttributes( this ); m_AosArmorAttributes = new AosArmorAttributes( this ); } if ( version < 3 && m_Quality == CraftQuality.Exceptional ) DistributeBonuses( 6 ); m_StrBonus = reader.ReadInt(); m_DexBonus = reader.ReadInt(); m_IntBonus = reader.ReadInt(); m_StrReq = reader.ReadInt(); m_DexReq = reader.ReadInt(); m_IntReq = reader.ReadInt(); if ( m_StrBonus == OldStrBonus ) m_StrBonus = -1; if ( m_DexBonus == OldDexBonus ) m_DexBonus = -1; if ( m_IntBonus == OldIntBonus ) m_IntBonus = -1; if ( m_StrReq == OldStrReq ) m_StrReq = -1; if ( m_DexReq == OldDexReq ) m_DexReq = -1; if ( m_IntReq == OldIntReq ) m_IntReq = -1; m_Meditate = (AMA)reader.ReadInt(); if ( m_Meditate == OldMedAllowance ) m_Meditate = (AMA)(-1); if ( m_MaxHitPoints == 0 && m_HitPoints == 0 ) m_HitPoints = m_MaxHitPoints = Utility.RandomMinMax( InitMinHits, InitMaxHits ); break; } } if ( m_AosSkillBonuses == null ) m_AosSkillBonuses = new AosSkillBonuses( this ); if ( Core.AOS && Parent is Mobile ) m_AosSkillBonuses.AddTo( (Mobile)Parent ); int strBonus = ComputeStatBonus( StatType.Str ); int dexBonus = ComputeStatBonus( StatType.Dex ); int intBonus = ComputeStatBonus( StatType.Int ); 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(); if ( version < 7 ) m_PlayerConstructed = true; // we don't know, so, assume it's crafted }
public override void Deserialize( GenericReader reader ) { var version = reader.ReadInt(); switch ( version ) { case 7: { if (m_AllianceListeners != null) m_AllianceListeners = reader.ReadMobileList(); else { m_AllianceListeners = new ArrayList(); m_AllianceListeners = reader.ReadMobileList(); } goto case 6; } case 6: { if (m_Listeners != null) m_Listeners = reader.ReadMobileList(); else { m_Listeners = new ArrayList(); m_Listeners = reader.ReadMobileList(); } goto case 5; } case 5: { var count = reader.ReadInt(); m_PendingWars = new List<WarDeclaration>(); for( var i = 0; i < count; i++ ) { m_PendingWars.Add( new WarDeclaration( reader ) ); } count = reader.ReadInt(); m_AcceptedWars = new List<WarDeclaration>(); for( var i = 0; i < count; i++ ) { m_AcceptedWars.Add( new WarDeclaration( reader ) ); } var isAllianceLeader = reader.ReadBool(); if( isAllianceLeader ) m_AllianceInfo = new AllianceInfo( reader ); else m_AllianceLeader = reader.ReadGuild() as Guild; goto case 4; } case 4: { m_AllyDeclarations = reader.ReadStrongGuildList<Guild>(); m_AllyInvitations = reader.ReadStrongGuildList<Guild>(); 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(); if( m_Leader is PlayerMobile ) ((PlayerMobile)m_Leader).GuildRank = RankDefinition.Leader; m_Name = reader.ReadString(); m_Abbreviation = reader.ReadString(); m_Allies = reader.ReadStrongGuildList<Guild>(); m_Enemies = reader.ReadStrongGuildList<Guild>(); m_WarDeclarations = reader.ReadStrongGuildList<Guild>(); m_WarInvitations = reader.ReadStrongGuildList<Guild>(); m_Members = reader.ReadStrongMobileList(); m_Candidates = reader.ReadStrongMobileList(); m_Accepted = reader.ReadStrongMobileList(); m_Guildstone = reader.ReadItem(); m_Teleporter = reader.ReadItem(); m_Charter = reader.ReadString(); m_Website = reader.ReadString(); break; } } if ( m_AllyDeclarations == null ) m_AllyDeclarations = new List<Guild>(); if ( m_AllyInvitations == null ) m_AllyInvitations = new List<Guild>(); if ( m_AcceptedWars == null ) m_AcceptedWars = new List<WarDeclaration>(); if ( m_PendingWars == null ) m_PendingWars = new List<WarDeclaration>(); /* if ( ( !NewGuildSystem && m_Guildstone == null )|| m_Members.Count == 0 ) Disband(); */ Timer.DelayCall( TimeSpan.Zero, new TimerCallback( VerifyGuild_Callback ) ); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Town = (TownStone)reader.ReadItem(); m_Payeurs = reader.ReadMobileList(); m_HistoPayeurs = reader.ReadMobileList(); m_Retard_1 = reader.ReadMobileList(); m_Retard_2 = reader.ReadMobileList(); m_Taxe = reader.ReadInt(); m_CaisseVille = reader.ReadInt(); m_CaisseGarde = reader.ReadInt(); m_EndDate = reader.ReadDateTime(); m_TaxeTimer = new TaxeTimer(m_Town, m_EndDate - DateTime.Now); m_TaxeTimer.Start(); m_Delay = reader.ReadTimeSpan(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Title = reader.ReadString(); if (reader.ReadBool()) m_Greeting = new BulletinBoardMessage(reader); int count = reader.ReadEncodedInt(); m_Messages = new List<BulletinBoardMessage>(count); for (int i = 0; i < count; ++i) m_Messages.Add(new BulletinBoardMessage(reader)); if (m_BannedPlayers != null) m_BannedPlayers = reader.ReadMobileList(); else { m_BannedPlayers = new ArrayList(); m_BannedPlayers = reader.ReadMobileList(); } break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Spawns = reader.ReadMobileList(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_Exit2Dest = reader.ReadPoint3D(); m_Exit3Dest = reader.ReadPoint3D(); m_Exit4Dest = reader.ReadPoint3D(); m_Players = new ArrayList(); m_WinnersPrizes = new ArrayList(); m_Players = reader.ReadMobileList(); m_Active = reader.ReadBool(); m_Team1 = reader.ReadInt(); m_Team2 = reader.ReadInt(); m_Team3 = reader.ReadInt(); m_Team4 = reader.ReadInt(); m_MapDest = reader.ReadMap(); m_Team1Dest = reader.ReadPoint3D(); m_Team2Dest = reader.ReadPoint3D(); m_Team3Dest = reader.ReadPoint3D(); m_Team4Dest = reader.ReadPoint3D(); m_Exit1Dest = reader.ReadPoint3D(); m_Teams = reader.ReadInt(); m_PBScoreBoard = reader.ReadItem() as PBScoreBoard; int count = reader.ReadInt(); for( int i = 0; i < count; i++ ) m_WinnersPrizes.Add( reader.ReadItem() ); m_Active = false; m_Timer = new PBTimer( this ); break; } } }