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

            m_RemovalTime = reader.ReadDateTime();
            TemporaryItemSystem.Verify(this);
        }
Esempio n. 2
0
        public PlayerState(GenericReader reader, Faction faction, List<PlayerState> owner)
        {
            this.m_Faction = faction;
            this.m_Owner = owner;

            int version = reader.ReadEncodedInt();

            switch ( version )
            {
                case 1:
                    {
                        this.m_IsActive = reader.ReadBool();
                        this.m_LastHonorTime = reader.ReadDateTime();
                        goto case 0;
                    }
                case 0:
                    {
                        this.m_Mobile = reader.ReadMobile();

                        this.m_KillPoints = reader.ReadEncodedInt();
                        this.m_MerchantTitle = (MerchantTitle)reader.ReadEncodedInt();

                        this.m_Leaving = reader.ReadDateTime();

                        break;
                    }
            }

            this.Attach();
        }
Esempio n. 3
0
        public Election(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            switch ( version )
            {
                case 0:
                    {
                        this.m_Faction = Faction.ReadReference(reader);

                        this.m_LastStateTime = reader.ReadDateTime();
                        this.m_State = (ElectionState)reader.ReadEncodedInt();

                        this.m_Candidates = new List<Candidate>();

                        int count = reader.ReadEncodedInt();

                        for (int i = 0; i < count; ++i)
                        {
                            Candidate cd = new Candidate(reader);

                            if (cd.Mobile != null)
                                this.m_Candidates.Add(cd);
                        }

                        break;
                    }
            }

            this.StartTimer();
        }
Esempio n. 4
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

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

            int version = reader.ReadInt();

            m_LastTimeOpened = reader.ReadDateTime();
            m_CoffinSlave = reader.ReadItem();
        }
Esempio n. 6
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			decayTime = reader.ReadDateTime();
			mountedHead = reader.ReadItem() as Head;
		}
Esempio n. 7
0
			public static MLDoneQuestInfo Deserialize( GenericReader reader, int version )
			{
				MLQuest quest = MLQuestSystem.ReadQuestRef( reader );
				DateTime nextAvailable = reader.ReadDateTime();

				if ( quest == null || !quest.RecordCompletion )
					return null; // forget about this record

				return new MLDoneQuestInfo( quest, nextAvailable );
			}
Esempio n. 8
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.ReadInt();

            Created = reader.ReadDateTime();
            Bounty = reader.ReadInt();
            Player = reader.ReadMobile<PlayerMobile>();
        }
        public TransactionInfo(GenericReader reader)
        {
            int version = reader.ReadInt();

            Price = reader.ReadDouble();
            Quantity = reader.ReadInt();
            Name = reader.ReadString();
            Buyer = reader.ReadBool();
            Date = reader.ReadDateTime();
        }
Esempio n. 10
0
        public TownState( GenericReader reader )
        {
            int version = reader.ReadEncodedInt();

            switch ( version )
            {
                case 3:
                {
                    m_LastIncome = reader.ReadDateTime();

                    goto case 2;
                }
                case 2:
                {
                    m_Tax = reader.ReadEncodedInt();
                    m_LastTaxChange = reader.ReadDateTime();

                    goto case 1;
                }
                case 1:
                {
                    m_Silver = reader.ReadEncodedInt();

                    goto case 0;
                }
                case 0:
                {
                    m_Town = Town.ReadReference( reader );
                    m_Owner = Faction.ReadReference( reader );

                    m_Sheriff = reader.ReadMobile();
                    m_Finance = reader.ReadMobile();

                    m_Town.State = this;

                    break;
                }
            }
        }
Esempio n. 11
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			m_Title = reader.ReadString();
			m_Rank = (TrophyRank) reader.ReadInt();
			m_Owner = reader.ReadMobile();
			m_Date = reader.ReadDateTime();

			if ( version == 0 )
				LootType = LootType.Blessed;
		}
Esempio n. 12
0
        public void Deserialize( GenericReader reader )
        {
            int version = reader.ReadInt();

            switch( version )
            {
                case 0:
                {
                    m_Author = reader.ReadMobile();
                    m_PostDate = reader.ReadDateTime();
                    m_Post = reader.ReadString();
                    break;
                }
            }
        }
Esempio n. 13
0
        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );

            int version = reader.ReadEncodedInt();

            m_IsRewardItem = reader.ReadBool();
            m_Logs = reader.ReadInt();

            DateTime next = reader.ReadDateTime();

            if ( next < DateTime.Now )
                next = DateTime.Now;

            m_Timer = Timer.DelayCall( next - DateTime.Now, TimeSpan.FromDays( 1 ), new TimerCallback( GiveLogs ) );
        }
Esempio n. 14
0
        public FactionItem( GenericReader reader, Faction faction )
        {
            int version = reader.ReadEncodedInt();

            switch ( version )
            {
                case 0:
                    {
                        m_Item = reader.ReadItem();
                        m_Expiration = reader.ReadDateTime();
                        break;
                    }
            }

            m_Faction = faction;
        }
Esempio n. 15
0
        public RaffleEntry(GenericReader reader, int version)
        {
            switch ( version )
            {
                case 3: // HouseRaffleStone version changes
                case 2:
                case 1:
                case 0:
                    {
                        this.m_From = reader.ReadMobile();
                        this.m_Address = Utility.Intern(reader.ReadIPAddress());
                        this.m_Date = reader.ReadDateTime();

                        break;
                    }
            }
        }
Esempio n. 16
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();
            switch (version)
            {
                case 1:
                    {
                        cleanupTime = reader.ReadDateTime();
                        goto case 0;
                    }
                case 0:
                    {
                        break;
                    }
            }
        }
Esempio n. 17
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;
        }
Esempio n. 18
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            UID = new EventSerial(reader);

            switch (version)
            {
                case 0:
                {
                    EventType = (EventType)reader.ReadInt();
                    EventName = reader.ReadString();
                    TimeAwarded = reader.ReadDateTime();
                    PointsGained = reader.ReadInt();
                }
                    break;
            }
        }
Esempio n. 19
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;
                }
            }
        }
Esempio n. 20
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
			
            int version = reader.ReadInt();

            DateTime next = reader.ReadDateTime();
            this.m_Area = new Rectangle3D[reader.ReadInt()];

            for (int i = 0; i < this.m_Area.Length; i++)
                this.m_Area[i] = reader.ReadRect3D();

            this.m_Region = new SimpleNoHousingRegion(this.Map, this.m_Area);
            this.m_Region.Register();

            if (next < DateTime.Now)
            {
                this.m_Timer = new NoHousingDelayTimer(this, next - DateTime.Now);
                this.m_Timer.Start();
            }
            else
                this.Delete();		
        }
