Exemple #1
1
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
                case 1:
                    {
                        TimeSpan duration = reader.ReadTimeSpan();

                        m_Timer = new InternalTimer(this, duration);
                        m_Timer.Start();

                        m_End = DateTime.Now + duration;

                        break;
                    }
                case 0:
                    {
                        TimeSpan duration = TimeSpan.FromSeconds(10.0);

                        m_Timer = new InternalTimer(this, duration);
                        m_Timer.Start();

                        m_End = DateTime.Now + duration;

                        break;
                    }
            }
        }
		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();
        }
Exemple #3
0
        public EnchantContext( GenericReader reader, BaseWeapon weapon )
        {
            m_Owner = reader.ReadMobile();
            m_Attribute = (WeaponAttribute) reader.ReadInt();
            m_SpellChanneling = reader.ReadBool();
            m_Timer = Timer.DelayCall( reader.ReadTimeSpan(), new TimerStateCallback<BaseWeapon>( EnchantSpell.RemoveEnchantContext ), weapon );

            weapon.EnchantContext = this;
        }
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					AccountAge = reader.ReadTimeSpan();
					break;
			}
		}
Exemple #5
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            b_switchon    = reader.ReadBool();
            t_autotime    = reader.ReadTimeSpan();
            t_RestartTime = reader.ReadDateTime();
            if (b_switchon)
            {
                I_Auto_Restarter tmr = new I_Auto_Restarter(this);
                tmr.Start();
            }
        }
Exemple #6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            /*int version = */
            reader.ReadInt();

            m_LifeSpan     = reader.ReadTimeSpan();
            m_CreationTime = reader.ReadDateTime();

            if (m_LifeSpan != TimeSpan.Zero)
            {
                m_Timer = Timer.DelayCall(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5), new TimerCallback(CheckExpiry));
            }
        }
Exemple #7
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_Deed = reader.ReadItem <HouseRaffleDeed>();

                goto case 0;
            }

            case 0:
            {
                m_Active = reader.ReadBool();

                m_Bounds = reader.ReadRect2D();
                m_Facet  = reader.ReadMap();

                m_Winner = reader.ReadMobile();

                m_TicketPrice = reader.ReadInt();
                m_Started     = reader.ReadDateTime();
                m_Duration    = reader.ReadTimeSpan();

                int entryCount = reader.ReadInt();
                m_Entries = new List <RaffleEntry>(entryCount);

                for (int i = 0; i < entryCount; i++)
                {
                    RaffleEntry entry = new RaffleEntry(reader, version);

                    if (entry.From == null)
                    {
                        continue;                                 // Character was deleted
                    }
                    m_Entries.Add(entry);
                }

                InvalidateRegion();

                m_AllStones.Add(this);

                break;
            }
            }
        }
Exemple #8
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version >= 0)
            {
                m_SpawnRange     = reader.ReadInt();
                m_NextSpawnDelay = reader.ReadTimeSpan();
            }

            m_NextSpawn = DateTime.Now;
        }
Exemple #9
0
		public DuelInfo(GenericReader reader)
		{
			int version = reader.ReadEncodedInt();

			switch (version)
			{
				case 0:
					{
						m_DuelTime = reader.ReadTimeSpan();
						m_AgainstList = reader.ReadStrongMobileList();
						break;
					}
			}
		}
Exemple #10
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
                Range = reader.ReadInt();
                goto case 0;

            case 0:
                // version 0
                Message        = reader.ReadString();
                ActivationWord = reader.ReadString();
                Charges        = reader.ReadInt();
                Refractory     = reader.ReadTimeSpan();
                TimeSpan remaining = reader.ReadTimeSpan();
                m_EndTime = DateTime.UtcNow + remaining;
                break;
            }
        }
Exemple #11
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            // version 0
            m_Word     = reader.ReadString();
            m_Skill    = (SkillName)reader.ReadInt();
            m_Value    = reader.ReadInt();
            m_Duration = reader.ReadTimeSpan();
            m_RequireIdentification = reader.ReadBool();
            m_Identified            = reader.ReadBool();
        }
Exemple #12
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var v = reader.GetVersion();

            if (v > 0)
            {
                MatchSuddenDeath = reader.ReadDouble();
            }
            else
            {
                MatchSuddenDeath = 0.25;
            }

            MatchDelay    = reader.ReadTimeSpan();
            MatchDuration = reader.ReadTimeSpan();

            FinalBestOfCur = reader.ReadInt();
            FinalBestOfMax = reader.ReadInt();

            Matches = reader.ReadBlockList(r => new TournamentMatch(r), Matches);
        }
        // this is called from the engine's deserialize to create a new set of
        // levels based upon the serialized data
        public ChampLevelData(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            {
                m_Flags = (SpawnFlags)reader.ReadInt();
                goto case 0;                                    // skip case 1
            }

            case 1:
            {
                bool unused = reader.ReadBool();
                goto case 0;
            }

            case 0:
            {
                // read in a seriliased level !
                Monsters = new string[reader.ReadInt()];
                for (int i = 0; i < Monsters.Length; ++i)
                {
                    Monsters[i] = reader.ReadString();
                }

                m_MaxKills    = reader.ReadInt();
                m_MaxMobs     = reader.ReadInt();
                m_MaxSpawn    = reader.ReadInt();
                m_MaxRange    = reader.ReadInt();
                m_SpawnDelay  = reader.ReadTimeSpan();
                m_ExpireDelay = reader.ReadTimeSpan();
                break;
            }
            }
        }
Exemple #14
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;
            }
            }
        }
Exemple #15
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            {
                Level = (SecureLevel)reader.ReadInt();
                goto case 2;
            }

            case 2:
            {
                _PlayerConstructed = reader.ReadBool();
                goto case 1;
            }

            case 1:
            {
                _Resource = (CraftResource)reader.ReadInt();
                _Crafter  = reader.ReadMobile();
                _Quality  = (ItemQuality)reader.ReadInt();
                goto case 0;
            }

            case 0:
            {
                m_BurntOut  = reader.ReadBool();
                m_Burning   = reader.ReadBool();
                m_Duration  = reader.ReadTimeSpan();
                m_Protected = reader.ReadBool();

                if (m_Burning && m_Duration != TimeSpan.Zero)
                {
                    DoTimer(reader.ReadDeltaTime() - DateTime.UtcNow);
                }

                break;
            }
            }

            if (version == 2)
            {
                Level = SecureLevel.Friends;
            }
        }
Exemple #16
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();             //Version

            switch (version)
            {
            case 0:
            {
                _Parent   = (VoteItem)reader.ReadItem();
                _Name     = (string)reader.ReadString();
                _URL      = (string)reader.ReadString();
                _CoolDown = (TimeSpan)reader.ReadTimeSpan();
            } break;
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.GetVersion();

            switch (version)
            {
            case 0:
                Duration = CoolDown = reader.ReadTimeSpan();
                break;
            }

            Timer.DelayCall(TimeSpan.FromSeconds(60), InternalSync);
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

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

            m_MaxElevation = reader.ReadEncodedInt();
            m_MoveSound    = reader.ReadEncodedInt();
            m_StopSound    = reader.ReadEncodedInt();
            m_CloseDelay   = reader.ReadTimeSpan();

            int elevation = reader.ReadEncodedInt();

            this.Z -= elevation;
        }
Exemple #19
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
                // version 1
                this.proximityrange = reader.ReadInt();
                goto case 0;

            case 0:
                // version 0
                this.SoundValue     = reader.ReadInt();
                this.ActivationWord = reader.ReadString();
                this.Charges        = reader.ReadInt();
                this.Refractory     = reader.ReadTimeSpan();
                TimeSpan remaining = reader.ReadTimeSpan();
                this.m_EndTime = DateTime.Now + remaining;
                break;
            }
        }
