public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.WriteMobileList( m_Voteds, true ); }
private static bool Serialize(GenericWriter writer) { writer.WriteBlockDictionary( Registry, (name, players) => { writer.Write(name); writer.WriteMobileList(players, true); }); return true; }
public void SaveGlobalListens(GenericWriter writer) { writer.Write(1); // Version writer.WriteMobileList(c_GIgnores, true); writer.WriteMobileList(c_GListens, true); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.WriteEncodedInt( 0 ); // version writer.WriteMobileList<Mobile>( m_Spawned ); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); //ARTEGORDONMOD // changed from version 13 to version 14 writer.Write( (int) 14 ); // 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 ); int i=0; writer.Write( (int) m_arSpellAttack.Count ); for ( i=0; i< m_arSpellAttack.Count; i++ ) { writer.Write( m_arSpellAttack[i].ToString() ); } writer.Write( (int) m_arSpellDefense.Count ); for ( i=0; i< m_arSpellDefense.Count; i++ ) { writer.Write( m_arSpellDefense[i].ToString() ); } // Version 2 writer.Write( (int) m_FightMode ); writer.Write( (bool) m_bControled ); 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 ); // Removed in version 9 //writer.Write( (double) m_dMaxTameSkill ); 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 ); // 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 ); // ARTEGORDONMOD // Version 14 if(m_AI != null && m_AI.m_DeactivationTimer != null && m_AI.m_DeactivationTimer.Running){ // write out the time left on the deactivation timer writer.Write( (TimeSpan) (m_AI.m_DeactivationTimer.m_End - DateTime.Now)); } else { // not active so on deserialization deactivate immediately writer.Write( (TimeSpan) TimeSpan.Zero ); } }
public override void Serialize( GenericWriter writer ) { //cleanup our anti-macro table foreach ( Hashtable t in m_AntiMacroTable.Values ) { ArrayList remove = new ArrayList(); foreach ( CountAndTimeStamp time in t.Values ) { if ( time.TimeStamp + SkillCheck.AntiMacroExpire <= DateTime.Now ) remove.Add( time ); } for (int i=0;i<remove.Count;++i) t.Remove( remove[i] ); } if ( m_NextBountyDecay != DateTime.MinValue ) { bool update = false; while ( m_Bounty > 0 && m_NextBountyDecay < DateTime.Now ) { update = true; m_Bounty -= 100; m_NextBountyDecay += TimeSpan.FromDays( 1.0 ); } if ( m_Bounty < 0 ) m_Bounty = 0; if ( update ) BountyBoard.Update( this ); } base.Serialize( writer ); writer.Write( (int) 18 ); // version writer.Write( m_NextBountyDecay ); writer.Write( m_LastUpdate ); writer.Write( m_LastLogin ); writer.Write( m_NextNotoUp ); writer.Write( m_Cohesion ); writer.Write( (TimeSpan)(DateTime.Now - m_LastCohesion) ); writer.Write( m_AssumeGhost ); writer.Write( (byte)m_SkillUsageOrder.Length ); for(int i=0;i<m_SkillUsageOrder.Length;i++) writer.Write( (byte)m_SkillUsageOrder[i] ); writer.Write( (int) m_Bounty ); writer.WriteEncodedInt( m_CompassionGains ); if ( m_CompassionGains > 0 ) writer.WriteDeltaTime( m_NextCompassionDay ); 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) 4 ); // version writer.WriteMobileList( m_Identified, true ); writer.Write( (int)m_Effect ); writer.Write( (int)m_EffectCharges ); //writer.Write( m_Identified ); writer.Write( (bool) m_PlayerConstructed ); writer.Write( (Mobile) m_Crafter ); writer.Write( (int) m_Quality ); }
public virtual void Serialize( GenericWriter writer ) { writer.Write( (int) 28 ); // version writer.WriteDeltaTime( m_LastStatGain ); writer.Write( (int) m_TithingPoints ); writer.Write( m_Corpse ); writer.Write( m_CreationTime ); writer.WriteMobileList( m_Stabled, true ); writer.Write( m_CantWalk ); VirtueInfo.Serialize( writer, m_Virtues ); writer.Write( m_Thirst ); writer.Write( m_BAC ); writer.Write( m_ShortTermMurders ); //writer.Write( m_ShortTermElapse ); //writer.Write( m_LongTermElapse ); //writer.Write( m_Followers ); writer.Write( m_FollowersMax ); writer.Write( m_MagicDamageAbsorb ); writer.Write( m_GuildFealty ); writer.Write( m_Guild ); writer.Write( m_DisplayGuildTitle ); writer.Write( m_CanSwim ); writer.Write( m_Squelched ); writer.Write( m_Holding ); writer.Write( m_VirtualArmor ); writer.Write( m_BaseSoundID ); writer.Write( m_DisarmReady ); writer.Write( m_StunReady ); //Poison.Serialize( m_Poison, writer ); writer.Write( m_StatCap ); writer.Write( m_NameHue ); writer.Write( m_Hunger ); writer.Write( m_Location ); writer.Write( (int) m_Body ); writer.Write( m_Name ); writer.Write( m_GuildTitle ); writer.Write( m_Criminal ); writer.Write( m_Kills ); writer.Write( m_SpeechHue ); writer.Write( m_EmoteHue ); writer.Write( m_WhisperHue ); writer.Write( m_YellHue ); writer.Write( m_Language ); writer.Write( m_Female ); writer.Write( m_Warmode ); writer.Write( m_Hidden ); writer.Write( (byte) m_Direction ); writer.Write( m_Hue ); writer.Write( m_Str ); writer.Write( m_Dex ); writer.Write( m_Int ); writer.Write( m_Hits ); writer.Write( m_Stam ); writer.Write( m_Mana ); writer.Write( m_Map ); writer.Write( m_Blessed ); writer.Write( m_Fame ); writer.Write( m_Karma ); writer.Write( (byte) m_AccessLevel ); m_Skills.Serialize( writer ); writer.Write( m_Items.Count ); for ( int i = 0; i < m_Items.Count; ++i ) writer.Write( (Item)m_Items[i] ); writer.Write( m_Player ); writer.Write( m_Title ); writer.Write( m_Profile ); writer.Write( m_ProfileLocked ); //writer.Write( m_LightLevel ); //writer.Write( m_TotalGold ); //writer.Write( m_TotalWeight ); writer.Write( m_AutoPageNotify ); writer.Write( m_LogoutLocation ); writer.Write( m_LogoutMap ); writer.Write( (byte) m_StrLock ); writer.Write( (byte) m_DexLock ); writer.Write( (byte) m_IntLock ); if ( m_StuckMenuUses != null ) { writer.Write( true ); writer.Write( m_StuckMenuUses.Length ); for ( int i = 0; i < m_StuckMenuUses.Length; ++i ) { writer.Write( m_StuckMenuUses[i] ); } } else { writer.Write( false ); } }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 1 ); // version writer.Write( (bool) ( m_Tasters != null && m_Tasters.Count > 0 ) ); if ( m_Tasters != null && m_Tasters.Count > 0 ) writer.WriteMobileList( m_Tasters, true ); writer.Write( (int) m_PotionEffect ); }
// public void On /// <summary> /// Serializes the specified writer. /// </summary> /// <param name="writer">The writer.</param> public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int)3); // version writer.Write(m_LastAnnounceTime); writer.WriteMobileList<PlayerMobile>(new List<PlayerMobile>(m_ShopperQueue)); writer.WriteMobileList<PlayerMobile>(new List<PlayerMobile>(m_VisitorQueue)); writer.Write((int)m_City); writer.WriteItemList<ChampKinCity>(m_Champs); }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int)0); // version // version 0 writer.WriteMobileList<Mobile>(m_mobiles, true); writer.WriteItemList<Item>(m_items, true); }
public override void Serialize( GenericWriter writer ) { if ( this.LastFealty+TimeSpan.FromDays( 1.0 ) < DateTime.Now ) this.CalculateGuildmaster(); writer.Write( (int) 4 );//version 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 ); }
protected void Save(GenericWriter writer) { writer.Write(1); // Version writer.WriteMobileList(c_Mobiles, true); writer.Write(c_Filter); writer.Write(c_Delay); writer.Write(c_Name); writer.Write((int)c_Style); writer.Write(c_ToIrc); writer.Write(c_NewChars); writer.Write(c_ShowStaff); writer.Write(c_Enabled); writer.Write(c_Colors.Count); foreach(Mobile m in c_Colors.Keys) { writer.Write(m); writer.Write((int)c_Colors[m]); } writer.Write(c_Commands.Count); foreach (string str in c_Commands) writer.Write(str); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write( (Mobile) m_Peerless ); writer.Write( (Point3D) m_BossLocation ); writer.Write( (Point3D) m_TeleportDest ); writer.Write( (Point3D) m_ExitDest ); writer.Write( (DateTime) m_Deadline ); // serialize master keys writer.WriteItemList( m_MasterKeys ); // serialize fighters writer.WriteMobileList( m_Fighters ); // serialize pets writer.Write( (int) m_Pets.Count ); foreach ( KeyValuePair<Mobile,List<Mobile>> pair in m_Pets ) { writer.Write( (Mobile) pair.Key ); writer.WriteMobileList( pair.Value ); } writer.Write( (bool) m_Spawned ); }
//Serialize #region serialize public override void Serialize(GenericWriter writer) { base.Serialize (writer); writer.Write( (int) 3 ); // version // version 3 writer.Write((double)m_LevelScale); // errors for this level // version 2 writer.Write( (int)m_LevelError ); // errors for this level // version 1 writer.WriteDeltaTime(m_End); //Next spawn time // first up is the spawn data // version 0 writer.Write( (int)m_Type ); writer.Write( (int)SpawnLevels.Count ); foreach( ChampLevelData data in SpawnLevels ) data.Serialize(writer); //now the monsters + misc data writer.WriteMobileList ( m_Monsters ); writer.WriteMobileList( m_FreeMonsters ); writer.Write( (int)m_LevelCounter ); writer.Write( (int)m_Kills ); writer.Write((DateTime) m_ExpireTime ); // nav dest writer.Write( (int)m_NavDest ); // the bools writer.Write( (bool)m_bActive ); //pla: 02/11/07 //Check here incase the altar or platform has been deleted. //in which case we just set the grpahics to false and they can be //switched back on on reload. Prevents the champ from crashing on load //if the gfx were accidentally deleted through [delete ///////////////////////////////////////////////////////////////////// if (m_bGraphics && !m_Graphics.IsHealthy()) { //call delete code as these save on world save anyway m_Graphics.Delete(); m_bGraphics = false; } writer.Write( (bool)m_bGraphics ); // NavDest // the altar and platform if( m_bGraphics ) { m_Graphics.Serialize( writer ); } writer.Write( (bool)m_bRestart ); writer.Write( m_RestartDelay ); // And finally if the restart timer is currently on or not, and the delay value. writer.Write( m_Restart != null ); }
public override void Serialize( GenericWriter writer ) { base.Serialize(writer); writer.Write(1); // Version writer.WriteItemList(m_market, true); writer.WriteMobileList(m_marketmob, true); }
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 ) { #region garbage? //cleanup our anti-macro table foreach ( Hashtable t in m_AntiMacroTable.Values ) { ArrayList remove = new ArrayList(); foreach ( CountAndTimeStamp time in t.Values ) { if ( time.TimeStamp + AntiMacroExpire <= DateTime.Now ) remove.Add( time ); } for (int i=0;i<remove.Count;++i) t.Remove( remove[i] ); } #endregion base.Serialize( writer ); int version = 32; // updates for NPCGuils 'smart serialization' writer.Write( version ); // write the version SaveFlag saveFlags = WriteSaveBits(writer); // calculate and write the bits that describe what we will write /////////////////////////////////////////////////// // put all normal serialization below this line /////////////////////////////////////////////////// //Adam: v32 add mini game ID and save data. if (GetSaveFlag(saveFlags, SaveFlag.ZCodeMiniGame) == true) { // assert (record) this case if (Misc.Diagnostics.Assert(m_ZCodeMiniGameData != null && m_ZCodeMiniGameData.Length > 0, "In PlayerMobile.cs the following is NOT true: m_ZCodeMiniGameData != null && m_ZCodeMiniGameData.Length > 0")) { writer.Write(m_ZCodeMiniGameID); // hash code of the string naming the mini game writer.Write(m_ZCodeMiniGameData.Length); // buffer size writer.Write(m_ZCodeMiniGameData, 0, m_ZCodeMiniGameData.Length); // saved game } } //Adam: v31 Add in new points tracker for NPCGuilds if (GetSaveFlag(saveFlags, SaveFlag.NPCGuild) == true) writer.Write(m_NpcGuildPoints); //Adam: v.30 Dummy version, removed NPCGuild vars when not needed //Pla: v.29 - dummy version for duel system removal //Pix: v.28 - Kin Faction Stuff writer.Write(m_KinSoloPoints); writer.Write(m_KinTeamPoints); //Pix: v.27 - Challenge Duel //Pla: No longer used as of v.29 //writer.Write(m_iChallengeDuelWins); //writer.Write(m_iChallengeDuelLosses); //Adam: v.26 writer.Write(m_Blind); writer.Write(m_SightExpire); //Pix: v.25 Watchlist enhancements writer.Write(m_WatchReason); writer.Write(m_WatchExpire); //Rhi: [FilterMusic writer.Write( m_FilterMusic ); //PIX: new IOB funcionality writer.Write( m_IOBKillPoints ); writer.Write( (int)m_LastGuildIOBAlignment ); writer.Write( this.m_LastGuildChange ); // tk - [report writer.Write(m_Reported); //Pix: Offline short count decay writer.Write( m_LastShortDecayed ); //Pix: TimeSpan for RANK of bretheren TimeSpan ranktime = m_IOBRankTime; if( IOBEquipped && m_IOBStartedWearing > DateTime.MinValue ) { ranktime += (DateTime.Now - m_IOBStartedWearing); } writer.Write( ranktime ); //Pix: 3/26/06 - changes to IOB system // no longer store IOBAlignment or IOBTimer in PMs //writer.Write( (int) m_IOBAlignment ); //writer.Write( IOBTimer ); writer.Write( (bool) m_IOBEquipped ); 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 = (QuestRestartInfo)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 ); // Adam: Version 30 optimization: Only write values if we belong to a guild if (GetSaveFlag(saveFlags, SaveFlag.NPCGuild) == true) { 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) 1 ); // version writer.Write( m_RegionBounds ); writer.WriteItemList( m_Traps, false ); writer.WriteMobileList( m_Creatures, false ); writer.Write( m_TypeName ); writer.Write( m_Door ); writer.Write( m_Addon ); writer.Write( m_Sequence ); writer.Write( (int) m_State ); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int)4 ); // version writer.Write( m_ConfinedRoaming ); writer.Write( m_Idol ); writer.Write( m_HasBeenAdvanced ); writer.Write( m_SpawnArea ); writer.Write( m_RandomizeType ); // writer.Write( m_SpawnRange ); writer.Write( m_Kills ); writer.Write( (bool)m_Active ); writer.Write( (int)m_Type ); writer.WriteMobileList( m_Creatures, true ); writer.WriteItemList( m_RedSkulls, true ); writer.WriteItemList( m_WhiteSkulls, true ); writer.Write( m_Platform ); writer.Write( m_Altar ); writer.Write( m_ExpireDelay ); writer.WriteDeltaTime( m_ExpireTime ); writer.Write( m_Champion ); writer.Write( m_RestartDelay ); writer.Write( m_RestartTimer != null ); if( m_RestartTimer != null ) writer.WriteDeltaTime( m_RestartTime ); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.WriteItemList( m_Items, true ); writer.WriteMobileList( m_Mobiles, true ); writer.WriteDeltaTime( m_DecayTime ); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 14 ); // 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 ); WriteTypeArray(writer, m_arSpellAttack); WriteTypeArray(writer, m_arSpellDefense); // Version 2 writer.Write( (int) m_FightMode ); writer.Write( (bool) ( m_bControlled || m_CannotControl.Contains( this ) ) ); 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 ); // Removed in version 9 //writer.Write( (double) m_dMaxTameSkill ); 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 == null ? ms_EmptyArrayList : 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 ); // 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( (bool)m_RemoveIfUntamed ); writer.Write( (int)m_RemoveStep ); writer.Write( (bool) m_IsChampionMonster ); writer.Write( (int) m_SpawnLevel ); }
public override void Serialize(GenericWriter writer) { base.Serialize(writer); writer.Write((int) 0); writer.WriteMobileList( m_sheep, true ); writer.WriteMobileList(m_dog, true); }
public virtual void Serialize( GenericWriter writer ) { writer.Write( (int) 36 ); // version /* Version 32 */ byte hairflag = 0x00; if ( m_Hair != null ) hairflag |= 0x01; if ( m_FacialHair != null ) hairflag |= 0x02; writer.Write( (byte) hairflag ); if ( ( hairflag & 0x01 ) != 0 ) m_Hair.Serialize( writer ); if ( ( hairflag & 0x02 ) != 0 ) m_FacialHair.Serialize( writer ); /* Version 31 */ writer.Write( m_InstanceID ); /* Version 30 */ writer.Write( m_Race ); writer.Write( (int) m_TithingPoints ); writer.Write( m_Corpse ); writer.Write( m_CreationTime ); writer.WriteMobileList( m_Stabled, true ); writer.Write( m_CantWalk ); VirtueInfo.Serialize( writer, m_Virtues ); writer.Write( m_Thirst ); writer.Write( m_BAC ); writer.Write( m_ShortTermMurders ); writer.Write( m_MagicDamageAbsorb ); writer.Write( m_GuildFealty ); writer.Write( m_Guild ); writer.Write( m_DisplayGuildTitle ); writer.Write( m_CanSwim ); writer.Write( m_Squelched ); writer.Write( m_Holding ); writer.Write( m_BaseSoundID ); writer.Write( m_DisarmReady ); writer.Write( m_StunReady ); //Poison.Serialize( m_Poison, writer ); writer.Write( m_StatCap ); writer.Write( m_NameHue ); writer.Write( m_Hunger ); writer.Write( m_Location ); writer.Write( (int) m_Body ); writer.Write( m_Name ); writer.Write( m_GuildTitle ); writer.Write( m_Criminal ); writer.Write( m_Kills ); writer.Write( m_SpeechHue ); writer.Write( m_EmoteHue ); writer.Write( m_WhisperHue ); writer.Write( m_YellHue ); writer.Write( m_Language ); writer.Write( m_Female ); writer.Write( m_Warmode ); writer.Write( m_Hidden ); writer.Write( (byte) m_Direction ); writer.Write( m_Hue ); writer.Write( m_Str ); writer.Write( m_Dex ); writer.Write( m_Int ); writer.Write( m_Hits ); writer.Write( m_Stam ); writer.Write( m_Mana ); writer.Write( m_Map ); writer.Write( m_Blessed ); writer.Write( m_Fame ); writer.Write( m_Karma ); writer.Write( (byte) m_AccessLevel ); m_Skills.Serialize( writer ); writer.Write( m_EquippedItems.Count ); for ( int i = 0; i < m_EquippedItems.Count; ++i ) writer.Write( (Item) m_EquippedItems[i] ); writer.Write( m_IsPlayer ); writer.Write( m_Title ); writer.Write( m_Profile ); writer.Write( m_ProfileLocked ); writer.Write( m_AutoPageNotify ); writer.Write( m_LogoutLocation ); writer.Write( m_LogoutMap ); writer.Write( (byte) m_StrLock ); writer.Write( (byte) m_DexLock ); writer.Write( (byte) m_IntLock ); if ( m_StuckMenuUses != null ) { writer.Write( true ); writer.Write( m_StuckMenuUses.Length ); for ( int i = 0; i < m_StuckMenuUses.Length; ++i ) { writer.Write( m_StuckMenuUses[i] ); } } else { writer.Write( false ); } }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 14 ); // version writer.Write( (Point3D) m_RelativeBanLocation ); writer.WriteItemList( m_VendorRentalContracts, true ); writer.WriteMobileList( m_InternalizedVendors, true ); writer.WriteEncodedInt( m_RelocatedEntities.Count ); foreach ( RelocatedEntity relEntity in 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( 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.Write( m_LastTraded ); writer.WriteItemList( m_Addons, true ); writer.Write( m_Secures.Count ); for ( int i = 0; i < m_Secures.Count; ++i ) ((SecureInfo)m_Secures[i]).Serialize( writer ); 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 override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.Write( (int) 0 ); // version writer.Write( m_TrueForm ); writer.Write( m_GateItem ); writer.WriteMobileList<HarrowerTentacles>( m_Tentacles ); }
public void SaveFriends(GenericWriter writer) { writer.Write(1); // Version writer.WriteMobileList(c_Friends, true); }
public override void Serialize( GenericWriter writer ) { base.Serialize( writer ); writer.WriteEncodedInt( 0 ); // version writer.WriteEncodedInt( m_Topic.Length ); for ( int i = 0; i < m_Topic.Length; i++ ) writer.Write( (string) m_Topic[i] ); writer.WriteMobileList( m_Yes, true ); writer.WriteMobileList( m_No, true ); }
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) 2 ); // version writer.WriteMobileList( m_Guardians, true ); writer.Write( (bool) m_Temporary ); writer.Write( m_Owner ); writer.Write( (int) m_Level ); writer.WriteDeltaTime( m_DeleteTime ); writer.WriteItemList( m_Lifted, true ); }