Beispiel #1
1
		internal void Serialize(GenericWriter writer)
		{
			writer.WriteEncodedInt(0); // version

			writer.Write((TimeSpan)m_DuelTime);
			writer.WriteMobileList<Mobile>(m_AgainstList);
		}
Beispiel #2
0
		public void Serialize( GenericWriter writer )
		{
			writer.Write( (int)1 );//version

			writer.Write( (Item)m_Flag );

			writer.WriteMobileList( m_Members );
			writer.Write( m_Home );
			writer.Write( m_FlagHome );
			writer.Write( m_Map );
			writer.Write( m_Points );
			writer.Write( m_Name );
			writer.Write( m_Hue );
			writer.Write( m_UId );
			writer.Write( m_Game );
		}
Beispiel #3
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)15); // version

            if (!DynamicDecay.Enabled)
            {
                writer.Write((int)-1);
            }
            else
            {
                writer.Write((int)this.m_CurrentStage);
                writer.Write(this.m_NextDecayStage);
            }

            writer.Write((Point3D)this.m_RelativeBanLocation);

            writer.WriteItemList(this.m_VendorRentalContracts, true);
            writer.WriteMobileList(this.m_InternalizedVendors, true);

            writer.WriteEncodedInt(this.m_RelocatedEntities.Count);
            foreach (RelocatedEntity relEntity in this.m_RelocatedEntities)
            {
                writer.Write((Point3D)relEntity.RelativeLocation);

                if ((relEntity.Entity is Item && ((Item)relEntity.Entity).Deleted) || (relEntity.Entity is Mobile && ((Mobile)relEntity.Entity).Deleted))
                    writer.Write((int)Serial.MinusOne);
                else
                    writer.Write((int)relEntity.Entity.Serial);
            }

            writer.WriteEncodedInt(this.m_VendorInventories.Count);
            for (int i = 0; i < this.m_VendorInventories.Count; i++)
            {
                VendorInventory inventory = (VendorInventory)this.m_VendorInventories[i];
                inventory.Serialize(writer);
            }

            writer.Write((DateTime)this.m_LastRefreshed);
            writer.Write((bool)this.m_RestrictDecay);

            writer.Write((int)this.m_Visits);

            writer.Write((int)this.m_Price);

            writer.WriteMobileList(this.m_Access);

            writer.Write(this.m_BuiltOn);
            writer.Write(this.m_LastTraded);

            writer.WriteItemList(this.m_Addons, true);

            writer.Write(this.m_Secures.Count);

            for (int i = 0; i < this.m_Secures.Count; ++i)
                ((SecureInfo)this.m_Secures[i]).Serialize(writer);

            writer.Write(this.m_Public);

            //writer.Write( BanLocation );

            writer.Write(this.m_Owner);

            // Version 5 no longer serializes region coords
            /*writer.Write( (int)m_Region.Coords.Count );
            foreach( Rectangle2D rect in m_Region.Coords )
            {
            writer.Write( rect );
            }*/

            writer.WriteMobileList(this.m_CoOwners, true);
            writer.WriteMobileList(this.m_Friends, true);
            writer.WriteMobileList(this.m_Bans, true);

            writer.Write(this.m_Sign);
            writer.Write(this.m_Trash);

            writer.WriteItemList(this.m_Doors, true);
            writer.WriteItemList(this.m_LockDowns, true);
            //writer.WriteItemList( m_Secures, true );

            writer.Write((int)this.m_MaxLockDowns);
            writer.Write((int)this.m_MaxSecures);

            // Items in locked down containers that aren't locked down themselves must decay!
            for (int i = 0; i < this.m_LockDowns.Count; ++i)
            {
                Item item = (Item)this.m_LockDowns[i];

                if (item is Container && !(item is BaseBoard || item is Aquarium || item is FishBowl))
                {
                    Container cont = (Container)item;
                    List<Item> children = cont.Items;

                    for (int j = 0; j < children.Count; ++j)
                    {
                        Item child = children[j];

                        if (child.Decays && !child.IsLockedDown && !child.IsSecure && (child.LastMoved + child.DecayTime) <= DateTime.UtcNow)
                            Timer.DelayCall(TimeSpan.Zero, new TimerCallback(child.Delete));
                    }
                }
            }
        }
Beispiel #4
0
 public void Serialize( GenericWriter writer )
 {        
     writer.Write( ( int )0 );//Version
     writer.Write( ( Mobile )m_ThreadCreator );
     writer.Write( ( DateTime )m_LastPostTime );
     writer.Write( ( DateTime )m_CreationTime );
     writer.Write( ( int )m_ThreadType );
     WritePostList( writer, m_Posts );
     writer.WriteMobileList( m_Viewers );
     writer.WriteMobileList( m_ViewersSinceUpdate );
     writer.WriteMobileList( m_Posters );
     writer.WriteMobileList( m_PostersSinceUpdate );
     writer.Write( ( bool )m_FileInUse );
     writer.Write( ( bool )m_StaffMessage );
     writer.Write( ( bool )m_Deleted );
     writer.Write( ( bool )m_Locked );
     writer.Write( ( string )m_Subject );
     writer.Write( ( int )m_ThreadID );
 }
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)0); // version

            writer.Write(QtRespawnMobileRare1);
            writer.Write(QtRespawnMobileRare2);
            writer.Write(QtRespawnMobileRare3);
            writer.Write(QtRespawnMobileRare4);
            writer.Write(QtRespawnMobileRare5);
            writer.WriteMobileList(MobileListRare1);
            writer.WriteMobileList(MobileListRare2);
            writer.WriteMobileList(MobileListRare3);
            writer.WriteMobileList(MobileListRare4);
            writer.WriteMobileList(MobileListRare5);
        }