Esempio n. 21
0
        public PlantSystem(PlantItem plant, GenericReader reader)
        {
            this.m_Plant = plant;

            int version = reader.ReadInt();

            this.m_FertileDirt = reader.ReadBool();

            if (version >= 1)
                this.m_NextGrowth = reader.ReadDateTime();
            else
                this.m_NextGrowth = reader.ReadDeltaTime();

            this.m_GrowthIndicator = (PlantGrowthIndicator)reader.ReadInt();

            this.m_Water = reader.ReadInt();

            this.m_Hits = reader.ReadInt();
            this.m_Infestation = reader.ReadInt();
            this.m_Fungus = reader.ReadInt();
            this.m_Poison = reader.ReadInt();
            this.m_Disease = reader.ReadInt();
            this.m_PoisonPotion = reader.ReadInt();
            this.m_CurePotion = reader.ReadInt();
            this.m_HealPotion = reader.ReadInt();
            this.m_StrengthPotion = reader.ReadInt();

            this.m_Pollinated = reader.ReadBool();
            this.m_SeedType = (PlantType)reader.ReadInt();
            this.m_SeedHue = (PlantHue)reader.ReadInt();
            this.m_AvailableSeeds = reader.ReadInt();
            this.m_LeftSeeds = reader.ReadInt();

            this.m_AvailableResources = reader.ReadInt();
            this.m_LeftResources = reader.ReadInt();
        }
Esempio n. 22
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

            case 2:
            {
                if (version < 3)
                {
                    m_Level = SecureLevel.Anyone;
                }
                m_InstaSell    = reader.ReadInt();
                m_LastBid      = reader.ReadInt();
                m_CurrentBid   = reader.ReadInt();
                m_StartingBid  = reader.ReadInt();
                m_BidInc       = reader.ReadInt();
                m_Bidding      = reader.ReadBool();
                m_NumBids      = reader.ReadInt();
                m_Last         = reader.ReadMobile();
                m_Current      = reader.ReadMobile();
                m_Hours        = reader.ReadDouble();
                m_AuctionStart = reader.ReadDateTime();
                goto case 1;
            }

            case 1:
            {
                m_Command      = reader.ReadBool();
                m_BondingBegin = reader.ReadDateTime();
                goto case 0;
            }

            case 0:
            {
                m_HomeRange        = reader.ReadInt();
                m_Mode             = (Server.Mobiles.FightMode)reader.ReadInt();
                m_Loyal            = reader.ReadInt();
                m_Order            = (Server.Mobiles.OrderType)reader.ReadInt();
                m_Owner            = reader.ReadMobile();
                m_Controlled       = (BaseCreature)reader.ReadMobile();
                m_IsBonded         = reader.ReadBool();
                m_IsStabled        = reader.ReadBool();
                m_Blessed          = reader.ReadBool();
                m_Tamable          = reader.ReadBool();
                m_NameMod          = reader.ReadString();
                m_PetName          = reader.ReadString();
                m_OwnerAbandonTime = reader.ReadDateTime();
                m_MinTameSkill     = reader.ReadInt();
                break;
            }
            }
        }
Esempio n. 23
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();


            m_CreatureType = (MobileType)reader.ReadInt();
            int countSt = reader.ReadInt();

            for (int st = 0; st < countSt; st++)
            {
                MobileSousType mst = (MobileSousType)reader.ReadInt();
                m_SousTypes.Add(mst);
            }


            if (version >= 1)
            {
                //Charac additionelles
                mRawCha  = reader.ReadInt();
                mRawCons = reader.ReadInt();
                mRawSag  = reader.ReadInt();

                //Compétences
                int lenght = reader.ReadInt();
                mCompetences = new CompetenceStack(this);
                for (int i = 0; i < lenght; i++)
                {
                    CompType comp   = (CompType)reader.ReadInt();
                    int      achats = reader.ReadInt();
                    if (mCompetences[comp] is NullCompetence)
                    {
                        mCompetences.AddCompetence(comp);
                    }
                    mCompetences[comp].Achat = achats;
                }
            }
            if (version >= 2)
            {
                //### Blessures
                m_blessureList = new ArrayList();
                int count2 = reader.ReadInt();
                for (int i = 0; i < count2; i++)
                {
                    DateTime             btime    = reader.ReadDateTime();
                    BlessureType         btype    = (BlessureType)reader.ReadInt();
                    BlessureGravite      bgrav    = (BlessureGravite)reader.ReadInt();
                    bool                 bhemo    = reader.ReadBool();
                    int                  bhemoc   = reader.ReadInt();
                    int                  sta      = reader.ReadInt();
                    BlessureLocalisation bloc     = (BlessureLocalisation)reader.ReadInt();
                    NubiaBlessure        blessure = new NubiaBlessure(bhemo, bgrav, btype, bhemoc);
                    blessure.SoinStatut = sta;
                    blessure.setTimeEnd(btime);
                    blessure.setLocalisation(bloc);
                    m_blessureList.Add(blessure);
                }
            }

            m_ChakraColor = reader.ReadInt();
        }
Esempio n. 24
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);
        }
Esempio n. 25
0
        public object DeserializeObject(GenericReader reader)
        {
            object        output        = null;
            XmlObjectType xmlObjectType = (XmlObjectType)reader.ReadInt();

            if (xmlObjectType == XmlObjectType.Mobile)
            {
                output = reader.ReadMobile();
            }
            else if (xmlObjectType == XmlObjectType.Item)
            {
                output = reader.ReadItem();
            }
            else if (xmlObjectType == XmlObjectType.MobileList)
            {
                output = reader.ReadStrongMobileList();
            }
            else if (xmlObjectType == XmlObjectType.ItemList)
            {
                output = reader.ReadStrongItemList();
            }
            else if (xmlObjectType == XmlObjectType.ArrayList)
            {
                int       elements = reader.ReadInt();
                ArrayList list     = new ArrayList(elements);
                for (int i = 0; i < elements; i++)
                {
                    list.Add(DeserializeObject(reader));
                }
                output = list;
            }
            else if (xmlObjectType == XmlObjectType.DateTime)
            {
                output = reader.ReadDateTime();
            }
            else if (xmlObjectType == XmlObjectType.DateTimeOffset)
            {
                output = reader.ReadDateTimeOffset();
            }
            else if (xmlObjectType == XmlObjectType.BaseGuild)
            {
                output = reader.ReadGuild();
            }
            else if (xmlObjectType == XmlObjectType.IPAddress)
            {
                output = reader.ReadIPAddress();
            }
            else if (xmlObjectType == XmlObjectType.Map)
            {
                output = reader.ReadMap();
            }
            else if (xmlObjectType == XmlObjectType.Point3D)
            {
                output = reader.ReadPoint3D();
            }
            else if (xmlObjectType == XmlObjectType.Point2D)
            {
                output = reader.ReadPoint2D();
            }
            else if (xmlObjectType == XmlObjectType.TimeSpan)
            {
                output = reader.ReadTimeSpan();
            }
            else if (xmlObjectType == XmlObjectType.Rectangle2D)
            {
                output = reader.ReadRect2D();
            }
            else if (xmlObjectType == XmlObjectType.Rectangle3D)
            {
                output = reader.ReadRect3D();
            }
            else if (xmlObjectType == XmlObjectType.Double)
            {
                output = reader.ReadDouble();
            }
            else if (xmlObjectType == XmlObjectType.Integer)
            {
                output = reader.ReadInt();
            }
            else if (xmlObjectType == XmlObjectType.Boolean)
            {
                output = reader.ReadBool();
            }
            else if (xmlObjectType == XmlObjectType.UInt64)
            {
                output = reader.ReadULong();
            }
            else if (xmlObjectType == XmlObjectType.String)
            {
                output = reader.ReadString();
            }
            else if (xmlObjectType == XmlObjectType.Type)
            {
                output = UberScriptFunctions.Methods.TYPE(null, reader.ReadString());
            }
            else if (xmlObjectType == XmlObjectType.Other)
            {
                LoggingCustom.Log(
                    "ERROR_Uberscript.txt",
                    DateTime.Now + ": xmlobject: " + Name + " attached to " + AttachedTo +
                    " with data of type other was deserialized");
            }
            return(output);
        }