Exemple #20
0
        public override void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                AutoDetectClient  = reader.ReadBool();
                ClientPath        = reader.ReadString();
                OldClientResponse = (OldClientResponse)reader.ReadByte();

                RequiredClientVersion = new ClientVersion(reader.ReadInt(), reader.ReadInt(), reader.ReadInt(), reader.ReadInt());

                AllowRegular     = reader.ReadBool();
                AllowUOTD        = reader.ReadBool();
                AllowGod         = reader.ReadBool();
                AgeLeniency      = reader.ReadTimeSpan();
                GameTimeLeniency = reader.ReadTimeSpan();
                KickDelay        = reader.ReadTimeSpan();
            }
            break;
            }
        }
        public sealed override void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                this._AutoDetectClient  = reader.ReadBool();
                this._ClientPath        = reader.ReadString();
                this._OldClientResponse = (OldClientResponse)reader.ReadByte();

                this._RequiredVersion = new ClientVersion(reader.ReadInt(), reader.ReadInt(), reader.ReadInt(), reader.ReadInt());

                this._AllowRegular     = reader.ReadBool();
                this._AllowUOTD        = reader.ReadBool();
                this._AllowGod         = reader.ReadBool();
                this._AgeLeniency      = reader.ReadTimeSpan();
                this._GameTimeLeniency = reader.ReadTimeSpan();
                this._KickDelay        = reader.ReadTimeSpan();
                break;
            }
            }
        }
Exemple #22
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            m_Liquor             = (Liquor)reader.ReadInt();
            m_MaturationBegin    = reader.ReadDateTime();
            m_MaturationDuration = reader.ReadTimeSpan();
            m_Label         = reader.ReadString();
            m_IsStrong      = reader.ReadBool();
            m_UsesRemaining = reader.ReadInt();
            m_Exceptional   = reader.ReadBool();
            m_Crafter       = reader.ReadMobile();
            m_Distiller     = reader.ReadMobile();
        }
Exemple #23
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Delay   = reader.ReadTimeSpan();
                m_Charges = reader.ReadInt();
            } break;
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-GB");
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_Chance = reader.ReadDouble();
                goto case 0;
            }

            case 0:
            {
                m_Active    = reader.ReadBool();
                m_Creature  = reader.ReadString();
                m_Message   = reader.ReadString();
                m_Location  = reader.ReadPoint3D();
                m_HomeRange = reader.ReadInt();
                m_Team      = reader.ReadInt();
                m_Limit     = reader.ReadInt();
                m_NextSpawn = DateTime.Parse(reader.ReadString());
                m_Delay     = reader.ReadTimeSpan();

                int size = reader.ReadInt();
                m_Creatures = new ArrayList(size);

                for (int i = 0; i < size; ++i)
                {
                    IEntity e = World.FindEntity(reader.ReadInt());

                    if (e != null)
                    {
                        m_Creatures.Add(e);
                    }
                }

                break;
            }
            }
            if (version == 0)
            {
                m_Chance = 1;
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_NestSpawnType = reader.ReadString();
            m_Spawn         = reader.ReadMobileList();
            m_MaxCount      = reader.ReadInt();
            m_RespawnTime   = reader.ReadTimeSpan();
            m_HitsMax       = reader.ReadInt();
            m_Hits          = reader.ReadInt();
            m_RangeHome     = reader.ReadInt();
            m_LootLevel     = reader.ReadInt();
            m_Entity        = reader.ReadMobile();
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                this._ServiceTimespan = reader.ReadTimeSpan();
                this._ExchangeRate    = reader.ReadDouble();
                break;
            }
            }
        }
Exemple #27
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                Threshold    = reader.ReadTimeSpan();
                DetectAction = reader.ReadFlag <SpeedhackAction>();
            }
            break;
            }
        }
Exemple #28
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version == 1)
            {
                m_Interval = reader.ReadTimeSpan();
            }

            if (Core.AOS && NameHue == 0x35)
            {
                NameHue = -1;
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 4:
            {
                m_CriminalCheck = reader.ReadBool();
                goto case 3;
            }

            case 3:
            {
                m_CombatCheck = reader.ReadBool();
                goto case 2;
            }

            case 2:
            {
                m_SourceEffect = reader.ReadBool();
                m_DestEffect   = reader.ReadBool();
                m_Delay        = reader.ReadTimeSpan();
                m_SoundID      = reader.ReadEncodedInt();

                goto case 1;
            }

            case 1:
            {
                m_Creatures = reader.ReadBool();

                goto case 0;
            }

            case 0:
            {
                m_Active    = reader.ReadBool();
                m_PointDest = reader.ReadPoint3D();
                m_MapDest   = reader.ReadMap();

                break;
            }
            }
        }
Exemple #30
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            m_MaxFel    = reader.ReadInt();
            m_MaxTram   = reader.ReadInt();
            m_MaxTokuno = reader.ReadInt();
            m_SpawnTime = reader.ReadTimeSpan();
            m_Active    = reader.ReadBool();

            int count = reader.ReadInt();

            for (int i = 0; i < count; i++)
            {
                SpawnZone zone = (SpawnZone)reader.ReadInt();
                int       c    = reader.ReadInt();
                for (int j = 0; j < c; j++)
                {
                    BaseShipCaptain capt = reader.ReadMobile() as BaseShipCaptain;
                    if (capt != null && !capt.Deleted && capt.Alive)
                    {
                        m_ActiveZones[zone].Add(capt);
                    }
                }
            }

            count = reader.ReadInt();
            for (int i = 0; i < count; i++)
            {
                Mobile mob = reader.ReadMobile();
                int    amt = reader.ReadInt();

                if (mob != null && !mob.Deleted)
                {
                    m_Bounties.Add(mob, amt);
                }
            }

            m_Instance = this;

            if (m_Active)
            {
                m_Timer = Timer.DelayCall(m_SpawnTime, m_SpawnTime, new TimerCallback(OnTick));
            }
        }
Exemple #31
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_BandageContainer  = reader.ReadItem() as Container;
            m_GHPotionContainer = reader.ReadItem() as Container;
            m_ReagentContainer  = reader.ReadItem() as Container;
            m_Running           = reader.ReadBool();

            if (m_Running)
            {
                TimeSpan delay = reader.ReadTimeSpan();
                DoTimer(delay);
            }
        }
Exemple #32
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Skill    = (SkillName)reader.ReadInt();
                m_Duration = reader.ReadTimeSpan();

                break;
            }
            }
        }
Exemple #33
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Delay        = reader.ReadTimeSpan();
            m_Town         = (TownStone)reader.ReadItem();
            m_SpawnedGuard = (PomiGuard)reader.ReadMobile();
            m_RangeHome    = reader.ReadInt();
            m_Running      = reader.ReadBool();
            if (m_Running)
            {
                m_timer = new SpawnTimer(m_Town, this, m_Delay);
                m_timer.Start();
            }
        }
Exemple #34
0
        /// <summary>
        /// Loads the object
        /// </summary>
        /// <param name="reader">reader that loads the info</param>
        public virtual void Load(GenericReader reader)
        {
            int size = reader.ReadInt();

            for (int i = 0; i < size; i++)
            {
                m_Mobs.Add(reader.ReadString());
            }

            size = reader.ReadInt();
            for (int i = 0; i < size; i++)
            {
                m_MobAmts.Add(reader.ReadInt());
            }

            m_TimeLimit = reader.ReadTimeSpan();
        }
Exemple #35
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_TimeoutDelay = reader.ReadTimeSpan();
            m_CantTeleport = new Dictionary <Mobile, DateTime>();

            int count = reader.ReadInt();

            for (int i = 0; i < count; ++i)
            {
                Mobile   m   = reader.ReadMobile();
                DateTime end = reader.ReadDateTime();
            }
        }
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
			switch (version)
			{
				case 0:
					m_MemberShipTime = TimeSpan.Zero;
					break;
				case 1:
					m_MemberShipTime = reader.ReadTimeSpan();
					break;
				default:
					m_MemberShipTime = TimeSpan.Zero;
					break;
			}
		}
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version )
			{
				case 0:
				{
					int count = reader.ReadInt();
									
					for ( int i = 0; i < count; ++i )
					{
						Mobile m = reader.ReadMobile();
						DisguiseTimers.CreateTimer( m, reader.ReadTimeSpan() );
						m.NameMod = reader.ReadString();
					}

					break;
				}
			}
		}
