internal void Serialize(GenericWriter writer) { writer.WriteEncodedInt(0); // version writer.Write((TimeSpan)m_DuelTime); writer.WriteMobileList<Mobile>(m_AgainstList); }
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 ); }
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)); } } } }
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); }
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 ); }
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 ); }
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); }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.WriteEncodedInt((int) 0); writer.WriteMobileList( m_Pups, true ); }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.WriteEncodedInt(0); writer.WriteMobileList(m_Spawned); }
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); } }
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 ); }
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 ); }
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); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 1 ); writer.WriteMobileList( m_Orcs, true ); }
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); }
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 ); }
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]); } }
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); }
public void SaveFriends(GenericWriter writer) { writer.Write(1); // Version writer.WriteMobileList(c_Friends, true); }
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); }
public void SaveIgnores(GenericWriter writer) { writer.Write(1); // Version writer.WriteMobileList(c_Ignores, true); }
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 ) ); } } } }
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); } }
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()); }
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 }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int)0); writer.WriteMobileList(m_pups, true); }
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] ); }
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 ); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int)0 ); writer.Write( (Mobile)m_Owner ); writer.WriteMobileList( m_Friends ); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.WriteEncodedInt( 0 ); // version writer.WriteMobileList<Mobile>( m_Spawned ); }
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); } }