Exemplo n.º 1
1
		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();
        }
Exemplo n.º 2
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
			
			m_Villes = reader.ReadItemList();
		}
Exemplo n.º 3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            eventItems   = reader.ReadItemList();
            eventMobiles = reader.ReadMobileList();
        }
Exemplo n.º 4
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadEncodedInt();

            m_Charges   = reader.ReadEncodedInt();
            m_Receivers = reader.ReadItemList();
        }
Exemplo n.º 5
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            Persist   = (BlueSpawnerPersistence)reader.ReadItem();
            BlueStuff = (ArrayList)reader.ReadItemList();
            new MindflayerRegion();
        }
Exemplo n.º 6
0
        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;
            }
            }
        }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
        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;
        }
Exemplo n.º 9
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            /*int version = */
            reader.ReadInt();

            m_Components = reader.ReadItemList();

            AddonComponent.ApplyLightTo(this);
        }
Exemplo n.º 10
0
        // 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;
            }
            }
        }
Exemplo n.º 11
0
        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 );
        }
Exemplo n.º 12
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version > 0)
            {
                m_BagBoundToPlayer = reader.ReadMobile();
            }
            m_Serials = reader.ReadItemList();
        }
Exemplo n.º 13
0
        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();
            }
        }
Exemplo n.º 14
0
        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));
            }
        }
Exemplo n.º 15
0
        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();
        }
Exemplo n.º 16
0
        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();
            }
        }
Exemplo n.º 17
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            SavedInformation = reader.ReadItemList();

            if (version >= 1)
            {
                m_SafeGuards = reader.ReadBool();
            }
        }
Exemplo n.º 18
0
        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;
            }
            }
        }
Exemplo n.º 19
0
        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;
            }
            }
        }
Exemplo n.º 20
0
        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;
            }
            }
        }
Exemplo n.º 21
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Components = reader.ReadItemList();
                break;
            }
            }
        }
Exemplo n.º 22
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Books = reader.ReadItemList();
                ManageLockDowns();
                break;
            }
            }
        }
Exemplo n.º 23
0
        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();
        }
Exemplo n.º 24
0
        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;
            }
            }
        }
Exemplo n.º 25
0
        /// <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;
            }
        }
Exemplo n.º 26
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();

            switch ( version )
            {
                case 0:
                    {
                        m_Components = reader.ReadItemList();

                        break;
                    }
            }

            Delete();
        }
Exemplo n.º 27
0
        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;
            }
            }
        }
Exemplo n.º 28
0
        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;
            }
            }
        }
Exemplo n.º 29
0
        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();
                }
            }
        }
Exemplo n.º 30
0
            /// <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;
                }
                }
            }
Exemplo n.º 31
0
        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;
            }
            }
        }
Exemplo n.º 32
0
		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;
				}
			}

	}
Exemplo n.º 33
0
        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 );
        }
Exemplo n.º 34
0
        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;
                    }
            }
        }
Exemplo n.º 35
0
        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();
            }

        }
Exemplo n.º 37
0
        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));
            }
        }
Exemplo n.º 38
0
        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;
            }
            }
        }
Exemplo n.º 39
0
		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 );
					
					
					
				
			
		
		}
Exemplo n.º 40
0
        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();                    
                }
            }
        }
Exemplo n.º 41
0
        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;
                    }
            }
        }
Exemplo n.º 42
0
		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;
				}
			}
		}
Exemplo n.º 43
0
 public override void Deserialize(GenericReader reader)
 {
     base.Deserialize(reader);
     int version = reader.ReadInt();
     eventItems = reader.ReadItemList();
     eventMobiles = reader.ReadMobileList();
 }
Exemplo n.º 44
0
		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;
					}
			}
		}
Exemplo n.º 45
0
        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);
        }
Exemplo n.º 46
0
		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 ) );
			}
		}