Exemple #38
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			m_CurrentAI = (AIType)reader.ReadInt();
			m_DefaultAI = (AIType)reader.ReadInt();

			m_iRangePerception = reader.ReadInt();
			m_iRangeFight = reader.ReadInt();

			m_iTeam = reader.ReadInt();

			m_dActiveSpeed = reader.ReadDouble();
			m_dPassiveSpeed = reader.ReadDouble();
			m_dCurrentSpeed = reader.ReadDouble();

			if ( m_iRangePerception == OldRangePerception )
				m_iRangePerception = DefaultRangePerception;

			m_pHome.X = reader.ReadInt();
			m_pHome.Y = reader.ReadInt();
			m_pHome.Z = reader.ReadInt();

			if ( version >= 1 )
			{
				m_iRangeHome = reader.ReadInt();

				int i, iCount;

				iCount = reader.ReadInt();
				for ( i=0; i< iCount; i++ )
				{
					string str = reader.ReadString();
					Type type = Type.GetType( str );

					if ( type != null )
					{
						m_arSpellAttack.Add( type );
					}
				}

				iCount = reader.ReadInt();
				for ( i=0; i< iCount; i++ )
				{
					string str = reader.ReadString();
					Type type = Type.GetType( str );

					if ( type != null )
					{
						m_arSpellDefense.Add( type );
					}
				}
			}
			else
			{
				m_iRangeHome = 0;
			}

			if ( version >= 2 )
			{
				m_FightMode = ( FightMode )reader.ReadInt();

				m_bControlled = reader.ReadBool();
				m_ControlMaster = reader.ReadMobile();
				m_ControlTarget = reader.ReadMobile();
				m_ControlDest = reader.ReadPoint3D();
				m_ControlOrder = (OrderType) reader.ReadInt();

				m_dMinTameSkill = reader.ReadDouble();

				if ( version < 9 )
					reader.ReadDouble();

				m_bTamable = reader.ReadBool();
				m_bSummoned = reader.ReadBool();

				if ( m_bSummoned )
				{
					m_SummonEnd = reader.ReadDeltaTime();
					new UnsummonTimer( m_ControlMaster, this, m_SummonEnd - DateTime.Now ).Start();
				}

				m_iControlSlots = reader.ReadInt();
			}
			else
			{
				m_FightMode = FightMode.Closest;

				m_bControlled = false;
				m_ControlMaster = null;
				m_ControlTarget = null;
				m_ControlOrder = OrderType.None;
			}

			if ( version >= 3 )
				m_Loyalty = reader.ReadInt();
			else
				m_Loyalty = MaxLoyalty; // Wonderfully Happy

			if ( version >= 4 )
				m_CurrentWayPoint = reader.ReadItem() as WayPoint;

			if ( version >= 5 )
				m_SummonMaster = reader.ReadMobile();

			if ( version >= 6 )
			{
				m_HitsMax = reader.ReadInt();
				m_StamMax = reader.ReadInt();
				m_ManaMax = reader.ReadInt();
				m_DamageMin = reader.ReadInt();
				m_DamageMax = reader.ReadInt();
			}

			if ( version >= 7 )
			{
				m_PhysicalResistance = reader.ReadInt();
				m_PhysicalDamage = reader.ReadInt();

				m_FireResistance = reader.ReadInt();
				m_FireDamage = reader.ReadInt();

				m_ColdResistance = reader.ReadInt();
				m_ColdDamage = reader.ReadInt();

				m_PoisonResistance = reader.ReadInt();
				m_PoisonDamage = reader.ReadInt();

				m_EnergyResistance = reader.ReadInt();
				m_EnergyDamage = reader.ReadInt();
			}

			if ( version >= 8 )
				m_Owners = reader.ReadStrongMobileList();
			else
				m_Owners = new List<Mobile>();

			if ( version >= 10 )
			{
				m_IsDeadPet = reader.ReadBool();
				m_IsBonded = reader.ReadBool();
				m_BondingBegin = reader.ReadDateTime();
				m_OwnerAbandonTime = reader.ReadDateTime();
			}

			if ( version >= 11 )
				m_HasGeneratedLoot = reader.ReadBool();
			else
				m_HasGeneratedLoot = true;

			if ( version >= 12 )
				m_Paragon = reader.ReadBool();
			else
				m_Paragon = false;

			if ( version >= 13 && reader.ReadBool() )
				m_Friends = reader.ReadStrongMobileList();
			else if ( version < 13 && m_ControlOrder >= OrderType.Unfriend )
				++m_ControlOrder;

			if ( version < 16 && Loyalty != MaxLoyalty )
				Loyalty *= 10;

			double activeSpeed = m_dActiveSpeed;
			double passiveSpeed = m_dPassiveSpeed;

			SpeedInfo.GetSpeeds( this, ref activeSpeed, ref passiveSpeed );

			bool isStandardActive = false;
			for ( int i = 0; !isStandardActive && i < m_StandardActiveSpeeds.Length; ++i )
				isStandardActive = ( m_dActiveSpeed == m_StandardActiveSpeeds[i] );

			bool isStandardPassive = false;
			for ( int i = 0; !isStandardPassive && i < m_StandardPassiveSpeeds.Length; ++i )
				isStandardPassive = ( m_dPassiveSpeed == m_StandardPassiveSpeeds[i] );

			if ( isStandardActive && m_dCurrentSpeed == m_dActiveSpeed )
				m_dCurrentSpeed = activeSpeed;
			else if ( isStandardPassive && m_dCurrentSpeed == m_dPassiveSpeed )
				m_dCurrentSpeed = passiveSpeed;

			if ( isStandardActive && !m_Paragon )
				m_dActiveSpeed = activeSpeed;

			if ( isStandardPassive && !m_Paragon )
				m_dPassiveSpeed = passiveSpeed;

			if ( version >= 14 )
			{
				m_RemoveIfUntamed = reader.ReadBool();
				m_RemoveStep = reader.ReadInt();
			}

			TimeSpan deleteTime = TimeSpan.Zero;

			if ( version >= 17 )
				deleteTime = reader.ReadTimeSpan();

			if ( deleteTime > TimeSpan.Zero || LastOwner != null && !Controlled && !IsStabled )
			{
				if ( deleteTime == TimeSpan.Zero )
					deleteTime = TimeSpan.FromDays( 3.0 );

				m_DeleteTimer = new DeleteTimer( this, deleteTime );
				m_DeleteTimer.Start();
			}

			if( version <= 14 && m_Paragon && Hue == 0x31 )
			{
				Hue = Paragon.Hue; //Paragon hue fixed, should now be 0x501.
			}

			CheckStatTimers();

			ChangeAIType(m_CurrentAI);

			AddFollowers();

			if ( IsAnimatedDead )
				Spells.Necromancy.AnimateDeadSpell.Register( m_SummonMaster, this );
		}
Exemple #39
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch ( version )
            {
                case 0:
                    {
                        this.m_BurntOut = reader.ReadBool();
                        this.m_Burning = reader.ReadBool();
                        this.m_Duration = reader.ReadTimeSpan();
                        this.m_Protected = reader.ReadBool();

                        if (this.m_Burning && this.m_Duration != TimeSpan.Zero)
                            this.DoTimer(reader.ReadDeltaTime() - DateTime.Now);

                        break;
                    }
            }
        }
Exemple #40
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version )
			{
				case 0:
				{
					m_BombHome = reader.ReadPoint3D();

					m_Duration = reader.ReadTimeSpan();

					m_TeamInfo = new BRTeamInfo[reader.ReadEncodedInt()];

					for ( int i = 0; i < m_TeamInfo.Length; ++i )
						m_TeamInfo[i] = new BRTeamInfo( i, reader );

					break;
				}
			}
		}
