public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { reader.ReadItemList(); goto case 0; } case 0: { reader.ReadBool(); reader.ReadItemList(); reader.ReadItemList(); reader.ReadItemList(); reader.ReadItemList(); reader.ReadItemList(); reader.ReadTimeSpan(); reader.ReadInt(); break; } } DeleteAll(); Delete(); }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); m_Villes = reader.ReadItemList(); }
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.ReadEncodedInt(); m_Charges = reader.ReadEncodedInt(); m_Receivers = reader.ReadItemList(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); Persist = (BlueSpawnerPersistence)reader.ReadItem(); BlueStuff = (ArrayList)reader.ReadItemList(); new MindflayerRegion(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Region = new HouseRegion(this); switch (version) { case 0: { m_KeyValue = reader.ReadUInt(); m_Visits = reader.ReadInt(); m_Price = reader.ReadInt(); m_BuiltOn = reader.ReadDateTime(); m_LastTraded = reader.ReadDateTime(); m_Public = reader.ReadBool(); m_Region.GoLocation = reader.ReadPoint3D(); if (version < 8) { m_Price = DefaultPrice; } m_Owner = reader.ReadMobile(); UpdateRegionArea(); Region.AddRegion(m_Region); m_Sign = reader.ReadItem() as HouseSign; m_Trash = reader.ReadItem() as TrashBarrel; m_Doors = reader.ReadItemList(); m_Addons = reader.ReadItemList(); if ((Map == null || Map == Map.Internal) && Location == Point3D.Zero) { Delete(); } break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadEncodedInt(); m_Charges = reader.ReadEncodedInt(); m_Receivers = reader.ReadItemList(); m_Sender = (BroadcastCrystal)reader.ReadItem(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Code = ""; m_PuzzleCode = ""; m_PuzzleCode = GenerateCode(m_PuzzleCode); m_Levers = reader.ReadItemList(); m_Statues = reader.ReadItemList(); m_Pads = reader.ReadItemList(); m_Box = reader.ReadItem() as PuzzleBox; m_CanActive = true; m_Box.CanSummon = true; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); /*int version = */ reader.ReadInt(); m_Components = reader.ReadItemList(); AddonComponent.ApplyLightTo(this); }
// Cosntructor called from ChampEngie.Deserialize() to recreate gfx public ChampGraphics(ChampEngine champ, GenericReader reader) { int ver = reader.ReadInt(); switch (ver) { case 0: { //Alows re-creation of serialised graphics m_Champ = champ; m_Platform = reader.ReadItem() as ChampPlatform; m_Altar = reader.ReadItem() as ChampAltar; m_RedSkulls = reader.ReadItemList(); m_WhiteSkulls = reader.ReadItemList(); m_AltarHue = reader.ReadInt(); //rehue m_Altar.Hue = m_AltarHue; 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(); if (version > 0) { m_BagBoundToPlayer = reader.ReadMobile(); } m_Serials = reader.ReadItemList(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: case 2: { m_Guardians = reader.ReadStrongMobileList(); 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(); if (version < 3) { reader.ReadItemList(); } if (version < 2) { m_Guardians = new List <Mobile>(); } 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_Active = reader.ReadBool(); m_AllSpawn = reader.ReadItemList(); m_DungeonsSpawn = reader.ReadItemList(); m_LostLandsSpawn = reader.ReadItemList(); m_IlshenarSpawn = reader.ReadItemList(); m_TokunoSpawn = reader.ReadItemList(); m_ActiveAltars = reader.ReadInt(); if (m_Active) { Timer.DelayCall(TimeSpan.Zero, new TimerCallback(Slice)); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Active = reader.ReadBool(); m_AllSpawn = reader.ReadItemList(); m_DungeonsSpawn = reader.ReadItemList(); m_LostLandsSpawn = reader.ReadItemList(); m_IlshenarSpawn = reader.ReadItemList(); m_TokunoSpawn = reader.ReadItemList(); m_MalasSpawn = reader.ReadItemList(); m_RandomizeDelay = reader.ReadTimeSpan(); m_ActiveAltars = reader.ReadInt(); m_ExpireDelay = TimeSpan.FromMinutes(10.0); m_RestartDelay = TimeSpan.FromMinutes(5.0); if (m_Active) { m_Timer = new RandomizeTimer(this, m_RandomizeDelay); m_Timer.Start(); } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); SavedInformation = reader.ReadItemList(); if (version >= 1) { m_SafeGuards = reader.ReadBool(); } }
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(); switch (version) { case 3: { goto case 2; } case 2: case 1: { m_Level = (SecureLevel)reader.ReadInt(); goto case 0; } case 0: { m_Active = reader.ReadBool(); m_Multiplier = reader.ReadDouble(); m_Charges = reader.ReadInt(); if (version < 3) { //m_Connected = reader.ReadItemList(); ArrayList list = reader.ReadItemList(); m_Connected = new List <Serial>(list.Count); for (int i = 0; i < list.Count; i++) { CommunicationCrystal cc = list[i] as CommunicationCrystal; if (cc != null) { m_Connected.Add(cc.Serial); } } } else { m_Connected = ItemBroker.ReadSerialList(reader); } m_TextHue = reader.ReadInt(); break; } } }
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 0: { m_Components = reader.ReadItemList(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Books = reader.ReadItemList(); ManageLockDowns(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); LCSSpawn = reader.ReadBool(); m_Generated = reader.ReadBool(); m_EnableLevelSystem = reader.ReadBool(); m_AllowSkillPts = reader.ReadBool(); m_AllowAging = reader.ReadBool(); m_AllowExp = reader.ReadBool(); m_LevelKeepers = reader.ReadItemList(); m_AllowSPRewardSystem = reader.ReadBool(); m_AllowEXPRewardSystem = reader.ReadBool(); m_ServerName = reader.ReadString(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 2: { m_TerMurSpawn = reader.ReadItemList(); goto case 1; } case 1: { m_MalasSpawn = reader.ReadItemList(); //m_TerMurSpawn = reader.ReadItemList(); goto case 0; } case 0: { m_Active = reader.ReadBool(); m_AllSpawn = reader.ReadItemList(); m_DungeonsSpawn = reader.ReadItemList(); m_LostLandsSpawn = reader.ReadItemList(); m_IlshenarSpawn = reader.ReadItemList(); m_TokunoSpawn = reader.ReadItemList(); m_RandomizeDelay = reader.ReadTimeSpan(); m_ActiveAltars = reader.ReadInt(); //m_SpawnRange = 24; m_ExpireDelay = TimeSpan.FromMinutes(10.0); m_RestartDelay = TimeSpan.FromMinutes(15.0); if (m_Active) { m_Timer = new RandomizeTimer(this, m_RandomizeDelay); m_Timer.Start(); } 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 1: { m_CitySpawners = new Queue <Spawner>(reader.ReadItemList <Spawner>()); goto case 0; } case 0: break; } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_Components = reader.ReadItemList(); break; } } Delete(); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_Items = reader.ReadItemList(); m_Mobiles = reader.ReadMobileList(); m_DecayTime = reader.ReadDeltaTime(); RefreshDecay(false); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { goto case 0; } case 0: { m_Lifted = reader.ReadItemList(); m_IOBAlignment = (IOBAlignment)reader.ReadInt(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { if (reader.ReadBool()) { House = reader.ReadItem() as BaseHouse; } goto case 0; } case 0: { Placer = reader.ReadMobile(); Price = reader.ReadInt(); Pieces = new List <YardPiece>(); foreach (YardPiece item in reader.ReadItemList()) { Pieces.Add(item); } break; } } if (House == null) { FindHouseOfPlacer(); if (House == null) { Refund(); } } }
/// <summary> /// Serial ctor /// </summary> /// <param name="reader"></param> public BeneficiaryData(GenericReader reader) { int version = reader.ReadInt(); switch (version) { case 1: { m_UnassignedGuardSlots = reader.ReadInt(); m_GuardPosts = reader.ReadItemList <KinGuardPost>(); goto case 0; } case 0: { m_Pm = (PlayerMobile)reader.ReadMobile(); m_Votes = reader.ReadInt(); m_HasVoted = reader.ReadBool(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { m_RegionBounds = reader.ReadRect2D(); m_Traps = reader.ReadItemList(); goto case 0; } case 0: { if (version < 1) { m_Traps = new ArrayList(); m_RegionBounds = new Rectangle2D(X - 40, Y - 40, 80, 80); } m_Creatures = reader.ReadMobileList(); m_TypeName = reader.ReadString(); m_Door = reader.ReadItem() as BaseDoor; m_Addon = reader.ReadItem() as BaseAddon; m_Sequence = reader.ReadItem() as GauntletSpawner; State = (GauntletSpawnerState)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 ) { int version = reader.ReadInt(); switch ( version ) { case 5: case 4: { m_Signpost = reader.ReadItem(); m_SignpostGraphic = reader.ReadInt(); goto case 3; } case 3: { m_Type = (FoundationType) reader.ReadInt(); goto case 2; } case 2: { m_SignHanger = reader.ReadItem(); goto case 1; } case 1: { if ( version < 5 ) m_DefaultPrice = reader.ReadInt(); goto case 0; } case 0: { if ( version < 3 ) m_Type = FoundationType.Stone; if ( version < 4 ) m_SignpostGraphic = 9; m_LastRevision = reader.ReadInt(); m_Fixtures = reader.ReadItemList(); m_Current = new DesignState( this, reader ); m_Design = new DesignState( this, reader ); m_Backup = new DesignState( this, reader ); break; } } base.Deserialize( reader ); }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_ScoreInterval = reader.ReadEncodedInt(); m_Duration = reader.ReadTimeSpan(); m_Boards = reader.ReadItemList(); m_Hills = new HillOfTheKing[reader.ReadEncodedInt()]; for (int i = 0; i < m_Hills.Length; ++i) m_Hills[i] = reader.ReadItem() as HillOfTheKing; m_TeamInfo = new KHTeamInfo[reader.ReadEncodedInt()]; for (int i = 0; i < m_TeamInfo.Length; ++i) m_TeamInfo[i] = new KHTeamInfo(i, reader); break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 2: { BodyMod = reader.ReadInt(); goto case 1; } case 1: { m_Items = reader.ReadItemList(); break; } case 0: { m_Items = new ArrayList(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_ArenaList = reader.ReadItemList(); if (version == 2) { m_GateSpot = reader.ReadPoint3D(); } }
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(); switch (version) { case 3: { m_IsValorUsed = reader.ReadBool(); m_Idol = reader.ReadItem() as ChampionIdol; goto case 2; } case 2: { m_RandomizeType = reader.ReadBool(); goto case 1; } case 1: { m_SpawnRange = reader.ReadInt(); m_Kills = reader.ReadInt(); goto case 0; } case 0: { if (version < 1) { m_SpawnRange = 24; } bool active = reader.ReadBool(); m_Type = (ChampionSpawnType)reader.ReadInt(); m_Creatures = reader.ReadMobileList(); m_RedSkulls = reader.ReadItemList(); m_WhiteSkulls = reader.ReadItemList(); m_Platform = reader.ReadItem() as ChampionPlatform; m_Altar = reader.ReadItem() as ChampionAltar; m_ExpireDelay = reader.ReadTimeSpan(); m_ExpireTime = reader.ReadDeltaTime(); m_Champion = reader.ReadMobile(); m_RestartDelay = reader.ReadTimeSpan(); if (reader.ReadBool()) { m_RestartTime = reader.ReadDeltaTime(); BeginRestart(m_RestartTime - DateTime.Now); } if (m_Platform == null || m_Altar == null) { Delete(); } else if (active) { Start(); } 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(); switch (version) { case 1: { if (reader.ReadBool()) { House = reader.ReadItem() as BaseHouse; } goto case 0; } case 0: { Placer = reader.ReadMobile(); Price = reader.ReadInt(); Pieces = new List<YardPiece>(); foreach (YardPiece item in reader.ReadItemList()) { Pieces.Add(item); } break; } } if (House == null) { FindHouseOfPlacer(); if (House == null) { Refund(); } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 1: { this.m_MalasSpawn = reader.ReadItemList(); goto case 0; } case 0: { this.m_Active = reader.ReadBool(); this.m_AllSpawn = reader.ReadItemList(); this.m_DungeonsSpawn = reader.ReadItemList(); this.m_LostLandsSpawn = reader.ReadItemList(); this.m_IlshenarSpawn = reader.ReadItemList(); this.m_TokunoSpawn = reader.ReadItemList(); this.m_RandomizeDelay = reader.ReadTimeSpan(); this.m_ActiveAltars = reader.ReadInt(); //m_SpawnRange = 24; this.m_ExpireDelay = TimeSpan.FromMinutes(10.0); this.m_RestartDelay = TimeSpan.FromMinutes(5.0); if (this.m_Active) { this.m_Timer = new RandomizeTimer(this, this.m_RandomizeDelay); this.m_Timer.Start(); } break; } } }
public override void Deserialize( GenericReader reader ) { base.Deserialize( reader ); int version = reader.ReadInt(); switch ( version ) { case 0: { m_Placer = reader.ReadMobile(); m_Value = reader.ReadInt(); m_Components = reader.ReadItemList(); break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); bool haveproximityrange = false; bool hasnewobjectinfo = false; int tmpSpawnListSize = 0; ArrayList tmpSubGroup = null; ArrayList tmpSequentialResetTime = null; ArrayList tmpSequentialResetTo = null; ArrayList tmpKillsNeeded = null; ArrayList tmpRequireSurface = null; ArrayList tmpRestrictKillsToSubgroup = null; ArrayList tmpClearOnAdvance = null; ArrayList tmpMinDelay = null; ArrayList tmpMaxDelay = null; ArrayList tmpNextSpawn = null; ArrayList tmpDisableSpawn = null; ArrayList tmpPackRange = null; ArrayList tmpSpawnsPer = null; switch (version) { case 30: { m_AllowNPCTriggering = reader.ReadBool(); goto case 29; } case 29: { tmpSpawnListSize = reader.ReadInt(); tmpSpawnsPer = new ArrayList(tmpSpawnListSize); for (int i = 0; i < tmpSpawnListSize; ++i) { int spawnsper = reader.ReadInt(); tmpSpawnsPer.Add(spawnsper); } goto case 28; } case 28: { if (version < 29) { tmpSpawnListSize = reader.ReadInt(); } tmpPackRange = new ArrayList(tmpSpawnListSize); for (int i = 0; i < tmpSpawnListSize; ++i) { int packrange = reader.ReadInt(); tmpPackRange.Add(packrange); } goto case 27; } case 27: { if (version < 28) { tmpSpawnListSize = reader.ReadInt(); } tmpDisableSpawn = new ArrayList(tmpSpawnListSize); for (int i = 0; i < tmpSpawnListSize; ++i) { bool disablespawn = reader.ReadBool(); tmpDisableSpawn.Add(disablespawn); } goto case 26; } case 26: { m_SpawnOnTrigger = reader.ReadBool(); m_FirstModified = reader.ReadDateTime(); m_LastModified = reader.ReadDateTime(); goto case 25; } case 25: { goto case 24; } case 24: { if (version < 27) { tmpSpawnListSize = reader.ReadInt(); } tmpRestrictKillsToSubgroup = new ArrayList(tmpSpawnListSize); tmpClearOnAdvance = new ArrayList(tmpSpawnListSize); tmpMinDelay = new ArrayList(tmpSpawnListSize); tmpMaxDelay = new ArrayList(tmpSpawnListSize); tmpNextSpawn = new ArrayList(tmpSpawnListSize); for (int i = 0; i < tmpSpawnListSize; ++i) { bool restrictkills = reader.ReadBool(); bool clearadvance = reader.ReadBool(); double mind = reader.ReadDouble(); double maxd = reader.ReadDouble(); DateTime nextspawn = reader.ReadDeltaTime(); tmpRestrictKillsToSubgroup.Add(restrictkills); tmpClearOnAdvance.Add(clearadvance); tmpMinDelay.Add(mind); tmpMaxDelay.Add(maxd); tmpNextSpawn.Add(nextspawn); } bool hasitems = reader.ReadBool(); if (hasitems) { m_ShowBoundsItems = reader.ReadItemList(); } goto case 23; } case 23: { IsInactivated = reader.ReadBool(); SmartSpawning = reader.ReadBool(); goto case 22; } case 22: { SkillTrigger = reader.ReadString(); // note this will also register the skill m_skill_that_triggered = (SkillName)reader.ReadInt(); m_FreeRun = reader.ReadBool(); m_mob_who_triggered = reader.ReadMobile(); goto case 21; } case 21: { m_DespawnTime = reader.ReadTimeSpan(); goto case 20; } case 20: { if (version < 24) { tmpSpawnListSize = reader.ReadInt(); } tmpRequireSurface = new ArrayList(tmpSpawnListSize); for (int i = 0; i < tmpSpawnListSize; ++i) { bool requiresurface = reader.ReadBool(); tmpRequireSurface.Add(requiresurface); } goto case 19; } case 19: { m_ConfigFile = reader.ReadString(); m_OnHold = reader.ReadBool(); m_HoldSequence = reader.ReadBool(); m_FirstModifiedBy = reader.ReadString(); m_LastModifiedBy = reader.ReadString(); // deserialize the keyword tag list int tagcount = reader.ReadInt(); m_KeywordTagList = new ArrayList(tagcount); for (int i = 0; i < tagcount; i++) { BaseXmlSpawner.KeywordTag tag = new BaseXmlSpawner.KeywordTag(null, this); tag.Deserialize(reader); } goto case 18; } case 18: { m_AllowGhostTriggering = reader.ReadBool(); goto case 17; } case 17: { if (version < 25) { // the textentrybooks are deleted on deserialization so no need to track them reader.ReadItem(); } goto case 16; } case 16: { hasnewobjectinfo = true; m_SequentialSpawning = reader.ReadInt(); TimeSpan seqdelay = reader.ReadTimeSpan(); m_SeqEnd = DateTime.UtcNow + seqdelay; if (version < 20) { tmpSpawnListSize = reader.ReadInt(); } tmpSubGroup = new ArrayList(tmpSpawnListSize); tmpSequentialResetTime = new ArrayList(tmpSpawnListSize); tmpSequentialResetTo = new ArrayList(tmpSpawnListSize); tmpKillsNeeded = new ArrayList(tmpSpawnListSize); for (int i = 0; i < tmpSpawnListSize; ++i) { int subgroup = reader.ReadInt(); double resettime = reader.ReadDouble(); int resetto = reader.ReadInt(); int killsneeded = reader.ReadInt(); tmpSubGroup.Add(subgroup); tmpSequentialResetTime.Add(resettime); tmpSequentialResetTo.Add(resetto); tmpKillsNeeded.Add(killsneeded); } m_RegionName = reader.ReadString(); // 2004.02.08 :: Omega Red goto case 15; } case 15: { m_ExternalTriggering = reader.ReadBool(); m_ExternalTrigger = reader.ReadBool(); goto case 14; } case 14: { m_NoItemTriggerName = reader.ReadString(); goto case 13; } case 13: { m_GumpState = reader.ReadString(); goto case 12; } case 12: { int todtype = reader.ReadInt(); switch (todtype) { case (int)TODModeType.Gametime: m_TODMode = TODModeType.Gametime; break; case (int)TODModeType.Realtime: m_TODMode = TODModeType.Realtime; break; } goto case 11; } case 11: { m_KillReset = reader.ReadInt(); m_skipped = reader.ReadBool(); m_spawncheck = reader.ReadInt(); goto case 10; } case 10: { m_SetPropertyItem = reader.ReadItem(); goto case 9; } case 9: { m_TriggerProbability = reader.ReadDouble(); goto case 8; } case 8: { m_MobPropertyName = reader.ReadString(); m_MobTriggerName = reader.ReadString(); m_PlayerPropertyName = reader.ReadString(); goto case 7; } case 7: { m_SpeechTrigger = reader.ReadString(); goto case 6; } case 6: { m_ItemTriggerName = reader.ReadString(); goto case 5; } case 5: { m_ProximityTriggerMessage = reader.ReadString(); m_ObjectPropertyItem = reader.ReadItem(); m_ObjectPropertyName = reader.ReadString(); m_killcount = reader.ReadInt(); goto case 4; } case 4: { haveproximityrange = true; m_ProximityRange = reader.ReadInt(); m_ProximityTriggerSound = reader.ReadInt(); m_proximityActivated = reader.ReadBool(); m_durActivated = reader.ReadBool(); m_refractActivated = reader.ReadBool(); m_StackAmount = reader.ReadInt(); m_TODStart = reader.ReadTimeSpan(); m_TODEnd = reader.ReadTimeSpan(); m_MinRefractory = reader.ReadTimeSpan(); m_MaxRefractory = reader.ReadTimeSpan(); if (m_refractActivated) { TimeSpan delay = reader.ReadTimeSpan(); DoTimer3(delay); } if (m_durActivated) { TimeSpan delay = reader.ReadTimeSpan(); DoTimer2(delay); } goto case 3; } case 3: { m_ShowContainerStatic = reader.ReadItem() as Static; goto case 2; } case 2: { m_Duration = reader.ReadTimeSpan(); goto case 1; } case 1: { m_UniqueId = reader.ReadString(); m_HomeRangeIsRelative = reader.ReadBool(); goto case 0; } case 0: { m_Name = reader.ReadString(); // backward compatibility with old name storage if (m_Name != null && m_Name != String.Empty) { Name = m_Name; } m_X = reader.ReadInt(); m_Y = reader.ReadInt(); m_Width = reader.ReadInt(); m_Height = reader.ReadInt(); if (m_Width == m_Height) { m_SpawnRange = m_Width / 2; } else { m_SpawnRange = -1; } if (!haveproximityrange) { m_ProximityRange = -1; } m_WayPoint = reader.ReadItem() as WayPoint; m_Group = reader.ReadBool(); m_MinDelay = reader.ReadTimeSpan(); m_MaxDelay = reader.ReadTimeSpan(); m_Count = reader.ReadInt(); m_Team = reader.ReadInt(); m_HomeRange = reader.ReadInt(); m_Running = reader.ReadBool(); if (m_Running) { TimeSpan delay = reader.ReadTimeSpan(); DoTimer(delay); } // Read in the size of the spawn object list int SpawnListSize = reader.ReadInt(); m_SpawnObjects = new ArrayList(SpawnListSize); for (int i = 0; i < SpawnListSize; ++i) { string TypeName = reader.ReadString(); int TypeMaxCount = reader.ReadInt(); SpawnObject TheSpawnObject = new SpawnObject(TypeName, TypeMaxCount); m_SpawnObjects.Add(TheSpawnObject); string typeName = BaseXmlSpawner.ParseObjectType(TypeName); // does it have a substitution that might change its validity? // if so then let it go if (typeName == null || ((SpawnerType.GetType(typeName) == null) && (!BaseXmlSpawner.IsTypeOrItemKeyword(typeName) && typeName.IndexOf('{') == -1 && !typeName.StartsWith("*") && !typeName.StartsWith("#")))) { if (m_WarnTimer == null) { m_WarnTimer = new WarnTimer2(); } m_WarnTimer.Add(Location, Map, TypeName); status_str = "invalid type: " + typeName; } // Read in the number of spawns already int SpawnedCount = reader.ReadInt(); TheSpawnObject.SpawnedObjects = new ArrayList(SpawnedCount); for (int x = 0; x < SpawnedCount; ++x) { int serial = reader.ReadInt(); if (serial < -1) { // minusone is reserved for unknown types by default // minustwo on is used for referencing keyword tags int tagserial = -1 * (serial + 2); // get the tag with that serial and add it BaseXmlSpawner.KeywordTag t = BaseXmlSpawner.GetFromTagList(this, tagserial); if (t != null) { TheSpawnObject.SpawnedObjects.Add(t); } } else { IEntity e = World.FindEntity(serial); if (e != null) { TheSpawnObject.SpawnedObjects.Add(e); } } } } // now have to reintegrate the later version spawnobject information into the earlier version desered objects if (hasnewobjectinfo && tmpSpawnListSize == SpawnListSize) { for (int i = 0; i < SpawnListSize; ++i) { SpawnObject so = (SpawnObject)m_SpawnObjects[i]; so.SubGroup = (int)tmpSubGroup[i]; so.SequentialResetTime = (double)tmpSequentialResetTime[i]; so.SequentialResetTo = (int)tmpSequentialResetTo[i]; so.KillsNeeded = (int)tmpKillsNeeded[i]; if (version > 19) { so.RequireSurface = (bool)tmpRequireSurface[i]; } bool restrictkills = false; bool clearadvance = true; double mind = -1; double maxd = -1; DateTime nextspawn = DateTime.MinValue; if (version > 23) { restrictkills = (bool)tmpRestrictKillsToSubgroup[i]; clearadvance = (bool)tmpClearOnAdvance[i]; mind = (double)tmpMinDelay[i]; maxd = (double)tmpMaxDelay[i]; nextspawn = (DateTime)tmpNextSpawn[i]; } so.RestrictKillsToSubgroup = restrictkills; so.ClearOnAdvance = clearadvance; so.MinDelay = mind; so.MaxDelay = maxd; so.NextSpawn = nextspawn; bool disablespawn = false; if (version > 26) { disablespawn = (bool)tmpDisableSpawn[i]; } so.Disabled = disablespawn; int packrange = -1; if (version > 27) { packrange = (int)tmpPackRange[i]; } so.PackRange = packrange; int spawnsper = 1; if (version > 28) { spawnsper = (int)tmpSpawnsPer[i]; } so.SpawnsPerTick = spawnsper; } } break; } } }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); 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 ) { 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 ) ); } }