Esempio n. 26
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch ( version )
            {
                case 1:
                case 0:
                    {
                        this.m_Poster = reader.ReadMobile();
                        this.m_Subject = reader.ReadString();
                        this.m_Time = reader.ReadDateTime();
                        this.m_LastPostTime = reader.ReadDateTime();
                        bool hasThread = reader.ReadBool();
                        this.m_Thread = reader.ReadItem() as BulletinMessage;
                        this.m_PostedName = reader.ReadString();
                        this.m_PostedBody = reader.ReadInt();
                        this.m_PostedHue = reader.ReadInt();

                        this.m_PostedEquip = new BulletinEquip[reader.ReadInt()];

                        for (int i = 0; i < this.m_PostedEquip.Length; ++i)
                        {
                            this.m_PostedEquip[i].itemID = reader.ReadInt();
                            this.m_PostedEquip[i].hue = reader.ReadInt();
                        }

                        this.m_Lines = new string[reader.ReadInt()];

                        for (int i = 0; i < this.m_Lines.Length; ++i)
                            this.m_Lines[i] = reader.ReadString();

                        if (hasThread && this.m_Thread == null)
                            this.Delete();

                        if (version == 0)
                            ValidationQueue<BulletinMessage>.Add(this);

                        break;
                    }
            }
        }
Esempio n. 27
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 5:
            {
                Owner = reader.ReadMobile();
                goto case 4;
            }

            case 4:
            case 3:
                if (version < 5)
                {
                    reader.ReadBool();
                }
                goto case 2;

            case 2:
            case 1:
                if (reader.ReadBool())
                {
                    m_Helpers = reader.ReadStrongMobileList <BaseCreature>();
                }
                goto case 0;

            case 0:
                Peerless     = reader.ReadMobile() as BasePeerless;
                BossLocation = reader.ReadPoint3D();
                TeleportDest = reader.ReadPoint3D();
                ExitDest     = reader.ReadPoint3D();

                Deadline = reader.ReadDateTime();

                MasterKeys = reader.ReadStrongItemList();
                Fighters   = reader.ReadStrongMobileList();

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

                    for (int i = 0; i < count; i++)
                    {
                        reader.ReadMobile();
                        reader.ReadStrongMobileList();
                    }
                }

                if (version < 2)
                {
                    reader.ReadBool();
                }

                if (Peerless == null && m_Helpers.Count > 0)
                {
                    Timer.DelayCall(TimeSpan.FromSeconds(30), new TimerCallback(CleanupHelpers));
                }

                break;
            }


            if (Owner != null && Peerless == null)
            {
                FinishSequence();
            }
        }
Esempio n. 28
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            case 2:
            case 1:
            {
                DateTime next = reader.ReadDateTime();

                if (next < DateTime.UtcNow)
                {
                    next = DateTime.UtcNow;
                }

                this.m_Timer = Timer.DelayCall(next - DateTime.UtcNow, EvaluationInterval, new TimerCallback(Evaluate));

                goto case 0;
            }

            case 0:
            {
                this.m_LiveCreatures = reader.ReadInt();
                this.m_VacationLeft  = reader.ReadInt();

                this.m_Food  = new AquariumState();
                this.m_Water = new AquariumState();

                this.m_Food.Deserialize(reader);
                this.m_Water.Deserialize(reader);

                this.m_Events = new List <int>();

                int count = reader.ReadInt();

                for (int i = 0; i < count; i++)
                {
                    this.m_Events.Add(reader.ReadInt());
                }

                this.m_RewardAvailable = reader.ReadBool();

                break;
            }
            }

            if (version < 2)
            {
                this.Weight  = this.DefaultWeight;
                this.Movable = false;
            }

            if (version < 3)
            {
                ValidationQueue <Aquarium> .Add(this);
            }
        }
Esempio n. 29
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_DeadLine  = reader.ReadDateTime();
                m_Boss      = reader.ReadMobile();
                m_Activated = reader.ReadBool();
                m_Active    = reader.ReadBool();
                m_WarpPoint = reader.ReadPoint3D();

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

                    if (map != null && !map.Deleted && map is CorgulIslandMap)
                    {
                        m_IslandMaps.Add(map);
                        ((CorgulIslandMap)map).Altar = this;
                    }
                }

                break;
            }

            case 0:
            {
                m_DeadLine  = reader.ReadDateTime();
                m_Boss      = reader.ReadMobile();
                m_Activated = reader.ReadBool();
                m_Active    = reader.ReadBool();
                m_WarpPoint = reader.ReadPoint3D();
                //m_IslandMap = reader.ReadItem() as CorgulIslandMap;
                Item item = reader.ReadItem();
                break;
            }
            }

            InitializeBossRegion();

            if (m_Active && m_Activated && m_WarpPoint != Point3D.Zero)
            {
                if (m_DeadLine < DateTime.UtcNow || m_Boss == null || m_Boss.Deleted)
                {
                    Reset();
                }
                else
                {
                    Rectangle2D bounds = GetRectangle(m_WarpPoint);
                    m_WarpRegion = new CorgulWarpRegion(this, bounds);
                    m_WarpRegion.Register();

                    m_DeadLineTimer = Timer.DelayCall(TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(10), OnTick);
                }
            }
        }