Exemple #41
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version >= 0)
            {
                this.m_SpawnRange = reader.ReadInt();
                this.m_NextSpawnDelay = reader.ReadTimeSpan();
            }

            this.m_NextSpawn = DateTime.Now;
        }
Exemple #42
0
        public static void LBSDeserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch(version)
            {
                case 1:
                    m_SystemBroadcast = reader.ReadBool();
                    goto case 0;
                case 0:
                    bool running = reader.ReadBool();
                    m_LeaderboardSaveInterval = reader.ReadTimeSpan();
                    m_LeaderboardSaveRanks = reader.ReadInt();
                    m_LeaderboardFile = reader.ReadString();

                    if (running)
                    {
                        if (m_LeaderboardTimer != null)
                            m_LeaderboardTimer.Stop();
                        m_LeaderboardTimer = new LeaderboardTimer(m_LeaderboardFile, m_LeaderboardSaveInterval, m_LeaderboardSaveRanks);
                        m_LeaderboardTimer.Start();
                    }
                    break;
            }
        }
Exemple #43
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            switch (version)
            {
                case 3:
                    this.m_MaxTargetRange = reader.ReadInt();
                    goto case 2;
                case 2:
                    this.m_TargetingEnabled = reader.ReadBool();
                    this.m_TargetingAction = reader.ReadString();
                    this.m_TargetCondition = reader.ReadString();
                    this.m_TargetFailureAction = reader.ReadString();
                    this.m_TargetFailureReward = reader.ReadString();
                    goto case 1;
                case 1:
                    this.m_AllowCarried = reader.ReadBool();
                    goto case 0;
                case 0:
                    // version 0
                    this.m_RequireLOS = reader.ReadBool();
                    this.m_MaxRange = reader.ReadInt();
                    this.Refractory = reader.ReadTimeSpan();
                    TimeSpan remaining = reader.ReadTimeSpan();
                    this.m_EndTime = DateTime.UtcNow + remaining;
                    this.m_MaxUses = reader.ReadInt();
                    this.m_NUses = reader.ReadInt();
                    this.m_BlockDefaultUse = reader.ReadBool();
                    this.m_Condition = reader.ReadString();
                    this.m_SuccessAction = reader.ReadString();
                    this.m_SuccessReward = reader.ReadString();
                    this.m_FailureAction = reader.ReadString();
                    this.m_FailureReward = reader.ReadString();
                    this.m_RefractoryAction = reader.ReadString();
                    this.m_RefractoryReward = reader.ReadString();
                    this.m_MaxUsesAction = reader.ReadString();
                    this.m_MaxUsesReward = reader.ReadString();
                    break;
            }
        }
Exemple #44
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
                case 2:
                    this.m_AttachedBy = reader.ReadString();
                    goto case 1;
                case 1:
                    int owned = reader.ReadInt();
                    if (owned == 0)
                    {
                        this.OwnedBy = reader.ReadItem();
                    }
                    else if (owned == 1)
                    {
                        this.OwnedBy = reader.ReadMobile();
                    }
                    else
                        this.OwnedBy = null;

                    goto case 0;
                case 0:
                    // version 0
                    this.Name = (string)reader.ReadString();
                    this.m_Expiration = reader.ReadTimeSpan();
                    TimeSpan remaining = (TimeSpan)reader.ReadTimeSpan();

                    if (remaining > TimeSpan.Zero)
                        this.DoTimer(remaining);

                    this.m_CreationTime = reader.ReadDateTime();
                    break;
            }
        }
Exemple #45
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            switch(version)
            {
                case 1:
                    // version 1
                    this.Range = reader.ReadInt();
                    goto case 0;
                case 0:
                    // version 0
                    this.m_Drain = reader.ReadInt();
                    this.Refractory = reader.ReadTimeSpan();
                    TimeSpan remaining = reader.ReadTimeSpan();
                    this.m_EndTime = DateTime.UtcNow + remaining;
                    break;
            }
        }
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadEncodedInt();

			m_MaxElevation = reader.ReadEncodedInt();
			m_MoveSound = reader.ReadEncodedInt();
			m_StopSound = reader.ReadEncodedInt();
			m_CloseDelay = reader.ReadTimeSpan();

			int elevation = reader.ReadEncodedInt();
			Z -= elevation;
		}
Exemple #47
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            switch (version)
            {
                case 14:
                    {
                        int nentries = reader.ReadInt();

                        if (nentries > 0)
                        {
                            this.m_Journal = new ArrayList();
                            for (int i = 0; i < nentries; i++)
                            {
                                string entryID = reader.ReadString();
                                string entryText = reader.ReadString();
                                this.m_Journal.Add(new XmlQuest.JournalEntry(entryID, entryText));
                            }
                        }

                        goto case 13;
                    }
                case 13:
                    {
                        this.m_Repeatable = reader.ReadBool();
                        goto case 12;
                    }
                case 12:
                    {
                        this.m_QuestDifficulty = reader.ReadInt();
                        goto case 11;
                    }
                case 11:
                    {
                        this.m_AttachmentString = reader.ReadString();
                        goto case 10;
                    }
                case 10:
                    {
                        this.m_NextRepeatable = reader.ReadTimeSpan();
                        goto case 9;
                    }
                case 9:
                    {
                        this.m_RewardAttachmentSerialNumber = reader.ReadInt();
                        goto case 8;
                    }
                case 8:
                    {
                        this.m_ReturnContainer = (Container)reader.ReadItem();
                        goto case 7;
                    }
                case 7:
                    {
                        this.m_Pack = (Container)reader.ReadItem();
                        this.m_RewardItem = reader.ReadItem();
                        this.m_AutoReward = reader.ReadBool();
                        this.m_CanSeeReward = reader.ReadBool();
                        this.m_PlayerMade = reader.ReadBool();
                        this.m_Creator = reader.ReadMobile() as PlayerMobile;
                        goto case 6;
                    }
                case 6:
                    {
                        this.m_Description1 = reader.ReadString();
                        this.m_Description2 = reader.ReadString();
                        this.m_Description3 = reader.ReadString();
                        this.m_Description4 = reader.ReadString();
                        this.m_Description5 = reader.ReadString();
                        goto case 5;
                    }
                case 5:
                    {
                        this.m_Owner = reader.ReadMobile() as PlayerMobile;
                        goto case 4;
                    }
                case 4:
                    {
                        this.m_RewardString = reader.ReadString();
                        goto case 3;
                    }
                case 3:
                    {
                        this.m_ConfigFile = reader.ReadString();
                        this.m_NoteString = reader.ReadString();
                        this.m_TitleString = reader.ReadString();
                        goto case 2;
                    }
                case 2:
                    {
                        this.m_PartyEnabled = reader.ReadBool();
                        this.m_PartyRange = reader.ReadInt();
                        goto case 1;
                    }
                case 1:
                    {
                        this.m_State1 = reader.ReadString();
                        this.m_State2 = reader.ReadString();
                        this.m_State3 = reader.ReadString();
                        this.m_State4 = reader.ReadString();
                        this.m_State5 = reader.ReadString();
                        goto case 0;
                    }
                case 0:
                    {
                        this.m_wasMoved = reader.ReadBool();
                        this.Expiration = reader.ReadDouble();
                        this.m_TimeCreated = reader.ReadDateTime();
                        this.m_Objective1 = reader.ReadString();
                        this.m_Objective2 = reader.ReadString();
                        this.m_Objective3 = reader.ReadString();
                        this.m_Objective4 = reader.ReadString();
                        this.m_Objective5 = reader.ReadString();
                        this.m_Completed1 = reader.ReadBool();
                        this.m_Completed2 = reader.ReadBool();
                        this.m_Completed3 = reader.ReadBool();
                        this.m_Completed4 = reader.ReadBool();
                        this.m_Completed5 = reader.ReadBool();
                    }
                    break;
            }
        }
