Exemplo n.º 1
1
		public void Deserialize( GenericReader reader, int version )
		{
			switch( version )
			{
				case 2:
				{
					m_Description = reader.ReadString();

					goto case 1;
				}
				case 1:
				{
					m_BlessBond = reader.ReadBool();
					m_BBPrice = reader.ReadInt();

					goto case 0;
				}
				case 0:
				{
					m_Item = reader.ReadString();
					m_Name = reader.ReadString();
					m_Price = reader.ReadInt();
					m_Amount = reader.ReadInt();

					break;
				}
			}
		}
Exemplo n.º 2
1
        public VendorInventory(BaseHouse house, GenericReader reader)
        {
            this.m_House = house;

            int version = reader.ReadEncodedInt();

            this.m_Owner = reader.ReadMobile();
            this.m_VendorName = reader.ReadString();
            this.m_ShopName = reader.ReadString();

            this.m_Items = reader.ReadStrongItemList();
            this.m_Gold = reader.ReadInt();

            this.m_ExpireTime = reader.ReadDeltaTime();

            if (this.m_Items.Count == 0 && this.m_Gold == 0)
            {
                Timer.DelayCall(TimeSpan.Zero, new TimerCallback(Delete));
            }
            else
            {
                TimeSpan delay = this.m_ExpireTime - DateTime.Now;
                this.m_ExpireTimer = new ExpireTimer(this, delay > TimeSpan.Zero ? delay : TimeSpan.Zero);
                this.m_ExpireTimer.Start();
            }
        }
Exemplo n.º 3
1
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version )
			{
				case 1:
				{
					m_House = reader.ReadItem() as BaseHouse;
					goto case 0;
				}
				case 0:
				{
					m_Description = reader.ReadString();
					m_Marked = reader.ReadBool();
					m_Target = reader.ReadPoint3D();
					m_TargetMap = reader.ReadMap();

					CalculateHue();

					break;
				}
			}
		}
 public LocationStruct(GenericReader reader)
 {
     int version = reader.ReadInt();
     Map = reader.ReadMap();
     Location = reader.ReadPoint3D();
     Name = reader.ReadString();
 }
Exemplo n.º 5
1
		public BOBSmallEntry( GenericReader reader )
		{
			int version = reader.ReadEncodedInt();

			switch ( version )
			{
				case 0:
				{
					string type = reader.ReadString();

					if ( type != null )
						m_ItemType = ScriptCompiler.FindTypeByFullName( type );

					m_RequireExceptional = reader.ReadBool();

					m_DeedType = (BODType)reader.ReadEncodedInt();

					m_Material = (BulkMaterialType)reader.ReadEncodedInt();
					m_AmountCur = reader.ReadEncodedInt();
					m_AmountMax = reader.ReadEncodedInt();
					m_Number = reader.ReadEncodedInt();
					m_Graphic = reader.ReadEncodedInt();
					m_Price = reader.ReadEncodedInt();

					break;
				}
			}
		}
Exemplo n.º 6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
         
            switch ( version )
            {
                case 1:
                    {
                        reader.ReadInt();
                        reader.ReadInt();
                        reader.ReadInt();
                        //this.m_TextColor = reader.ReadInt();
                        //this.m_TitleColor = reader.ReadInt();
                        //this.m_size = reader.ReadInt();
                    }
                    break;
                case 0:
                    {
                        reader.ReadString();
                        reader.ReadString();
                        reader.ReadInt();
                        reader.ReadInt();
                        reader.ReadInt();
                        //this.NoteString = reader.ReadString();
                        //this.TitleString = reader.ReadString();
                        //this.m_TextColor = reader.ReadInt();
                        //this.m_TitleColor = reader.ReadInt();
                        //this.m_size = reader.ReadInt();
                    }
                    break;
            }
        }
Exemplo n.º 7
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
            m_LabelNumber = reader.ReadInt();
            m_From = reader.ReadString();
            m_To = reader.ReadString();

            Utility.Intern(ref m_From);
            Utility.Intern(ref m_To);
        }
Exemplo n.º 8
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch( version )
			{
				case 3:
				{
					m_BeforeChangeover = reader.ReadBool();
					goto case 2;
				}
				case 2:
				{
					m_GuildName = reader.ReadString();
					m_GuildAbbrev = reader.ReadString();

					goto case 1;
				}
				case 1:
				{
					m_Guild = reader.ReadGuild() as Guild;

					goto case 0;
				}
				case 0:
				{
					break;
				}
			}

			if( Guild.NewGuildSystem && ItemID == 0xED4 )
				ItemID = 0xED6;

			if( m_Guild != null )
			{
				m_GuildName = m_Guild.Name;
				m_GuildAbbrev = m_Guild.Abbreviation;
			}

			if( version <= 2 )
				m_BeforeChangeover = true;

			if( Guild.NewGuildSystem && m_BeforeChangeover )
				Timer.DelayCall( TimeSpan.Zero, new TimerCallback( AddToHouse ) );

			if( !Guild.NewGuildSystem && m_Guild == null )
				this.Delete();
		}
Exemplo n.º 9
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            switch (version)
            {
                case 1:
                    this.m_Condition = reader.ReadString();
                    goto case 0;
                case 0:
                    this.m_Action = reader.ReadString();
                    break;
            }
        }
Exemplo n.º 10
0
		public void Deserialize( GenericReader reader )
		{
			int version = reader.ReadInt();

			switch ( version )
			{
				case 1:
				{
					m_Flag = reader.ReadItem() as IGameFlag;
					goto case 0;
				}
				case 0:
				{
					m_Members = reader.ReadMobileList();
					m_Home = reader.ReadPoint3D();
					m_FlagHome = reader.ReadPoint3D();
					m_Map = reader.ReadMap();
					m_Points = reader.ReadInt();
					m_Name = reader.ReadString();
					m_Hue = reader.ReadInt();
					m_UId = reader.ReadInt();
					m_Game = reader.ReadItem() as CTFGame;
					break;
				}
			}
		}
Exemplo n.º 11
0
        public static Type ReadType(Type[] referenceTable, GenericReader reader)
        {
            int encoding = reader.ReadEncodedInt();

            switch ( encoding )
            {
                default:
                case 0x00: // null
                    {
                        return null;
                    }
                case 0x01: // indexed
                    {
                        int index = reader.ReadEncodedInt();

                        if (index >= 0 && index < referenceTable.Length)
                            return referenceTable[index];

                        return null;
                    }
                case 0x02: // by name
                    {
                        string fullName = reader.ReadString();

                        if (fullName == null)
                            return null;

                        return ScriptCompiler.FindTypeByFullName(fullName, false);
                    }
            }
        }
Exemplo n.º 12
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch ( version )
            {
                case 2: // Reset from Resource System
                    this.m_Resource = this.DefaultResource;
                    reader.ReadString();
                    break;
                case 1:
                    {
                        this.m_Resource = (CraftResource)reader.ReadInt();
                        break;
                    }
                case 0:
                    {
                        OreInfo info;

                        switch ( reader.ReadInt() )
                        {
                            case 0:
                                info = OreInfo.Iron;
                                break;
                            case 1:
                                info = OreInfo.DullCopper;
                                break;
                            case 2:
                                info = OreInfo.ShadowIron;
                                break;
                            case 3:
                                info = OreInfo.Copper;
                                break;
                            case 4:
                                info = OreInfo.Bronze;
                                break;
                            case 5:
                                info = OreInfo.Gold;
                                break;
                            case 6:
                                info = OreInfo.Agapite;
                                break;
                            case 7:
                                info = OreInfo.Verite;
                                break;
                            case 8:
                                info = OreInfo.Valorite;
                                break;
                            default:
                                info = null;
                                break;
                        }

                        this.m_Resource = CraftResources.GetFromOreInfo(info);
                        break;
                    }
            }
        }
Exemplo n.º 13
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version )
			{
				case 1:
				case 0:
				{
					m_MultiID = reader.ReadInt();
					m_Offset = reader.ReadPoint3D();
					m_ShipName = reader.ReadString();

					if ( version == 0 )
						reader.ReadUInt();

					break;
				}
			}

			if ( LootType == LootType.Newbied )
				LootType = LootType.Blessed;

			if ( Weight == 0.0 )
				Weight = 1.0;
		}
        public void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            int count = reader.ReadInt();
            for (int i = 0; i < count; i++)
            {
                ExchangeTypeInfo etinfo = null;

                string fullname = reader.ReadString();
                Type type = ScriptCompiler.FindTypeByFullName(fullname);
                foreach (ExchangeTypeInfo eti in InfoList)
                {
                    if (eti.Type == type)
                    {
                        etinfo = eti;
                        break;
                    }
                }

                if (etinfo == null)
                    etinfo = new ExchangeTypeInfo(typeof(Gold), "readerror");

                etinfo.Deserialize(reader);
                etinfo.Category = this;
            }
        }
Exemplo n.º 15
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadEncodedInt();
            m_ForumAccount = reader.ReadString();
        }
Exemplo n.º 16
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            reader.ReadInt();

            EventName = reader.ReadString();
        }
Exemplo n.º 17
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            this.m_Name = Utility.Intern(reader.ReadString());
        }
Exemplo n.º 18
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
            m_BottleID = reader.ReadInt();
            m_ToxinName = reader.ReadString();
        }
Exemplo n.º 19
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            this.m_Subtext = reader.ReadString();
        }
		public override void Deserialize( GenericReader reader ) 
		{ 
			base.Deserialize( reader ); 

			int version = reader.ReadInt(); 
			
			m_BreweryName = reader.ReadString();
		} 
Exemplo n.º 21
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            // version 0
            this.m_DataValue = reader.ReadString();
        }