Beispiel #6
0
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );

            writer.Write( (int) 8 ); // version

            writer.WriteMobileList( m_Identified );

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag( ref flags, SaveFlag.Attributes,		!m_AosAttributes.IsEmpty );
            SetSaveFlag( ref flags, SaveFlag.ArmorAttributes,	!m_AosArmorAttributes.IsEmpty );
            SetSaveFlag( ref flags, SaveFlag.PhysicalBonus,		m_PhysicalBonus != 0 );
            SetSaveFlag( ref flags, SaveFlag.FireBonus,			m_FireBonus != 0 );
            SetSaveFlag( ref flags, SaveFlag.ColdBonus,			m_ColdBonus != 0 );
            SetSaveFlag( ref flags, SaveFlag.PoisonBonus,		m_PoisonBonus != 0 );
            SetSaveFlag( ref flags, SaveFlag.EnergyBonus,		m_EnergyBonus != 0 );
            //SetSaveFlag( ref flags, SaveFlag.Identified,		m_Identified != false );
            SetSaveFlag( ref flags, SaveFlag.MaxHitPoints,		m_MaxHitPoints != 0 );
            SetSaveFlag( ref flags, SaveFlag.HitPoints,			m_HitPoints != 0 );
            SetSaveFlag( ref flags, SaveFlag.Crafter,			m_Crafter != null );
            SetSaveFlag( ref flags, SaveFlag.Quality,			m_Quality != CraftQuality.Regular );
            SetSaveFlag( ref flags, SaveFlag.Durability,		m_Durability != DurabilityLevel.Regular );
            SetSaveFlag( ref flags, SaveFlag.Protection,		m_Protection != ArmorProtectionLevel.Regular );
            SetSaveFlag( ref flags, SaveFlag.BaseArmor,			m_ArmorBase != -1 );
            SetSaveFlag( ref flags, SaveFlag.StrBonus,			m_StrBonus != -1 );
            SetSaveFlag( ref flags, SaveFlag.DexBonus,			m_DexBonus != -1 );
            SetSaveFlag( ref flags, SaveFlag.IntBonus,			m_IntBonus != -1 );
            SetSaveFlag( ref flags, SaveFlag.StrReq,			m_StrReq != -1 );
            SetSaveFlag( ref flags, SaveFlag.DexReq,			m_DexReq != -1 );
            SetSaveFlag( ref flags, SaveFlag.IntReq,			m_IntReq != -1 );
            SetSaveFlag( ref flags, SaveFlag.MedAllowance,		m_Meditate != (AMA)(-1) );
            SetSaveFlag( ref flags, SaveFlag.SkillBonuses,		!m_AosSkillBonuses.IsEmpty );
            SetSaveFlag( ref flags, SaveFlag.PlayerConstructed,	m_PlayerConstructed != false );

            writer.WriteEncodedInt( (int) flags );

            if ( GetSaveFlag( flags, SaveFlag.Attributes ) )
                m_AosAttributes.Serialize( writer );

            if ( GetSaveFlag( flags, SaveFlag.ArmorAttributes ) )
                m_AosArmorAttributes.Serialize( writer );

            if ( GetSaveFlag( flags, SaveFlag.PhysicalBonus ) )
                writer.WriteEncodedInt( (int) m_PhysicalBonus );

            if ( GetSaveFlag( flags, SaveFlag.FireBonus ) )
                writer.WriteEncodedInt( (int) m_FireBonus );

            if ( GetSaveFlag( flags, SaveFlag.ColdBonus ) )
                writer.WriteEncodedInt( (int) m_ColdBonus );

            if ( GetSaveFlag( flags, SaveFlag.PoisonBonus ) )
                writer.WriteEncodedInt( (int) m_PoisonBonus );

            if ( GetSaveFlag( flags, SaveFlag.EnergyBonus ) )
                writer.WriteEncodedInt( (int) m_EnergyBonus );

            if ( GetSaveFlag( flags, SaveFlag.MaxHitPoints ) )
                writer.WriteEncodedInt( (int) m_MaxHitPoints );

            if ( GetSaveFlag( flags, SaveFlag.HitPoints ) )
                writer.WriteEncodedInt( (int) m_HitPoints );

            if ( GetSaveFlag( flags, SaveFlag.Crafter ) )
                writer.Write( (Mobile) m_Crafter );

            if ( GetSaveFlag( flags, SaveFlag.Quality ) )
                writer.WriteEncodedInt( (int) m_Quality );

            if ( GetSaveFlag( flags, SaveFlag.Durability ) )
                writer.WriteEncodedInt( (int) m_Durability );

            if ( GetSaveFlag( flags, SaveFlag.Protection ) )
                writer.WriteEncodedInt( (int) m_Protection );

            if ( GetSaveFlag( flags, SaveFlag.BaseArmor ) )
                writer.WriteEncodedInt( (int) m_ArmorBase );

            if ( GetSaveFlag( flags, SaveFlag.StrBonus ) )
                writer.WriteEncodedInt( (int) m_StrBonus );

            if ( GetSaveFlag( flags, SaveFlag.DexBonus ) )
                writer.WriteEncodedInt( (int) m_DexBonus );

            if ( GetSaveFlag( flags, SaveFlag.IntBonus ) )
                writer.WriteEncodedInt( (int) m_IntBonus );

            if ( GetSaveFlag( flags, SaveFlag.StrReq ) )
                writer.WriteEncodedInt( (int) m_StrReq );

            if ( GetSaveFlag( flags, SaveFlag.DexReq ) )
                writer.WriteEncodedInt( (int) m_DexReq );

            if ( GetSaveFlag( flags, SaveFlag.IntReq ) )
                writer.WriteEncodedInt( (int) m_IntReq );

            if ( GetSaveFlag( flags, SaveFlag.MedAllowance ) )
                writer.WriteEncodedInt( (int) m_Meditate );

            if ( GetSaveFlag( flags, SaveFlag.SkillBonuses ) )
                m_AosSkillBonuses.Serialize( writer );
        }
