示例#1
0
        public void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_ThreadCreator      = reader.ReadMobile();
                m_LastPostTime       = reader.ReadDateTime();
                m_CreationTime       = reader.ReadDateTime();
                m_ThreadType         = ( ThreadType )reader.ReadInt();
                m_Posts              = ReadPostList(reader);
                m_Viewers            = reader.ReadMobileList();
                m_ViewersSinceUpdate = reader.ReadMobileList();
                m_Posters            = reader.ReadMobileList();
                m_PostersSinceUpdate = reader.ReadMobileList();
                m_FileInUse          = reader.ReadBool();
                m_StaffMessage       = reader.ReadBool();
                m_Deleted            = reader.ReadBool();
                m_Locked             = reader.ReadBool();
                m_Subject            = reader.ReadString();
                m_ThreadID           = reader.ReadInt();
                break;
            }
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                QtRespawnMobileRare1 = reader.ReadInt();
                QtRespawnMobileRare2 = reader.ReadInt();
                QtRespawnMobileRare3 = reader.ReadInt();
                QtRespawnMobileRare4 = reader.ReadInt();
                QtRespawnMobileRare5 = reader.ReadInt();
                MobileListRare1      = reader.ReadMobileList();
                MobileListRare2      = reader.ReadMobileList();
                MobileListRare3      = reader.ReadMobileList();
                MobileListRare4      = reader.ReadMobileList();
                MobileListRare5      = reader.ReadMobileList();
                break;
            }
            }

            this.InitializeRespawnController();
        }
示例#3
0
        public void LoadGlobalListens(GenericReader reader)
        {
            int version = reader.ReadInt();

            c_GIgnores = reader.ReadMobileList();
            c_GListens = reader.ReadMobileList();
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
                sleeping    = reader.ReadMobileList();
                sleepingbod = reader.ReadItemList();
                goto case 1;

            case 1:
                m_ArmyHome = reader.ReadPoint3D();
                goto case 0;

            case 0:
                m_Owner                  = reader.ReadMobile();
                m_War                    = reader.ReadBool();
                m_Free                   = reader.ReadBool();
                m_ArmyDirection          = (Direction)reader.ReadInt();
                m_ArmyFormationDirection = (Direction)reader.ReadInt();
                m_CurrentFormation       = (ArmyFormationEnum)reader.ReadInt();
                Soldiers                 = reader.ReadMobileList();
                break;

            default:
                break;
            }
        }
示例#5
0
        /// <summary>
        /// Deserializes the specified reader.
        /// </summary>
        /// <param name="reader">The reader.</param>
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            {
                m_LastAnnounceTime = reader.ReadDateTime();
                goto case 2;
            }

            case 2:
            {
                m_ShopperQueue = new Queue <PlayerMobile>(reader.ReadMobileList <PlayerMobile>());
                goto case 1;
            }

            case 1:
            {
                m_VisitorQueue = new Queue <PlayerMobile>(reader.ReadMobileList <PlayerMobile>());
                m_City         = (KinFactionCities)reader.ReadInt();
                m_Champs       = reader.ReadItemList <ChampKinCity>();
                goto case 0;
            }

            case 0:
                break;
            }
        }
示例#6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            m_sheep = reader.ReadMobileList();
            m_dog   = reader.ReadMobileList();
        }
示例#7
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            m_Teams = reader.ReadInt();

            Players      = reader.ReadMobileList();
            NpcPlayers   = reader.ReadMobileList();
            m_Announcers = reader.ReadMobileList();

            m_WinnersPrizes = reader.ReadItemList();


            m_Team1Dest = reader.ReadPoint3D();
            m_Team2Dest = reader.ReadPoint3D();
            m_Team3Dest = reader.ReadPoint3D();
            m_Team4Dest = reader.ReadPoint3D();
            m_Exit1Dest = reader.ReadPoint3D();
            m_Exit2Dest = reader.ReadPoint3D();
            m_Exit3Dest = reader.ReadPoint3D();
            m_Exit4Dest = reader.ReadPoint3D();

            m_MapDest = reader.ReadMap();
            m_Mod     = (Mod)reader.ReadInt();

            m_Active = reader.ReadBool();
            m_Team1  = reader.ReadInt();
            m_Team2  = reader.ReadInt();
            m_Team3  = reader.ReadInt();
            m_Team4  = reader.ReadInt();

            m_Team1Hue = reader.ReadInt();
            m_Team2Hue = reader.ReadInt();
            m_Team3Hue = reader.ReadInt();
            m_Team4Hue = reader.ReadInt();

            m_Team1Name = reader.ReadString();
            m_Team2Name = reader.ReadString();
            m_Team3Name = reader.ReadString();
            m_Team4Name = reader.ReadString();

            m_NadeDamage = reader.ReadInt();
            m_NumNades   = reader.ReadInt();


            m_PBScoreBoard = reader.ReadItem() as PBScoreBoard;


            m_Active = false;
            Reset();
            //m_Timer = new PBTimer( this );
        }
示例#8
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Chat    = new List <string>();
            m_Players = new Dictionary <Mobile, bool>();

            if (version > 0)
            {
                ArrayList arrayList = reader.ReadMobileList();

                if (arrayList != null)
                {
                    m_Squelched = new List <Mobile>(arrayList.Count);

                    foreach (Mobile item in arrayList)
                    {
                        m_Squelched.Add(item);
                    }
                }
                else
                {
                    m_Squelched = new List <Mobile>();
                }
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
                m_OnePerAccount = reader.ReadBool();
                m_Active        = reader.ReadBool();
                m_Message       = reader.ReadString();
                m_MobilesGivenTo.Clear();
                ArrayList mobs = reader.ReadMobileList();
                foreach (Mobile mob in mobs)
                {
                    m_MobilesGivenTo.Add(mob);
                }
                m_AccountsGivenTo.Clear();
                int count = reader.ReadInt();
                for (int i = 0; i < count; ++i)
                {
                    m_AccountsGivenTo.Add(reader.ReadString());
                }
                break;
            }
        }
示例#10
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            alFinished = reader.ReadMobileList();
        }
示例#11
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;
				}
			}
		}
示例#12
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                foreach (Mobile m in reader.ReadMobileList())
                {
                    if (m is GolemController)
                    {
                        m_Guardians.Add(m as GolemController);
                    }
                }
                goto case 0;
            }

            case 0:
            {
                m_Sigil = (KinSigil)reader.ReadItem();
                break;
            }
            }
        }
示例#13
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadEncodedInt();

            m_Topic = new string[reader.ReadEncodedInt()];

            for (int i = 0; i < m_Topic.Length; i++)
            {
                m_Topic[i] = reader.ReadString();
            }

            m_Yes = reader.ReadMobileList();
            m_No  = reader.ReadMobileList();
        }
示例#14
0
            public override void Deserialize(GenericReader reader)
            {
                base.Deserialize(reader);

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

                m_Mobiles = reader.ReadMobileList();

                for (int i = 0; i < m_Mobiles.Count; ++i)
                {
                    ((Mobile)m_Mobiles[i]).Delete();
                }

                m_Mobiles.Clear();

                for (int i = Items.Count - 1; i >= 0; --i)
                {
                    if (i < Items.Count)
                    {
                        ((Item)Items[i]).Delete();
                    }
                }

                if (m_Cache == null)
                {
                    m_Cache = this;
                }
                else
                {
                    Delete();
                }

                m_Table = new Hashtable();
            }
示例#15
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Time   = reader.ReadDeltaTime();
                m_Mob1   = reader.ReadMobile();
                m_Mob2   = reader.ReadMobile();
                m_Votes1 = reader.ReadInt();
                m_Votes2 = reader.ReadInt();
                m_Voters = reader.ReadMobileList();
                m_Stone  = (CityManagementStone)reader.ReadItem();

                m_Timer = new CityElectionTimer(m_Time, this);
                m_Timer.Start();

                break;
            }
            }
        }
示例#16
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;
            }
            }
        }
示例#17
0
		public override void Deserialize( GenericReader reader )
		{
            base.Deserialize(reader);
            int version = reader.ReadInt();
            m_market = reader.ReadItemList();
            m_marketmob = reader.ReadMobileList();
		}
