Server.Mobiles.BaseCreature.Serialize C# (CSharp) Method

Serialize() public method

public Serialize ( GenericWriter writer ) : void
writer GenericWriter
return void
        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );

            writer.Write( (int) 17 ); // 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_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 );
            // 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.Write( 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.Write( m_Friends, true );

            // Version 14
            writer.Write( (bool)m_RemoveIfUntamed );
            writer.Write( (int)m_RemoveStep );

            // Version 17
            if ( IsStabled || ( Controlled && ControlMaster != null ) )
                writer.Write( TimeSpan.Zero );
            else
                writer.Write( DeleteTimeLeft );
        }
BaseCreature