Beispiel #7
0
        public override void Serialize( GenericWriter writer )
        {
            ClearAntiMacroTable();
            DecayKills();

            base.Serialize( writer );

            writer.Write( (int) 56 ); // version

            /* Version 56 */
            bool hasAnyBardMastery = ( m_BardMastery != null );
            writer.Write( (bool) hasAnyBardMastery );

            if ( hasAnyBardMastery )
            {
                writer.WriteEncodedInt( (int) m_BardMastery.Id );
                writer.WriteEncodedInt( (int) m_BardElementDamage );
                writer.Write( (DateTime) m_NextBardMasterySwitch );
                writer.WriteEncodedInt( (int) m_BardMasteryLearnedMask );
            }

            /* Version 55 */
            writer.Write( (DateTime) m_NextAnkhPendantUse );

            /* Version 54 */
            writer.Write( (DateTime) m_NextTenthAnniversarySculptureUse );

            /* Version 53 */
            writer.Write( (DateTime) m_LastForgedPardonUse );

            /* Version 51 */
            writer.Write( (int) m_DoomCredits );

            /* Version 50 */
            TieredQuestInfo.Serialize( writer, m_TieredQuestInfo );

            /* Version 49 */
            LoyaltyInfo.Serialize( writer, m_LoyaltyInfo );

            /* Version 48 */
            writer.Write( (int) m_FloorTrapsPlaced );

            /* Version 47 */
            writer.Write( (DateTime) m_NextPuzzleAttempt );

            /* Version 45 */
            writer.Write( (DateTime) m_NextDrinkExplodingTarPotion );

            /* Version 44 */
            writer.Write( (DateTime) m_NextLuckyCoinWish );

            /* Version 43 */
            writer.Write( (DateTime) m_NextSilverSaplingUse );

            /* Version 42 */
            writer.Write( (DateTime) m_SacredQuestNextChance );

            /* Version 41 */
            writer.Write( (int) m_HumilityQuestStatus );
            writer.Write( (DateTime) m_HumilityQuestNextChance );

            /* Version 40 */
            writer.Write( (DateTime) m_NextGemOfSalvationUse );

            /* Version 39 */
            writer.Write( (DateTime) m_AnkhNextUse );

            /* Version 38 */
            QuestWriter.Quests( writer, m_Quests );
            QuestWriter.Chains( writer, m_Chains );

            /* Version 36 */
            writer.Write( (double) m_TenthAnniversaryCredits );

            /* Version 35 */
            writer.Write( (byte) m_KRStartingQuestStep );

            /* Version 31 */
            writer.Write( (int) m_CurrentCollectionTitle );
            writer.Write( (int) m_CollectionTitles.Count );

            for ( int i = 0; i < m_CollectionTitles.Count; i++ )
                writer.Write( (int) m_CollectionTitles[i] );

            /* Version 28 */
            if ( m_AcquiredRecipes == null )
            {
                writer.Write( (int) 0 );
            }
            else
            {
                writer.Write( m_AcquiredRecipes.Count );

                foreach ( object o in m_AcquiredRecipes.Keys )
                {
                    int i = (int) o;

                    writer.Write( i );
                    writer.Write( (bool) m_AcquiredRecipes[i] );
                }
            }

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

            writer.WriteMobileList( m_AutoStabledPets, true );

            writer.Write( (int) ACState );

            writer.Write( (int) Deaths );

            writer.Write( NextDrinkConflagrationPotion );
            writer.Write( NextDrinkMaskOfDeathPotion );
            writer.Write( NextDrinkConfusionPotion );

            writer.Write( (int) m_GuildRank );

            writer.Write( (DateTime) m_LastLogin );

            writer.Write( (int) m_ToTItemsTurnedIn );
            writer.Write( (double) m_ToTTotalMonsterFame );

            writer.WriteDeltaTime( LastTierLoss );
            writer.WriteDeltaTime( LastChampionTierLoss );
            writer.WriteDeltaTime( LastSuperChampionTierLoss );

            writer.Write( (int) SuperChampionTiers.Length );

            for ( int i = 0; i < SuperChampionTiers.Length; i++ )
                writer.Write( (int) SuperChampionTiers[i] );

            writer.Write( (int) ChampionTiers.Length );

            for ( int i = 0; i < ChampionTiers.Length; i++ )
                writer.Write( (double) ChampionTiers[i] );

            writer.WriteDeltaTime( m_LastValorLoss );

            writer.WriteDeltaTime( m_LastHonorLoss );

            writer.WriteEncodedInt( (int) m_SolenFriendship );

            QuestSerializer.Serialize( m_Quest, writer );

            if ( m_DoneQuests == null )
            {
                writer.WriteEncodedInt( (int) 0 );
            }
            else
            {
                writer.WriteEncodedInt( (int) m_DoneQuests.Count );

                for ( int i = 0; i < m_DoneQuests.Count; ++i )
                {
                    QuestRestartInfo restartInfo = m_DoneQuests[i];

                    QuestSerializer.Write( (Type) restartInfo.QuestType, QuestSystem.QuestTypes, writer );
                    writer.Write( (DateTime) restartInfo.RestartTime );
                }
            }

            writer.WriteEncodedInt( (int) m_Profession );

            writer.WriteDeltaTime( m_LastCompassionLoss );

            writer.WriteEncodedInt( m_CompassionGains );

            if ( m_CompassionGains > 0 )
                writer.WriteDeltaTime( m_NextCompassionDay );

            m_BOBFilter.Serialize( writer );

            bool useMods = ( m_HairModID != -1 || m_BeardModID != -1 );

            writer.Write( useMods );

            if ( useMods )
            {
                writer.Write( (int) m_HairModID );
                writer.Write( (int) m_HairModHue );
                writer.Write( (int) m_BeardModID );
                writer.Write( (int) m_BeardModHue );
            }

            writer.Write( SavagePaintExpiration );

            writer.Write( (int) m_NpcGuild );
            writer.Write( (DateTime) m_NpcGuildJoinTime );
            writer.Write( (TimeSpan) m_NpcGuildGameTime );

            writer.WriteMobileList( m_PermaFlags, true );

            writer.Write( NextTailorBulkOrder );
            writer.Write( NextSmithBulkOrder );

            writer.WriteDeltaTime( m_LastJusticeLoss );
            writer.WriteMobileList( m_JusticeProtectors, true );

            writer.WriteDeltaTime( m_LastSacrificeGain );
            writer.WriteDeltaTime( m_LastSacrificeLoss );
            writer.Write( m_AvailableResurrects );

            writer.Write( (int) m_Flags );

            writer.Write( m_LongTermElapse );
            writer.Write( m_ShortTermElapse );
            writer.Write( this.GameTime );
        }
Beispiel #8
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );
			writer.Write( (int) 0 );// version
			
			writer.Write( (int)m_Teams );

			writer.WriteMobileList( Players );
            writer.WriteMobileList(NpcPlayers);
			writer.WriteMobileList( m_Announcers );
			
			writer.WriteItemList( m_WinnersPrizes );

			writer.Write( m_Team1Dest );
			writer.Write( m_Team2Dest );
			writer.Write( m_Team3Dest );
			writer.Write( m_Team4Dest );
			writer.Write( m_Exit1Dest );
			writer.Write( m_Exit2Dest );
			writer.Write( m_Exit3Dest );
			writer.Write( m_Exit4Dest );

			
			writer.Write( (Map)m_MapDest );
            writer.Write( (int)m_Mod);
			

			
			writer.Write( (bool)m_Active );
			writer.Write( (int)m_Team1 );
			writer.Write( (int)m_Team2 );
			writer.Write( (int)m_Team3 );
			writer.Write( (int)m_Team4 );
			
			writer.Write( (int)m_Team1Hue );
			writer.Write( (int)m_Team2Hue);
			writer.Write( (int)m_Team3Hue );
			writer.Write( (int)m_Team4Hue );
			
			writer.Write( (string)m_Team1Name );
			writer.Write( (string)m_Team2Name );
			writer.Write( (string)m_Team3Name );
			writer.Write( (string)m_Team4Name );

			writer.Write( (int)m_NadeDamage );
			writer.Write( (int)m_NumNades );

			writer.Write( m_PBScoreBoard );
				
			


		}
 public override void Serialize(GenericWriter writer)
 {
     base.Serialize(writer);
     writer.Write((int)0); // version
     writer.WriteItemList(eventItems);
     writer.WriteMobileList(eventMobiles);
 }
Beispiel #10
0
		public override void Serialize(GenericWriter writer)
		{
			base.Serialize(writer);
			writer.WriteEncodedInt((int) 0);
			writer.WriteMobileList( m_Pups, true );
		}
Beispiel #11
0
 public override void Serialize(GenericWriter writer)
 {
     base.Serialize(writer);
     writer.WriteEncodedInt(0);
     writer.WriteMobileList(m_Spawned);
 }