示例#18
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_Type = (PotionEffect)reader.ReadInt();
                m_Held = reader.ReadInt();
                break;
            }

            case 1:
            {
                if (reader.ReadBool())
                {
                    m_Tasters = reader.ReadMobileList();
                }
                goto case 0;
            }

            case 2:
            {
                m_Owner = reader.ReadMobile();
                goto case 1;
            }
            }
        }
示例#19
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            eventItems   = reader.ReadItemList();
            eventMobiles = reader.ReadMobileList();
        }
示例#20
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Leader       = reader.ReadMobile();
            m_Commander    = reader.ReadMobile();
            m_Members      = reader.ReadMobileList();
            m_SiegeWeapons = reader.ReadItemList();
            m_Guards       = reader.ReadMobileList();
            m_GuardPoints  = reader.ReadItemList();
            m_Gold         = reader.ReadULong();
            m_Wood         = reader.ReadULong();
            m_ColorOne     = reader.ReadInt();
            m_ColorTwo     = reader.ReadInt();
        }
示例#21
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 4:
            {
                m_Identified = reader.ReadMobileList();

                goto case 3;
            }

            case 3:
            {
                m_Effect        = (SpellEffect)reader.ReadInt();
                m_EffectCharges = reader.ReadInt();
                if (version < 4)
                {
                    /*m_Identified = */ reader.ReadBool();
                }
                goto case 2;
            }

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

            case 1:
            {
                m_Crafter = reader.ReadMobile();
                m_Quality = (CraftQuality)reader.ReadInt();
                break;
            }

            case 0:
            {
                m_Crafter = null;
                m_Quality = CraftQuality.Regular;
                break;
            }
            }

            if (version < 2)
            {
                m_PlayerConstructed = false;
            }

            if (Parent is Mobile && m_Effect != SpellEffect.None && m_EffectCharges > 0 && SpellCastEffect.IsRepeatingEffect(m_Effect))
            {
                m_Timer = new CheckTimer(this);
                m_Timer.Start();
            }
        }
示例#22
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            m_Town         = (TownStone)reader.ReadItem();
            m_Payeurs      = reader.ReadMobileList();
            m_HistoPayeurs = reader.ReadMobileList();
            m_Retard_1     = reader.ReadMobileList();
            m_Retard_2     = reader.ReadMobileList();
            m_Taxe         = reader.ReadInt();
            m_CaisseVille  = reader.ReadInt();
            m_CaisseGarde  = reader.ReadInt();
            m_EndDate      = reader.ReadDateTime();
            m_TaxeTimer    = new TaxeTimer(m_Town, m_EndDate - DateTime.Now);
            m_TaxeTimer.Start();
            m_Delay = reader.ReadTimeSpan();
        }
示例#23
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_VilleRace = (VilleRaciale)reader.ReadByte();

                goto case 0;
            }

            case 0:
            {
                m_Citoyens         = reader.ReadMobileList();
                m_Candidats        = reader.ReadMobileList();
                m_HLL              = reader.ReadMobileList();
                m_Gardes           = reader.ReadMobileList();
                m_gardes_pnj       = reader.ReadItemList();
                m_Maire            = (PlayerMobile)reader.ReadMobile();
                m_Conseiller       = (PlayerMobile)reader.ReadMobile();
                m_Ambassadeur      = (PlayerMobile)reader.ReadMobile();
                m_Capitaine        = (PlayerMobile)reader.ReadMobile();
                m_Pomi             = (POMI)reader.ReadItem();
                m_MaireCloak       = (PomiCloak)reader.ReadItem();
                m_ConseillerCloak  = (PomiCloak)reader.ReadItem();
                m_AmbassadeurCloak = (PomiCloak)reader.ReadItem();
                m_CapitaineCloak   = (PomiCloak)reader.ReadItem();
                m_CapitaineBook    = (CapitaineBook)reader.ReadItem();
                m_GardeCloak       = reader.ReadItemList();
                m_Nom              = reader.ReadString();
                m_Charte0          = reader.ReadString();
                m_Charte1          = reader.ReadString();
                m_Charte2          = reader.ReadString();
                m_Charte3          = reader.ReadString();
                m_Charte4          = reader.ReadString();
                m_Charte5          = reader.ReadString();
                m_Charte6          = reader.ReadString();
                m_Charte7          = reader.ReadString();
                m_Votants          = reader.ReadMobileList();
                m_Elections        = reader.ReadMobileList();
                m_Resultats        = reader.ReadMobileList();
                m_EndDate          = reader.ReadDateTime();
                m_ElecTimer        = new ElectionTimer(this, m_EndDate - DateTime.Now);
                m_ElecTimer.Start();
                m_ElecDelay   = reader.ReadTimeSpan();
                m_MaxDistance = reader.ReadInt();
                m_Allies      = reader.ReadItemList();
                m_Paix        = reader.ReadItemList();
                m_Guerre      = reader.ReadItemList();
                m_Neutre      = reader.ReadItemList();
                m_Box         = (TownBox)reader.ReadItem();
                break;
            }
            }
        }
示例#24
0
        protected void Load(GenericReader reader)
        {
            int version = reader.ReadInt();

            c_Mobiles   = reader.ReadMobileList();
            c_Filter    = reader.ReadBool();
            c_Delay     = reader.ReadBool();
            c_Name      = reader.ReadString();
            c_Style     = (ChatStyle)reader.ReadInt();
            c_ToIrc     = reader.ReadBool();
            c_NewChars  = reader.ReadBool();
            c_ShowStaff = reader.ReadBool();
            c_Enabled   = reader.ReadBool();

            int    count = reader.ReadInt();
            Mobile m;

            for (int i = 0; i < count; ++i)
            {
                m = reader.ReadMobile();
                if (m != null)
                {
                    c_Colors[m] = reader.ReadInt();
                }
                else
                {
                    reader.ReadInt();
                }
            }

            c_Commands.Clear();
            count = reader.ReadInt();
            for (int i = 0; i < count; ++i)
            {
                c_Commands.Add(reader.ReadString());
            }

            foreach (string str in c_Commands)
            {
                AddCommand(str);
            }

            ArrayList list = new ArrayList();

            foreach (Mobile mob in c_Mobiles)
            {
                if (!list.Contains(mob))
                {
                    list.Add(mob);
                }
            }

            c_Mobiles = new ArrayList(list);
        }
示例#25
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version > 0)
            {
                int x = reader.ReadInt();
                List <ElvenVotePedestal> m_Pedestals = new List <ElvenVotePedestal>();
                for (int i = 0; i < x; ++i)
                {
                    m_Pedestals.Add((ElvenVotePedestal)reader.ReadItem());
                }
                m_Voters     = reader.ReadMobileList();
                m_Status     = (ControllerStatus)reader.ReadInt();
                m_Total      = reader.ReadInt();
                m_Candidates = reader.ReadMobileList();
            }
        }
        public override void Deserialize(GenericReader reader)
        {
            Players = new ArrayList();
            Spawn   = new ArrayList();

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

            inprogress  = reader.ReadBool();
            Killed      = reader.ReadInt();
            Players     = reader.ReadMobileList();
            Spawn       = reader.ReadMobileList();
            SpawnType   = (InvasionSpawnType)reader.ReadInt();
            regionpoint = reader.ReadRect2D();
            regionmap   = reader.ReadMap();

            if (inprogress)
            {
                StartInvasion();
            }
        }
示例#27
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

                if (reader.ReadBool())
                {
                    m_Greeting = new BulletinBoardMessage(reader);
                }

                int count = reader.ReadEncodedInt();

                m_Messages = new List <BulletinBoardMessage>(count);

                for (int i = 0; i < count; ++i)
                {
                    m_Messages.Add(new BulletinBoardMessage(reader));
                }

                if (m_BannedPlayers != null)
                {
                    m_BannedPlayers = reader.ReadMobileList();
                }
                else
                {
                    m_BannedPlayers = new ArrayList();
                    m_BannedPlayers = reader.ReadMobileList();
                }

                break;
            }
            }
        }