Exemple #48
0
        public override void Deserialize(GenericReader reader)
        {
            int version = reader.GetVersion();

            switch (version)
            {
                case 0:
                {
                    _level = reader.ReadInt();
                    Name = reader.ReadString();
                    MetaSkillType = (MetaSkillType) reader.ReadInt();
                    ChanceToActivate = reader.ReadDouble();
                    CoolDown = reader.ReadTimeSpan();
                    AbilityMultiplier = reader.ReadDouble();
                    Experience = reader.ReadInt();
                    NextLevelExperience = reader.ReadInt();
                    MaxLevel = reader.ReadInt();
                }
                    break;
            }
        }
Exemple #49
0
            public void Deserialize(GenericReader reader)
            {
                int version = reader.ReadInt();
                switch (version)
                {
                    case 1:
                        this.Flags = (KeywordFlags)reader.ReadInt();
                        goto case 0;
                    case 0:
                        this.m_Spawner = (XmlSpawner)reader.ReadItem();
                        this.Type = reader.ReadInt();
                        this.Serial = reader.ReadInt();
                        if (this.Type == 0)
                        {
                            // get any timer info
                            TimeSpan delay = reader.ReadTimeSpan();
                            this.m_Delay = reader.ReadTimeSpan();
                            this.m_Condition = reader.ReadString();
                            this.m_Goto = reader.ReadInt();

                            TimeSpan timeoutdelay = reader.ReadTimeSpan();
                            this.m_TimeoutEnd = DateTime.Now + timeoutdelay;
                            this.m_Timeout = reader.ReadTimeSpan();
                            this.m_TrigMob = reader.ReadMobile();

                            this.DoTimer(delay, this.m_Delay, this.m_Condition, this.m_Goto);
                        }
                        break;
                }
            }
Exemple #50
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            // version 0
            this.Word = reader.ReadString();
            this.Charges = reader.ReadInt();
            this.Duration = reader.ReadTimeSpan();
            this.Refractory = reader.ReadTimeSpan();
            TimeSpan remaining = reader.ReadTimeSpan();
            this.m_EndTime = DateTime.Now + remaining;
            this.m_RequireIdentification = reader.ReadBool();
            this.m_Identified = reader.ReadBool();
        }
Exemple #51
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch( version )
            {

                case 2:
                    {
                        alignment = (Alignment)reader.ReadInt();
                        goto case 1;
                    }

                case 1:
                    {
                        TimeSpan deleteTime = TimeSpan.Zero;

                        if( version >= 1 )
                            deleteTime = reader.ReadTimeSpan();

                        if( deleteTime > TimeSpan.Zero || LastOwner != null && !Controlled && !IsStabled )
                        {
                            if( deleteTime <= TimeSpan.Zero || deleteTime > TimeSpan.FromDays(3.0) )
                                deleteTime = TimeSpan.FromDays(3.0);

                            m_DeleteTimer = new DeleteTimer(this, deleteTime);
                            m_DeleteTimer.Start();
                        }

                        goto case 0;
                    }

                case 0:
                    {
                        m_CurrentAI = (AIType)reader.ReadInt();
                        m_DefaultAI = (AIType)reader.ReadInt();

                        m_iRangePerception = reader.ReadInt();
                        m_iRangeFight = reader.ReadInt();
                        m_iRangeHome = reader.ReadInt();

                        m_iTeam = reader.ReadInt();

                        m_dActiveSpeed = reader.ReadDouble();
                        m_dPassiveSpeed = reader.ReadDouble();
                        m_dCurrentSpeed = reader.ReadDouble();

                        if( m_iRangePerception == OldRangePerception )
                            m_iRangePerception = DefaultRangePerception;

                        m_pHome.X = reader.ReadInt();
                        m_pHome.Y = reader.ReadInt();
                        m_pHome.Z = reader.ReadInt();

                        int i, iCount;

                        iCount = reader.ReadInt();
                        for( i = 0; i < iCount; i++ )
                        {
                            string str = reader.ReadString();
                            Type type = Type.GetType(str);

                            if( type != null )
                            {
                                m_arSpellAttack.Add(type);
                            }
                        }

                        iCount = reader.ReadInt();
                        for( i = 0; i < iCount; i++ )
                        {
                            string str = reader.ReadString();
                            Type type = Type.GetType(str);

                            if( type != null )
                            {
                                m_arSpellDefense.Add(type);
                            }
                        }

                        m_FightMode = (FightMode)reader.ReadInt();
                        m_bControlled = reader.ReadBool();
                        m_ControlMaster = reader.ReadMobile();
                        m_ControlTarget = reader.ReadMobile();
                        m_ControlDest = reader.ReadPoint3D();
                        m_ControlOrder = (OrderType)reader.ReadInt();
                        m_dMinTameSkill = reader.ReadDouble();
                        m_bTamable = reader.ReadBool();
                        m_bSummoned = reader.ReadBool();

                        if( m_bSummoned )
                        {
                            m_SummonEnd = reader.ReadDeltaTime();
                            new UnsummonTimer(m_ControlMaster, this, m_SummonEnd - DateTime.Now).Start();
                        }

                        m_iControlSlots = reader.ReadInt();
                        m_Loyalty = reader.ReadInt();
                        m_CurrentWayPoint = reader.ReadItem() as WayPoint;
                        m_SummonMaster = reader.ReadMobile();
                        m_HitsMax = reader.ReadInt();
                        m_StamMax = reader.ReadInt();
                        m_ManaMax = reader.ReadInt();
                        m_DamageMin = reader.ReadInt();
                        m_DamageMax = reader.ReadInt();
                        m_PhysicalResistance = reader.ReadInt();
                        m_PhysicalDamage = reader.ReadInt();
                        m_FireResistance = reader.ReadInt();
                        m_FireDamage = reader.ReadInt();
                        m_ColdResistance = reader.ReadInt();
                        m_ColdDamage = reader.ReadInt();
                        m_PoisonResistance = reader.ReadInt();
                        m_PoisonDamage = reader.ReadInt();
                        m_EnergyResistance = reader.ReadInt();
                        m_EnergyDamage = reader.ReadInt();
                        m_Owners = reader.ReadStrongMobileList();
                        m_IsDeadPet = reader.ReadBool();
                        m_IsBonded = reader.ReadBool();
                        m_BondingBegin = reader.ReadDateTime();
                        m_OwnerAbandonTime = reader.ReadDateTime();
                        m_HasGeneratedLoot = reader.ReadBool();

                        bool hasFriends = reader.ReadBool();

                        if( hasFriends )
                            m_Friends = reader.ReadStrongMobileList();
                        else
                            m_Friends = new List<Mobile>();

                        m_RemoveIfUntamed = reader.ReadBool();
                        m_RemoveStep = reader.ReadInt();
                        _spawner = reader.ReadItem();
                        _spawnerHome = reader.ReadPoint3D();

                        break;
                    }
            }

            double activeSpeed = m_dActiveSpeed;
            double passiveSpeed = m_dPassiveSpeed;

            SpeedInfo.GetSpeeds(this, ref activeSpeed, ref passiveSpeed);

            bool isStandardActive = false;
            for( int i = 0; !isStandardActive && i < m_StandardActiveSpeeds.Length; ++i )
                isStandardActive = (m_dActiveSpeed == m_StandardActiveSpeeds[i]);

            bool isStandardPassive = false;
            for( int i = 0; !isStandardPassive && i < m_StandardPassiveSpeeds.Length; ++i )
                isStandardPassive = (m_dPassiveSpeed == m_StandardPassiveSpeeds[i]);

            if( isStandardActive && m_dCurrentSpeed == m_dActiveSpeed )
                m_dCurrentSpeed = activeSpeed;
            else if( isStandardPassive && m_dCurrentSpeed == m_dPassiveSpeed )
                m_dCurrentSpeed = passiveSpeed;

            if( isStandardActive )
                m_dActiveSpeed = activeSpeed;

            if( isStandardPassive )
                m_dPassiveSpeed = passiveSpeed;

            if( Core.AOS && NameHue == 0x35 )
                NameHue = -1;

            CheckStatTimers();

            ChangeAIType(m_CurrentAI);

            AddFollowers();
        }
		public virtual void Deserialize(GenericReader reader)
		{
			int version = reader.ReadInt();

			SaveFlag flags = SaveFlag.None;
			if (version >= 4)
			{
				flags = (SaveFlag)reader.ReadInt();
			}

			switch (version)
			{
				case 4:
					if (GetSaveFlag(flags, SaveFlag.ExpireActCondition))
					{
						m_ExpireActCondition = reader.ReadString();
					}
					if (GetSaveFlag(flags, SaveFlag.ExpireAction))
					{
						m_ExpireAction = reader.ReadString();
					}
					if (GetSaveFlag(flags, SaveFlag.ExpireTrigMob))
					{
						m_ExpireTrigMob = reader.ReadMobile();
					}
					if (GetSaveFlag(flags, SaveFlag.AttachedBy))
					{
						m_AttachedBy = reader.ReadString();
					}
					if (GetSaveFlag(flags, SaveFlag.OwnedByMobile))
					{
						OwnedBy = reader.ReadMobile();
					}
					else if (GetSaveFlag(flags, SaveFlag.OwnedByItem))
					{
						OwnedBy = reader.ReadItem();
					}
					if (GetSaveFlag(flags, SaveFlag.Name))
					{
						Name = reader.ReadString();
					}
					// if there are any active timers, then serialize
					if (GetSaveFlag(flags, SaveFlag.Expiration))
					{
						m_Expiration = reader.ReadTimeSpan();
					}
					if (GetSaveFlag(flags, SaveFlag.ExpirationEnd))
					{
						TimeSpan remainingTime = reader.ReadTimeSpan();
						if (remainingTime > TimeSpan.Zero)
						{
							DoTimer(remainingTime);
						}
					}
					if (GetSaveFlag(flags, SaveFlag.CreationTime))
					{
						m_CreationTime = reader.ReadDateTime();
					}

					// DO NOT GO ON TO CASE 3 OR BELOW!
					break;
					// =============== OLD DESERIALIZATION =====================
				case 3:
					m_ExpireAction = reader.ReadString();
					m_ExpireActCondition = reader.ReadString();
					m_ExpireTrigMob = reader.ReadMobile();
					goto case 2;
				case 2:
					m_AttachedBy = reader.ReadString();
					goto case 1;
				case 1:
					int owned = reader.ReadInt();
					if (owned == 0)
					{
						OwnedBy = reader.ReadItem();
					}
					else if (owned == 1)
					{
						OwnedBy = reader.ReadMobile();
					}
					else
					{
						OwnedBy = null;
					}

					goto case 0;
				case 0:
					// version 0
					Name = reader.ReadString();
					m_Expiration = reader.ReadTimeSpan();
					TimeSpan remaining = reader.ReadTimeSpan();

					if (remaining > TimeSpan.Zero)
					{
						DoTimer(remaining);
					}

					m_CreationTime = reader.ReadDateTime();
					break;
			}
		}
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();

            switch ( version )
            {
                case 0:
                {
                    m_EffectDelay = reader.ReadTimeSpan();
                    m_TriggerDelay = reader.ReadTimeSpan();
                    m_SoundDelay = reader.ReadTimeSpan();

                    m_Source = ReadEntity( reader );
                    m_Target = ReadEntity( reader );
                    m_Trigger = reader.ReadItem() as EffectController;

                    m_FixedDirection = reader.ReadBool();
                    m_Explodes = reader.ReadBool();
                    m_PlaySoundAtTrigger = reader.ReadBool();

                    m_EffectType = (EffectType)reader.ReadEncodedInt();
                    m_EffectLayer = (EffectLayer)reader.ReadEncodedInt();
                    m_TriggerType = (EffectTriggerType)reader.ReadEncodedInt();

                    m_ItemID = reader.ReadEncodedInt();
                    m_Hue = reader.ReadEncodedInt();
                    m_RenderMode = reader.ReadEncodedInt();
                    m_Speed = reader.ReadEncodedInt();
                    m_Duration = reader.ReadEncodedInt();
                    m_ParticleEffect = reader.ReadEncodedInt();
                    m_ExplodeParticleEffect = reader.ReadEncodedInt();
                    m_ExplodeSound = reader.ReadEncodedInt();
                    m_Unknown = reader.ReadEncodedInt();
                    m_SoundID = reader.ReadEncodedInt();
                    m_TriggerRange = reader.ReadEncodedInt();

                    break;
                }
            }
        }