Beispiel #12
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)8);                // version

            writer.WriteMobileList(m_Identified);

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ArmorAttributes, !m_AosArmorAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.PhysicalBonus, m_PhysicalBonus != 0);
            SetSaveFlag(ref flags, SaveFlag.FireBonus, m_FireBonus != 0);
            SetSaveFlag(ref flags, SaveFlag.ColdBonus, m_ColdBonus != 0);
            SetSaveFlag(ref flags, SaveFlag.PoisonBonus, m_PoisonBonus != 0);
            SetSaveFlag(ref flags, SaveFlag.EnergyBonus, m_EnergyBonus != 0);
            //SetSaveFlag( ref flags, SaveFlag.Identified,		m_Identified != false );
            SetSaveFlag(ref flags, SaveFlag.MaxHitPoints, m_MaxHitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.HitPoints, m_HitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, m_Quality != CraftQuality.Regular);
            SetSaveFlag(ref flags, SaveFlag.Durability, m_Durability != DurabilityLevel.Regular);
            SetSaveFlag(ref flags, SaveFlag.Protection, m_Protection != ArmorProtectionLevel.Regular);
            SetSaveFlag(ref flags, SaveFlag.BaseArmor, m_ArmorBase != -1);
            SetSaveFlag(ref flags, SaveFlag.StrBonus, m_StrBonus != -1);
            SetSaveFlag(ref flags, SaveFlag.DexBonus, m_DexBonus != -1);
            SetSaveFlag(ref flags, SaveFlag.IntBonus, m_IntBonus != -1);
            SetSaveFlag(ref flags, SaveFlag.StrReq, m_StrReq != -1);
            SetSaveFlag(ref flags, SaveFlag.DexReq, m_DexReq != -1);
            SetSaveFlag(ref flags, SaveFlag.IntReq, m_IntReq != -1);
            SetSaveFlag(ref flags, SaveFlag.MedAllowance, m_Meditate != (AMA)(-1));
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed != false);

            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.Attributes))
            {
                m_AosAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.ArmorAttributes))
            {
                m_AosArmorAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.PhysicalBonus))
            {
                writer.WriteEncodedInt((int)m_PhysicalBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.FireBonus))
            {
                writer.WriteEncodedInt((int)m_FireBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.ColdBonus))
            {
                writer.WriteEncodedInt((int)m_ColdBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.PoisonBonus))
            {
                writer.WriteEncodedInt((int)m_PoisonBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.EnergyBonus))
            {
                writer.WriteEncodedInt((int)m_EnergyBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.MaxHitPoints))
            {
                writer.WriteEncodedInt((int)m_MaxHitPoints);
            }

            if (GetSaveFlag(flags, SaveFlag.HitPoints))
            {
                writer.WriteEncodedInt((int)m_HitPoints);
            }

            if (GetSaveFlag(flags, SaveFlag.Crafter))
            {
                writer.Write((Mobile)m_Crafter);
            }

            if (GetSaveFlag(flags, SaveFlag.Quality))
            {
                writer.WriteEncodedInt((int)m_Quality);
            }

            if (GetSaveFlag(flags, SaveFlag.Durability))
            {
                writer.WriteEncodedInt((int)m_Durability);
            }

            if (GetSaveFlag(flags, SaveFlag.Protection))
            {
                writer.WriteEncodedInt((int)m_Protection);
            }

            if (GetSaveFlag(flags, SaveFlag.BaseArmor))
            {
                writer.WriteEncodedInt((int)m_ArmorBase);
            }

            if (GetSaveFlag(flags, SaveFlag.StrBonus))
            {
                writer.WriteEncodedInt((int)m_StrBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.DexBonus))
            {
                writer.WriteEncodedInt((int)m_DexBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.IntBonus))
            {
                writer.WriteEncodedInt((int)m_IntBonus);
            }

            if (GetSaveFlag(flags, SaveFlag.StrReq))
            {
                writer.WriteEncodedInt((int)m_StrReq);
            }

            if (GetSaveFlag(flags, SaveFlag.DexReq))
            {
                writer.WriteEncodedInt((int)m_DexReq);
            }

            if (GetSaveFlag(flags, SaveFlag.IntReq))
            {
                writer.WriteEncodedInt((int)m_IntReq);
            }

            if (GetSaveFlag(flags, SaveFlag.MedAllowance))
            {
                writer.WriteEncodedInt((int)m_Meditate);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_AosSkillBonuses.Serialize(writer);
            }
        }
Beispiel #13
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 0 ); // version
			writer.Write( (TownStone)m_Town);
			writer.WriteMobileList( m_Payeurs, true);
			writer.WriteMobileList( m_HistoPayeurs, true);
			writer.WriteMobileList( m_Retard_1, true);
			writer.WriteMobileList( m_Retard_2, true);
			writer.Write( (int)m_Taxe );
			writer.Write( (int)m_CaisseVille );
			writer.Write( (int)m_CaisseGarde );
			writer.Write( m_EndDate );
			writer.Write( m_Delay );
			
		}
Beispiel #14
0
        public void Serialize( GenericWriter writer )
        {
            writer.WriteEncodedInt( (int) 6 );

            writer.Write( (Item) m_Ladder );

            writer.Write( (Item) m_Tournament );
            writer.Write( (Mobile) m_Announcer );

            writer.Write( (string) m_Name );

            writer.Write( (Rectangle2D) m_Zone );

            writer.Write( (Point3D) m_GateIn );
            writer.Write( (Point3D) m_GateOut );
            writer.Write( (Item) m_Teleporter );

            writer.WriteMobileList( m_Players );

            writer.Write( (Map) m_Facet );
            writer.Write( (Rectangle2D) m_Bounds );
            writer.Write( (Point3D) m_Outside );
            writer.Write( (Point3D) m_Wall );
            writer.Write( (bool) m_Active );

            m_Points.Serialize( writer );
        }
Beispiel #15
0
		public override void Serialize( GenericWriter writer )
		{
			if ( LastFealty+TimeSpan.FromDays( 1.0 ) < DateTime.Now )
				CalculateGuildmaster();

			CheckExpiredWars();

			if( Alliance != null )
				Alliance.CheckLeader();

			writer.Write( 7 );//version

            //7
            if (m_AllianceListeners != null)
                writer.WriteMobileList(m_AllianceListeners);
            else
                writer.WriteMobileList(m_AllianceListeners = new ArrayList());

            //6
            if (m_Listeners != null)
                writer.WriteMobileList(m_Listeners);
            else
                writer.WriteMobileList(m_Listeners = new ArrayList());

			#region War Serialization
			writer.Write( m_PendingWars.Count );

			for( var i = 0; i < m_PendingWars.Count; i++ )
			{
				m_PendingWars[i].Serialize( writer );
			}

			writer.Write( m_AcceptedWars.Count );

			for( var i = 0; i < m_AcceptedWars.Count; i++ )
			{
				m_AcceptedWars[i].Serialize( writer );
			}
			#endregion

			#region Alliances

			var isAllianceLeader = (m_AllianceLeader == null && m_AllianceInfo != null );
			writer.Write( isAllianceLeader );

			if( isAllianceLeader )
				m_AllianceInfo.Serialize( writer );
			else
				writer.Write( m_AllianceLeader );

			#endregion

			//

			writer.WriteGuildList( m_AllyDeclarations, true );
			writer.WriteGuildList( m_AllyInvitations, true );

			writer.Write( m_TypeLastChange );

			writer.Write( (int)m_Type );

			writer.Write( m_LastFealty );

			writer.Write( m_Leader );
			writer.Write( m_Name );
			writer.Write( m_Abbreviation );

			writer.WriteGuildList( m_Allies, true );
			writer.WriteGuildList( m_Enemies, true );
			writer.WriteGuildList( m_WarDeclarations, true );
			writer.WriteGuildList( m_WarInvitations, true );

			writer.Write( m_Members, true );
			writer.Write( m_Candidates, true );
			writer.Write( m_Accepted, true );

			writer.Write( m_Guildstone );
			writer.Write( m_Teleporter );

			writer.Write( m_Charter );
			writer.Write( m_Website );
		}
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(0); //version

            writer.WriteMobileList(MobList, true);
        }