示例#28
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Owner   = reader.ReadMobile();
            m_Friends = reader.ReadMobileList();

            if (version >= 2)
            {
                m_Tent = reader.ReadItem() as TravelTent;
            }
        }
示例#29
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 0:
            {
                m_mobiles = reader.ReadMobileList <Mobile>();
                m_items   = reader.ReadItemList <Item>();
                break;
            }
            }
        }
示例#30
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
            {
                m_Guardians = reader.ReadMobileList();
                m_Temporary = reader.ReadBool();

                goto case 1;
            }

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

                goto case 0;
            }

            case 0:
            {
                m_Level      = reader.ReadInt();
                m_DeleteTime = reader.ReadDeltaTime();
                m_Lifted     = reader.ReadItemList();

                if (version < 2)
                {
                    m_Guardians = new ArrayList();
                }

                break;
            }
            }

            if (!m_Temporary)
            {
                m_Timer = new DeleteTimer(this, m_DeleteTime);
                m_Timer.Start();
            }
            else
            {
                Delete();
            }
        }
示例#31
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

            int version = reader.ReadInt();

            switch ( version )
            {
                case 8:
                {
                    m_Identified = reader.ReadMobileList();

                    goto case 7;
                }
                case 7:
                case 6:
                case 5:
                {
                    SaveFlag flags = (SaveFlag)reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.DamageLevel ) )
                        m_DamageLevel = (WeaponDamageLevel)reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.AccuracyLevel ) )
                        m_AccuracyLevel = (WeaponAccuracyLevel)reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.DurabilityLevel ) )
                        m_DurabilityLevel = (DurabilityLevel)reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.Quality ) )
                        m_Quality = (CraftQuality)reader.ReadInt();
                    else
                        m_Quality = CraftQuality.Regular;

                    if ( GetSaveFlag( flags, SaveFlag.Hits ) )
                        m_Hits = reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.MaxHits ) )
                        m_MaxHits = reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.Slayer ) )
                        m_Slayer = (SlayerName)reader.ReadInt();

                    if ( GetSaveFlag( flags, SaveFlag.Poison ) )
                        m_Poison = Poison.Deserialize( reader );

                    if ( GetSaveFlag( flags, SaveFlag.PoisonCharges ) )
                    {
                        m_PoisonCharges = reader.ReadInt();
                        if ( version >= 7 )
                            m_PoisonChance = reader.ReadDouble();
                        else
                            m_PoisonChance = Utility.RandomDouble() * 0.25;
                    }

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

                    if ( GetSaveFlag( flags, SaveFlag.Identified ) && version < 6 )
                        reader.ReadBool();
                        //m_Identified = ( version >= 6 || reader.ReadBool() );

                    if ( GetSaveFlag( flags, SaveFlag.StrReq ) )
                        m_StrReq = reader.ReadInt();
                    else
                        m_StrReq = -1;

                    if ( GetSaveFlag( flags, SaveFlag.DexReq ) )
                        m_DexReq = reader.ReadInt();
                    else
                        m_DexReq = -1;

                    if ( GetSaveFlag( flags, SaveFlag.IntReq ) )
                        m_IntReq = reader.ReadInt();
                    else
                        m_IntReq = -1;

                    if ( GetSaveFlag( flags, SaveFlag.MinDamage ) )
                        m_MinDamage = reader.ReadInt();
                    else
                        m_MinDamage = -1;

                    if ( GetSaveFlag( flags, SaveFlag.MaxDamage ) )
                        m_MaxDamage = reader.ReadInt();
                    else
                        m_MaxDamage = -1;

                    if ( GetSaveFlag( flags, SaveFlag.HitSound ) )
                        m_HitSound = reader.ReadInt();
                    else
                        m_HitSound = -1;

                    if ( GetSaveFlag( flags, SaveFlag.MissSound ) )
                        m_MissSound = reader.ReadInt();
                    else
                        m_MissSound = -1;

                    if ( GetSaveFlag( flags, SaveFlag.Speed ) )
                        m_Speed = reader.ReadInt();
                    else
                        m_Speed = -1;

                    if ( GetSaveFlag( flags, SaveFlag.MaxRange ) )
                        m_MaxRange = reader.ReadInt();
                    else
                        m_MaxRange = -1;

                    if ( GetSaveFlag( flags, SaveFlag.Skill ) )
                        m_Skill = (SkillName)reader.ReadInt();
                    else
                        m_Skill = (SkillName)(-1);

                    if ( GetSaveFlag( flags, SaveFlag.Type ) )
                        m_Type = (WeaponType)reader.ReadInt();
                    else
                        m_Type = (WeaponType)(-1);

                    if ( GetSaveFlag( flags, SaveFlag.Animation ) )
                        m_Animation = (WeaponAnimation)reader.ReadInt();
                    else
                        m_Animation = (WeaponAnimation)(-1);

                    if ( GetSaveFlag( flags, SaveFlag.Resource ) )
                        m_Resource = (CraftResource)reader.ReadInt();
                    else
                        m_Resource = CraftResource.Iron;

                    if ( GetSaveFlag( flags, SaveFlag.xAttributes ) )
                        m_AosAttributes = new AosAttributes( this, reader );
                    else
                        m_AosAttributes = new AosAttributes( this );

                    if ( GetSaveFlag( flags, SaveFlag.xWeaponAttributes ) )
                        m_AosWeaponAttributes = new AosWeaponAttributes( this, reader );
                    else
                        m_AosWeaponAttributes = new AosWeaponAttributes( this );

                    if ( UseSkillMod && m_AccuracyLevel != WeaponAccuracyLevel.Regular && Parent is Mobile )
                    {
                        m_SkillMod = new DefaultSkillMod( AccuracyMod, true, (int)m_AccuracyLevel * 5 );
                        ((Mobile)Parent).AddSkillMod( m_SkillMod );
                    }

                    if ( Core.AOS && m_AosWeaponAttributes.MageWeapon != 0 && Parent is Mobile )
                    {
                        m_MageMod = new DefaultSkillMod( SkillName.Magery, true, -m_AosWeaponAttributes.MageWeapon );
                        ((Mobile)Parent).AddSkillMod( m_MageMod );
                    }

                    if ( GetSaveFlag( flags, SaveFlag.PlayerConstructed ) )
                        m_PlayerConstructed = true;

                    if ( GetSaveFlag( flags, SaveFlag.SpellEffect ) )
                    {
                        m_Effect = (SpellEffect)reader.ReadInt();
                        m_EffectCharges = reader.ReadInt();
                    }

                    break;
                }
                case 4:
                {
                    m_Slayer = (SlayerName)reader.ReadInt();

                    goto case 3;
                }
                case 3:
                {
                    m_StrReq = reader.ReadInt();
                    m_DexReq = reader.ReadInt();
                    m_IntReq = reader.ReadInt();

                    goto case 2;
                }
                case 2:
                {
                    /*m_Identified = */reader.ReadBool();

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

                    goto case 0;
                }
                case 0:
                {
                    if ( version == 0 )
                        m_MaxRange = 1; // default

                    if ( version < 5 )
                    {
                        m_Resource = CraftResource.Iron;
                        m_AosAttributes = new AosAttributes( this );
                        m_AosWeaponAttributes = new AosWeaponAttributes( this );
                    }

                    m_MinDamage = reader.ReadInt();
                    m_MaxDamage = reader.ReadInt();

                    m_Speed = reader.ReadInt();

                    m_HitSound = reader.ReadInt();
                    m_MissSound = reader.ReadInt();

                    m_Skill = (SkillName)reader.ReadInt();
                    m_Type = (WeaponType)reader.ReadInt();
                    m_Animation = (WeaponAnimation)reader.ReadInt();
                    m_DamageLevel = (WeaponDamageLevel)reader.ReadInt();
                    m_AccuracyLevel = (WeaponAccuracyLevel)reader.ReadInt();
                    m_DurabilityLevel = (DurabilityLevel)reader.ReadInt();
                    m_Quality = (CraftQuality)reader.ReadInt();

                    m_Crafter = reader.ReadMobile();

                    m_Poison = Poison.Deserialize( reader );
                    m_PoisonCharges = reader.ReadInt();

                    if ( m_StrReq == OldStrengthReq )
                        m_StrReq = -1;

                    if ( m_DexReq == OldDexterityReq )
                        m_DexReq = -1;

                    if ( m_IntReq == OldIntelligenceReq )
                        m_IntReq = -1;

                    if ( m_MinDamage == OldMinDamage )
                        m_MinDamage = -1;

                    if ( m_MaxDamage == OldMaxDamage )
                        m_MaxDamage = -1;

                    if ( m_HitSound == OldHitSound )
                        m_HitSound = -1;

                    if ( m_MissSound == OldMissSound )
                        m_MissSound = -1;

                    if ( m_Speed == OldSpeed )
                        m_Speed = -1;

                    if ( m_MaxRange == OldMaxRange )
                        m_MaxRange = -1;

                    if ( m_Skill == OldSkill )
                        m_Skill = (SkillName)(-1);

                    if ( m_Type == OldType )
                        m_Type = (WeaponType)(-1);

                    if ( m_Animation == OldAnimation )
                        m_Animation = (WeaponAnimation)(-1);

                    if ( UseSkillMod && m_AccuracyLevel != WeaponAccuracyLevel.Regular && Parent is Mobile )
                    {
                        m_SkillMod = new DefaultSkillMod( AccuracyMod, true, (int)m_AccuracyLevel * 5);
                        ((Mobile)Parent).AddSkillMod( m_SkillMod );
                    }

                    break;
                }
            }

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

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

                string modName = this.Serial.ToString();

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

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

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

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

            if ( m_Hits <= 0 && m_MaxHits <= 0 )
            {
                m_Hits = m_MaxHits = Utility.RandomMinMax( InitMinHits, InitMaxHits );
            }

            if ( version < 6 )
                m_PlayerConstructed = true; // we don't know, so, assume it's crafted
        }