Exemple #54
0
        public Tournament(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            switch ( version )
            {
                case 4:
                    {
                        this.m_EventController = reader.ReadItem() as EventController;

                        goto case 3;
                    }
                case 3:
                    {
                        this.m_SuddenDeathRounds = reader.ReadEncodedInt();

                        goto case 2;
                    }
                case 2:
                    {
                        this.m_TournyType = (TournyType)reader.ReadEncodedInt();

                        goto case 1;
                    }
                case 1:
                    {
                        this.m_GroupType = (GroupingType)reader.ReadEncodedInt();
                        this.m_TieType = (TieType)reader.ReadEncodedInt();
                        this.m_SignupPeriod = reader.ReadTimeSpan();

                        goto case 0;
                    }
                case 0:
                    {
                        if (version < 3)
                            this.m_SuddenDeathRounds = 3;

                        this.m_ParticipantsPerMatch = reader.ReadEncodedInt();
                        this.m_PlayersPerParticipant = reader.ReadEncodedInt();
                        this.m_SignupPeriod = reader.ReadTimeSpan();
                        this.m_Stage = TournamentStage.Inactive;
                        this.m_Pyramid = new TournyPyramid();
                        this.m_Ruleset = new Ruleset(RulesetLayout.Root);
                        this.m_Ruleset.ApplyDefault(this.m_Ruleset.Layout.Defaults[0]);
                        this.m_Participants = new ArrayList();
                        this.m_Undefeated = new ArrayList();
                        this.m_Arenas = new ArrayList();

                        break;
                    }
            }

            Timer.DelayCall(SliceInterval, SliceInterval, new TimerCallback(Slice));
        }
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();

			switch ( version )
			{
				case 28:
				{
					m_PeacedUntil = reader.ReadDateTime();

					goto case 27;
				}
				case 27:
				{
					m_AnkhNextUse = reader.ReadDateTime();

					goto case 26;
				}
				case 26:
				{
					m_AutoStabled = reader.ReadStrongMobileList();

					goto case 25;
				}
				case 25:
				{
					int recipeCount = reader.ReadInt();

					if( recipeCount > 0 )
					{
						m_AcquiredRecipes = new Dictionary<int, bool>();

						for( int i = 0; i < recipeCount; i++ )
						{
							int r = reader.ReadInt();
							if( reader.ReadBool() )	//Don't add in recipies which we haven't gotten or have been removed
								m_AcquiredRecipes.Add( r, true );
						}
					}
					goto case 24;
				}
				case 24:
				{
					m_LastHonorLoss = reader.ReadDeltaTime();
					goto case 23;
				}
				case 23:
				{
					m_ChampionTitles = new ChampionTitleInfo( reader );
					goto case 22;
				}
				case 22:
				{
					m_LastValorLoss = reader.ReadDateTime();
					goto case 21;
				}
				case 21:
				{
					m_ToTItemsTurnedIn = reader.ReadEncodedInt();
					m_ToTTotalMonsterFame = reader.ReadInt();
					goto case 20;
				}
				case 20:
				{
					m_AllianceMessageHue = reader.ReadEncodedInt();
					m_GuildMessageHue = reader.ReadEncodedInt();

					goto case 19;
				}
				case 19:
				{
					int rank = reader.ReadEncodedInt();
					int maxRank = Guilds.RankDefinition.Ranks.Length -1;
					if( rank > maxRank )
						rank = maxRank;

					m_GuildRank = Guilds.RankDefinition.Ranks[rank];
					m_LastOnline = reader.ReadDateTime();
					goto case 18;
				}
				case 18:
				{
					m_SolenFriendship = (SolenFriendship) reader.ReadEncodedInt();

					goto case 17;
				}
				case 17: // changed how DoneQuests is serialized
				case 16:
				{
					m_Quest = QuestSerializer.DeserializeQuest( reader );

					if ( m_Quest != null )
						m_Quest.From = this;

					int count = reader.ReadEncodedInt();

					if ( count > 0 )
					{
						m_DoneQuests = new List<QuestRestartInfo>();

						for ( int i = 0; i < count; ++i )
						{
							Type questType = QuestSerializer.ReadType( QuestSystem.QuestTypes, reader );
							DateTime restartTime;

							if ( version < 17 )
								restartTime = DateTime.MaxValue;
							else
								restartTime = reader.ReadDateTime();

							m_DoneQuests.Add( new QuestRestartInfo( questType, restartTime ) );
						}
					}

					m_Profession = reader.ReadEncodedInt();
					goto case 15;
				}
				case 15:
				{
					m_LastCompassionLoss = reader.ReadDeltaTime();
					goto case 14;
				}
				case 14:
				{
					m_CompassionGains = reader.ReadEncodedInt();

					if ( m_CompassionGains > 0 )
						m_NextCompassionDay = reader.ReadDeltaTime();

					goto case 13;
				}
				case 13: // just removed m_PayedInsurance list
				case 12:
				{
					m_BOBFilter = new Engines.BulkOrders.BOBFilter( reader );
					goto case 11;
				}
				case 11:
				{
					if ( version < 13 )
					{
						List<Item> payed = reader.ReadStrongItemList();

						for ( int i = 0; i < payed.Count; ++i )
							payed[i].PayedInsurance = true;
					}

					goto case 10;
				}
				case 10:
				{
					if ( reader.ReadBool() )
					{
						m_HairModID = reader.ReadInt();
						m_HairModHue = reader.ReadInt();
						m_BeardModID = reader.ReadInt();
						m_BeardModHue = reader.ReadInt();
					}

					goto case 9;
				}
				case 9:
				{
					SavagePaintExpiration = reader.ReadTimeSpan();

					if ( SavagePaintExpiration > TimeSpan.Zero )
					{
						BodyMod = ( Female ? 184 : 183 );
						HueMod = 0;
					}

					goto case 8;
				}
				case 8:
				{
					m_NpcGuild = (NpcGuild)reader.ReadInt();
					m_NpcGuildJoinTime = reader.ReadDateTime();
					m_NpcGuildGameTime = reader.ReadTimeSpan();
					goto case 7;
				}
				case 7:
				{
					m_PermaFlags = reader.ReadStrongMobileList();
					goto case 6;
				}
				case 6:
				{
					NextTailorBulkOrder = reader.ReadTimeSpan();
					goto case 5;
				}
				case 5:
				{
					NextSmithBulkOrder = reader.ReadTimeSpan();
					goto case 4;
				}
				case 4:
				{
					m_LastJusticeLoss = reader.ReadDeltaTime();
					m_JusticeProtectors = reader.ReadStrongMobileList();
					goto case 3;
				}
				case 3:
				{
					m_LastSacrificeGain = reader.ReadDeltaTime();
					m_LastSacrificeLoss = reader.ReadDeltaTime();
					m_AvailableResurrects = reader.ReadInt();
					goto case 2;
				}
				case 2:
				{
					m_Flags = (PlayerFlag)reader.ReadInt();
					goto case 1;
				}
				case 1:
				{
					m_LongTermElapse = reader.ReadTimeSpan();
					m_ShortTermElapse = reader.ReadTimeSpan();
					m_GameTime = reader.ReadTimeSpan();
					goto case 0;
				}
				case 0:
				{
					if( version < 26 )
						m_AutoStabled = new List<Mobile>();
					break;
				}
			}

			if (m_RecentlyReported == null)
				m_RecentlyReported = new List<Mobile>();

			// Professions weren't verified on 1.0 RC0
			if ( !CharacterCreation.VerifyProfession( m_Profession ) )
				m_Profession = 0;

			if ( m_PermaFlags == null )
				m_PermaFlags = new List<Mobile>();

			if ( m_JusticeProtectors == null )
				m_JusticeProtectors = new List<Mobile>();

			if ( m_BOBFilter == null )
				m_BOBFilter = new Engines.BulkOrders.BOBFilter();

			if( m_GuildRank == null )
				m_GuildRank = Guilds.RankDefinition.Member;	//Default to member if going from older verstion to new version (only time it should be null)

			if( m_LastOnline == DateTime.MinValue && Account != null )
				m_LastOnline = ((Account)Account).LastLogin;

			if( m_ChampionTitles == null )
				m_ChampionTitles = new ChampionTitleInfo();

			if ( AccessLevel > AccessLevel.Player )
				m_IgnoreMobiles = true;

			List<Mobile> list = this.Stabled;

			for ( int i = 0; i < list.Count; ++i )
			{
				BaseCreature bc = list[i] as BaseCreature;

				if ( bc != null )
					bc.IsStabled = true;
			}

			CheckAtrophies( this );

			if( Hidden )	//Hiding is the only buff where it has an effect that's serialized.
				AddBuff( new BuffInfo( BuffIcon.HidingAndOrStealth, 1075655 ) );
		}
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch( version )
			{
				case 7:
				{
					m_RestFlags = (EGRFlags)PSerial.ReadEncodedLong( reader );
					m_OptFlags = (EGateOptFlags)reader.ReadEncodedInt();
					m_MaxPlayers = reader.ReadInt();
					m_TollItem = Reflector.Deserialize( reader );
					m_TollAmount = reader.ReadInt();
					m_SkillName1 = (SkillName)reader.ReadInt();
					m_SkillName2 = (SkillName)reader.ReadInt();
					m_SkillValue1 = reader.ReadDouble();
					m_SkillValue2 = reader.ReadDouble();
					m_GMsNeeded = reader.ReadInt();
					m_StrValue = reader.ReadInt();
					m_IntValue = reader.ReadInt();
					m_DexValue = reader.ReadInt();
					m_Confirmation = reader.ReadString();
					m_GameRobeHue = reader.ReadInt();
					m_Delay = reader.ReadTimeSpan();
					m_KarmaThreshold = reader.ReadInt();
					break;
				}
				case 6:
				{
					switch ( reader.ReadInt() )
					{
						case 0: TollLocation = TollOption.Backpack; break;
						case 1: TollLocation = TollOption.BankBox; break;
						case 2: TollLocation = TollOption.Both; break;
					}

					goto case 5;
				}
				case 5:
				{
					CannotFleeFromBattle = reader.ReadBool();
					goto case 4;
				}
				case 4:
				{
					m_GameRobeHue = reader.ReadInt();
					GiveGameRobe = !reader.ReadBool();
					goto case 3;
				}
				case 3:
				{
					StaffOverride = !reader.ReadBool();
					m_Confirmation = reader.ReadString();
					StaffOnly = reader.ReadBool();

					switch( reader.ReadInt() ) //Sex-Select
					{
						case 1: Gender = GenderOption.Male; break;
						case 2: Gender = GenderOption.Female; break;
					}

					int npcguild = reader.ReadInt();
					if ( npcguild > 0 )
					{
						SetRestFlag( EGRFlags.No_NPCGuilds, true );
						SetRestFlag( (EGRFlags)(1ul<<(25+npcguild)), false );
					}

					switch( reader.ReadInt() ) //Faction-Select
					{
						case 1: SetRestFlag( EGRFlags.No_Factions, true ); break;
						case 2: SetRestFlag( EGRFlags.No_Factionless, true ); break;
						case 3: SetRestFlag( EGRFlags.No_Minax | EGRFlags.No_Shadowlords | EGRFlags.No_TrueBrits, true ); break;
						case 4: SetRestFlag( EGRFlags.No_COM | EGRFlags.No_Shadowlords | EGRFlags.No_TrueBrits, true ); break;
						case 5: SetRestFlag( EGRFlags.No_COM | EGRFlags.No_Minax | EGRFlags.No_TrueBrits, true ); break;
						case 6: SetRestFlag( EGRFlags.No_COM | EGRFlags.No_Minax | EGRFlags.No_Shadowlords, true ); break;
					}

					switch( reader.ReadInt() ) //ChaosOrder-Select
					{
						case 1: SetRestFlag( EGRFlags.No_ChaosGuild | EGRFlags.No_OrderGuild, true ); break;
						case 2: SetRestFlag( EGRFlags.No_RegGuild | EGRFlags.No_Guildless, true ); break;
						case 3: SetRestFlag( EGRFlags.No_OrderGuild | EGRFlags.No_RegGuild | EGRFlags.No_Guildless, true ); break;
						case 4: SetRestFlag( EGRFlags.No_ChaosGuild | EGRFlags.No_RegGuild | EGRFlags.No_Guildless, true ); break;
					}
					goto case 2;
				}
				case 2:
				{
					switch( reader.ReadInt() ) //Young-Select
					{
						case 1: Veterans = VetOption.Veteran; break;
						case 2: Veterans = VetOption.Young; break;
					}

					switch( reader.ReadInt() ) //Factioners-Select
					{
						case 1: SetRestFlag( EGRFlags.No_Factions, true ); break;
						case 2: No_Factionless = true; break;
					}

					goto case 1;
				}
				case 1:
				{
					int stat = reader.ReadInt();

					int amount = (int)reader.ReadDouble();

					switch( stat )
					{
						case 1: m_StrValue = amount; break;
						case 2: m_IntValue = amount; break;
						case 3: m_DexValue = amount; break;
					}

					reader.ReadString(); //obselete
					switch( reader.ReadInt() )
					{
						case 1: SetRestFlag( EGRFlags.No_Ghosts, true ); break;
						case 2: SetRestFlag( EGRFlags.No_Living, true ); break;
					}

					ResGhosts = reader.ReadBool();
					RemoveFSL = reader.ReadBool();
					SetOptFlag( EGateOptFlags.StrMax | EGateOptFlags.IntMax | EGateOptFlags.DexMax, reader.ReadInt() == 0 );
					reader.ReadInt(); //obselete
					m_MaxPlayers = reader.ReadInt();
					HideWhenFull = reader.ReadBool();
					switch( reader.ReadInt() )
					{
						case 1: Mounted = MountOption.Unmounted; break;
						case 2: Mounted = MountOption.Mounted; break;
					}
					TransportPets = reader.ReadBool();
					SetRestFlag( EGRFlags.No_Clothed, reader.ReadBool() );
					SetRestFlag( EGRFlags.No_NonDonators, reader.ReadBool() );
					switch( reader.ReadInt() )
					{
						case 1: No_Murderer = true; break;
						case 2: No_BlueKarma = No_GrayKarma = No_Criminal = true; break;
					}
					m_TollItem = ScriptCompiler.FindTypeByFullName( reader.ReadString() );
					m_TollAmount = reader.ReadInt();
					FreeForDonators = reader.ReadBool();
					m_SkillName1 = (SkillName)reader.ReadInt();
					m_SkillValue1 = reader.ReadDouble();
					reader.ReadString(); //obselete
					m_GMsNeeded = reader.ReadInt();
					break;
				}
			}
		}