Esempio n. 30
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 8:
            {
                m_MinimumDuelers = (int)reader.ReadInt();
                m_LastReset      = (DateTime)reader.ReadDateTime();
                goto case 7;
            }

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

            case 6:
            {
                m_CoinsPerRound = (int)reader.ReadInt();
                m_CoinsWinner   = (int)reader.ReadInt();
                goto case 5;
            }

            case 5:
            {
                m_BroadcastHue = (int)reader.ReadInt();
                goto case 4;
            }

            case 4:
            {
                m_WallHue = (int)reader.ReadInt();
                m_WallID  = (int)reader.ReadInt();
                goto case 3;
            }

            case 3:
            {
                m_WallMidPoint     = (Point3D)reader.ReadPoint3D();
                m_WallExtendWidth  = (int)reader.ReadInt();;
                m_WallNorthToSouth = (bool)reader.ReadBool();
                goto case 2;
            }

            case 2:
            {
                m_CurrentRound      = (int)reader.ReadInt();
                m_TotalParticipants = (int)reader.ReadInt();
                goto case 1;
            }

            case 1:
            {
                m_Running          = (bool)reader.ReadBool();
                m_AcceptingPlayers = (bool)reader.ReadBool();
                m_MapLocation      = (Map)reader.ReadMap();
                goto case 0;
            }

            case 0:
            {
                m_EventRate     = (TimeSpan)reader.ReadTimeSpan();
                m_StartLocation = (Point3D)reader.ReadPoint3D();
                m_LostLocation  = (Point3D)reader.ReadPoint3D();
                m_DuelLocation1 = (Point3D)reader.ReadPoint3D();
                m_DuelLocation2 = (Point3D)reader.ReadPoint3D();
                m_LastEvent     = (DateTime)reader.ReadDateTime();

                m_DuelingArea  = (Rectangle2D)reader.ReadRect2D();
                m_StageingArea = (Rectangle2D)reader.ReadRect2D();
                m_ViewingArea  = (Rectangle2D)reader.ReadRect2D();
                break;
            }
            }
            if (version == 7)
            {
                m_LastReset = DateTime.UtcNow;
            }

            if (version == 5)
            {
                m_CoinsPerRound = 2;
                m_CoinsWinner   = 10;
            }

            if (version == 4)
            {
                m_BroadcastHue = 269;
            }

            if (version == 3)
            {
                m_WallHue = 0;
                m_WallID  = 0x0081;
            }

            if (m_DuelList == null)
            {
                m_DuelList = new List <Mobile>();
            }
            if (m_CurrentDuelers == null)
            {
                m_CurrentDuelers = new List <Mobile>();
            }
            if (m_WallList == null)
            {
                m_WallList = new List <Item>();
            }
            if (m_BroadcastList == null)
            {
                m_BroadcastList = new List <Mobile>();
            }
            m_CountDown = 0;
            UpdateRegions(false);

            m_RestartTimer = new InternalTimer(this, TimeSpan.FromSeconds(1.0));

            if (m_TimerEnabled)
            {
                m_RestartTimer.Start();
            }
        }
Esempio n. 31
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);
        }
Esempio n. 32
0
        public FactionState(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            switch (version)
            {
            case 4:
            {
                int count = reader.ReadEncodedInt();

                for (int i = 0; i < count; ++i)
                {
                    DateTime time = reader.ReadDateTime();

                    if (i < m_LastBroadcasts.Length)
                    {
                        m_LastBroadcasts[i] = time;
                    }
                }

                goto case 3;
            }

            case 3:
            case 2:
            case 1:
            {
                m_Election = new Election(reader);

                goto case 0;
            }

            case 0:
            {
                m_Faction = Faction.ReadReference(reader);

                m_Commander = reader.ReadMobile();

                if (version < 4)
                {
                    DateTime time = reader.ReadDateTime();

                    if (m_LastBroadcasts.Length > 0)
                    {
                        m_LastBroadcasts[0] = time;
                    }
                }

                m_Tithe  = reader.ReadEncodedInt();
                m_Silver = reader.ReadEncodedInt();

                int memberCount = reader.ReadEncodedInt();

                m_Members = new PlayerStateCollection();

                for (int i = 0; i < memberCount; ++i)
                {
                    PlayerState pl = new PlayerState(reader, m_Faction, m_Members);

                    if (pl.Mobile != null)
                    {
                        m_Members.Add(pl);
                    }
                }

                m_Faction.State = this;
                m_Faction.UpdateRanks();

                m_FactionItems = new FactionItemCollection();

                if (version >= 2)
                {
                    int factionItemCount = reader.ReadEncodedInt();

                    for (int i = 0; i < factionItemCount; ++i)
                    {
                        FactionItem factionItem = new FactionItem(reader, m_Faction);

                        if (!factionItem.HasExpired)
                        {
                            factionItem.Attach();
                        }
                        else
                        {
                            Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.Detach));                                         // sandbox detachment
                        }
                    }
                }

                m_FactionTraps = new FactionTrapCollection();

                if (version >= 3)
                {
                    int factionTrapCount = reader.ReadEncodedInt();

                    for (int i = 0; i < factionTrapCount; ++i)
                    {
                        BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap;

                        if (trap != null && !trap.CheckDecay())
                        {
                            m_FactionTraps.Add(trap);
                        }
                    }
                }

                break;
            }
            }

            if (version < 1)
            {
                m_Election = new Election(m_Faction);
            }
        }
Esempio n. 33
0
        public Auction(IAuctionItem safe, GenericReader reader)
        {
            Safe = safe;

            int version = reader.ReadInt();

            switch (version)
            {
            case 2:
                ClaimPeriod = reader.ReadDateTime();
                goto case 1;

            case 1:
                Owner       = reader.ReadMobile();
                AuctionItem = reader.ReadItem();
                CurrentBid  = reader.ReadLong();
                StartBid    = reader.ReadLong();
                Buyout      = reader.ReadLong();
                Description = reader.ReadString();
                Duration    = reader.ReadInt();

                StartTime = reader.ReadDateTime();
                OnGoing   = reader.ReadBool();

                Bids = new List <BidEntry>();

                int count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    PlayerMobile m     = reader.ReadMobile() as PlayerMobile;
                    BidEntry     entry = new BidEntry(m, reader);

                    if (m != null)
                    {
                        Bids.Add(entry);

                        if (entry.CurrentBid > 0 && (HighestBid == null || entry.CurrentBid > HighestBid.CurrentBid))
                        {
                            HighestBid = entry;
                        }
                    }
                }

                count = reader.ReadInt();

                if (count > 0)
                {
                    BidHistory = new List <HistoryEntry>();
                }

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

                break;
            }

            if (HasBegun)
            {
                Auctions.Add(this);
            }
        }
Esempio n. 34
0
				public TitleInfo( GenericReader reader )
				{
					int version = reader.ReadEncodedInt();

					switch( version )
					{
						case 0:
						{
							m_Value = reader.ReadEncodedInt();
							m_LastDecay = reader.ReadDateTime();
							break;
						}
					}
				}
Esempio n. 35
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;
            }
        }