示例#33
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            int count;
            bool loadedDynamicDecay = false;

            switch ( version )
            {
                case 15:
                    {
                        int stage = reader.ReadInt();

                        if (stage != -1)
                        {
                            this.m_CurrentStage = (DecayLevel)stage;
                            this.m_NextDecayStage = reader.ReadDateTime();
                            loadedDynamicDecay = true;
                        }

                        goto case 14;
                    }
                case 14:
                    {
                        this.m_RelativeBanLocation = reader.ReadPoint3D();
                        goto case 13;
                    }
                case 13: // removed ban location serialization
                case 12:
                    {
                        this.m_VendorRentalContracts = reader.ReadItemList();
                        this.m_InternalizedVendors = reader.ReadMobileList();

                        int relocatedCount = reader.ReadEncodedInt();
                        for (int i = 0; i < relocatedCount; i++)
                        {
                            Point3D relLocation = reader.ReadPoint3D();
                            IEntity entity = World.FindEntity(reader.ReadInt());

                            if (entity != null)
                                this.m_RelocatedEntities.Add(new RelocatedEntity(entity, relLocation));
                        }

                        int inventoryCount = reader.ReadEncodedInt();
                        for (int i = 0; i < inventoryCount; i++)
                        {
                            VendorInventory inventory = new VendorInventory(this, reader);
                            this.m_VendorInventories.Add(inventory);
                        }

                        goto case 11;
                    }
                case 11:
                    {
                        this.m_LastRefreshed = reader.ReadDateTime();
                        this.m_RestrictDecay = reader.ReadBool();
                        goto case 10;
                    }
                case 10: // just a signal for updates
                case 9:
                    {
                        this.m_Visits = reader.ReadInt();
                        goto case 8;
                    }
                case 8:
                    {
                        this.m_Price = reader.ReadInt();
                        goto case 7;
                    }
                case 7:
                    {
                        this.m_Access = reader.ReadMobileList();
                        goto case 6;
                    }
                case 6:
                    {
                        this.m_BuiltOn = reader.ReadDateTime();
                        this.m_LastTraded = reader.ReadDateTime();
                        goto case 5;
                    }
                case 5: // just removed fields
                case 4:
                    {
                        this.m_Addons = reader.ReadItemList();
                        goto case 3;
                    }
                case 3:
                    {
                        count = reader.ReadInt();
                        this.m_Secures = new ArrayList(count);

                        for (int i = 0; i < count; ++i)
                        {
                            SecureInfo info = new SecureInfo(reader);

                            if (info.Item != null)
                            {
                                info.Item.IsSecure = true;
                                this.m_Secures.Add(info);
                            }
                        }

                        goto case 2;
                    }
                case 2:
                    {
                        this.m_Public = reader.ReadBool();
                        goto case 1;
                    }
                case 1:
                    {
                        if (version < 13)
                            reader.ReadPoint3D(); // house ban location
                        goto case 0;
                    }
                case 0:
                    {
                        if (version < 14)
                            this.m_RelativeBanLocation = this.BaseBanLocation;

                        if (version < 12)
                        {
                            this.m_VendorRentalContracts = new ArrayList();
                            this.m_InternalizedVendors = new ArrayList();
                        }

                        if (version < 4)
                            this.m_Addons = new ArrayList();

                        if (version < 7)
                            this.m_Access = new ArrayList();

                        if (version < 8)
                            this.m_Price = this.DefaultPrice;

                        this.m_Owner = reader.ReadMobile();

                        if (version < 5)
                        {
                            count = reader.ReadInt();

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

                        this.UpdateRegion();

                        this.m_CoOwners = reader.ReadMobileList();
                        this.m_Friends = reader.ReadMobileList();
                        this.m_Bans = reader.ReadMobileList();

                        this.m_Sign = reader.ReadItem() as HouseSign;
                        this.m_Trash = reader.ReadItem() as TrashBarrel;

                        this.m_Doors = reader.ReadItemList();
                        this.m_LockDowns = reader.ReadItemList();

                        for (int i = 0; i < this.m_LockDowns.Count; ++i)
                            ((Item)this.m_LockDowns[i]).IsLockedDown = true;

                        for (int i = 0; i < this.m_VendorRentalContracts.Count; ++i)
                            ((Item)this.m_VendorRentalContracts[i]).IsLockedDown = true;

                        if (version < 3)
                        {
                            ArrayList items = reader.ReadItemList();
                            this.m_Secures = new ArrayList(items.Count);

                            for (int i = 0; i < items.Count; ++i)
                            {
                                Container c = items[i] as Container;

                                if (c != null)
                                {
                                    c.IsSecure = true;
                                    this.m_Secures.Add(new SecureInfo(c, SecureLevel.CoOwners));
                                }
                            }
                        }

                        this.m_MaxLockDowns = reader.ReadInt();
                        this.m_MaxSecures = reader.ReadInt();

                        if ((this.Map == null || this.Map == Map.Internal) && this.Location == Point3D.Zero)
                            this.Delete();

                        if (this.m_Owner != null)
                        {
                            List<BaseHouse> list = null;
                            m_Table.TryGetValue(this.m_Owner, out list);

                            if (list == null)
                                m_Table[this.m_Owner] = list = new List<BaseHouse>();

                            list.Add(this);
                        }
                        break;
                    }
            }

            if (version <= 1)
                this.ChangeSignType(0xBD2);//private house, plain brass sign

            if (version < 10)
            {
                /* NOTE: This can exceed the house lockdown limit. It must be this way, because
                * we do not want players' items to decay without them knowing. Or not even
                * having a chance to fix it themselves.
                */
                Timer.DelayCall(TimeSpan.Zero, new TimerCallback(FixLockdowns_Sandbox));
            }

            if (version < 11)
                this.m_LastRefreshed = DateTime.UtcNow + TimeSpan.FromHours(24 * Utility.RandomDouble());

            if (DynamicDecay.Enabled && !loadedDynamicDecay)
            {
                DecayLevel old = this.GetOldDecayLevel();

                if (old == DecayLevel.DemolitionPending)
                    old = DecayLevel.Collapsed;

                this.SetDynamicDecay(old);
            }

            if (!this.CheckDecay())
            {
                if (this.RelocatedEntities.Count > 0)
                    Timer.DelayCall(TimeSpan.Zero, new TimerCallback(RestoreRelocatedEntities));

                if (this.m_Owner == null && this.m_Friends.Count == 0 && this.m_CoOwners.Count == 0)
                    Timer.DelayCall(TimeSpan.FromSeconds(10.0), new TimerCallback(Delete));
            }
        }