Exemplo n.º 22
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            m_MobileLock = reader.ReadMobile();
            m_BeltName = reader.ReadString();
        }
Exemplo n.º 23
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();
			com = reader.ReadString();
			if ( Hue == 0 )
				Hue = 1167;
		}
Exemplo n.º 24
0
        public BookPageInfo(GenericReader reader)
        {
            int length = reader.ReadInt();

            this.m_Lines = new string[length];

            for (int i = 0; i < this.m_Lines.Length; ++i)
                this.m_Lines[i] = Utility.Intern(reader.ReadString());
        }
Exemplo n.º 25
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();
            int count = reader.ReadInt();

            for( int i = 0; i < count; i++ )
            {
                string name = reader.ReadString();
                DateTime date = reader.ReadDateTime();
                string creator = reader.ReadString();

                if( !reader.ReadBool() )
                    Events.Add( new IRCEvent( name, date, creator ) );
            }

            Database = this;
        }
        public TransactionInfo(GenericReader reader)
        {
            int version = reader.ReadInt();

            Price = reader.ReadDouble();
            Quantity = reader.ReadInt();
            Name = reader.ReadString();
            Buyer = reader.ReadBool();
            Date = reader.ReadDateTime();
        }
Exemplo n.º 27
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

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

            m_Type = (ContractType) reader.ReadInt();
            m_CrafterName = (string) reader.ReadString();
        }
Exemplo n.º 28
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

		    _Owner = reader.ReadString();
            _Contribution = reader.ReadInt();

		}
Exemplo n.º 29
0
		public KeyInfo( GenericReader reader )
		{
			int version = reader.ReadInt();

			m_KeyVal = reader.ReadUInt();
			m_Description = reader.ReadString();
			m_MaxRange = reader.ReadInt();
			m_Link = reader.ReadItem();
			m_Type = (KeyType)reader.ReadInt();
		}
Exemplo n.º 30
0
        public void Deserialize( GenericReader reader )
        {
            int version = reader.ReadInt();

            switch( version )
            {
                case 0:
                {
                    m_Serial = reader.ReadInt();
                    m_PostCount = reader.ReadInt();
                    m_Name = reader.ReadString();
                    m_Signature = reader.ReadString();
                    m_RankTitle = reader.ReadString();
                    m_CustomRank = reader.ReadString();
                    m_JoinDate = reader.ReadDateTime();
                    m_CustomRankAllowed = reader.ReadBool();
                    break;
                }
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            {
                m_ChanceToSpawn = reader.ReadDouble();
                goto case 1;
            }
            break;

            case 1:
            {
                m_RandomItem = reader.ReadBool();
                goto case 0;
            }
            break;

            case 0:
            {
                m_Container = reader.ReadItem() as Container;
                m_MinDelay  = reader.ReadTimeSpan();
                m_MaxDelay  = reader.ReadTimeSpan();
                m_Count     = reader.ReadInt();
                m_Running   = reader.ReadBool();

                if (m_Running)
                {
                    TimeSpan delay = reader.ReadTimeSpan();
                    DoTimer(delay);
                }

                int size = reader.ReadInt();

                m_ItemsName = new ArrayList(size);

                for (int i = 0; i < size; ++i)
                {
                    string typeName = reader.ReadString();

                    m_ItemsName.Add(typeName);

                    if (ChestItemSpawnerType.GetType(typeName) == null && ChestItemSpawnerType.GetLootPack(typeName) == null)
                    {
                        if (m_WarnTimer == null)
                        {
                            m_WarnTimer = new WarnTimer();
                        }

                        m_WarnTimer.Add(Location, Map, typeName);
                    }
                }

                int count = reader.ReadInt();

                m_Items = new ArrayList(count);

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

                    if (e != null)
                    {
                        m_Items.Add(e);
                    }
                }
            }
            break;
            }
        }
Exemplo n.º 32
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 6:
            {
                m_SpawnRange = reader.ReadInt();

                goto case 5;
            }

            case 5:
            case 4:
            {
                m_WalkingRange = reader.ReadInt();

                goto case 3;
            }

            case 3:
            case 2:
            {
                m_WayPoint = reader.ReadItem() as WayPoint;

                goto case 1;
            }

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

                goto case 0;
            }

            case 0:
            {
                m_MinDelay  = reader.ReadTimeSpan();
                m_MaxDelay  = reader.ReadTimeSpan();
                m_MaxCount  = reader.ReadInt();
                m_Team      = reader.ReadInt();
                m_HomeRange = reader.ReadInt();
                m_Running   = reader.ReadBool();

                TimeSpan ts = TimeSpan.Zero;

                if (m_Running)
                {
                    ts = reader.ReadDeltaTime() - DateTime.UtcNow;
                }

                int size = reader.ReadInt();

                m_SpawnObjects = new List <SpawnObject>(size);

                for (int i = 0; i < size; ++i)
                {
                    if (version > 4)
                    {
                        SpawnObject so = new SpawnObject(reader);

                        if (AddSpawnObject(so))
                        {
                            string typeName = ParseType(so.SpawnName);

                            if (ScriptCompiler.FindTypeByName(typeName) == null)
                            {
                                if (m_WarnTimer == null)
                                {
                                    m_WarnTimer = new WarnTimer();
                                }

                                m_WarnTimer.Add(Location, Map, typeName);
                            }
                        }
                    }
                    else
                    {
                        string creatureString = reader.ReadString();

                        AddSpawnObject(new SpawnObject(creatureString));
                        string typeName = ParseType(creatureString);

                        if (ScriptCompiler.FindTypeByName(typeName) == null)
                        {
                            if (m_WarnTimer == null)
                            {
                                m_WarnTimer = new WarnTimer();
                            }

                            m_WarnTimer.Add(Location, Map, typeName);
                        }
                    }
                }

                if (version < 5)
                {
                    int count = reader.ReadInt();
                    for (int i = 0; i < count; ++i)
                    {
                        ISpawnable e = World.FindEntity(reader.ReadInt()) as ISpawnable;

                        if (e != null)
                        {
                            e.Delete();         // lets make this easy
                        }
                    }
                }

                if (m_Running)
                {
                    DoTimer(ts);
                }

                break;
            }
            }

            if (version < 3 && Weight == 0)
            {
                Weight = -1;
            }
        }
Exemplo n.º 33
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 5:
            {
                m_BeginGame = reader.ReadBool();
            }
                goto case 4;

            case 4:
            {
                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    PlayerMobile     player  = reader.ReadMobile() as PlayerMobile;
                    EquipmentStorage storage = reader.ReadItem() as EquipmentStorage;
                    m_PlayerSupplies.Add(player, storage);
                }
                goto case 3;
            }

            case 3:
            {
                m_UseGump   = reader.ReadBool();
                m_GameName  = reader.ReadString();
                m_EventType = (EventType)reader.ReadInt();
                int count = reader.ReadInt();
                for (int i = 0; i < count; ++i)
                {
                    m_PlayerScores.Add(reader.ReadMobile(), reader.ReadInt());
                }
                goto case 2;
            }

            case 2:
            {
                Open           = reader.ReadBool();
                m_GiveSupplies = reader.ReadBool();
                m_Supplier     = reader.ReadItem() as EventSupplier;
                goto case 1;
            }

            case 1:
            {
                m_Players    = reader.ReadStrongMobileList();
                m_GameMaster = reader.ReadMobile();
                m_MsgStaff   = reader.ReadBool();
                m_Running    = reader.ReadBool();
                m_StartTime  = reader.ReadDateTime();
                m_Length     = reader.ReadTimeSpan();
                m_MaxScore   = reader.ReadInt();
                m_Lobby      = reader.ReadPoint3D();
                m_LobbyMap   = reader.ReadMap();
                break;
            }
            }
        }
Exemplo n.º 34
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 4:
            {
                _VvVItem   = reader.ReadBool();
                _Owner     = reader.ReadMobile();
                _OwnerName = reader.ReadString();
                goto case 3;
            }

            case 3:
            case 2:
                IsArrowAmmo = reader.ReadBool();
                goto case 1;

            case 1:
            {
                if (version == 1)
                {
                    IsArrowAmmo = (Ammo == null || Ammo is Arrow);
                }
                m_AosSkillBonuses = new AosSkillBonuses(this, reader);
                m_Resistances     = new AosElementAttributes(this, reader);
                goto case 0;
            }

            case 0:
            {
                if (version == 0)
                {
                    m_AosSkillBonuses = new AosSkillBonuses(this);
                    m_Resistances     = new AosElementAttributes(this);
                }

                SaveFlag flags = (SaveFlag)reader.ReadEncodedInt();

                if (GetSaveFlag(flags, SaveFlag.Attributes))
                {
                    m_Attributes = new AosAttributes(this, reader);
                }
                else
                {
                    m_Attributes = new AosAttributes(this);
                }

                if (version < 3 && GetSaveFlag(flags, SaveFlag.LowerAmmoCost))
                {
                    m_Attributes.LowerAmmoCost = reader.ReadInt();
                }

                if (GetSaveFlag(flags, SaveFlag.WeightReduction))
                {
                    m_WeightReduction = reader.ReadInt();
                }

                if (GetSaveFlag(flags, SaveFlag.DamageIncrease))
                {
                    m_DamageIncrease = reader.ReadInt();
                }

                if (GetSaveFlag(flags, SaveFlag.Crafter))
                {
                    m_Crafter = reader.ReadMobile();
                }

                if (GetSaveFlag(flags, SaveFlag.Quality))
                {
                    m_Quality = (ItemQuality)reader.ReadInt();
                }

                if (GetSaveFlag(flags, SaveFlag.Capacity))
                {
                    m_Capacity = reader.ReadInt();
                }

                #region Mondain's Legacy Sets
                if (GetSaveFlag(flags, SaveFlag.SetPhysical))
                {
                    m_SetPhysicalBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.SetFire))
                {
                    m_SetFireBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.SetCold))
                {
                    m_SetColdBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.SetPoison))
                {
                    m_SetPoisonBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.SetEnergy))
                {
                    m_SetEnergyBonus = reader.ReadEncodedInt();
                }

                if (GetSaveFlag(flags, SaveFlag.SetAttributes))
                {
                    m_SetAttributes = new AosAttributes(this, reader);
                }
                else
                {
                    m_SetAttributes = new AosAttributes(this);
                }

                if (GetSaveFlag(flags, SaveFlag.SetSkillAttributes))
                {
                    m_SetSkillBonuses = new AosSkillBonuses(this, reader);
                }
                else
                {
                    m_SetSkillBonuses = new AosSkillBonuses(this);
                }

                if (GetSaveFlag(flags, SaveFlag.SetHue))
                {
                    m_SetHue = reader.ReadInt();
                }

                if (GetSaveFlag(flags, SaveFlag.LastEquipped))
                {
                    m_LastEquipped = reader.ReadBool();
                }

                if (GetSaveFlag(flags, SaveFlag.SetEquipped))
                {
                    m_SetEquipped = reader.ReadBool();
                }
                #endregion

                break;
            }
            }
        }