Beispiel #17
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );
			writer.Write( (int) 1 );

			writer.WriteMobileList( m_Orcs, true );
		}
Beispiel #18
0
        public bool Save(GenericWriter writer)
        {
            try{
                writer.Write(10);           // version


                // Version 10:  Changed the way messages are saved
                writer.Write(c_FactionColor);
                writer.Write(c_GlobalFaction);

                // Version 9:  Obsolete:  Transparency, Background, MenuColor, SubColor, TextBackground

                // Version 8
                writer.Write(c_AwayMsg);

                // Version 7
                writer.Write(c_SavedMsgs.Count);
                foreach (Message msg in new ArrayList(c_SavedMsgs))
                {
                    if (c_Mobile == null || msg.LastSender == null)
                    {
                        c_SavedMsgs.Remove(msg);
                        continue;
                    }

                    msg.Save(writer);
                }

                // Version 6
                writer.Write(c_PmReceipt);

                // Version 5
                writer.Write(c_PmFriends);

                // Version 4
                writer.Write(c_DefaultSound);

                // Version 3
                writer.Write(c_IrcOn);
                writer.Write(c_IrcRaw);

                // Version 2
                writer.Write(c_IrcColor);

                // Version 1
                writer.Write(c_Quickbar);

                // Version 0
                writer.WriteMobileList(c_Friends, true);
                writer.WriteMobileList(c_Ignores, true);
                writer.WriteMobileList(c_GlobalIgnores, true);

                writer.Write(c_Messages.Count);
                foreach (Message msg in new ArrayList(c_Messages))
                {
                    if (c_Mobile == null || msg.LastSender == null)
                    {
                        c_Messages.Remove(msg);
                        continue;
                    }

                    msg.Save(writer);
                }

                writer.Write(c_MsgSounds.Keys.Count);
                foreach (Mobile m in c_MsgSounds.Keys)
                {
                    if (m == null)
                    {
                        continue;
                    }

                    writer.Write(m);
                    writer.Write((int)c_MsgSounds[m]);
                }

                writer.Write(c_PublicColor);
                writer.Write(c_GuildColor);
                writer.Write(c_SystemColor);
                writer.Write(c_StaffColor);
                writer.Write(c_WorldColor);
                writer.Write(c_PmColor);

                writer.Write(c_PublicDisabled);
                writer.Write(c_PmDisabled);
                writer.Write(c_Hidden);
                writer.Write(c_Banned);
                writer.Write(c_GlobalAccess);
                writer.Write(c_GlobalWorld);
                writer.Write(c_GlobalGuild);
                writer.Write(c_GlobalPm);

                writer.Write(c_BanEnds);

                return(true);
            }catch { Errors.Report(String.Format("ChatInfo-> Save-> |{0}|", c_Mobile)); }

            return(false);
        }
Beispiel #19
0
        public override void Serialize( GenericWriter writer )
        {
            if ( this.LastFealty + TimeSpan.FromMinutes( 1.0 ) < DateTime.Now )
            {
                this.CalculateGuildmaster();
            }

            writer.Write( (int) 5 ); //version

            writer.WriteGuildList( m_WarInitializations, true );
            writer.Write( (int) m_WarKills.Length );

            for ( int i = 0; i < m_WarKills.Length; ++i )
            {
                writer.Write( m_WarKills[i].w_Guild );
                writer.Write( (int) m_WarKills[i].Kills );
                writer.Write( (int) m_WarKills[i].MaxKills );
                writer.Write( (uint) m_WarKills[i].WarTime );
                writer.Write( (uint) m_WarKills[i].ExpTime );
            }

            writer.Write( (bool) m_AllianceLeader );
            writer.Write( m_AllianceName );

            writer.WriteGuildList( m_AllyDeclarations, true );
            writer.WriteGuildList( m_AllyInvitations, true );

            writer.Write( m_TypeLastChange );

            writer.Write( (int) m_Type );

            writer.Write( m_LastFealty );

            writer.Write( m_Leader );
            writer.Write( m_Name );
            writer.Write( m_Abbreviation );

            writer.WriteGuildList( m_Allies, true );
            writer.WriteGuildList( m_Enemies, true );
            writer.WriteGuildList( m_WarDeclarations, true );
            writer.WriteGuildList( m_WarInvitations, true );

            writer.WriteMobileList( m_Members, true );
            writer.WriteMobileList( m_Candidates, true );
            writer.WriteMobileList( m_Accepted, true );

            writer.Write( m_Guildstone );
            writer.Write( m_Teleporter );

            writer.Write( m_Charter );
            writer.Write( m_Website );
        }
Beispiel #20
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)10);                // version

            writer.WriteDeltaTime(m_TimeOfDeath);

            ArrayList list  = (m_RestoreTable == null ? null : new ArrayList(m_RestoreTable));
            int       count = (list == null ? 0 : list.Count);

            writer.Write(count);

            for (int i = 0; list != null && i < list.Count; ++i)
            {
                DictionaryEntry de   = (DictionaryEntry)list[i];
                Item            item = (Item)de.Key;
                Point3D         loc  = (Point3D)de.Value;

                writer.Write(item);

                if (item.Location == loc)
                {
                    writer.Write(false);
                }
                else
                {
                    writer.Write(true);
                    writer.Write(loc);
                }
            }

            writer.Write(m_VisitedByTaxidermist);

            writer.Write(m_DecayTimer != null);

            if (m_DecayTimer != null)
            {
                writer.WriteDeltaTime(m_DecayTime);
            }

            writer.WriteMobileList(m_Looters);
            writer.Write(m_Killer);

            writer.Write((bool)m_Carved);

            writer.WriteMobileList(m_Aggressors);

            writer.Write(m_Owner);

            writer.Write(m_NoBones);

            writer.Write((string)m_CorpseName);

            writer.Write((int)m_AccessLevel);
            writer.Write((Guild)m_Guild);
            writer.Write((int)m_Kills);
            writer.Write((bool)m_Criminal);

            writer.Write((int)m_EquipItems.Count);

            for (int i = 0; i < m_EquipItems.Count; ++i)
            {
                writer.Write((Item)m_EquipItems[i]);
            }
        }
Beispiel #21
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(0); // version

            writer.Write(m_TrueForm);
            writer.Write(m_GateItem);
            writer.WriteMobileList(m_Spirits);
        }
Beispiel #22
0
        public void SaveFriends(GenericWriter writer)
        {
            writer.Write(1); // Version

            writer.WriteMobileList(c_Friends, true);
        }