示例#34
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			m_Owner = reader.ReadMobile();
			m_Friends = reader.ReadMobileList();

			if( version >= 2 )
				m_Tent = reader.ReadItem() as TravelTent;
		}
示例#35
0
        public override void Deserialize( GenericReader reader )
        {
            int version = reader.ReadInt();

            if ( version < 5 )
            {
                FixGuilds();
            }

            switch ( version )
            {
                case 5:
                    {
                        m_WarInitializations = reader.ReadGuildList();
                        m_WarKills = new WarKillsItem[reader.ReadInt()];
                        for ( int i = 0; i < m_WarKills.Length; ++i )
                        {
                            m_WarKills[i].w_Guild = reader.ReadGuild() as Guild;
                            m_WarKills[i].Kills = reader.ReadInt();
                            m_WarKills[i].MaxKills = reader.ReadInt();
                            m_WarKills[i].WarTime = (uint) reader.ReadInt();
                            m_WarKills[i].ExpTime = (uint) reader.ReadInt();
                        }
                        m_AllianceLeader = reader.ReadBool();
                        m_AllianceName = reader.ReadString();
                        goto case 4;
                    }
                case 4:
                    {
                        m_AllyDeclarations = reader.ReadGuildList();
                        m_AllyInvitations = reader.ReadGuildList();

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

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

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

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

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

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

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

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

                        break;
                    }
            }

            if ( m_AllyDeclarations == null )
            {
                m_AllyDeclarations = new ArrayList();
            }

            if ( m_AllyInvitations == null )
            {
                m_AllyInvitations = new ArrayList();
            }

            if ( m_WarInitializations == null )
            {
                m_WarInitializations = new ArrayList();
            }

            if ( WarTimer1 == null )
            {
                WarTimer1 = new WarTimer();
                WarTimer1.Start();
            }

            if ( m_Guildstone == null || m_Members.Count == 0 )
            {
                Timer.DelayCall( TimeSpan.Zero, new TimerCallback( Disband ) );
            }
        }
示例#36
0
        public Arena( GenericReader reader )
        {
            int version = reader.ReadEncodedInt();

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

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

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

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

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

                    goto case 1;
                }
                case 1:
                {
                    m_Players = reader.ReadMobileList();

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

                    if ( version == 0 )
                    {
                        reader.ReadBool();
                        m_Players = new ArrayList();
                    }

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

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

                    break;
                }
            }

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

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

            if ( m_Tournament != null )
                Timer.DelayCall( TimeSpan.Zero, new TimerCallback( AttachToTournament_Sandbox ) );
        }
示例#37
0
        public void Deserialize( GenericReader reader )
        {
            int version = reader.ReadInt();

            switch( version )
            {
                case 0:
                    {
                        m_ThreadCreator = reader.ReadMobile();
                        m_LastPostTime = reader.ReadDateTime();
                        m_CreationTime = reader.ReadDateTime();
                        m_ThreadType = ( ThreadType )reader.ReadInt();
                        m_Posts = ReadPostList( reader );
                        m_Viewers = reader.ReadMobileList();
                        m_ViewersSinceUpdate = reader.ReadMobileList();
                        m_Posters = reader.ReadMobileList();
                        m_PostersSinceUpdate = reader.ReadMobileList();
                        m_FileInUse = reader.ReadBool();
                        m_StaffMessage = reader.ReadBool();
                        m_Deleted = reader.ReadBool();
                        m_Locked = reader.ReadBool();
                        m_Subject = reader.ReadString();
                        m_ThreadID = reader.ReadInt();
                        break;
                    }
            }
        }  
示例#38
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version ) 
			{ 
				case 1:
				{
					m_VilleRace = (VilleRaciale)reader.ReadByte();
					
					goto case 0;
				}

				case 0:
				{

					m_Citoyens = reader.ReadMobileList();
					m_Candidats = reader.ReadMobileList();
					m_HLL = reader.ReadMobileList();
					m_Gardes = reader.ReadMobileList();
					m_gardes_pnj = reader.ReadItemList();
					m_Maire = (PlayerMobile)reader.ReadMobile();
					m_Conseiller = (PlayerMobile)reader.ReadMobile();
					m_Ambassadeur = (PlayerMobile)reader.ReadMobile();
					m_Capitaine = (PlayerMobile)reader.ReadMobile();
					m_Pomi = (POMI)reader.ReadItem();	
					m_MaireCloak = (PomiCloak)reader.ReadItem();
					m_ConseillerCloak = (PomiCloak)reader.ReadItem();
					m_AmbassadeurCloak = (PomiCloak)reader.ReadItem();
					m_CapitaineCloak = (PomiCloak)reader.ReadItem();
					m_CapitaineBook = (CapitaineBook)reader.ReadItem();
					m_GardeCloak = reader.ReadItemList();
					m_Nom = reader.ReadString();
					m_Charte0 = reader.ReadString();
					m_Charte1 = reader.ReadString();
					m_Charte2 = reader.ReadString();
					m_Charte3 = reader.ReadString();
					m_Charte4 = reader.ReadString();
					m_Charte5 = reader.ReadString();
					m_Charte6 = reader.ReadString();
					m_Charte7 = reader.ReadString();
					m_Votants = reader.ReadMobileList();
					m_Elections = reader.ReadMobileList();
					m_Resultats = reader.ReadMobileList();
					m_EndDate = reader.ReadDateTime();
					m_ElecTimer = new ElectionTimer(this, m_EndDate - DateTime.Now);
					m_ElecTimer.Start();
					m_ElecDelay = reader.ReadTimeSpan();
					m_MaxDistance = reader.ReadInt();
					m_Allies = reader.ReadItemList();
					m_Paix = reader.ReadItemList();
					m_Guerre = reader.ReadItemList();
					m_Neutre = reader.ReadItemList();
					m_Box = (TownBox)reader.ReadItem();
					break;
				}
			}

	}
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
                case 0:
                    {
                        QtRespawnMobileRare1 = reader.ReadInt();
                        QtRespawnMobileRare2 = reader.ReadInt();
                        QtRespawnMobileRare3 = reader.ReadInt();
                        QtRespawnMobileRare4 = reader.ReadInt();
                        QtRespawnMobileRare5 = reader.ReadInt();
                        MobileListRare1 = reader.ReadMobileList();
                        MobileListRare2 = reader.ReadMobileList();
                        MobileListRare3 = reader.ReadMobileList();
                        MobileListRare4 = reader.ReadMobileList();
                        MobileListRare5 = reader.ReadMobileList();
                        break;
                    }
            }

            this.InitializeRespawnController();
        }
示例#40
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();
				
					m_Teams = reader.ReadInt();
					
					Players = reader.ReadMobileList();
                    NpcPlayers = reader.ReadMobileList();
					m_Announcers = reader.ReadMobileList();
					
					m_WinnersPrizes = reader.ReadItemList();
					
					
					m_Team1Dest = reader.ReadPoint3D();
					m_Team2Dest = reader.ReadPoint3D();
					m_Team3Dest = reader.ReadPoint3D();
					m_Team4Dest = reader.ReadPoint3D();
					m_Exit1Dest = reader.ReadPoint3D();
					m_Exit2Dest = reader.ReadPoint3D();
					m_Exit3Dest = reader.ReadPoint3D();
					m_Exit4Dest = reader.ReadPoint3D();

					m_MapDest = reader.ReadMap();
                    m_Mod = (Mod)reader.ReadInt();

					m_Active = reader.ReadBool();
					m_Team1 = reader.ReadInt();
					m_Team2 = reader.ReadInt();
					m_Team3 = reader.ReadInt();
					m_Team4 = reader.ReadInt();
					
					m_Team1Hue = reader.ReadInt();
					m_Team2Hue = reader.ReadInt();
					m_Team3Hue = reader.ReadInt();
					m_Team4Hue = reader.ReadInt();
					
					m_Team1Name = reader.ReadString();
					m_Team2Name = reader.ReadString();
					m_Team3Name = reader.ReadString();
					m_Team4Name = reader.ReadString();
					
					m_NadeDamage = reader.ReadInt();
					m_NumNades = reader.ReadInt();
					

					m_PBScoreBoard = reader.ReadItem() as PBScoreBoard;
		

					m_Active = false;
                    Reset();
					//m_Timer = new PBTimer( this );
					
					
					
				
			
		
		}