Esempio n. 36
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

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

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

                        // rebuild the ranking list
                        // if they have never made a kill, then dont rank
                        if (killer != null && this.m_Kills > 0)
                        {
                            UpdateRanking(killer, this);
                        }
                        break;
                    }
            }
        }
Esempio n. 37
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            if (version < 5)
            {
                // have to add the XmlDialog attachment
                m_DialogAttachment = new XmlDialog((string)null);
                XmlAttach.AttachTo(this, m_DialogAttachment);
            }

            switch (version)
            {
            case 7:
                m_EItemID  = reader.ReadInt();
                m_Duration = reader.ReadInt();
                m_Offset   = reader.ReadPoint3D();
                m_EHue     = reader.ReadInt();
                goto case 6;

            case 6:
                TalkText = reader.ReadString();
                break;

            case 5:
            {
                break;
            }

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

                SpeechEntries = new ArrayList();
                for (int i = 0; i < count; i++)
                {
                    XmlDialog.SpeechEntry newentry = new XmlDialog.SpeechEntry();

                    newentry.Condition = reader.ReadString();

                    SpeechEntries.Add(newentry);
                }

                goto case 3;
            }

            case 3:
            {
                TriggerOnCarried   = reader.ReadString();
                NoTriggerOnCarried = reader.ReadString();
                goto case 2;
            }

            case 2:
            {
                SpeechPace = reader.ReadInt();

                int count = reader.ReadInt();
                if (version < 4)
                {
                    SpeechEntries = new ArrayList();
                }
                for (int i = 0; i < count; i++)
                {
                    if (version < 4)
                    {
                        XmlDialog.SpeechEntry newentry = new XmlDialog.SpeechEntry();

                        newentry.PrePause         = reader.ReadInt();
                        newentry.LockConversation = reader.ReadBool();
                        newentry.AllowNPCTrigger  = reader.ReadBool();
                        newentry.SpeechStyle      = (MessageType)reader.ReadInt();

                        SpeechEntries.Add(newentry);
                    }
                    else
                    {
                        XmlDialog.SpeechEntry newentry = (XmlDialog.SpeechEntry)SpeechEntries[i];

                        newentry.PrePause         = reader.ReadInt();
                        newentry.LockConversation = reader.ReadBool();
                        newentry.AllowNPCTrigger  = reader.ReadBool();
                        newentry.SpeechStyle      = (MessageType)reader.ReadInt();
                    }
                }
                goto case 1;
            }

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

            case 0:
            {
                IsActive        = reader.ReadBool();
                ResetTime       = reader.ReadTimeSpan();
                LastInteraction = reader.ReadDateTime();
                AllowGhostTrig  = reader.ReadBool();
                ProximityRange  = reader.ReadInt();
                IsRunning       = reader.ReadBool();
                ConfigFile      = reader.ReadString();
                int count = reader.ReadInt();
                if (version < 2)
                {
                    SpeechEntries = new ArrayList();
                }
                for (int i = 0; i < count; i++)
                {
                    if (version < 2)
                    {
                        XmlDialog.SpeechEntry newentry = new XmlDialog.SpeechEntry();

                        newentry.EntryNumber = reader.ReadInt();
                        newentry.ID          = reader.ReadInt();
                        newentry.Text        = reader.ReadString();
                        newentry.Keywords    = reader.ReadString();
                        newentry.Action      = reader.ReadString();
                        newentry.DependsOn   = reader.ReadInt().ToString();
                        newentry.Pause       = reader.ReadInt();

                        SpeechEntries.Add(newentry);
                    }
                    else
                    {
                        XmlDialog.SpeechEntry newentry = (XmlDialog.SpeechEntry)SpeechEntries[i];

                        newentry.EntryNumber = reader.ReadInt();
                        newentry.ID          = reader.ReadInt();
                        newentry.Text        = reader.ReadString();
                        newentry.Keywords    = reader.ReadString();
                        newentry.Action      = reader.ReadString();
                        newentry.DependsOn   = reader.ReadInt().ToString();
                        newentry.Pause       = reader.ReadInt();
                    }
                }
                // read in the current entry number. Note this will also set the current entry
                EntryNumber = reader.ReadInt();
                // restart the timer if it was active
                bool isrunning = reader.ReadBool();
                if (isrunning)
                {
                    Mobile   trigmob = reader.ReadMobile();
                    TimeSpan delay   = reader.ReadTimeSpan();
                    if (DialogAttachment != null)
                    {
                        DialogAttachment.DoTimer(delay, trigmob);
                    }
                }
                break;
            }
            }
        }
Esempio n. 38
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			switch ( version )
			{
				case 0:
				{
					m_Town = Town.ReadReference( reader );
					m_Corrupted = Faction.ReadReference( reader );
					m_Corrupting = Faction.ReadReference( reader );

					m_LastMonolith = reader.ReadItem() as BaseMonolith;

					m_LastStolen = reader.ReadDateTime();
					m_GraceStart = reader.ReadDateTime();
					m_CorruptionStart = reader.ReadDateTime();
					m_PurificationStart = reader.ReadDateTime();

					Update();

					Mobile mob = RootParent as Mobile;

					if ( mob != null )
						mob.SolidHueOverride = OwnershipHue;

					break;
				}
			}
		}
Esempio n. 39
0
        public override void Deserialize(GenericReader reader)
        {
            int version = reader.ReadInt();

            switch (version)
            {
            case 8:
            {
                m_Flags = (GuildFlags)reader.ReadInt();
                goto case 7;
            }

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

            case 6:
            {
                m_TownshipStone = reader.ReadItem();
                goto case 5;
            }

            case 5:
            {
                m_IOBAlignment = (IOBAlignment)reader.ReadInt();
                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_Guildstone == null || m_Members.Count == 0)
            {
                Disband();
            }
        }
Esempio n. 40
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.GetVersion();

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

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

            case 0:
            {
                Usage         = reader.ReadString();
                Token         = reader.ReadString();
                AllowCombat   = reader.ReadBool();
                AllowDeadUser = reader.ReadBool();
                Consumable    = reader.ReadBool();
                ClearHands    = reader.ReadBool();
                DismountUser  = reader.ReadBool();
                EffectID      = reader.ReadInt();
                EffectHue     = reader.ReadInt();
                EffectSpeed   = reader.ReadInt();

                if (version < 2)
                {
                    EffectRender = (EffectRender)reader.ReadShort();
                    TargetFlags  = (TargetFlags)reader.ReadByte();
                }
                else
                {
                    EffectRender = reader.ReadFlag <EffectRender>();
                    TargetFlags  = reader.ReadFlag <TargetFlags>();
                }

                ThrowSound    = reader.ReadInt();
                ImpactSound   = reader.ReadInt();
                ThrowRange    = reader.ReadInt();
                ThrowRecovery = reader.ReadTimeSpan();
                ThrownLast    = reader.ReadDateTime();

                if (version < 2)
                {
                    RequiredSkill = (SkillName)reader.ReadShort();
                }
                else
                {
                    RequiredSkill = reader.ReadFlag <SkillName>();
                }

                RequiredSkillValue = reader.ReadDouble();
            }
            break;
            }
        }