Exemple #57
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch(version)
            {
                case 8:
                    {
                        this.m_StartingLoc = reader.ReadPoint3D();
                        try
                        {
                            this.m_StartingMap = Map.Parse(reader.ReadString());
                        }
                        catch
                        {
                        }
                        goto case 7;
                    }
                case 7:
                    {
                        string langstr = reader.ReadString();
                        try
                        {
                            this.m_CurrentLanguage = (LanguageType)Enum.Parse(typeof(LanguageType), langstr);
                        }
                        catch
                        {
                        }
                        goto case 6;
                    }
                case 6:
                    {
                        this.m_ChallengeGame = (BaseChallengeGame)reader.ReadItem();
                        this.m_ChallengeSetup = (BaseChallengeGame)reader.ReadItem();
                        goto case 5;
                    }
                case 5:
                    {
                        TimeSpan remaining = reader.ReadTimeSpan();
                        if (remaining > TimeSpan.Zero)
                        {
                            this.DoTimer(remaining);
                        }
                        goto case 4;
                    }
                case 4:
                    {
                        this.m_ReceiveBroadcasts = reader.ReadBool();
                        goto case 3;
                    }
                case 3:
                    {
                        this.m_Rank = reader.ReadInt();
                        this.m_DeltaRank = reader.ReadInt();
                        this.m_WhenRanked = reader.ReadDateTime();
                        this.m_LastDecay = reader.ReadDateTime();
                        goto case 2;
                    }
                case 2:
                    {
                        this.m_Credits = reader.ReadInt();
                        goto case 1;
                    }
                case 1:
                    {
                        this.m_Broadcast = reader.ReadBool();
                        goto case 0;
                    }
                case 0:
                    {
                        this.m_Points = reader.ReadInt();
                        this.m_Kills = reader.ReadInt();
                        this.m_Deaths = reader.ReadInt();
                        this.m_Challenger = reader.ReadMobile();
                        this.m_LastKill = reader.ReadDateTime();
                        this.m_LastDeath = reader.ReadDateTime();

                        // read in the kill list
                        int count = reader.ReadInt();
                        this.KillList = new ArrayList();
                        for (int i = 0; i < count; i++)
                        {
                            Mobile m = reader.ReadMobile();
                            DateTime t = reader.ReadDateTime();
                            if (m != null && !m.Deleted)
                            {
                                this.KillList.Add(new KillEntry(m,t));
                            }
                        }

                        // get the owner of this in order to rebuild the rankings
                        Mobile killer = reader.ReadMobile();

                        // rebuild the ranking list
                        // if they have never made a kill, then dont rank
                        if (killer != null && this.m_Kills > 0)
                        {
                            UpdateRanking(killer, this);
                        }
                        break;
                    }
            }
        }