示例#41
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

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

			switch ( version )
			{
				case 15:
				{
					goto case 14;
				}
				case 14:
				{
					m_RelativeBanLocation = reader.ReadPoint3D();
					goto case 13;
				}
				case 13: // removed ban location serialization
				case 12:
				{
					m_InternalizedVendors = reader.ReadMobileList();

					int inventoryCount = reader.ReadEncodedInt();
					for ( int i = 0; i < inventoryCount; i++ )
					{
						VendorInventory inventory = new VendorInventory( this, reader );
						m_VendorInventories.Add( inventory );
					}

					goto case 11;
				}
				case 11:
				{
					m_LastRefreshed = reader.ReadDateTime();
					m_RestrictDecay = reader.ReadBool();
					goto case 10;
				}
				case 10: // just a signal for updates
				case 9:
				{
					m_Visits = reader.ReadInt();
					goto case 8;
				}
				case 8:
				{
					m_Price = reader.ReadInt();
					goto case 7;
				}
				case 7:
				{
					m_Access = reader.ReadMobileList();
					goto case 6;
				}
				case 6:
				{
					m_BuiltOn = reader.ReadDateTime();
					goto case 5;
				}
				case 5: // just removed fields
				case 4:
				{
					m_Addons = reader.ReadItemList();
					goto case 3;
				}
				case 3:
				case 2:
				{
					m_Public = reader.ReadBool();
					goto case 1;
				}
				case 1:
				{
					if ( version < 13 )
						reader.ReadPoint3D(); // house ban location
					goto case 0;
				}
				case 0:
				{
					if ( version < 14 )
						m_RelativeBanLocation = this.BaseBanLocation;

					if ( version < 12 )
					{
						m_InternalizedVendors = new ArrayList();
					}

					if ( version < 4 )
						m_Addons = new ArrayList();

					if ( version < 7 )
						m_Access = new ArrayList();

					if ( version < 8 )
						m_Price = DefaultPrice;

					m_Owner = reader.ReadMobile();

					if ( version < 5 )
					{
						count = reader.ReadInt();

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

					UpdateRegion();

					m_CoOwners = reader.ReadMobileList();
					m_Friends = reader.ReadMobileList();
					m_Bans = reader.ReadMobileList();

					m_Sign = reader.ReadItem() as HouseSign;
					m_Trash = reader.ReadItem() as TrashBarrel;

					m_Doors = reader.ReadItemList();
					m_LockDowns = reader.ReadItemList();

					for ( int i = 0; i < m_LockDowns.Count; ++i )
						((Item)m_LockDowns[i]).IsLockedDown = true;

                    m_Secures = reader.ReadItemList();

                    for (int i = 0; i < m_Secures.Count; ++i)
                        ((Item)m_Secures[i]).IsSecure = true;
                        
					m_MaxLockDowns = reader.ReadInt();
					m_MaxSecures = reader.ReadInt();

					if ( (Map == null || Map == Map.Internal) && Location == Point3D.Zero )
						Delete();

					if ( m_Owner != null )
					{
						List<BaseHouse> list = null;
						m_Table.TryGetValue( m_Owner, out list );

						if ( list == null )
							m_Table[m_Owner] = list = new List<BaseHouse>();

						list.Add( this );
					}
					break;
				}
			}

			if ( version <= 1 )
				ChangeSignType( 0xBD2 );//private house, plain brass sign

			if ( version < 10 )
			{
				/* NOTE: This can exceed the house lockdown limit. It must be this way, because
				 * we do not want players' items to decay without them knowing. Or not even
				 * having a chance to fix it themselves.
				 */

				Timer.DelayCall( TimeSpan.Zero, new TimerCallback( FixLockdowns_Sandbox ) );
			}

			if ( version < 11 )
				m_LastRefreshed = DateTime.Now + TimeSpan.FromHours( 24 * Utility.RandomDouble() );

			if ( !CheckDecay() )
			{
				if ( m_Owner == null && m_Friends.Count == 0 && m_CoOwners.Count == 0 )
					Timer.DelayCall( TimeSpan.FromSeconds( 10.0 ), new TimerCallback( Delete ) );
			}
		}