Esempio n. 41
0
        public FactionState(GenericReader reader)
        {
            int version = reader.ReadEncodedInt();

            switch (version)
            {
            case 5:
            {
                this.m_LastAtrophy = reader.ReadDateTime();
                goto case 4;
            }

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

                for (int i = 0; i < count; ++i)
                {
                    DateTime time = reader.ReadDateTime();

                    if (i < this.m_LastBroadcasts.Length)
                    {
                        this.m_LastBroadcasts[i] = time;
                    }
                }

                goto case 3;
            }

            case 3:
            case 2:
            case 1:
            {
                this.m_Election = new Election(reader);

                goto case 0;
            }

            case 0:
            {
                this.m_Faction = Faction.ReadReference(reader);

                this.m_Commander = reader.ReadMobile();

                if (version < 5)
                {
                    this.m_LastAtrophy = DateTime.Now;
                }

                if (version < 4)
                {
                    DateTime time = reader.ReadDateTime();

                    if (this.m_LastBroadcasts.Length > 0)
                    {
                        this.m_LastBroadcasts[0] = time;
                    }
                }

                this.m_Tithe  = reader.ReadEncodedInt();
                this.m_Silver = reader.ReadEncodedInt();

                int memberCount = reader.ReadEncodedInt();

                this.m_Members = new List <PlayerState>();

                for (int i = 0; i < memberCount; ++i)
                {
                    PlayerState pl = new PlayerState(reader, this.m_Faction, this.m_Members);

                    if (pl.Mobile != null)
                    {
                        this.m_Members.Add(pl);
                    }
                }

                this.m_Faction.State = this;

                this.m_Faction.ZeroRankOffset = this.m_Members.Count;
                this.m_Members.Sort();

                for (int i = this.m_Members.Count - 1; i >= 0; i--)
                {
                    PlayerState player = this.m_Members[i];

                    if (player.KillPoints <= 0)
                    {
                        this.m_Faction.ZeroRankOffset = i;
                    }
                    else
                    {
                        player.RankIndex = i;
                    }
                }

                this.m_FactionItems = new List <FactionItem>();

                if (version >= 2)
                {
                    int factionItemCount = reader.ReadEncodedInt();

                    for (int i = 0; i < factionItemCount; ++i)
                    {
                        FactionItem factionItem = new FactionItem(reader, this.m_Faction);

                        Timer.DelayCall(TimeSpan.Zero, new TimerCallback(factionItem.CheckAttach));         // sandbox attachment
                    }
                }

                this.m_FactionTraps = new List <BaseFactionTrap>();

                if (version >= 3)
                {
                    int factionTrapCount = reader.ReadEncodedInt();

                    for (int i = 0; i < factionTrapCount; ++i)
                    {
                        BaseFactionTrap trap = reader.ReadItem() as BaseFactionTrap;

                        if (trap != null && !trap.CheckDecay())
                        {
                            this.m_FactionTraps.Add(trap);
                        }
                    }
                }

                break;
            }
            }

            if (version < 1)
            {
                this.m_Election = new Election(this.m_Faction);
            }
        }
Esempio n. 42
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int v = reader.ReadInt();

            m_Active       = reader.ReadBool();
            m_SeasonBegins = reader.ReadDateTime();
            m_SeasonEnds   = reader.ReadDateTime();

            m_Top10   = new Dictionary <HuntType, List <HuntingKillEntry> >();
            m_Leaders = new Dictionary <HuntType, List <HuntingKillEntry> >();

            int count = reader.ReadInt();

            for (int i = 0; i < count; i++)
            {
                Mobile m = reader.ReadMobile();
                int    c = 1;

                if (v == 0)
                {
                    new HuntingKillEntry(reader);
                }
                else
                {
                    c = reader.ReadInt();
                }

                if (m != null)
                {
                    m_UnclaimedWinners[m] = c;
                }
            }

            count = reader.ReadInt();
            for (int i = 0; i < count; i++)
            {
                HuntType type = (HuntType)reader.ReadInt();
                int      c    = reader.ReadInt();

                if (!m_Top10.ContainsKey(type))
                {
                    m_Top10[type] = new List <HuntingKillEntry>();
                }

                for (int j = 0; j < c; j++)
                {
                    m_Top10[type].Add(new HuntingKillEntry(reader));
                }
            }

            count = reader.ReadInt();
            for (int i = 0; i < count; i++)
            {
                HuntType type = (HuntType)reader.ReadInt();
                int      c    = reader.ReadInt();

                if (!m_Leaders.ContainsKey(type))
                {
                    m_Leaders[type] = new List <HuntingKillEntry>();
                }

                for (int j = 0; j < c; j++)
                {
                    m_Leaders[type].Add(new HuntingKillEntry(reader));
                }
            }

            m_Instance       = this;
            m_NextHint       = DateTime.UtcNow;
            m_NextBonusIndex = DateTime.UtcNow;

            CheckTimer();
        }
Esempio n. 43
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            m_EvilSpawners = new List <XmlSpawner>();
            m_GoodSpawners = new List <XmlSpawner>();

            m_Instance          = this;
            m_Enabled           = reader.ReadBool();
            m_NextBossEncounter = reader.ReadDateTime();
            m_Boss              = reader.ReadMobile() as DespiseBoss;
            m_DeadLine          = reader.ReadDateTime();
            m_SequenceAlignment = (Alignment)reader.ReadInt();

            if (version < 4)
            {
                Timer.DelayCall(TimeSpan.FromSeconds(30), CheckSpawnersVersion3);
            }

            int count = reader.ReadInt();

            for (int i = 0; i < count; i++)
            {
                XmlSpawner spawner = reader.ReadItem() as XmlSpawner;
                if (spawner != null)
                {
                    m_GoodSpawners.Add(spawner);
                }
            }

            count = reader.ReadInt();
            for (int i = 0; i < count; i++)
            {
                XmlSpawner spawner = reader.ReadItem() as XmlSpawner;
                if (spawner != null)
                {
                    m_EvilSpawners.Add(spawner);
                }
            }

            //Conversion to new Point System
            if (version == 0)
            {
                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    Mobile m      = reader.ReadMobile();
                    int    points = reader.ReadInt();

                    if (m != null && points > 0)
                    {
                        Server.Engines.Points.PointsSystem.DespiseCrystals.ConvertFromOldSystem((PlayerMobile)m, points);
                    }
                }
            }

            if (!m_Enabled)
            {
                return;
            }

            BeginTimer();

            if (m_DeadLine > DateTime.UtcNow)
            {
                if (m_Boss != null && m_Boss.Alive)
                {
                    BeginSequenceTimer();
                    return;
                }
            }
            else if (m_DeadLine != DateTime.MinValue)
            {
                BeginCleanupTimer();
                return;
            }

            EndSequence();

            if (m_GoodSpawners.Count == 0 && m_EvilSpawners.Count == 0)
            {
                CreateSpawners();
            }

            if (version < 2)
            {
                Timer.DelayCall(TimeSpan.FromSeconds(30), RemoveAnkh);
            }
        }