Exemplo n.º 35
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 11:
            {
                m_SetPhysicalBonus = reader.ReadInt();
                m_SetFireBonus     = reader.ReadInt();
                m_SetColdBonus     = reader.ReadInt();
                m_SetPoisonBonus   = reader.ReadInt();
                m_SetEnergyBonus   = reader.ReadInt();
                goto case 10;
            }

            case 10:
            {
                m_PlayerConstructed = reader.ReadBool();
                goto case 9;
            }

            case 9:
            {
                m_TalismanProtection = new TalismanAttribute(reader);
                goto case 8;
            }

            case 8:
            {
                _VvVItem   = reader.ReadBool();
                _Owner     = reader.ReadMobile();
                _OwnerName = reader.ReadString();
                goto case 7;
            }

            case 7:
            {
                m_IsImbued = reader.ReadBool();
                goto case 6;
            }

            case 6:
            {
                m_NegativeAttributes = new NegativeAttributes(this, reader);
                goto case 5;
            }

            case 5:
            {
                #region Runic Reforging
                m_ReforgedPrefix = (ReforgedPrefix)reader.ReadInt();
                m_ReforgedSuffix = (ReforgedSuffix)reader.ReadInt();
                m_ItemPower      = (ItemPower)reader.ReadInt();
                m_BlockRepair    = reader.ReadBool();
                #endregion

                #region Stygian Abyss
                m_GorgonLenseCharges = reader.ReadInt();
                m_GorgonLenseType    = (LenseType)reader.ReadInt();
                goto case 4;
            }

            case 4:
            {
                m_TimesImbued = reader.ReadEncodedInt();

                m_SAAbsorptionAttributes = new SAAbsorptionAttributes(this, reader);
                #endregion

                m_BlessedBy    = reader.ReadMobile();
                m_LastEquipped = reader.ReadBool();
                m_SetEquipped  = reader.ReadBool();
                m_SetHue       = reader.ReadEncodedInt();

                m_SetAttributes   = new AosAttributes(this, reader);
                m_SetSkillBonuses = new AosSkillBonuses(this, reader);

                m_Crafter = reader.ReadMobile();
                m_Quality = (ItemQuality)reader.ReadInt();
                goto case 3;
            }

            case 3:
            {
                m_MaxHitPoints = reader.ReadEncodedInt();
                m_HitPoints    = reader.ReadEncodedInt();

                goto case 2;
            }

            case 2:
            {
                m_Resource = (CraftResource)reader.ReadEncodedInt();
                m_GemType  = (GemType)reader.ReadEncodedInt();

                goto case 1;
            }

            case 1:
            {
                m_AosAttributes   = new AosAttributes(this, reader);
                m_AosResistances  = new AosElementAttributes(this, reader);
                m_AosSkillBonuses = new AosSkillBonuses(this, reader);

                if (Core.AOS && Parent is Mobile)
                {
                    m_AosSkillBonuses.AddTo((Mobile)Parent);
                }

                int strBonus = m_AosAttributes.BonusStr;
                int dexBonus = m_AosAttributes.BonusDex;
                int intBonus = m_AosAttributes.BonusInt;

                if (Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0))
                {
                    Mobile m = (Mobile)Parent;

                    string modName = Serial.ToString();

                    if (strBonus != 0)
                    {
                        m.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                    }

                    if (dexBonus != 0)
                    {
                        m.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                    }

                    if (intBonus != 0)
                    {
                        m.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                    }
                }

                if (Parent is Mobile)
                {
                    ((Mobile)Parent).CheckStatTimers();
                }

                break;
            }

            case 0:
            {
                m_AosAttributes   = new AosAttributes(this);
                m_AosResistances  = new AosElementAttributes(this);
                m_AosSkillBonuses = new AosSkillBonuses(this);

                break;
            }
            }

            if (m_NegativeAttributes == null)
            {
                m_NegativeAttributes = new NegativeAttributes(this);
            }

            if (m_TalismanProtection == null)
            {
                m_TalismanProtection = new TalismanAttribute();
            }

            #region Mondain's Legacy Sets
            if (m_SetAttributes == null)
            {
                m_SetAttributes = new AosAttributes(this);
            }

            if (m_SetSkillBonuses == null)
            {
                m_SetSkillBonuses = new AosSkillBonuses(this);
            }
            #endregion

            if (version < 2)
            {
                m_Resource = CraftResource.Iron;
                m_GemType  = GemType.None;
            }
        }
Exemplo n.º 36
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            //Version 0
            if (version >= 0)
            {
                m_Guildmaster  = (PlayerMobile)reader.ReadMobile();
                m_Abbreviation = reader.ReadString();
                m_CreationTime = reader.ReadDateTime();
                m_Icon         = reader.ReadInt();
                m_IconHue      = reader.ReadInt();
                m_Website      = reader.ReadString();
                m_Guildhouse   = reader.ReadItem() as BaseHouse;
                m_Faction      = reader.ReadItem() as Faction;

                //Rank Names
                int rankNamesCount = reader.ReadInt();
                for (int a = 0; a < rankNamesCount; a++)
                {
                    m_RankNames[a] = reader.ReadString();
                }

                //Members
                int membersCount = reader.ReadInt();
                for (int a = 0; a < membersCount; a++)
                {
                    PlayerMobile    player       = reader.ReadMobile() as PlayerMobile;
                    GuildMemberRank rank         = (GuildMemberRank)reader.ReadInt();
                    DateTime        joinDate     = reader.ReadDateTime();
                    PlayerMobile    fealtyPlayer = reader.ReadMobile() as PlayerMobile;

                    if (player != null)
                    {
                        if (!player.Deleted)
                        {
                            GuildMemberEntry guildMemberEntry = new GuildMemberEntry(player, rank, joinDate, fealtyPlayer);

                            m_Members.Add(guildMemberEntry);
                        }
                    }
                }

                //Lists
                int alliesCount = reader.ReadInt();
                for (int a = 0; a < alliesCount; a++)
                {
                    Guild entry = reader.ReadItem() as Guild;

                    if (entry != null)
                    {
                        if (!entry.Deleted)
                        {
                            m_Allies.Add(entry);
                        }
                    }
                }

                int alliesRequestsSentCount = reader.ReadInt();
                for (int a = 0; a < alliesRequestsSentCount; a++)
                {
                    Guild entry = reader.ReadItem() as Guild;

                    if (entry != null)
                    {
                        if (!entry.Deleted)
                        {
                            m_AlliesRequestsSent.Add(entry);
                        }
                    }
                }

                int alliesRequestsReceivedCount = reader.ReadInt();
                for (int a = 0; a < alliesRequestsReceivedCount; a++)
                {
                    Guild entry = reader.ReadItem() as Guild;

                    if (entry != null)
                    {
                        if (!entry.Deleted)
                        {
                            m_AlliesRequestsReceived.Add(entry);
                        }
                    }
                }

                int enemiesCount = reader.ReadInt();
                for (int a = 0; a < enemiesCount; a++)
                {
                    Guild entry = reader.ReadItem() as Guild;

                    if (entry != null)
                    {
                        if (!entry.Deleted)
                        {
                            m_Enemies.Add(entry);
                        }
                    }
                }

                int enemiesRequestsSentCount = reader.ReadInt();
                for (int a = 0; a < enemiesRequestsSentCount; a++)
                {
                    Guild entry = reader.ReadItem() as Guild;

                    if (entry != null)
                    {
                        if (!entry.Deleted)
                        {
                            m_EnemiesRequestsSent.Add(entry);
                        }
                    }
                }

                int enemiesRequestsReceivedCount = reader.ReadInt();
                for (int a = 0; a < enemiesRequestsReceivedCount; a++)
                {
                    Guild entry = reader.ReadItem() as Guild;

                    if (entry != null)
                    {
                        if (!entry.Deleted)
                        {
                            m_EnemiesRequestsReceived.Add(entry);
                        }
                    }
                }

                int candidatesCount = reader.ReadInt();
                for (int a = 0; a < candidatesCount; a++)
                {
                    PlayerMobile candidate = reader.ReadMobile() as PlayerMobile;

                    if (candidate != null)
                    {
                        if (!candidate.Deleted)
                        {
                            m_Candidates.Add(candidate);
                        }
                    }
                }
            }

            //-----

            Guilds.m_Guilds.Add(this);

            ReapplyMemberships();

            AuditGuild();
        }