Exemple #58
0
		public WarDeclaration( GenericReader reader )
		{
			int version = reader.ReadInt();

			switch ( version )
			{
				case 0:
				{
					m_Kills = reader.ReadInt();
					m_MaxKills = reader.ReadInt();

					m_WarLength = reader.ReadTimeSpan();
					m_WarBeginning = reader.ReadDateTime();

					m_Guild = reader.ReadGuild() as Guild;
					m_Opponent = reader.ReadGuild() as Guild;

					m_WarRequester = reader.ReadBool();

					break;
				}
			}
		}
Exemple #59
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch ( version )
            {
                case 0:
                    {
                        this.m_Title = reader.ReadString();
                        this.m_Duration = reader.ReadTimeSpan();
                        this.m_StartTime = reader.ReadDateTime();
                        this.m_Active = reader.ReadBool();

                        this.m_Options = new ShardPollOption[reader.ReadInt()];

                        for (int i = 0; i < this.m_Options.Length; ++i)
                            this.m_Options[i] = new ShardPollOption(reader);

                        if (this.m_Active)
                            m_ActivePollers.Add(this);

                        break;
                    }
            }
        }
Exemple #60
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();
			// version 0
			m_Word = reader.ReadString();
			m_Skill = (SkillName) reader.ReadInt();
			m_Value = reader.ReadInt();
			m_Duration = reader.ReadTimeSpan();
			m_RequireIdentification = reader.ReadBool();
			m_Identified = reader.ReadBool();
		}