Esempio n. 44
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();
        }
Esempio n. 45
0
        public virtual void Deserialize(GenericReader reader)
        {
            int version = reader.GetVersion();

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

            switch (version)
            {
            case 7:
            case 6:
            case 5:
                Hidden = reader.ReadBool();
                goto case 4;

            case 4:
                FloorItemDelete = reader.ReadBool();
                goto case 3;

            case 3:
            case 2:
            {
                Gate = reader.ReadItem <PvPSpectatorGate>();

                if (Gate != null)
                {
                    Gate.Battle = this;
                }
            }
                goto case 1;

            case 1:
            {
                Category           = reader.ReadString();
                Ranked             = reader.ReadBool();
                InviteWhileRunning = reader.ReadBool();
            }
                goto case 0;

            case 0:
            {
                if (version < 6)
                {
                    reader.ReadBlock(() => Serial = reader.ReadTypeCreate <PvPSerial>(reader) ?? new PvPSerial());
                }

                DebugMode        = reader.ReadBool();
                State            = reader.ReadFlag <PvPBattleState>();
                Name             = reader.ReadString();
                Description      = reader.ReadString();
                AutoAssign       = reader.ReadBool();
                UseTeamColors    = reader.ReadBool();
                IgnoreCapacity   = reader.ReadBool();
                SubCommandPrefix = reader.ReadChar();
                QueueAllowed     = reader.ReadBool();
                SpectateAllowed  = reader.ReadBool();
                KillPoints       = version < 3 ? (reader.ReadBool() ? 1 : 0) : reader.ReadInt();
                PointsBase       = reader.ReadInt();
                PointsRankFactor = reader.ReadDouble();
                IdleKick         = reader.ReadBool();
                IdleThreshold    = reader.ReadTimeSpan();
                LastState        = reader.ReadFlag <PvPBattleState>();
                LastStateChange  = reader.ReadDateTime();
                LightLevel       = reader.ReadInt();
                LogoutDelay      = reader.ReadTimeSpan();

                Doors.AddRange(reader.ReadStrongItemList <BaseDoor>());

                reader.ReadBlock(() => Options = reader.ReadTypeCreate <PvPBattleOptions>(reader) ?? new PvPBattleOptions());

                if (Schedule != null && Schedule.Running)
                {
                    Schedule.Stop();
                }

                reader.ReadBlock(
                    () => Schedule = reader.ReadTypeCreate <Schedule>(reader) ?? new Schedule("Battle " + Serial.Value, false));

                reader.ReadBlock(
                    () => BattleRegion = reader.ReadTypeCreate <PvPBattleRegion>(this, reader) ?? new PvPBattleRegion(this));

                reader.ReadBlock(
                    () => SpectateRegion = reader.ReadTypeCreate <PvPSpectateRegion>(this, reader) ?? new PvPSpectateRegion(this));

                reader.ReadBlockList(() => reader.ReadTypeCreate <PvPTeam>(this, reader) ?? new PvPTeam(this), Teams);
            }
            break;
            }
        }
Esempio n. 46
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadEncodedInt();

			switch ( version )
			{
				case 1:
				{
					m_Flags = (MacingSkillScrollFlags)reader.ReadEncodedInt();
					m_ExpireDate = reader.ReadDateTime();
					goto case 0;
				}
				case 0:
				{
					m_SkillBonus = reader.ReadInt();
					break;
				}
			}

			//We save it just in case, then delete it afterwards
			if ( Expires && DateTime.UtcNow >= m_ExpireDate )
				AddToCleanup( this );
            SkillScroll.ConvertSkillScroll(this, m_OldSkills[0]);
		}
Esempio n. 47
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);
            int version = reader.ReadInt();

            LockingPerson = reader.ReadMobile();

            int count = reader.ReadInt();

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

                if (m != null)
                {
                    list.Add(new SecretChestArray {
                        Mobile = m, Permission = reader.ReadBool(), TrialsNumber = reader.ReadInt(), Expire = reader.ReadDateTime()
                    });
                }
            }

            count = reader.ReadInt();

            for (int i = 0; i < count; ++i)
            {
                SecretKey[i] = reader.ReadInt();
            }
        }
Esempio n. 48
0
        public static void Load(GenericReader reader)
        {
            int version = reader.ReadInt();

            int greetingsCount = 0;

            switch (version)
            {
            case 1:
                greetingsCount = reader.ReadInt();

                int count = count = reader.ReadInt();

                for (int i = 0; i < count; i++)
                {
                    var pm = reader.ReadMobile() as PlayerMobile;

                    if (pm != null)
                    {
                        AddExempt(pm);
                    }
                }

                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    var entry = new TownCryerGreetingEntry(reader);

                    if (!entry.Expired)
                    {
                        GreetingsEntries.Add(entry);
                    }
                }
                goto case 0;

            case 0:
                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    var entry = new TownCryerModeratorEntry(reader);

                    if (!entry.Expired)
                    {
                        ModeratorEntries.Add(entry);
                    }
                }

                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    var entry = new TownCryerCityEntry(reader);

                    if (!entry.Expired)
                    {
                        CityEntries.Add(entry);
                    }
                }

                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    var entry = new TownCryerGuildEntry(reader);

                    if (!entry.Expired)
                    {
                        GuildEntries.Add(entry);
                    }
                }

                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    Mobile   m  = reader.ReadMobile();
                    DateTime dt = reader.ReadDateTime();

                    if (m != null)
                    {
                        if (MysteriousPotionEffects == null)
                        {
                            MysteriousPotionEffects = new Dictionary <Mobile, DateTime>();
                        }

                        MysteriousPotionEffects[m] = dt;
                    }
                }
                break;
            }

            if (greetingsCount < GreetingsEntries.Count)
            {
                NewGreeting = true;
            }

            CheckTimer();
        }
Esempio n. 49
0
        public override void Deserialize(GenericReader reader)
        {
            City = (City)reader.ReadInt();

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

            switch (version)
            {
            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;
                    }
                }
            }
        }