示例#42
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadInt();

            m_CollectionTitles = new ArrayList();

            switch ( version )
            {
                case 56:
                    {
                        bool hasAnyBardMastery = reader.ReadBool();

                        if ( hasAnyBardMastery )
                        {
                            m_BardMastery = BardMastery.GetFromId( reader.ReadEncodedInt() );
                            m_BardElementDamage = (ResistanceType) reader.ReadEncodedInt();
                            m_NextBardMasterySwitch = reader.ReadDateTime();
                            m_BardMasteryLearnedMask = reader.ReadEncodedInt();
                        }

                        goto case 55;
                    }
                case 55:
                    {
                        m_NextAnkhPendantUse = reader.ReadDateTime();

                        goto case 54;
                    }
                case 54:
                    {
                        m_NextTenthAnniversarySculptureUse = reader.ReadDateTime();

                        goto case 53;
                    }
                case 53:
                    {
                        m_LastForgedPardonUse = reader.ReadDateTime();

                        goto case 52;
                    }
                case 52:
                    {
                        m_DoomCredits = reader.ReadInt();

                        m_TieredQuestInfo = new TieredQuestInfo( reader );

                        m_LoyaltyInfo = new LoyaltyInfo( reader );

                        m_FloorTrapsPlaced = reader.ReadInt();

                        m_NextPuzzleAttempt = reader.ReadDateTime();

                        m_NextDrinkExplodingTarPotion = reader.ReadDateTime();

                        m_NextLuckyCoinWish = reader.ReadDateTime();

                        m_NextSilverSaplingUse = reader.ReadDateTime();

                        m_SacredQuestNextChance = reader.ReadDateTime();

                        m_HumilityQuestStatus = (HumilityQuestStatus) reader.ReadInt();
                        m_HumilityQuestNextChance = reader.ReadDateTime();

                        m_NextGemOfSalvationUse = reader.ReadDateTime();

                        m_AnkhNextUse = reader.ReadDateTime();

                        m_Quests = QuestReader.Quests( reader, this );
                        m_Chains = QuestReader.Chains( reader );

                        m_TenthAnniversaryCredits = reader.ReadDouble();

                        m_KRStartingQuestStep = reader.ReadByte();

                        m_CurrentCollectionTitle = reader.ReadInt();
                        int titlecount = reader.ReadInt();

                        for ( int i = 0; i < titlecount; i++ )
                        {
                            int title = reader.ReadInt();
                            m_CollectionTitles.Add( title );
                        }

                        int recipeCount = reader.ReadInt();

                        if ( recipeCount > 0 )
                        {
                            m_AcquiredRecipes = new Hashtable();

                            for ( int i = 0; i < recipeCount; i++ )
                            {
                                int r = reader.ReadInt();
                                if ( reader.ReadBool() )	//Don't add in recipies which we haven't gotten or have been removed
                                    m_AcquiredRecipes.Add( r, true );
                            }
                        }

                        m_AutoStabledPets = reader.ReadMobileList();

                        ACState = (AdvancedCharacterState) reader.ReadInt();

                        Deaths = reader.ReadInt();

                        NextDrinkConflagrationPotion = reader.ReadTimeSpan();
                        NextDrinkMaskOfDeathPotion = reader.ReadTimeSpan();
                        NextDrinkConfusionPotion = reader.ReadTimeSpan();

                        m_GuildRank = reader.ReadInt();

                        m_LastLogin = reader.ReadDateTime();

                        m_ToTItemsTurnedIn = reader.ReadInt();
                        m_ToTTotalMonsterFame = reader.ReadDouble();

                        LastTierLoss = reader.ReadDeltaTime();

                        LastChampionTierLoss = reader.ReadDeltaTime();

                        LastSuperChampionTierLoss = reader.ReadDeltaTime();

                        int length_super = reader.ReadInt();

                        for ( int i = 0; i < length_super; i++ )
                            SuperChampionTiers[i] = reader.ReadInt();

                        int length = reader.ReadInt();

                        for ( int i = 0; i < length; i++ )
                            ChampionTiers[i] = reader.ReadDouble();

                        m_LastValorLoss = reader.ReadDeltaTime();

                        m_LastHonorLoss = reader.ReadDeltaTime();
                        m_SolenFriendship = (SolenFriendship) reader.ReadEncodedInt();

                        m_Quest = QuestSerializer.DeserializeQuest( reader );

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

                        int count = reader.ReadEncodedInt();

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

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

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

                        m_Profession = reader.ReadEncodedInt();

                        m_LastCompassionLoss = reader.ReadDeltaTime();

                        m_CompassionGains = reader.ReadEncodedInt();

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

                        m_BOBFilter = new Engines.BulkOrders.BOBFilter( reader );

                        if ( reader.ReadBool() )
                        {
                            m_HairModID = reader.ReadInt();
                            m_HairModHue = reader.ReadInt();
                            m_BeardModID = reader.ReadInt();
                            m_BeardModHue = reader.ReadInt();

                            // We cannot call SetHairMods( -1, -1 ) here because the items have not yet loaded
                            Timer.DelayCall( TimeSpan.Zero, new TimerCallback( RevertHair ) );
                        }

                        SavagePaintExpiration = reader.ReadTimeSpan();

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

                        m_NpcGuild = (NpcGuild) reader.ReadInt();
                        m_NpcGuildJoinTime = reader.ReadDateTime();
                        m_NpcGuildGameTime = reader.ReadTimeSpan();

                        m_PermaFlags = reader.ReadMobileList();

                        NextTailorBulkOrder = reader.ReadTimeSpan();

                        NextSmithBulkOrder = reader.ReadTimeSpan();

                        m_LastJusticeLoss = reader.ReadDeltaTime();
                        m_JusticeProtectors = reader.ReadMobileList();

                        m_LastSacrificeGain = reader.ReadDeltaTime();
                        m_LastSacrificeLoss = reader.ReadDeltaTime();
                        m_AvailableResurrects = reader.ReadInt();

                        m_Flags = (PlayerFlag) reader.ReadInt();

                        m_LongTermElapse = reader.ReadTimeSpan();
                        m_ShortTermElapse = reader.ReadTimeSpan();
                        m_GameTime = reader.ReadTimeSpan();

                        break;
                    }
            }

            #region ML Quest System
            if ( m_Quests == null )
                m_Quests = new List<BaseQuest>();

            if ( m_Chains == null )
                m_Chains = new Dictionary<QuestChain, BaseChain>();

            if ( m_DoneQuests == null )
                m_DoneQuests = new List<QuestRestartInfo>();
            #endregion

            if ( this != null && this.Region.IsPartOf( typeof( DoomLampRoom ) ) )
            {
                Rectangle2D rect = new Rectangle2D( 342, 168, 16, 16 );

                int x = Utility.Random( rect.X, rect.Width );
                int y = Utility.Random( rect.Y, rect.Height );

                if ( x >= 345 && x <= 352 && y >= 173 && y <= 179 )
                {
                    x = 353;
                    y = 172;
                }

                this.MoveToWorld( new Point3D( x, y, -1 ), Map.Malas );
            }

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

            if ( m_PermaFlags == null )
                m_PermaFlags = new ArrayList();

            if ( m_JusticeProtectors == null )
                m_JusticeProtectors = new ArrayList();

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

            if ( m_LoyaltyInfo == null )
                m_LoyaltyInfo = new LoyaltyInfo();

            if ( m_TieredQuestInfo == null )
                m_TieredQuestInfo = new TieredQuestInfo();

            List<Mobile> list = this.Stabled;

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

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

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

            int version = reader.ReadInt();

            switch ( version )
            {
                case 8:
                {
                    m_Identified = reader.ReadMobileList();

                    goto case 7;
                }
                case 7:
                case 6:
                case 5:
                {
                    SaveFlag flags = (SaveFlag)reader.ReadEncodedInt();

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

                    if ( GetSaveFlag( flags, SaveFlag.ArmorAttributes ) )
                        m_AosArmorAttributes = new AosArmorAttributes( this, reader );
                    else
                        m_AosArmorAttributes = new AosArmorAttributes( this );

                    if ( GetSaveFlag( flags, SaveFlag.PhysicalBonus ) )
                        m_PhysicalBonus = reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.FireBonus ) )
                        m_FireBonus = reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.ColdBonus ) )
                        m_ColdBonus = reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.PoisonBonus ) )
                        m_PoisonBonus = reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.EnergyBonus ) )
                        m_EnergyBonus = reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.Identified ) && version < 7 )
                        reader.ReadBool();
                        //m_Identified = ( version >= 7 || reader.ReadBool() );

                    if ( GetSaveFlag( flags, SaveFlag.MaxHitPoints ) )
                        m_MaxHitPoints = reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.HitPoints ) )
                        m_HitPoints = reader.ReadEncodedInt();

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

                    if ( GetSaveFlag( flags, SaveFlag.Quality ) )
                        m_Quality = (CraftQuality)reader.ReadEncodedInt();
                    else
                        m_Quality = CraftQuality.Regular;

                    if ( version == 5 && m_Quality == CraftQuality.Low )
                        m_Quality = CraftQuality.Regular;

                    if ( GetSaveFlag( flags, SaveFlag.Durability ) )
                        m_Durability = (DurabilityLevel)reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.Protection ) )
                        m_Protection = (ArmorProtectionLevel)reader.ReadEncodedInt();

                    if ( GetSaveFlag( flags, SaveFlag.BaseArmor ) )
                        m_ArmorBase = reader.ReadEncodedInt();
                    else
                        m_ArmorBase = -1;

                    if ( GetSaveFlag( flags, SaveFlag.StrBonus ) )
                        m_StrBonus = reader.ReadEncodedInt();
                    else
                        m_StrBonus = -1;

                    if ( GetSaveFlag( flags, SaveFlag.DexBonus ) )
                        m_DexBonus = reader.ReadEncodedInt();
                    else
                        m_DexBonus = -1;

                    if ( GetSaveFlag( flags, SaveFlag.IntBonus ) )
                        m_IntBonus = reader.ReadEncodedInt();
                    else
                        m_IntBonus = -1;

                    if ( GetSaveFlag( flags, SaveFlag.StrReq ) )
                        m_StrReq = reader.ReadEncodedInt();
                    else
                        m_StrReq = -1;

                    if ( GetSaveFlag( flags, SaveFlag.DexReq ) )
                        m_DexReq = reader.ReadEncodedInt();
                    else
                        m_DexReq = -1;

                    if ( GetSaveFlag( flags, SaveFlag.IntReq ) )
                        m_IntReq = reader.ReadEncodedInt();
                    else
                        m_IntReq = -1;

                    if ( GetSaveFlag( flags, SaveFlag.MedAllowance ) )
                        m_Meditate = (AMA)reader.ReadEncodedInt();
                    else
                        m_Meditate = (AMA)(-1);

                    if ( GetSaveFlag( flags, SaveFlag.SkillBonuses ) )
                        m_AosSkillBonuses = new AosSkillBonuses( this, reader );

                    if ( GetSaveFlag( flags, SaveFlag.PlayerConstructed ) )
                        m_PlayerConstructed = true;

                    break;
                }
                case 4:
                {
                    m_AosAttributes = new AosAttributes( this, reader );
                    m_AosArmorAttributes = new AosArmorAttributes( this, reader );
                    goto case 3;
                }
                case 3:
                {
                    m_PhysicalBonus = reader.ReadInt();
                    m_FireBonus = reader.ReadInt();
                    m_ColdBonus = reader.ReadInt();
                    m_PoisonBonus = reader.ReadInt();
                    m_EnergyBonus = reader.ReadInt();
                    goto case 2;
                }
                case 2:
                case 1:
                {
                    /*m_Identified = */reader.ReadBool();
                    goto case 0;
                }
                case 0:
                {
                    m_ArmorBase = reader.ReadInt();
                    m_MaxHitPoints = reader.ReadInt();
                    m_HitPoints = reader.ReadInt();
                    m_Crafter = reader.ReadMobile();
                    m_Quality = (CraftQuality)reader.ReadInt();
                    m_Durability = (DurabilityLevel)reader.ReadInt();
                    m_Protection = (ArmorProtectionLevel)reader.ReadInt();

                    AMT mat = (AMT)reader.ReadInt();

                    if ( m_ArmorBase == RevertArmorBase )
                        m_ArmorBase = -1;

                    /*m_BodyPos = (ArmorBodyType)*/reader.ReadInt();

                    if ( version < 4 )
                    {
                        m_AosAttributes = new AosAttributes( this );
                        m_AosArmorAttributes = new AosArmorAttributes( this );
                    }

                    if ( version < 3 && m_Quality == CraftQuality.Exceptional )
                        DistributeBonuses( 6 );

                    m_StrBonus = reader.ReadInt();
                    m_DexBonus = reader.ReadInt();
                    m_IntBonus = reader.ReadInt();
                    m_StrReq = reader.ReadInt();
                    m_DexReq = reader.ReadInt();
                    m_IntReq = reader.ReadInt();

                    if ( m_StrBonus == OldStrBonus )
                        m_StrBonus = -1;

                    if ( m_DexBonus == OldDexBonus )
                        m_DexBonus = -1;

                    if ( m_IntBonus == OldIntBonus )
                        m_IntBonus = -1;

                    if ( m_StrReq == OldStrReq )
                        m_StrReq = -1;

                    if ( m_DexReq == OldDexReq )
                        m_DexReq = -1;

                    if ( m_IntReq == OldIntReq )
                        m_IntReq = -1;

                    m_Meditate = (AMA)reader.ReadInt();

                    if ( m_Meditate == OldMedAllowance )
                        m_Meditate = (AMA)(-1);

                    if ( m_MaxHitPoints == 0 && m_HitPoints == 0 )
                        m_HitPoints = m_MaxHitPoints = Utility.RandomMinMax( InitMinHits, InitMaxHits );

                    break;
                }
            }

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

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

            int strBonus = ComputeStatBonus( StatType.Str );
            int dexBonus = ComputeStatBonus( StatType.Dex );
            int intBonus = ComputeStatBonus( StatType.Int );

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

                string modName = Serial.ToString();

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

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

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

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

            if ( version < 7 )
                m_PlayerConstructed = true; // we don't know, so, assume it's crafted
        }