Beispiel #23
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 1 ); // version

			//version 1  Freeze 6 nov 2004

			writer.Write( (byte) m_VilleRace );

			// version 0

			
			writer.WriteMobileList( m_Citoyens, true );
			writer.WriteMobileList( m_Candidats, true );
			writer.WriteMobileList( m_HLL, true );
			writer.WriteMobileList( m_Gardes, true );
			writer.WriteItemList( m_gardes_pnj, true );
			writer.Write( (Mobile)m_Maire );
			writer.Write( (Mobile)m_Conseiller );
			writer.Write( (Mobile)m_Ambassadeur );
			writer.Write( (Mobile)m_Capitaine );
			writer.Write( (POMI)m_Pomi);
			writer.Write( (PomiCloak)m_MaireCloak);
			writer.Write( (PomiCloak)m_ConseillerCloak);
			writer.Write( (PomiCloak)m_AmbassadeurCloak);
			writer.Write( (PomiCloak)m_CapitaineCloak);
			writer.Write( (CapitaineBook)m_CapitaineBook);
			writer.WriteItemList( m_GardeCloak, true );
			writer.Write((string)m_Nom);
			writer.Write((string)m_Charte0);
			writer.Write((string)m_Charte1);
			writer.Write((string)m_Charte2);
			writer.Write((string)m_Charte3);
			writer.Write((string)m_Charte4);
			writer.Write((string)m_Charte5);
			writer.Write((string)m_Charte6);
			writer.Write((string)m_Charte7);
			writer.WriteMobileList( m_Votants, true );
			writer.WriteMobileList( m_Elections, true );
			writer.WriteMobileList( m_Resultats, true );
			writer.Write( m_EndDate );
			writer.Write( m_ElecDelay );
			writer.Write( m_MaxDistance );
			writer.WriteItemList( m_Allies, true );
			writer.WriteItemList( m_Paix, true );
			writer.WriteItemList( m_Guerre, true );
			writer.WriteItemList( m_Neutre, true );
			writer.Write( (TownBox)m_Box);
			
		}
Beispiel #24
0
        public void SaveIgnores(GenericWriter writer)
        {
            writer.Write(1); // Version

            writer.WriteMobileList(c_Ignores, true);
        }
Beispiel #25
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int) 15 ); // version
			writer.Write( (Point3D) m_RelativeBanLocation );

			writer.WriteMobileList( m_InternalizedVendors, true );

			writer.WriteEncodedInt( m_VendorInventories.Count );
			for ( int i = 0; i < m_VendorInventories.Count; i++ )
			{
				VendorInventory inventory = (VendorInventory) m_VendorInventories[i];
				inventory.Serialize( writer );
			}

			writer.Write( (DateTime) m_LastRefreshed );
			writer.Write( (bool) m_RestrictDecay );

			writer.Write( (int) m_Visits );

			writer.Write( (int) m_Price );

			writer.WriteMobileList( m_Access );

			writer.Write( m_BuiltOn );

			writer.WriteItemList( m_Addons, true );

			writer.Write( m_Public );

			//writer.Write( BanLocation );

			writer.Write( m_Owner );

			// Version 5 no longer serializes region coords
			/*writer.Write( (int)m_Region.Coords.Count );
			foreach( Rectangle2D rect in m_Region.Coords )
			{
				writer.Write( rect );
			}*/

			writer.WriteMobileList( m_CoOwners, true );
			writer.WriteMobileList( m_Friends, true );
			writer.WriteMobileList( m_Bans, true );

			writer.Write( m_Sign );
			writer.Write( m_Trash );

			writer.WriteItemList( m_Doors, true );
			writer.WriteItemList( m_LockDowns, true );
			writer.WriteItemList( m_Secures, true );

			writer.Write( (int) m_MaxLockDowns );
			writer.Write( (int) m_MaxSecures );

			// Items in locked down containers that aren't locked down themselves must decay!
			for ( int i = 0; i < m_LockDowns.Count; ++i )
			{
				Item item = (Item)m_LockDowns[i];

				if ( item is Container && !(item is BaseBoard ) )
				{
					Container cont = (Container)item;
					List<Item> children = cont.Items;

					for ( int j = 0; j < children.Count; ++j )
					{
						Item child = children[j];

						if ( child.Decays && !child.IsLockedDown && !child.IsSecure && (child.LastMoved + child.DecayTime) <= DateTime.Now )
							Timer.DelayCall( TimeSpan.Zero, new TimerCallback( child.Delete ) );
					}
				}
			}
		}
Beispiel #26
0
		public void SerializeObject(GenericWriter writer, object obj)
		{
			if (obj is Mobile)
			{
				writer.Write((int)XmlObjectType.Mobile);
				writer.Write((Mobile)obj);
			}
			else if (obj is Item)
			{
				writer.Write((int)XmlObjectType.Item);
				writer.Write((Item)obj);
			}
			else if (obj is List<Mobile>)
			{
				writer.Write((int)XmlObjectType.MobileList);
				writer.WriteMobileList((List<Mobile>)obj, true);
			}
			else if (obj is List<Item>)
			{
				writer.Write((int)XmlObjectType.ItemList);
				writer.WriteItemList((List<Item>)obj, true);
			}
			else if (obj is ArrayList)
			{
				// guess at the type of arraylist
				ArrayList list = (ArrayList)obj;
				writer.Write((int)XmlObjectType.ArrayList);
				var toSerialize = new List<object>();
				for (int i = 0; i < list.Count; i++)
				{
					if (IsSerializable(list[i]))
					{
						toSerialize.Add(list[i]);
					}
				}
				writer.Write(toSerialize.Count);
				foreach (object thingy in toSerialize)
				{
					SerializeObject(writer, thingy);
				}
			}
			else if (obj is DateTime)
			{
				writer.Write((int)XmlObjectType.DateTime);
				writer.Write((DateTime)obj);
			}
			else if (obj is DateTimeOffset)
			{
				writer.Write((int)XmlObjectType.DateTimeOffset);
				writer.Write((DateTimeOffset)obj);
			}
			else if (obj is BaseGuild)
			{
				writer.Write((int)XmlObjectType.BaseGuild);
				writer.Write((BaseGuild)obj);
			}
			else if (obj is IPAddress)
			{
				writer.Write((int)XmlObjectType.IPAddress);
				writer.Write((IPAddress)obj);
			}
			else if (obj is Map)
			{
				writer.Write((int)XmlObjectType.Map);
				writer.Write((Map)obj);
			}
			else if (obj is Point3D)
			{
				writer.Write((int)XmlObjectType.Point3D);
				writer.Write((Point3D)obj);
			}
			else if (obj is Point2D)
			{
				writer.Write((int)XmlObjectType.Point2D);
				writer.Write((Point2D)obj);
			}
			else if (obj is TimeSpan)
			{
				writer.Write((int)XmlObjectType.TimeSpan);
				writer.Write((TimeSpan)obj);
			}
			else if (obj is Rectangle2D)
			{
				writer.Write((int)XmlObjectType.Rectangle2D);
				writer.Write((Rectangle2D)obj);
			}
			else if (obj is Rectangle3D)
			{
				writer.Write((int)XmlObjectType.Rectangle3D);
				writer.Write((Rectangle3D)obj);
			}
			else if (obj is double)
			{
				writer.Write((int)XmlObjectType.Double);
				writer.Write((double)obj);
			}
			else if (obj is int)
			{
				writer.Write((int)XmlObjectType.Integer);
				writer.Write((int)obj);
			}
			else if (obj is bool)
			{
				writer.Write((int)XmlObjectType.Boolean);
				writer.Write((bool)obj);
			}
			else if (obj is ulong)
			{
				writer.Write((int)XmlObjectType.UInt64);
				writer.Write((ulong)obj);
			}
			else if (obj is string)
			{
				writer.Write((int)XmlObjectType.String);
				writer.Write((string)obj);
			}
			else if (obj is Type)
			{
				writer.Write((int)XmlObjectType.Type);
				var splitType = obj.ToString().Split('.');
				writer.Write(splitType[splitType.Length - 1]);
			}
			else
			{
				writer.Write((int)XmlObjectType.Other);
				LoggingCustom.Log(
					"ERROR_Uberscript.txt",
					DateTime.Now + ": xmlobject: " + Name + " attached to " + AttachedTo +
					" with data that cannot be serialized: data = " + m_DataValue);
			}
		}