Esempio n. 50
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            {
                m_State = (HouseRaffleState)reader.ReadEncodedInt();

                goto case 2;
            }

            case 2:
            {
                m_ExpireAction = (HouseRaffleExpireAction)reader.ReadEncodedInt();

                goto case 1;
            }

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

                goto case 0;
            }

            case 0:
            {
                bool oldActive = (version < 3) ? reader.ReadBool() : false;

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

                m_Winner = reader.ReadMobile();

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

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

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

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

                InvalidateRegion();

                m_AllStones.Add(this);

                if (version < 3)
                {
                    if (oldActive)
                    {
                        m_State = HouseRaffleState.Active;
                    }
                    else if (m_Winner != null)
                    {
                        m_State = HouseRaffleState.Completed;
                    }
                    else
                    {
                        m_State = HouseRaffleState.Inactive;
                    }
                }

                break;
            }
            }
        }
Esempio n. 51
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_ReplenishesCharges = reader.ReadBool();
            if (m_ReplenishesCharges)
            {
                m_LastReplenished = reader.ReadDateTime();
            }

            m_Crafter = reader.ReadMobile();

            m_Quality = (InstrumentQuality)reader.ReadEncodedInt();
            m_Slayer  = (SlayerName)reader.ReadEncodedInt();
            m_Slayer2 = (SlayerName)reader.ReadEncodedInt();

            UsesRemaining = reader.ReadEncodedInt();

            m_WellSound  = reader.ReadEncodedInt();
            m_BadlySound = reader.ReadEncodedInt();

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

            m_Resource = (CraftResource)reader.ReadEncodedInt();

            m_AosAttributes   = new AosAttributes(this, reader);
            m_AosResistances  = new AosElementAttributes(this, reader);
            m_AosSkillBonuses = new AosSkillBonuses(this, reader);

            CheckReplenishUses();

            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();
            }
        }
Esempio n. 52
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());
                     * }*/
                });
            }
        }
Esempio n. 53
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );
			int version = reader.ReadInt();

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

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

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

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

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

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

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

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

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

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

					int count = reader.ReadEncodedInt();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

			List<Mobile> list = this.Stabled;

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

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

			CheckAtrophies( this );

			if( Hidden )	//Hiding is the only buff where it has an effect that's serialized.
				AddBuff( new BuffInfo( BuffIcon.HidingAndOrStealth, 1075655 ) );
		}
Esempio n. 54
0
        public VvVBattle(GenericReader reader, ViceVsVirtueSystem system)
        {
            int version = reader.ReadInt();

            System = system;

            Altars       = new List <VvVAltar>();
            KillCooldown = new Dictionary <Mobile, DateTime>();
            Messages     = new List <string>();
            Traps        = new List <VvVTrap>();
            Warned       = new List <Mobile>();
            Turrets      = new List <CannonTurret>();
            Teams        = new List <BattleTeam>();

            OnGoing = reader.ReadBool();

            if (reader.ReadInt() == 0)
            {
                StartTime           = reader.ReadDateTime();
                CooldownEnds        = reader.ReadDateTime();
                LastOccupationCheck = reader.ReadDateTime();
                NextSigilSpawn      = reader.ReadDateTime();
                NextAnnouncement    = reader.ReadDateTime();
                NextAltarActivate   = reader.ReadDateTime();
                City         = (VvVCity)reader.ReadInt();
                Sigil        = reader.ReadItem() as VvVSigil;
                VicePriest   = reader.ReadMobile() as VvVPriest;
                VirtuePriest = reader.ReadMobile() as VvVPriest;

                if (Sigil != null)
                {
                    Sigil.Battle = this;
                }

                if (VicePriest != null)
                {
                    VicePriest.Battle = this;
                }

                if (VirtuePriest != null)
                {
                    VirtuePriest.Battle = this;
                }

                int count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    VvVAltar altar = reader.ReadItem() as VvVAltar;
                    if (altar != null)
                    {
                        altar.Battle = this;
                        Altars.Add(altar);
                    }
                }

                if (version == 1)
                {
                    count = reader.ReadInt();
                    for (int i = 0; i < count; i++)
                    {
                        BattleTeam team = new BattleTeam(reader);
                        Teams.Add(team);
                    }
                }
                else
                {
                    count = reader.ReadInt();
                    for (int i = 0; i < count; i++)
                    {
                        Guild g = reader.ReadGuild() as Guild;
                        VvVGuildBattleStats stats = new VvVGuildBattleStats(reader, g);
                    }
                }

                count = reader.ReadInt();
                for (int i = 0; i < count; i++)
                {
                    VvVTrap t = reader.ReadItem() as VvVTrap;

                    if (t != null)
                    {
                        Traps.Add(t);
                    }
                }

                Timer.DelayCall(TimeSpan.FromSeconds(10), () =>
                {
                    if (Region is GuardedRegion)
                    {
                        GuardedRegion.Disable((GuardedRegion)Region);
                    }

                    BeginTimer();

                    ActivateArrows();
                });
            }
        }
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadEncodedInt();

			m_Charges = reader.ReadInt();
			DateTime next = reader.ReadDateTime();

			if ( next < DateTime.UtcNow )
				m_Timer = Timer.DelayCall( TimeSpan.Zero, RechargeTime, new TimerCallback( Recharge ) );
			else
				m_Timer = Timer.DelayCall( next - DateTime.UtcNow, RechargeTime, new TimerCallback( Recharge ) );
		}
Esempio n. 56
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();
            }
        }
Esempio n. 57
0
		public Voter( GenericReader reader, Mobile candidate )
		{
			m_Candidate = candidate;

			int version = reader.ReadEncodedInt();

			switch ( version )
			{
				case 0:
				{
					m_From = reader.ReadMobile();
					m_Address = Utility.Intern( reader.ReadIPAddress() );
					m_Time = reader.ReadDateTime();

					break;
				}
			}
		}
Esempio n. 58
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();
            }
        }
Esempio n. 59
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

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

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

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

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

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

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            {
                m_ReplenishesCharges = reader.ReadBool();

                if (m_ReplenishesCharges)
                {
                    m_LastReplenished = reader.ReadDateTime();
                }

                goto case 2;
            }

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

                m_Quality = (InstrumentQuality)reader.ReadEncodedInt();
                m_Slayer  = (SlayerName)reader.ReadEncodedInt();
                m_Slayer2 = (SlayerName)reader.ReadEncodedInt();

                UsesRemaining = reader.ReadEncodedInt();

                m_WellSound  = reader.ReadEncodedInt();
                m_BadlySound = reader.ReadEncodedInt();

                break;
            }

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

                m_Quality = (InstrumentQuality)reader.ReadEncodedInt();
                m_Slayer  = (SlayerName)reader.ReadEncodedInt();

                UsesRemaining = reader.ReadEncodedInt();

                m_WellSound  = reader.ReadEncodedInt();
                m_BadlySound = reader.ReadEncodedInt();

                break;
            }

            case 0:
            {
                m_WellSound   = reader.ReadInt();
                m_BadlySound  = reader.ReadInt();
                UsesRemaining = Utility.RandomMinMax(InitMinUses, InitMaxUses);

                break;
            }
            }

            CheckReplenishUses();
        }