Exemplo n.º 37
0
        public override void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 4:
            {
                m_AllyDeclarations = reader.ReadGuildListOrNull();
                m_AllyInvitations  = reader.ReadGuildListOrNull();

                goto case 3;
            }

            case 3:
            {
                m_TypeLastChange = reader.ReadDateTime();

                goto case 2;
            }

            case 2:
            {
                m_Type = (GuildType)reader.ReadInt();

                goto case 1;
            }

            case 1:
            {
                m_LastFealty = reader.ReadDateTime();

                goto case 0;
            }

            case 0:
            {
                m_Leader       = reader.ReadMobile();
                m_Name         = reader.ReadString();
                m_Abbreviation = reader.ReadString();

                m_Allies          = reader.ReadGuildListOrNull();
                m_Enemies         = reader.ReadGuildListOrNull();
                m_WarDeclarations = reader.ReadGuildListOrNull();
                m_WarInvitations  = reader.ReadGuildListOrNull();

                m_Members    = reader.ReadMobileList();
                m_Candidates = reader.ReadMobileListOrNull();
                m_Accepted   = reader.ReadMobileListOrNull();

                m_Guildstone = reader.ReadItem();
                m_Teleporter = reader.ReadItem();

                m_Charter = reader.ReadString();
                m_Website = reader.ReadString();

                break;
            }
            }

            if (m_Guildstone == null || m_Members.Count == 0)
            {
                Disband();
            }
        }
Exemplo n.º 38
0
Arquivo: Ore.cs Projeto: Ziden/ServUO
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:     // Reset from Resource System
                m_Resource = DefaultResource;
                reader.ReadString();
                break;

            case 1:
            {
                m_Resource = (CraftResource)reader.ReadInt();
                break;
            }

            case 0:
            {
                OreInfo info;

                switch (reader.ReadInt())
                {
                case 0:
                    info = OreInfo.Iron;
                    break;

                case 1:
                    info = OreInfo.DullCopper;
                    break;

                case 2:
                    info = OreInfo.ShadowIron;
                    break;

                case 3:
                    info = OreInfo.Copper;
                    break;

                case 4:
                    info = OreInfo.Bronze;
                    break;

                case 5:
                    info = OreInfo.Gold;
                    break;

                case 6:
                    info = OreInfo.Agapite;
                    break;

                case 7:
                    info = OreInfo.Verite;
                    break;

                case 8:
                    info = OreInfo.Valorite;
                    break;

                default:
                    info = null;
                    break;
                }

                m_Resource = CraftResources.GetFromOreInfo(info);
                break;
            }
            }
        }
Exemplo n.º 39
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version >= 13)
            {
                c_ForcePrivate = reader.ReadBool();
                c_ForcePublic  = reader.ReadBool();
                c_NoTrade      = reader.ReadBool();
            }

            if (version >= 12)
            {
                c_Free = reader.ReadBool();
            }

            if (version >= 11)
            {
                c_Murderers = (Intu)reader.ReadInt();
            }

            if (version >= 10)
            {
                c_LeaveItems = reader.ReadBool();
            }

            if (version >= 9)
            {
                c_RentToOwn        = reader.ReadBool();
                c_OriginalRentTime = reader.ReadTimeSpan();
                c_RTOPayments      = reader.ReadInt();
            }

            c_PreviewItems = new ArrayList();
            if (version >= 7)
            {
                c_PreviewItems = reader.ReadItemList();
            }

            if (version >= 6)
            {
                c_ItemsPrice = reader.ReadInt();
                c_KeepItems  = reader.ReadBool();
            }

            c_DecoreItemInfos = new ArrayList();
            if (version >= 5)
            {
                int            decorecount = reader.ReadInt();
                DecoreItemInfo info;
                for (int i = 0; i < decorecount; ++i)
                {
                    info = new DecoreItemInfo();
                    info.Load(reader);
                    c_DecoreItemInfos.Add(info);
                }

                c_Relock = reader.ReadBool();
            }

            if (version >= 4)
            {
                c_RecurRent     = reader.ReadBool();
                c_RentByTime    = reader.ReadTimeSpan();
                c_RentTime      = reader.ReadDateTime();
                c_DemolishTime  = reader.ReadDateTime();
                c_YoungOnly     = reader.ReadBool();
                c_MinTotalSkill = reader.ReadInt();
                c_MaxTotalSkill = reader.ReadInt();
            }

            if (version >= 3)
            {
                c_MinZ = reader.ReadInt();
                c_MaxZ = reader.ReadInt();
            }

            if (version >= 2)
            {
                c_House = (TownHouse)reader.ReadItem();
            }

            c_Price    = reader.ReadInt();
            c_Locks    = reader.ReadInt();
            c_Secures  = reader.ReadInt();
            c_BanLoc   = reader.ReadPoint3D();
            c_SignLoc  = reader.ReadPoint3D();
            c_Skill    = reader.ReadString();
            c_SkillReq = reader.ReadDouble();

            c_Blocks = new ArrayList();
            int count = reader.ReadInt();

            for (int i = 0; i < count; ++i)
            {
                c_Blocks.Add(reader.ReadRect2D());
            }

            if (c_RentTime > DateTime.Now)
            {
                BeginRentTimer(c_RentTime - DateTime.Now);
            }

            Timer.DelayCall(TimeSpan.Zero, new TimerCallback(StartTimers));

            ClearPreview();

            s_TownHouseSigns.Add(this);
        }
Exemplo n.º 40
0
        public override void Deserialize(GenericReader reader)
        {
            City = (City)reader.ReadInt();

            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            case 1:
            {
                int count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    Mobile   m  = reader.ReadMobile();
                    DateTime dt = reader.ReadDateTime();

                    if (m != null && dt > DateTime.UtcNow)
                    {
                        CitizenWait[m] = dt;
                    }
                }
            }
                goto case 0;

            case 0:
            {
                CompletedTrades    = reader.ReadInt();
                Governor           = reader.ReadMobile();
                GovernorElect      = reader.ReadMobile();
                PendingGovernor    = reader.ReadBool();
                Treasury           = reader.ReadLong();
                ActiveTradeDeal    = (TradeDeal)reader.ReadInt();
                TradeDealStart     = reader.ReadDateTime();
                NextTradeDealCheck = reader.ReadDateTime();
                CanUtilize         = reader.ReadBool();

                Headline = reader.ReadString();
                Body     = reader.ReadString();
                PostedOn = reader.ReadDateTime();

                if (reader.ReadInt() == 0)
                {
                    Election = new CityElection(this, reader);
                }
                else
                {
                    Election = new CityElection(this);
                }
            }
            break;
            }

            if (version == 0 && this.City == City.Britain)
            {
                int count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    Mobile   m  = reader.ReadMobile();
                    DateTime dt = reader.ReadDateTime();

                    if (m != null && dt > DateTime.UtcNow)
                    {
                        CitizenWait[m] = dt;
                    }
                }
            }

            // City Bulletin Board Location
            if (version == 1)
            {
                Timer.DelayCall(TimeSpan.FromSeconds(10), () =>
                {
                    Board = new CityMessageBoard(City, 0xA0C5);
                    Board.MoveToWorld(Definition.BoardLocation, Map.Trammel);
                    Console.WriteLine("City Message Board for {0} Converted!", City.ToString());

                    /*if (Board != null)
                     * {
                     *  //Board.ItemID = 0xA0C5;
                     *  //board.MoveToWorld(Definition.BoardLocation, Map.Trammel);
                     *
                     *
                     *  Console.WriteLine("City Message Board for {0} Converted!", City.ToString());
                     * }
                     * else
                     * {
                     *  Console.WriteLine("City Message Board for {0} not found!", City.ToString());
                     * }*/
                });
            }
        }
Exemplo n.º 41
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 12:
            {
                if (reader.ReadBool())
                {
                    m_RestoreEquip = reader.ReadStrongItemList();
                }

                goto case 11;
            }

            case 11:
            {
                // Version 11, we move all bools to a CorpseFlag
                m_Flags = (CorpseFlag)reader.ReadInt();

                m_TimeOfDeath = reader.ReadDeltaTime();

                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    Item item = reader.ReadItem();

                    if (reader.ReadBool())
                    {
                        SetRestoreInfo(item, reader.ReadPoint3D());
                    }
                    else if (item != null)
                    {
                        SetRestoreInfo(item, item.Location);
                    }
                }

                if (reader.ReadBool())
                {
                    BeginDecay(reader.ReadDeltaTime() - DateTime.UtcNow);
                }

                m_Looters = reader.ReadStrongMobileList();
                m_Killer  = reader.ReadMobile();

                m_Aggressors = reader.ReadStrongMobileList();
                m_Owner      = reader.ReadMobile();

                m_CorpseName = reader.ReadString();

                m_AccessLevel = (AccessLevel)reader.ReadInt();
                reader.ReadInt();                                 // guild reserve
                m_Kills = reader.ReadInt();

                m_EquipItems = reader.ReadStrongItemList();
                break;
            }

            case 10:
            {
                m_TimeOfDeath = reader.ReadDeltaTime();

                goto case 9;
            }

            case 9:
            {
                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    Item item = reader.ReadItem();

                    if (reader.ReadBool())
                    {
                        SetRestoreInfo(item, reader.ReadPoint3D());
                    }
                    else if (item != null)
                    {
                        SetRestoreInfo(item, item.Location);
                    }
                }

                goto case 8;
            }

            case 8:
            {
                SetFlag(CorpseFlag.VisitedByTaxidermist, reader.ReadBool());

                goto case 7;
            }

            case 7:
            {
                if (reader.ReadBool())
                {
                    BeginDecay(reader.ReadDeltaTime() - DateTime.UtcNow);
                }

                goto case 6;
            }

            case 6:
            {
                m_Looters = reader.ReadStrongMobileList();
                m_Killer  = reader.ReadMobile();

                goto case 5;
            }

            case 5:
            {
                SetFlag(CorpseFlag.Carved, reader.ReadBool());

                goto case 4;
            }

            case 4:
            {
                m_Aggressors = reader.ReadStrongMobileList();

                goto case 3;
            }

            case 3:
            {
                m_Owner = reader.ReadMobile();

                goto case 2;
            }

            case 2:
            {
                SetFlag(CorpseFlag.NoBones, reader.ReadBool());

                goto case 1;
            }

            case 1:
            {
                m_CorpseName = reader.ReadString();

                goto case 0;
            }

            case 0:
            {
                if (version < 10)
                {
                    m_TimeOfDeath = DateTime.UtcNow;
                }

                if (version < 7)
                {
                    BeginDecay(m_DefaultDecayTime);
                }

                if (version < 6)
                {
                    m_Looters = new List <Mobile>();
                }

                if (version < 4)
                {
                    m_Aggressors = new List <Mobile>();
                }

                m_AccessLevel = (AccessLevel)reader.ReadInt();
                reader.ReadInt();                                 // guild reserve
                m_Kills = reader.ReadInt();
                SetFlag(CorpseFlag.Criminal, reader.ReadBool());

                m_EquipItems = reader.ReadStrongItemList();

                break;
            }
            }

            if (m_Owner is PlayerMobile)
            {
                if (PlayerCorpses == null)
                {
                    PlayerCorpses = new Dictionary <Corpse, int>();
                }

                PlayerCorpses[this] = 0;
            }
        }