示例#44
0
		public override void Deserialize( GenericReader reader )
		{
			var version = reader.ReadInt();

			switch ( version )
			{
                case 7:
                    {
                        if (m_AllianceListeners != null)
                            m_AllianceListeners = reader.ReadMobileList();
                        else
                        {
                            m_AllianceListeners = new ArrayList();
                            m_AllianceListeners = reader.ReadMobileList();
                        }

                        goto case 6;
                    }
                case 6:
		        {
                    if (m_Listeners != null)
                        m_Listeners = reader.ReadMobileList();
                    else
                    {
                        m_Listeners = new ArrayList();
                        m_Listeners = reader.ReadMobileList();
                    }

		            goto case 5;
		        }
				case 5:
				{
					var count = reader.ReadInt();

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

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

					var isAllianceLeader = reader.ReadBool();

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


					goto case 4;
				}
				case 4:
				{
					m_AllyDeclarations = reader.ReadStrongGuildList<Guild>();
					m_AllyInvitations = reader.ReadStrongGuildList<Guild>();

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

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

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

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

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

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

					m_Allies = reader.ReadStrongGuildList<Guild>();
					m_Enemies = reader.ReadStrongGuildList<Guild>();
					m_WarDeclarations = reader.ReadStrongGuildList<Guild>();
					m_WarInvitations = reader.ReadStrongGuildList<Guild>();

					m_Members = reader.ReadStrongMobileList();
					m_Candidates = reader.ReadStrongMobileList();
					m_Accepted = reader.ReadStrongMobileList(); 

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

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

					break;
				}
			}

			if ( m_AllyDeclarations == null )
				m_AllyDeclarations = new List<Guild>();

			if ( m_AllyInvitations == null )
				m_AllyInvitations = new List<Guild>();


			if ( m_AcceptedWars == null )
				m_AcceptedWars = new List<WarDeclaration>();

			if ( m_PendingWars == null )
				m_PendingWars = new List<WarDeclaration>();


			/*
			if ( ( !NewGuildSystem && m_Guildstone == null )|| m_Members.Count == 0 )
				Disband();
			*/

			Timer.DelayCall( TimeSpan.Zero, new TimerCallback( VerifyGuild_Callback ) );
		}
示例#45
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();
			m_Town = (TownStone)reader.ReadItem();
			m_Payeurs = reader.ReadMobileList();
			m_HistoPayeurs = reader.ReadMobileList();
			m_Retard_1 = reader.ReadMobileList();
			m_Retard_2 = reader.ReadMobileList();
			m_Taxe = reader.ReadInt();
			m_CaisseVille = reader.ReadInt();
			m_CaisseGarde = reader.ReadInt();
			m_EndDate = reader.ReadDateTime();
			m_TaxeTimer = new TaxeTimer(m_Town, m_EndDate - DateTime.Now);
			m_TaxeTimer.Start();
			m_Delay = reader.ReadTimeSpan();
		}
示例#46
0
 public override void Deserialize(GenericReader reader)
 {
     base.Deserialize(reader);
     int version = reader.ReadInt();
     eventItems = reader.ReadItemList();
     eventMobiles = reader.ReadMobileList();
 }
示例#47
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

                        if (reader.ReadBool())
                            m_Greeting = new BulletinBoardMessage(reader);

                        int count = reader.ReadEncodedInt();

                        m_Messages = new List<BulletinBoardMessage>(count);

                        for (int i = 0; i < count; ++i)
                            m_Messages.Add(new BulletinBoardMessage(reader));

                        if (m_BannedPlayers != null)
                            m_BannedPlayers = reader.ReadMobileList();
                        else
                        {
                            m_BannedPlayers = new ArrayList();
                            m_BannedPlayers = reader.ReadMobileList();
                        }

                        break;
                    }
            }
        }
示例#48
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();
			m_Spawns = reader.ReadMobileList();
		}
示例#49
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();
			switch ( version )
			{
				case 0:
				{
					m_Exit2Dest = reader.ReadPoint3D();
					m_Exit3Dest = reader.ReadPoint3D();
					m_Exit4Dest = reader.ReadPoint3D();

					m_Players = new ArrayList();
					m_WinnersPrizes = new ArrayList();

					m_Players = reader.ReadMobileList();
					m_Active = reader.ReadBool();
					m_Team1 = reader.ReadInt();
					m_Team2 = reader.ReadInt();
					m_Team3 = reader.ReadInt();
					m_Team4 = reader.ReadInt();
					m_MapDest = reader.ReadMap();
					m_Team1Dest = reader.ReadPoint3D();
					m_Team2Dest = reader.ReadPoint3D();
					m_Team3Dest = reader.ReadPoint3D();
					m_Team4Dest = reader.ReadPoint3D();
					m_Exit1Dest = reader.ReadPoint3D();
					m_Teams = reader.ReadInt();

					m_PBScoreBoard = reader.ReadItem() as PBScoreBoard;

					int count = reader.ReadInt();
					for( int i = 0; i < count; i++ )
						m_WinnersPrizes.Add( reader.ReadItem() );

					m_Active = false;
					m_Timer = new PBTimer( this );
					break;
				}
			}
		}