Beispiel #27
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)0); // version

            writer.Write(this.m_TrueForm);
            writer.Write(this.m_GateItem);
            writer.WriteMobileList<HarrowerTentacles>(this.m_Tentacles);
        }
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(0);

            writer.Write(m_Title);

            if (m_Greeting != null)
            {
                writer.Write(true);
                m_Greeting.Serialize(writer);
            }
            else
            {
                writer.Write(false);
            }

            writer.WriteEncodedInt(m_Messages.Count);

            for (int i = 0; i < m_Messages.Count; ++i)
                m_Messages[i].Serialize(writer);

            if (m_BannedPlayers != null)
                writer.WriteMobileList(m_BannedPlayers);
            else
                writer.WriteMobileList(m_BannedPlayers = new ArrayList());
        }
Beispiel #29
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int)2 );

			writer.Write( (Mobile)m_Owner );
			writer.WriteMobileList( m_Friends, true );

			#region v2
			writer.Write( m_Tent );
			#endregion
		}
Beispiel #30
0
 public override void Serialize(GenericWriter writer)
 {
     base.Serialize(writer);
     writer.Write((int)0);
     writer.WriteMobileList(m_pups, true);
 }
Beispiel #31
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write((int)2); // version

            // version 1
            writer.Write((bool)(this.m_Helpers != null));

            if (this.m_Helpers != null)
                writer.WriteMobileList<BaseCreature>(this.m_Helpers);

            // version 0
            writer.Write((Mobile)this.m_Peerless);
            writer.Write((Point3D)this.m_BossLocation);
            writer.Write((Point3D)this.m_TeleportDest);
            writer.Write((Point3D)this.m_ExitDest);

            writer.Write((DateTime)this.m_Deadline);

            // serialize master keys
            writer.WriteItemList(this.m_MasterKeys);

            // serialize fighters
            writer.WriteMobileList(this.m_Fighters);

            // serialize pets
            writer.Write((int)this.m_Pets.Count);

            foreach (KeyValuePair<Mobile, List<Mobile>> pair in this.m_Pets)
            {
                writer.Write((Mobile)pair.Key);

                writer.WriteMobileList(pair.Value);
            }
        }
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );
			writer.Write( (int) 0 );// version

			writer.Write( (Point3D)m_Exit2Dest );
			writer.Write( (Point3D)m_Exit3Dest );
			writer.Write( (Point3D)m_Exit4Dest );

			writer.WriteMobileList( m_Players );
			writer.Write( (bool)m_Active );
			writer.Write( (int)m_Team1 );
			writer.Write( (int)m_Team2 );
			writer.Write( (int)m_Team3 );
			writer.Write( (int)m_Team4 );
			writer.Write( (Map)m_MapDest );
			writer.Write( (Point3D)m_Team1Dest );
			writer.Write( (Point3D)m_Team2Dest );
			writer.Write( (Point3D)m_Team3Dest );
			writer.Write( (Point3D)m_Team4Dest );
			writer.Write( (Point3D)m_Exit1Dest );
			writer.Write( (int)m_Teams );

			writer.Write( m_PBScoreBoard );

			writer.Write( (int)m_WinnersPrizes.Count );
			for( int i = 0; i < m_WinnersPrizes.Count; i++ )
				writer.Write( (Item)m_WinnersPrizes[i] );
		}