Exemplo n.º 42
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            ToolbarHelper.Infos = this;

            int count = reader.ReadInt();

            // Version 1.3
            int  font = 0;
            bool phantom = true, stealth = false, reverse = false, locked = true;

            // Version 1.0
            string         account;
            List <int>     dimensions;
            List <string>  entries;
            int            subcount, skin;
            List <Point3D> points;

            for (int i = 0; i < count; i++)
            {
                switch (version)
                {
                case 130:
                {
                    font    = reader.ReadInt();
                    phantom = reader.ReadBool();
                    stealth = reader.ReadBool();
                    reverse = reader.ReadBool();
                    locked  = reader.ReadBool();
                    goto case 100;
                }

                default:
                case 100:
                {
                    account = reader.ReadString();

                    dimensions = new List <int>();

                    subcount = reader.ReadInt();
                    for (int j = 0; j < subcount; j++)
                    {
                        dimensions.Add(reader.ReadInt());
                    }

                    entries = new List <string>();

                    subcount = reader.ReadInt();
                    for (int k = 0; k < subcount; k++)
                    {
                        entries.Add(reader.ReadString());
                    }

                    skin = reader.ReadInt();

                    points = new List <Point3D>();

                    subcount = reader.ReadInt();
                    for (int l = 0; l < subcount; l++)
                    {
                        points.Add(reader.ReadPoint3D());
                    }

                    break;
                }
                }

                ToolbarInfo info = new ToolbarInfo(account, dimensions, entries, skin, points, font, new bool[] { phantom, stealth, reverse, locked });
            }
        }
Exemplo n.º 43
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

            case 0:
                // version 0
                verboseMobFactions = reader.ReadBool();
                int count    = reader.ReadInt();
                int newcount = (int)GroupTypes.End_Unused;;

                // prepare the new faction status list
                FactionList = new GroupStatus[newcount];

                // initialize the faction status list with the default grouptypes
                for (int j = 0; j < newcount; j++)
                {
                    FactionList[j] = new GroupStatus((GroupTypes)j);
                }

                // now read in the serialized FactionList entries and cross reference to the current GroupTypes
                for (int i = 0; i < count; i++)
                {
                    string gname = reader.ReadString();
                    int    gfac  = reader.ReadInt();

                    // look up the enum by name
                    GroupTypes gtype = GroupTypes.End_Unused;
                    if (!BaseXmlSpawner.TryParse(gname, out gtype))
                    {
                        gtype = GroupTypes.End_Unused;
                    }

                    // try to find the matching entry in the recently constructed faction status list
                    if (gtype != GroupTypes.End_Unused)
                    {
                        for (int j = 0; j < newcount; j++)
                        {
                            GroupStatus g = FactionList[j];
                            if (g.GroupType == gtype)
                            {
                                g.FactionLevel = gfac;
                                break;
                            }
                        }
                    }
                }

                Refractory = reader.ReadTimeSpan();
                TimeSpan remaining = reader.ReadTimeSpan();
                m_EndTime = DateTime.Now + remaining;
                break;
            }
        }
Exemplo n.º 44
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:     // Reset from Resource System
                this.m_Resource = this.DefaultResource;
                reader.ReadString();
                break;

            case 1:
            {
                this.m_Resource = (CraftResource)reader.ReadInt();
                break;
            }

            case 0:
            {
                OreInfo info;

                switch (reader.ReadInt())
                {
                case 0:
                    info = OreInfo.Iron;
                    break;

                case 1:
                    info = OreInfo.DullCopper;
                    break;

                case 2:
                    info = OreInfo.ShadowIron;
                    break;

                case 3:
                    info = OreInfo.Copper;
                    break;

                case 4:
                    info = OreInfo.Bronze;
                    break;

                case 5:
                    info = OreInfo.Gold;
                    break;

                case 6:
                    info = OreInfo.Agapite;
                    break;

                case 7:
                    info = OreInfo.Verite;
                    break;

                case 8:
                    info = OreInfo.Valorite;
                    break;

                //daat99 OWLTR start - custom ores
                case 9: info = OreInfo.Blaze; break;

                case 10: info = OreInfo.Ice; break;

                case 11: info = OreInfo.Toxic; break;

                case 12: info = OreInfo.Electrum; break;

                case 13: info = OreInfo.Platinum; break;

                //daat99 OWLTR end - custom ores
                default:
                    info = null;
                    break;
                }

                this.m_Resource = CraftResources.GetFromOreInfo(info);
                break;
            }
            }
        }
Exemplo n.º 45
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 10:
            {
                m_TimeOfDeath = reader.ReadDeltaTime();

                goto case 9;
            }

            case 9:
            {
                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    Item item = reader.ReadItem();

                    if (reader.ReadBool())
                    {
                        SetRestoreInfo(item, reader.ReadPoint3D());
                    }
                    else if (item != null)
                    {
                        SetRestoreInfo(item, item.Location);
                    }
                }

                goto case 8;
            }

            case 8:
            {
                m_VisitedByTaxidermist = reader.ReadBool();

                goto case 7;
            }

            case 7:
            {
                if (reader.ReadBool())
                {
                    BeginDecay(reader.ReadDeltaTime() - DateTime.Now);
                }

                goto case 6;
            }

            case 6:
            {
                m_Looters = reader.ReadStrongMobileList();
                m_Killer  = reader.ReadMobile();

                goto case 5;
            }

            case 5:
            {
                m_Carved = reader.ReadBool();

                goto case 4;
            }

            case 4:
            {
                m_Aggressors = reader.ReadStrongMobileList();

                goto case 3;
            }

            case 3:
            {
                m_Owner = reader.ReadMobile();

                goto case 2;
            }

            case 2:
            {
                m_NoBones = reader.ReadBool();

                goto case 1;
            }

            case 1:
            {
                m_CorpseName = reader.ReadString();

                goto case 0;
            }

            case 0:
            {
                if (version < 10)
                {
                    m_TimeOfDeath = DateTime.Now;
                }

                if (version < 7)
                {
                    BeginDecay(m_DefaultDecayTime);
                }

                if (version < 6)
                {
                    m_Looters = new List <Mobile>();
                }

                if (version < 4)
                {
                    m_Aggressors = new List <Mobile>();
                }

                m_AccessLevel = (AccessLevel)reader.ReadInt();
                reader.ReadInt();                         // guild reserve
                m_Kills    = reader.ReadInt();
                m_Criminal = reader.ReadBool();

                m_EquipItems = reader.ReadStrongItemList();

                break;
            }
            }
        }
Exemplo n.º 46
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 4:
            {
                this.m_WalkingRange = reader.ReadInt();

                goto case 3;
            }

            case 3:
            case 2:
            {
                this.m_WayPoint = reader.ReadItem() as WayPoint;

                goto case 1;
            }

            case 1:
            {
                this.m_Group = reader.ReadBool();

                goto case 0;
            }

            case 0:
            {
                this.m_MinDelay  = reader.ReadTimeSpan();
                this.m_MaxDelay  = reader.ReadTimeSpan();
                this.m_Count     = reader.ReadInt();
                this.m_Team      = reader.ReadInt();
                this.m_HomeRange = reader.ReadInt();
                this.m_Running   = reader.ReadBool();

                TimeSpan ts = TimeSpan.Zero;

                if (this.m_Running)
                {
                    ts = reader.ReadDeltaTime() - DateTime.UtcNow;
                }

                int size = reader.ReadInt();

                this.m_SpawnNames = new List <string>(size);

                for (int i = 0; i < size; ++i)
                {
                    string creatureString = reader.ReadString();

                    this.m_SpawnNames.Add(creatureString);
                    string typeName = ParseType(creatureString);

                    if (ScriptCompiler.FindTypeByName(typeName) == null)
                    {
                        if (m_WarnTimer == null)
                        {
                            m_WarnTimer = new WarnTimer();
                        }

                        m_WarnTimer.Add(this.Location, this.Map, typeName);
                    }
                }

                int count = reader.ReadInt();

                this.m_Spawned = new List <ISpawnable>(count);

                for (int i = 0; i < count; ++i)
                {
                    ISpawnable e = World.FindEntity(reader.ReadInt()) as ISpawnable;

                    if (e != null)
                    {
                        e.Spawner = this;
                        this.m_Spawned.Add(e);
                    }
                }

                if (this.m_Running)
                {
                    this.DoTimer(ts);
                }

                break;
            }
            }

            if (version < 3 && this.Weight == 0)
            {
                this.Weight = -1;
            }
        }
Exemplo n.º 47
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
                int count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    CTFBase b = reader.ReadItem() as CTFBase;
                    HomeBases.Add(b);
                }
                m_Challenger = reader.ReadMobile();

                m_Organizers.Add(m_Challenger);

                m_GameLocked     = reader.ReadBool();
                m_GameInProgress = reader.ReadBool();
                m_TotalPurse     = reader.ReadInt();
                m_EntryFee       = reader.ReadInt();
                m_ArenaSize      = reader.ReadInt();
                m_TargetScore    = reader.ReadInt();
                m_MatchLength    = reader.ReadTimeSpan();

                TimeSpan elapsed = reader.ReadTimeSpan();

                if (elapsed > TimeSpan.Zero)
                {
                    m_MatchStart = DateTime.UtcNow - elapsed;
                }

                m_MatchEnd = reader.ReadDateTime();

                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    ChallengeEntry entry = new ChallengeEntry();
                    entry.Participant = reader.ReadMobile();
                    string sname = reader.ReadString();
                    // look up the enum by name
                    ChallengeStatus status = ChallengeStatus.None;
                    try{
                        status = (ChallengeStatus)Enum.Parse(typeof(ChallengeStatus), sname);
                    } catch {}
                    entry.Status          = status;
                    entry.Accepted        = reader.ReadBool();
                    entry.PageBeingViewed = reader.ReadInt();
                    entry.Score           = reader.ReadInt();
                    entry.Winner          = reader.ReadBool();
                    entry.Team            = reader.ReadInt();

                    Participants.Add(entry);
                }
                break;
            }

            if (GameCompleted)
            {
                Timer.DelayCall(PostGameDecayTime, new TimerCallback(Delete));
            }

            // start the challenge timer
            StartChallengeTimer();

            SetNameHue();
        }
Exemplo n.º 48
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Creatures = new Dictionary <IEntity, SpawnerEntry>();

            if (version < 7)
            {
                m_Entries = new List <SpawnerEntry>();
            }

            switch (version)
            {
            case 7:
            {
                int size = reader.ReadInt();

                m_Entries = new List <SpawnerEntry>(size);

                for (int i = 0; i < size; ++i)
                {
                    m_Entries.Add(new SpawnerEntry(this, reader));
                }

                goto case 4;                         //Skip the other crap
            }

            case 6:
            {
                int size = reader.ReadInt();

                bool addentries = m_Entries.Count == 0;

                for (int i = 0; i < size; ++i)
                {
                    if (addentries)
                    {
                        m_Entries.Add(new SpawnerEntry(String.Empty, 100, reader.ReadInt()));
                    }
                    else
                    {
                        m_Entries[i].CreaturesMaxCount = reader.ReadInt();
                    }
                }

                goto case 5;
            }

            case 5:
            {
                int size = reader.ReadInt();

                bool addentries = m_Entries.Count == 0;

                for (int i = 0; i < size; ++i)
                {
                    if (addentries)
                    {
                        m_Entries.Add(new SpawnerEntry(String.Empty, reader.ReadInt(), 1));
                    }
                    else
                    {
                        m_Entries[i].CreaturesProbability = reader.ReadInt();
                    }
                }

                goto case 4;
            }

            case 4:
            {
                m_WalkingRange = reader.ReadInt();

                goto case 2;                         //Skip version 3, already contains version 5
            }

            case 3:
            {
                int size = reader.ReadInt();

                bool addentries = m_Entries.Count == 0;

                for (int i = 0; i < size; ++i)
                {
                    if (addentries)
                    {
                        m_Entries.Add(new SpawnerEntry(String.Empty, reader.ReadInt(), 1));
                    }
                    else
                    {
                        m_Entries[i].CreaturesProbability = reader.ReadInt();
                    }
                }

                goto case 2;
            }

            case 2:
            {
                m_WayPoint = reader.ReadItem() as WayPoint;

                goto case 1;
            }

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

                goto case 0;
            }

            case 0:
            {
                m_MinDelay  = reader.ReadTimeSpan();
                m_MaxDelay  = reader.ReadTimeSpan();
                m_Count     = reader.ReadInt();
                m_Team      = reader.ReadInt();
                m_HomeRange = reader.ReadInt();
                m_Running   = reader.ReadBool();

                TimeSpan ts = TimeSpan.Zero;

                if (m_Running)
                {
                    ts = reader.ReadDeltaTime() - DateTime.Now;
                }

                if (version < 7)
                {
                    int size = reader.ReadInt();

                    bool addentries = m_Entries.Count == 0;

                    for (int i = 0; i < size; ++i)
                    {
                        string typeName = reader.ReadString();

                        if (addentries)
                        {
                            m_Entries.Add(new SpawnerEntry(typeName, 100, 1));
                        }
                        else
                        {
                            m_Entries[i].CreaturesName = typeName;
                        }

                        if (SpawnerType.GetType(typeName) == null)
                        {
                            if (m_WarnTimer == null)
                            {
                                m_WarnTimer = new WarnTimer();
                            }

                            m_WarnTimer.Add(Location, Map, typeName);
                        }
                    }

                    int count = reader.ReadInt();

                    for (int i = 0; i < count; ++i)
                    {
                        IEntity e = reader.ReadEntity();

                        if (e != null)
                        {
                            if (e is BaseCreature)
                            {
                                ((BaseCreature)e).RemoveIfUntamed = true;
                            }

                            if (e is Item)
                            {
                                ((Item)e).Spawner = this;
                            }
                            else if (e is Mobile)
                            {
                                ((Mobile)e).Spawner = this;
                            }

                            for (int j = 0; j < m_Entries.Count; j++)
                            {
                                if (SpawnerType.GetType(m_Entries[j].CreaturesName) == e.GetType())
                                {
                                    m_Entries[j].Creatures.Add(e);
                                    m_Creatures.Add(e, m_Entries[j]);
                                    break;
                                }
                            }
                        }
                    }
                }

                DoTimer(ts);

                break;
            }
            }

            if (version < 4)
            {
                m_WalkingRange = m_HomeRange;
            }
        }
Exemplo n.º 49
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            /*case 2:
             * {
             *      m_Score = reader.ReadInt();
             *      m_Wins = reader.ReadInt();
             *      m_Losses = reader.ReadInt();
             *      m_GameLevel = reader.ReadInt();
             *      m_Banned = reader.ReadBool();
             *      Hallucinating = ( bool )reader.ReadBool();
             *      goto case 1;
             * }*/
            case 1:
            {
                IsMarried                 = ( bool )reader.ReadBool();
                m_AllowGayMarriages       = ( bool )reader.ReadBool();
                m_AllowCelestialMarriages = ( bool )reader.ReadBool();
                m_MarriageTime            = reader.ReadDateTime();
                m_WifeLoc                 = reader.ReadPoint3D();
                m_HusbandLoc              = reader.ReadPoint3D();
                m_MaritalStatus           = ( MaritalStatus )reader.ReadInt();
                m_TypeOfMarriage          = ( TypeOfMarriage )reader.ReadInt();
                m_FirstName               = ( string )reader.ReadString();
                m_LastName                = ( string )reader.ReadString();
                m_MaidenName              = ( string )reader.ReadString();
                m_RankPoints              = reader.ReadInt();

                /*GD13_HS_Start_5*/
                m_HuntMode     = ( HuntMode )reader.ReadInt();
                m_HuntRank     = ( HuntRank )reader.ReadInt();
                m_HuntReward   = ( HuntReward )reader.ReadInt();
                m_Hunting      = ( bool )reader.ReadBool();
                m_EasyKills    = reader.ReadInt();
                m_HardKills    = reader.ReadInt();
                m_ExtremeKills = reader.ReadInt();
                m_GodKills     = reader.ReadInt();
                /*GD13_HS_End_5*/
                goto case 0;
            }

            case 0:
            {
                m_Class                = ( PlayerClasses )reader.ReadInt();
                m_Race                 = ( PlayerRaces )reader.ReadInt();
                m_Tribe                = ( PlayerTribes )reader.ReadInt();
                m_Rank                 = ( PlayerRanks )reader.ReadInt();
                m_RewardsClaimed       = reader.ReadInt();
                m_Level                = reader.ReadInt();
                m_SkillPts             = reader.ReadInt();
                m_Experience           = reader.ReadInt();
                m_Age                  = reader.ReadInt();
                m_NextLevelUp          = reader.ReadInt();
                m_Updated              = reader.ReadBool();
                m_Bioenginer           = reader.ReadBool();
                NextSmithBulkOrder     = reader.ReadTimeSpan();
                NextTailorBulkOrder    = reader.ReadTimeSpan();
                NextFletcherBulkOrder  = reader.ReadTimeSpan();
                NextCarpenterBulkOrder = reader.ReadTimeSpan();
                NextTinkerBulkOrder    = reader.ReadTimeSpan();
                NextTamingBulkOrder    = reader.ReadTimeSpan();
                m_BOBFilter            = new Engines.BulkOrders.BOBFilter(reader);
                m_TinkBOBFilter        = new Engines.BulkOrders.TinkBOBFilter(reader);
                m_TamingBOBFilter      = new Engines.BulkOrders.TamingBOBFilter(reader);
                m_Flags                = (MyPlayerFlag)reader.ReadInt();
                break;
            }
            }

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

            if (m_TinkBOBFilter == null)
            {
                m_TinkBOBFilter = new Engines.BulkOrders.TinkBOBFilter();
            }

            if (m_TamingBOBFilter == null)
            {
                m_TamingBOBFilter = new Engines.BulkOrders.TamingBOBFilter();
            }
        }