Beispiel #33
0
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );

            writer.Write( (int) 25 ); // version

            writer.Write( (int) m_CurrentAI );
            writer.Write( (int) m_DefaultAI );

            writer.Write( (int) m_iRangePerception );
            writer.Write( (int) m_iRangeFight );

            writer.Write( (int) m_iTeam );

            writer.Write( (double) m_dActiveSpeed );
            writer.Write( (double) m_dPassiveSpeed );
            writer.Write( (double) m_dCurrentSpeed );

            writer.Write( (int) m_pHome.X );
            writer.Write( (int) m_pHome.Y );
            writer.Write( (int) m_pHome.Z );

            // Version 1
            writer.Write( (int) m_iRangeHome );

            // Version 2
            writer.Write( (int) m_FightMode );

            writer.Write( (bool) m_bControlled );
            writer.Write( (Mobile) m_ControlMaster );
            writer.Write( (Mobile) m_ControlTarget );
            writer.Write( (Point3D) m_ControlDest );
            writer.Write( (int) m_ControlOrder );
            writer.Write( (double) m_dMinTameSkill );
            writer.Write( (bool) m_bTamable );
            writer.Write( (bool) m_bSummoned );

            if ( m_bSummoned )
                writer.WriteDeltaTime( m_SummonEnd );

            writer.Write( (int) m_iControlSlots );

            // Version 3
            writer.Write( (int) m_Loyalty );

            // Version 4
            writer.Write( m_CurrentWayPoint );

            // Verison 5
            writer.Write( m_SummonMaster );

            // Version 6
            writer.Write( (int) m_HitsMax );
            writer.Write( (int) m_StamMax );
            writer.Write( (int) m_ManaMax );
            writer.Write( (int) m_DamageMin );
            writer.Write( (int) m_DamageMax );

            // Version 7
            writer.Write( (int) m_PhysicalResistance );
            writer.Write( (int) m_PhysicalDamage );

            writer.Write( (int) m_FireResistance );
            writer.Write( (int) m_FireDamage );

            writer.Write( (int) m_ColdResistance );
            writer.Write( (int) m_ColdDamage );

            writer.Write( (int) m_PoisonResistance );
            writer.Write( (int) m_PoisonDamage );

            writer.Write( (int) m_EnergyResistance );
            writer.Write( (int) m_EnergyDamage );

            // Version 8
            writer.WriteMobileList( m_Owners, true );

            // Version 10
            writer.Write( (bool) m_IsDeadPet );
            writer.Write( (bool) m_IsBonded );
            writer.Write( (DateTime) m_BondingBegin );
            writer.Write( (DateTime) m_OwnerAbandonTime );

            // Version 11
            writer.Write( (bool) m_HasGeneratedLoot );

            // Version 12
            writer.Write( (bool) m_Paragon );
            writer.Write( (bool) m_IsChampionMonster );

            // Version 13
            writer.Write( (bool) ( m_Friends != null && m_Friends.Count > 0 ) );

            if ( m_Friends != null && m_Friends.Count > 0 )
                writer.WriteMobileList( m_Friends, true );

            // Version 14
            writer.Write( (int) m_SpawnLevel );

            // Version 15
            writer.Write( (int) m_ChampionType );

            // Version 17
            writer.Write( (bool) m_StolenFrom );

            // Version 18
            writer.Write( (int) m_RummagedItems.Count );

            foreach ( KeyValuePair<Item, Mobile> kvp in m_RummagedItems )
            {
                writer.Write( kvp.Key );
                writer.Write( kvp.Value );
            }

            // Version 20
            writer.Write( (bool) m_IsMinichampMonster );
            writer.Write( (int) m_MinichampType );

            // Version 21
            writer.Write( (DateTime) m_NextTastyTreat );

            // Version 22
            writer.Write( (bool) m_Petrified );

            if ( m_Petrified )
            {
                writer.Write( (int) m_StatueAnimation );
                writer.Write( (int) m_StatueFrames );
            }

            // Version 23
            writer.Write( (DateTime) m_NextArmorEssence );

            // Version 24
            writer.Write( (bool) m_IsGolem );
        }
		private static void InternalSave(GenericWriter writer)
		{
			writer.WriteEncodedInt(1); // version

			writer.Write((bool)m_Enabled);
			writer.WriteEncodedInt(m_Instance.m_DuelLengthInSeconds);
			writer.WriteEncodedInt(m_Instance.m_MaxDistance);

			int count = m_PointsTable.Count;

			writer.WriteEncodedInt(count);
			IDictionaryEnumerator myEnum = m_PointsTable.GetEnumerator();

			int i = 0;
			while (myEnum.MoveNext())
			{
				Serial serial = (Serial)myEnum.Key;
				DuelPoints duelPoints = (DuelPoints)myEnum.Value;

				writer.Write((int)serial);
				duelPoints.Serialize(writer);

				i++;
			}

			writer.WriteMobileList<Mobile>(m_DeclineDuelList);
		}
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );
			writer.Write( (int) 0 );
			writer.WriteMobileList( m_Spawns );
		}
Beispiel #36
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.Write( (int)0 );

			writer.Write( (Mobile)m_Owner );
			writer.WriteMobileList( m_Friends );
		}
Beispiel #37
0
		public override void Serialize( GenericWriter writer )
		{
			base.Serialize( writer );

			writer.WriteEncodedInt( 0 ); // version

			writer.WriteMobileList<Mobile>( m_Spawned );
		}
Beispiel #38
0
 public void SerializeObject(GenericWriter writer, object obj)
 {
     if (obj is Mobile)
     {
         writer.Write((int)XmlObjectType.Mobile);
         writer.Write((Mobile)obj);
     }
     else if (obj is Item)
     {
         writer.Write((int)XmlObjectType.Item);
         writer.Write((Item)obj);
     }
     else if (obj is List <Mobile> )
     {
         writer.Write((int)XmlObjectType.MobileList);
         writer.WriteMobileList((List <Mobile>)obj, true);
     }
     else if (obj is List <Item> )
     {
         writer.Write((int)XmlObjectType.ItemList);
         writer.WriteItemList((List <Item>)obj, true);
     }
     else if (obj is ArrayList)
     {
         // guess at the type of arraylist
         ArrayList list = (ArrayList)obj;
         writer.Write((int)XmlObjectType.ArrayList);
         var toSerialize = new List <object>();
         for (int i = 0; i < list.Count; i++)
         {
             if (IsSerializable(list[i]))
             {
                 toSerialize.Add(list[i]);
             }
         }
         writer.Write(toSerialize.Count);
         foreach (object thingy in toSerialize)
         {
             SerializeObject(writer, thingy);
         }
     }
     else if (obj is DateTime)
     {
         writer.Write((int)XmlObjectType.DateTime);
         writer.Write((DateTime)obj);
     }
     else if (obj is DateTimeOffset)
     {
         writer.Write((int)XmlObjectType.DateTimeOffset);
         writer.Write((DateTimeOffset)obj);
     }
     else if (obj is BaseGuild)
     {
         writer.Write((int)XmlObjectType.BaseGuild);
         writer.Write((BaseGuild)obj);
     }
     else if (obj is IPAddress)
     {
         writer.Write((int)XmlObjectType.IPAddress);
         writer.Write((IPAddress)obj);
     }
     else if (obj is Map)
     {
         writer.Write((int)XmlObjectType.Map);
         writer.Write((Map)obj);
     }
     else if (obj is Point3D)
     {
         writer.Write((int)XmlObjectType.Point3D);
         writer.Write((Point3D)obj);
     }
     else if (obj is Point2D)
     {
         writer.Write((int)XmlObjectType.Point2D);
         writer.Write((Point2D)obj);
     }
     else if (obj is TimeSpan)
     {
         writer.Write((int)XmlObjectType.TimeSpan);
         writer.Write((TimeSpan)obj);
     }
     else if (obj is Rectangle2D)
     {
         writer.Write((int)XmlObjectType.Rectangle2D);
         writer.Write((Rectangle2D)obj);
     }
     else if (obj is Rectangle3D)
     {
         writer.Write((int)XmlObjectType.Rectangle3D);
         writer.Write((Rectangle3D)obj);
     }
     else if (obj is double)
     {
         writer.Write((int)XmlObjectType.Double);
         writer.Write((double)obj);
     }
     else if (obj is int)
     {
         writer.Write((int)XmlObjectType.Integer);
         writer.Write((int)obj);
     }
     else if (obj is bool)
     {
         writer.Write((int)XmlObjectType.Boolean);
         writer.Write((bool)obj);
     }
     else if (obj is ulong)
     {
         writer.Write((int)XmlObjectType.UInt64);
         writer.Write((ulong)obj);
     }
     else if (obj is string)
     {
         writer.Write((int)XmlObjectType.String);
         writer.Write((string)obj);
     }
     else if (obj is Type)
     {
         writer.Write((int)XmlObjectType.Type);
         var splitType = obj.ToString().Split('.');
         writer.Write(splitType[splitType.Length - 1]);
     }
     else
     {
         writer.Write((int)XmlObjectType.Other);
         LoggingCustom.Log(
             "ERROR_Uberscript.txt",
             DateTime.Now + ": xmlobject: " + Name + " attached to " + AttachedTo +
             " with data that cannot be serialized: data = " + m_DataValue);
     }
 }