Exemplo n.º 50
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            {
                m_BeforeChangeover = reader.ReadBool();
                goto case 2;
            }

            case 2:
            {
                m_GuildName   = reader.ReadString();
                m_GuildAbbrev = reader.ReadString();

                goto case 1;
            }

            case 1:
            {
                m_Guild = reader.ReadGuild() as Guild;

                goto case 0;
            }

            case 0:
            {
                break;
            }
            }

            if (Guild.NewGuildSystem && ItemID == 0xED4)
            {
                ItemID = 0xED6;
            }

            if (m_Guild != null)
            {
                m_GuildName   = m_Guild.Name;
                m_GuildAbbrev = m_Guild.Abbreviation;
            }

            if (version <= 2)
            {
                m_BeforeChangeover = true;
            }

            if (Guild.NewGuildSystem && m_BeforeChangeover)
            {
                Timer.DelayCall(TimeSpan.Zero, new TimerCallback(AddToHouse));
            }

            if (!Guild.NewGuildSystem && m_Guild == null)
            {
                this.Delete();
            }
        }
Exemplo n.º 51
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_ChallengeArea = new Rectangle3D[0];

            switch (version)
            {
            case 2:
            case 1:
            {
                m_Disable = reader.ReadBool();
                goto case 0;
            }

            case 0:
            {
                m_Music    = (MusicName)reader.ReadInt();
                m_Priority = reader.ReadInt();
                if (version < 2)
                {
                    // old region area
                    reader.ReadRect2D();
                }
                m_ChallengeRegionName = reader.ReadString();
                string mapname = reader.ReadString();
                try{
                    m_ChallengeMap = Map.Parse(mapname);
                } catch {}
                m_CopiedRegion = reader.ReadString();

                // do the coord list
                int count = reader.ReadInt();
                if (count > 0)
                {
                    // the old version used 2D rectangles for the region area.  The new version uses 3D
                    if (version < 2)
                    {
                        Rectangle2D[] area = new Rectangle2D[count];
                        for (int i = 0; i < count; i++)
                        {
                            area[i] = reader.ReadRect2D();
                        }
                        m_ChallengeArea = Region.ConvertTo3D(area);
                    }
                    else
                    {
                        m_ChallengeArea = new Rectangle3D[count];
                        for (int i = 0; i < count; i++)
                        {
                            m_ChallengeArea[i] = new Rectangle3D(reader.ReadPoint3D(), reader.ReadPoint3D());
                        }
                    }
                }
                break;
            }
            }

            // refresh the region
            Timer.DelayCall(TimeSpan.Zero, new TimerCallback(RefreshRegions));
        }
Exemplo n.º 52
0
        public void Deserialize(GenericReader reader)
        {
            Flag = reader.ReadFlag <DataType>();
            Type = Flag.ToType();

            switch (Flag)
            {
            case DataType.Null:
                Value = null;
                break;

            case DataType.Bool:
                Value = reader.ReadBool();
                break;

            case DataType.Char:
                Value = reader.ReadChar();
                break;

            case DataType.Byte:
                Value = reader.ReadByte();
                break;

            case DataType.SByte:
                Value = reader.ReadSByte();
                break;

            case DataType.Short:
                Value = reader.ReadShort();
                break;

            case DataType.UShort:
                Value = reader.ReadUShort();
                break;

            case DataType.Int:
                Value = reader.ReadInt();
                break;

            case DataType.UInt:
                Value = reader.ReadUInt();
                break;

            case DataType.Long:
                Value = reader.ReadLong();
                break;

            case DataType.ULong:
                Value = reader.ReadULong();
                break;

            case DataType.Float:
                Value = reader.ReadFloat();
                break;

            case DataType.Decimal:
                Value = reader.ReadDecimal();
                break;

            case DataType.Double:
                Value = reader.ReadDouble();
                break;

            case DataType.String:
                Value = reader.ReadString() ?? String.Empty;
                break;

            case DataType.DateTime:
                Value = reader.ReadDateTime();
                break;

            case DataType.TimeSpan:
                Value = reader.ReadTimeSpan();
                break;
            }
        }
Exemplo n.º 53
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 6:
            {
                m_NegativeAttributes = new NegativeAttributes(this, reader);


                m_MaxHitPoints = reader.ReadInt();
                m_HitPoints    = reader.ReadInt();

                _VvVItem   = reader.ReadBool();
                _Owner     = reader.ReadMobile();
                _OwnerName = reader.ReadString();

                goto case 5;
            }

            case 5:
            {
                m_Quality = (BookQuality)reader.ReadByte();

                goto case 4;
            }

            case 4:
            {
                m_EngravedText = reader.ReadString();

                goto case 3;
            }

            case 3:
            {
                m_Crafter = reader.ReadMobile();
                goto case 2;
            }

            case 2:
            {
                m_Slayer  = (SlayerName)reader.ReadInt();
                m_Slayer2 = (SlayerName)reader.ReadInt();
                goto case 1;
            }

            case 1:
            {
                m_AosAttributes   = new AosAttributes(this, reader);
                m_AosSkillBonuses = new AosSkillBonuses(this, reader);

                goto case 0;
            }

            case 0:
            {
                m_Content = reader.ReadULong();
                m_Count   = reader.ReadInt();

                break;
            }
            }

            if (m_AosAttributes == null)
            {
                m_AosAttributes = new AosAttributes(this);
            }

            if (m_AosSkillBonuses == null)
            {
                m_AosSkillBonuses = new AosSkillBonuses(this);
            }

            if (m_NegativeAttributes == null)
            {
                m_NegativeAttributes = new NegativeAttributes(this);
            }

            if (Core.AOS && Parent is Mobile)
            {
                m_AosSkillBonuses.AddTo((Mobile)Parent);
            }

            int strBonus = m_AosAttributes.BonusStr;
            int dexBonus = m_AosAttributes.BonusDex;
            int intBonus = m_AosAttributes.BonusInt;

            if (Parent is Mobile && (strBonus != 0 || dexBonus != 0 || intBonus != 0))
            {
                Mobile m = (Mobile)Parent;

                string modName = Serial.ToString();

                if (strBonus != 0)
                {
                    m.AddStatMod(new StatMod(StatType.Str, modName + "Str", strBonus, TimeSpan.Zero));
                }

                if (dexBonus != 0)
                {
                    m.AddStatMod(new StatMod(StatType.Dex, modName + "Dex", dexBonus, TimeSpan.Zero));
                }

                if (intBonus != 0)
                {
                    m.AddStatMod(new StatMod(StatType.Int, modName + "Int", intBonus, TimeSpan.Zero));
                }
            }

            if (Parent is Mobile)
            {
                ((Mobile)Parent).CheckStatTimers();
            }
        }
Exemplo n.º 54
0
        public override void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 7:
            case 6:
            case 5:
            {
                int count = reader.ReadInt();

                PendingWars = new List <WarDeclaration>();
                for (int i = 0; i < count; i++)
                {
                    PendingWars.Add(new WarDeclaration(reader));
                }

                count        = reader.ReadInt();
                AcceptedWars = new List <WarDeclaration>();
                for (int i = 0; i < count; i++)
                {
                    AcceptedWars.Add(new WarDeclaration(reader));
                }

                bool isAllianceLeader = reader.ReadBool();

                if (isAllianceLeader)
                {
                    m_AllianceInfo = new AllianceInfo(reader);
                }
                else
                {
                    m_AllianceLeader = reader.ReadGuild() as Guild;
                }

                goto case 4;
            }

            case 4:
            {
                AllyDeclarations = reader.ReadStrongGuildList <Guild>();
                AllyInvitations  = reader.ReadStrongGuildList <Guild>();

                goto case 3;
            }

            case 3:
            {
                m_TypeLastChange = reader.ReadDateTime();

                goto case 2;
            }

            case 2:
            {
                if (version < 6)
                {
                    reader.ReadInt();
                }

                goto case 1;
            }

            case 1:
            {
                LastFealty = reader.ReadDateTime();

                goto case 0;
            }

            case 0:
            {
                m_Leader = reader.ReadMobile();

                if (m_Leader is PlayerMobile mobile)
                {
                    mobile.GuildRank = RankDefinition.Leader;
                }

                m_Name         = reader.ReadString();
                m_Abbreviation = reader.ReadString();

                Allies          = reader.ReadStrongGuildList <Guild>();
                Enemies         = reader.ReadStrongGuildList <Guild>();
                WarDeclarations = reader.ReadStrongGuildList <Guild>();
                WarInvitations  = reader.ReadStrongGuildList <Guild>();

                Members    = reader.ReadStrongMobileList();
                Candidates = reader.ReadStrongMobileList();
                Accepted   = reader.ReadStrongMobileList();

                if (version < 7)
                {
                    reader.ReadItem();
                    reader.ReadItem();
                }

                Charter = reader.ReadString();
                Website = reader.ReadString();

                break;
            }
            }

            if (AllyDeclarations == null)
            {
                AllyDeclarations = new List <Guild>();
            }

            if (AllyInvitations == null)
            {
                AllyInvitations = new List <Guild>();
            }

            if (AcceptedWars == null)
            {
                AcceptedWars = new List <WarDeclaration>();
            }

            if (PendingWars == null)
            {
                PendingWars = new List <WarDeclaration>();
            }

            Timer.DelayCall(TimeSpan.Zero, VerifyGuild_Callback);
        }
Exemplo n.º 55
0
        public void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            switch (version)
            {
            case 3:
                Deleted = reader.ReadBool();
                goto case 2;

            case 2:
            case 1:
                Bonus = reader.ReadLong();
                goto case 0;

            case 0:
            {
                ID      = reader.ReadString();
                _State  = reader.ReadFlag <TransactionState>();
                Account = reader.ReadAccount();
                Email   = reader.ReadString();
                Total   = reader.ReadDouble();
                Credit  = reader.ReadLong();

                Time = version > 0 ? reader.ReadTimeStamp() : reader.ReadDouble();

                Version = reader.ReadInt();

                if (version < 1)
                {
                    reader.ReadInt();                             // InternalVersion
                }

                Notes = reader.ReadString();
                Extra = reader.ReadString();

                if (version > 1)
                {
                    DeliveredTo  = reader.ReadString();
                    DeliveryTime = reader.ReadTimeStamp();
                }
                else if (version > 0)
                {
                    var m = reader.ReadMobile();

                    DeliveredTo  = m != null ? m.RawName : null;
                    DeliveryTime = reader.ReadTimeStamp();
                }
                else
                {
                    reader.ReadMobile();                             // DeliverFrom

                    var m = reader.ReadMobile();

                    DeliveredTo  = m != null ? m.RawName : null;
                    DeliveryTime = reader.ReadDouble();
                }
            }
            break;
            }
        }
Exemplo n.º 56
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version == 0)               //BodyParty -> Head
            {
                reader.ReadDateTime();
                version = reader.ReadInt();
            }

            switch (version)
            {
            case 2:
            {
                m_PlayerName = reader.ReadString();
                m_HeadType   = (HeadType)reader.ReadEncodedInt();
                break;
            }

            case 1:
            case 0:
            {
                if (reader.ReadBool())
                {
                    Timer.DelayCall(TimeSpan.FromSeconds(5.0), new TimerStateCallback(ConvertHead), reader.ReadMobile());
                }

                break;
            }

                /*
                 * case 0:
                 * {
                 *      string format = this.Name;
                 *
                 *      if ( format != null )
                 *      {
                 *              if ( format.StartsWith( "the head of " ) )
                 *                      format = format.Substring( "the head of ".Length );
                 *
                 *              if ( format.EndsWith( ", taken in a duel" ) )
                 *              {
                 *                      format = format.Substring( 0, format.Length - ", taken in a duel".Length );
                 *                      m_HeadType = HeadType.Duel;
                 *              }
                 *              else if ( format.EndsWith( ", taken in a tournament" ) )
                 *              {
                 *                      format = format.Substring( 0, format.Length - ", taken in a tournament".Length );
                 *                      m_HeadType = HeadType.Tournament;
                 *              }
                 *      }
                 *
                 *      m_PlayerName = format;
                 *      this.Name = null;
                 *
                 *      break;
                 * }
                 */
            }
        }
Exemplo n.º 57
0
        public virtual void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            if (version > 4)
            {
                reader.ReadBlock(
                    r =>
                {
                    if (version > 5)
                    {
                        Serial = new PvPSerial(r);
                    }
                    else
                    {
                        Serial = r.ReadTypeCreate <PvPSerial>(r);
                        Serial = new PvPSerial();
                    }
                });
            }
            else
            {
                Serial = new PvPSerial();
            }

            switch (version)
            {
            case 8:
            case 7:
            {
                RespawnRangeMin = reader.ReadInt();
                RespawnRangeMax = reader.ReadInt();
            }
                goto case 6;

            case 6:
            case 5:
            case 4:
            case 3:
                RespawnOnStart = reader.ReadBool();
                goto case 2;

            case 2:
                KickOnDeath = reader.ReadBool();
                goto case 1;

            case 1:
            {
                GateLocation = new MapPoint(reader);
                Gate         = reader.ReadItem <PvPTeamGate>();
            }
                goto case 0;

            case 0:
            {
                _Name        = reader.ReadString();
                _MinCapacity = reader.ReadInt();
                _MaxCapacity = reader.ReadInt();
                _Color       = reader.ReadInt();
                _HomeBase    = reader.ReadPoint3D();
                _SpawnPoint  = reader.ReadPoint3D();

                RespawnOnDeath = reader.ReadBool();
                RespawnDelay   = reader.ReadTimeSpan();

                if (version < 8)
                {
                    reader.ReadBlock(r => r.ReadType());                             // Statistics
                }
            }
            break;
            }

            if (version < 4)
            {
                RespawnOnStart = true;
            }

            if (version < 1)
            {
                GateLocation = MapPoint.Empty;
            }

            if (Gate != null)
            {
                Gate.Team = this;
            }

            if (Battle == null)
            {
                Timer.DelayCall(Delete);
            }
        }
Exemplo n.º 58
0
        public Arena(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            switch (version)
            {
            case 7:
            {
                m_IsGuarded = reader.ReadBool();

                goto case 6;
            }

            case 6:
            {
                m_Ladder = reader.ReadItem() as LadderController;

                goto case 5;
            }

            case 5:
            {
                m_Tournament = reader.ReadItem() as TournamentController;
                m_Announcer  = reader.ReadMobile();

                goto case 4;
            }

            case 4:
            {
                m_Name = reader.ReadString();

                goto case 3;
            }

            case 3:
            {
                m_Zone = reader.ReadRect2D();

                goto case 2;
            }

            case 2:
            {
                m_GateIn     = reader.ReadPoint3D();
                m_GateOut    = reader.ReadPoint3D();
                m_Teleporter = reader.ReadItem();

                goto case 1;
            }

            case 1:
            {
                m_Players = reader.ReadStrongMobileList();

                goto case 0;
            }

            case 0:
            {
                m_Facet   = reader.ReadMap();
                m_Bounds  = reader.ReadRect2D();
                m_Outside = reader.ReadPoint3D();
                m_Wall    = reader.ReadPoint3D();

                if (version == 0)
                {
                    reader.ReadBool();
                    m_Players = new List <Mobile>();
                }

                m_Active = reader.ReadBool();
                m_Points = new ArenaStartPoints(reader);

                if (m_Active)
                {
                    m_Arenas.Add(this);
                    m_Arenas.Sort();
                }

                break;
            }
            }

            if (m_Zone.Start != Point2D.Zero && m_Zone.End != Point2D.Zero && m_Facet != null)
            {
                m_Region = new SafeZone(m_Zone, m_Outside, m_Facet, m_IsGuarded);
            }

            if (IsOccupied)
            {
                Timer.DelayCall(TimeSpan.FromSeconds(2.0), new TimerCallback(Evict));
            }

            if (m_Tournament != null)
            {
                Timer.DelayCall(TimeSpan.Zero, new TimerCallback(AttachToTournament_Sandbox));
            }
        }
Exemplo n.º 59
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 5:
            {
                MultiID    = reader.ReadInt();
                Offset     = reader.ReadPoint3D();
                m_ShipName = reader.ReadString();
                BoatItem   = reader.ReadItem() as BaseBoat;
                break;
            }

            case 4:
            {
                switch (reader.ReadInt())
                {
                default:
                case 0: break;

                case 1:
                    m_PilotEntry = new PilotEntry(reader);
                    break;
                }
                goto case 3;
            }

            case 3:
            {
                m_BaseHue = reader.ReadInt();

                if (version < 5)
                {
                    reader.ReadItem();
                }
                reader.ReadItem();
                m_Owner = reader.ReadMobile();
                goto case 2;
            }

            case 2:
            {
                switch (reader.ReadInt())
                {
                default:
                case 0: break;

                case 1:
                    m_SecurityEntry = new SecurityEntry(null, reader);
                    break;
                }
                goto case 1;
            }

            case 1:
            case 0:
            {
                MultiID    = reader.ReadInt();
                Offset     = reader.ReadPoint3D();
                m_ShipName = reader.ReadString();

                if (version == 0)
                {
                    reader.ReadUInt();
                }

                break;
            }
            }
        }
Exemplo n.º 60
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

            case 3:
            case 2:
            {
                BookContent content = DefaultContent;

                SaveFlags flags = (SaveFlags)reader.ReadByte();

                if ((flags & SaveFlags.Title) != 0)
                {
                    m_Title = Utility.Intern(reader.ReadString());
                }
                else if (content != null)
                {
                    m_Title = content.Title;
                }

                if ((flags & SaveFlags.Author) != 0)
                {
                    m_Author = reader.ReadString();
                }
                else if (content != null)
                {
                    m_Author = content.Author;
                }

                m_Writable = (flags & SaveFlags.Writable) != 0;

                if ((flags & SaveFlags.Content) != 0)
                {
                    m_Pages = new BookPageInfo[reader.ReadEncodedInt()];

                    for (int i = 0; i < m_Pages.Length; ++i)
                    {
                        m_Pages[i] = new BookPageInfo(reader);
                    }
                }
                else
                {
                    if (content != null)
                    {
                        m_Pages = content.Copy();
                    }
                    else
                    {
                        m_Pages = new BookPageInfo[0];
                    }
                }

                break;
            }

            case 1:
            case 0:
            {
                m_Title    = reader.ReadString();
                m_Author   = reader.ReadString();
                m_Writable = reader.ReadBool();

                if (version == 0 || reader.ReadBool())
                {
                    m_Pages = new BookPageInfo[reader.ReadInt()];

                    for (int i = 0; i < m_Pages.Length; ++i)
                    {
                        m_Pages[i] = new BookPageInfo(reader);
                    }
                }
                else
                {
                    BookContent content = DefaultContent;

                    if (content != null)
                    {
                        m_Pages = content.Copy();
                    }
                    else
                    {
                        m_Pages = new BookPageInfo[0];
                    }
                }

                break;
            }
            }

            if (version < 3 && (Weight == 1 || Weight == 2))
            {
                Weight = -1;
            }
        }