예제 #1
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            // Version 4
            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            // Version 3
            writer.Write((int)m_Slayer);
            writer.Write((int)m_Slayer2);

            // Version 2
            writer.Write((bool)m_Ownable);
            writer.Write((Mobile)m_Owner);
            writer.Write((int)m_CraftBonusRegular);
            writer.Write((int)m_CraftBonusRegularValue);
            writer.Write((int)m_CraftBonusExcep);
            writer.Write((int)m_CraftBonusExcepValue);
            writer.Write((int)m_ProtectionEntry);
            writer.Write((int)m_ProtectionValue);
            writer.Write((int)m_KillersEntry);
            writer.Write((int)m_KillersValue);
            writer.Write((int)m_TalisSlayer);
            writer.Write((int)m_TalismanType);
            writer.Write((int)m_Charges);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_SkillBonuses.Serialize(writer);
        }
예제 #2
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(10); // version

            writer.Write(m_PlayerConstructed);

            m_TalismanProtection.Serialize(writer);

            writer.Write(_VvVItem);
            writer.Write(_Owner);
            writer.Write(_OwnerName);

            //Version 7
            writer.Write((bool)m_IsImbued);

            // Version 6
            m_NegativeAttributes.Serialize(writer);

            // Version 5
            #region Region Reforging
            writer.Write((int)m_ReforgedPrefix);
            writer.Write((int)m_ReforgedSuffix);
            writer.Write((int)m_ItemPower);
            writer.Write(m_BlockRepair);
            #endregion

            #region Stygian Abyss
            writer.Write(m_GorgonLenseCharges);
            writer.Write((int)m_GorgonLenseType);

            // Version 4
            writer.WriteEncodedInt((int)m_TimesImbued);

            m_SAAbsorptionAttributes.Serialize(writer);
            #endregion

            writer.Write((Mobile)m_BlessedBy);
            writer.Write((bool)m_LastEquipped);
            writer.Write((bool)m_SetEquipped);
            writer.WriteEncodedInt((int)m_SetHue);

            m_SetAttributes.Serialize(writer);
            m_SetSkillBonuses.Serialize(writer);

            writer.Write(m_Crafter);
            writer.Write((int)m_Quality);

            // Version 3
            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #3
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            #region Mondain's Legacy Sets version 4
            writer.Write((bool)m_LastEquipped);
            writer.Write((bool)m_SetEquipped);
            writer.WriteEncodedInt((int)m_SetHue);

            m_SetAttributes.Serialize(writer);
            m_SetSkillBonuses.Serialize(writer);
            #endregion

            #region Mondain's Legacy version 3
            writer.Write((Mobile)m_Crafter);
            writer.Write((int)m_Quality);
            #endregion

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #4
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.Write(m_ReplenishesCharges);
            if (m_ReplenishesCharges)
            {
                writer.Write(m_LastReplenished);
            }

            writer.Write(m_Crafter);

            writer.WriteEncodedInt((int)m_Quality);
            writer.WriteEncodedInt((int)m_Slayer);
            writer.WriteEncodedInt((int)m_Slayer2);

            writer.WriteEncodedInt((int)UsesRemaining);

            writer.WriteEncodedInt((int)m_WellSound);
            writer.WriteEncodedInt((int)m_BadlySound);

            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            writer.WriteEncodedInt((int)m_Resource);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #5
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #6
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Resource, m_Resource != DefaultResource);
            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ClothingAttributes, !m_AosClothingAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Resistances, !m_AosResistances.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed != false);
            SetSaveFlag(ref flags, SaveFlag.StrReq, m_StrReq != -1);
            SetSaveFlag(ref flags, SaveFlag.IPYInvisible, IsInvisible);

            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.Resource))
            {
                writer.WriteEncodedInt((int)m_Resource);
            }

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

            if (GetSaveFlag(flags, SaveFlag.ClothingAttributes))
            {
                m_AosClothingAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_AosSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.Resistances))
            {
                m_AosResistances.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.StrReq))
            {
                writer.WriteEncodedInt((int)m_StrReq);
            }
        }
예제 #7
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);
            writer.Write((int)1);

            if (m_AosElementDamages.IsEmpty)
            {
                writer.Write(0);
            }
            else
            {
                writer.Write(1);
                m_AosElementDamages.Serialize(writer);
            }
        }
예제 #8
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            m_AosAttributes.Serialize(writer);
            m_AosClothingAttributes.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
            m_AosResistances.Serialize(writer);

            writer.Write((bool)m_PlayerConstructed);

            writer.Write((Mobile)m_Crafter);
            writer.Write((int)m_Quality);
        }
예제 #9
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            if (m_AosAttributes == null)
            {
                new AosAttributes(this).Serialize(writer);
            }
            else
            {
                m_AosAttributes.Serialize(writer);
            }

            if (m_AosClothingAttributes == null)
            {
                new AosArmorAttributes(this).Serialize(writer);
            }
            else
            {
                m_AosClothingAttributes.Serialize(writer);
            }

            if (m_AosSkillBonuses == null)
            {
                new AosSkillBonuses(this).Serialize(writer);
            }
            else
            {
                m_AosSkillBonuses.Serialize(writer);
            }

            if (m_AosResistances == null)
            {
                new AosAttributes(this).Serialize(writer);
            }
            else
            {
                m_AosResistances.Serialize(writer);
            }

            writer.Write((bool)m_PlayerConstructed);

            writer.Write((Mobile)m_Crafter);
            writer.Write((int)m_Quality);
        }
예제 #10
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            #region ItemID_Mods
            writer.Write((bool)m_Identified);
            #endregion

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #11
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            #region Mondain's Legacy version 3
            writer.Write((Mobile)m_Crafter);
            writer.Write((int)m_Quality);
            #endregion

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #12
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            writer.Write((bool)m_Identified);                //Until we determine what to do
            writer.Write((int)m_ChargedAbility);             //Until we determine what to do
            writer.Write((int)m_AbilityCharges);             //Until we determine what to do

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #13
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.Write((List <Mobile>)m_IDList, true);

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);
            writer.Write((bool)m_Identified);
            writer.Write((int)m_Charges);
            writer.WriteEncodedInt((int)m_JewelEffect);



            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #14
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.Write((Mobile)m_Crafter);
            writer.Write((bool)m_PlayerConstructed);
            writer.Write((bool)m_Identified);

            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #15
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            #region SF Imbuing
            writer.WriteEncodedInt((int)m_TimesImbued);
            #endregion
            #region SA
            m_SAAbsorptionAttributes.Serialize(writer);
            #endregion

            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            writer.Write((Mobile)m_BlessedBy);               // Personal Bless Deed

            #region Mondain's Legacy Sets version 4
            writer.Write((bool)m_LastEquipped);
            writer.Write((bool)m_SetEquipped);
            writer.WriteEncodedInt((int)m_SetHue);

            m_SetAttributes.Serialize(writer);
            m_SetSkillBonuses.Serialize(writer);
            #endregion

            #region Mondain's Legacy version 3
            writer.Write((Mobile)m_Crafter);
            writer.Write((int)m_Quality);
            #endregion

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.Write((string)m_Crafter_Name);

            writer.Write((int)m_MaxHitPoints);
            writer.Write((int)m_HitPoints);

            writer.Write((int)m_Resource);

            m_AosAttributes.Serialize(writer);
            m_AosClothingAttributes.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
            m_AosResistances.Serialize(writer);

            writer.Write((bool)m_PlayerConstructed);

            writer.Write((Mobile)m_Crafter);
            writer.Write((int)m_Quality);
        }
예제 #17
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            writer.Write((bool)m_Exceptional);
            writer.Write((bool)m_PlayerConstructed);
            writer.Write((Mobile)m_Crafter);

            m_AbsorptionAttributes.Serialize(writer);

            writer.WriteEncodedInt((int)m_TimesImbued);

            writer.WriteEncodedInt((int)m_MaxHitPoints);
            writer.WriteEncodedInt((int)m_HitPoints);

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_SkillBonuses.Serialize(writer);
        }
예제 #18
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(1); // version

            SaveFlag flags = SaveFlag.None;

            // Version 1
            m_AosSkillBonuses.Serialize(writer);
            m_Resistances.Serialize(writer);

            SetSaveFlag(ref flags, SaveFlag.Attributes, !this.m_Attributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.LowerAmmoCost, this.m_LowerAmmoCost != 0);
            SetSaveFlag(ref flags, SaveFlag.WeightReduction, this.m_WeightReduction != 0);
            SetSaveFlag(ref flags, SaveFlag.DamageIncrease, this.m_DamageIncrease != 0);
            SetSaveFlag(ref flags, SaveFlag.Crafter, this.m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, true);
            SetSaveFlag(ref flags, SaveFlag.Capacity, this.m_Capacity > 0);

            #region Mondain's Legacy Sets
            SetSaveFlag(ref flags, SaveFlag.SetAttributes, !this.m_SetAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SetSkillAttributes, !this.m_SetSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SetHue, this.m_SetHue != 0);
            SetSaveFlag(ref flags, SaveFlag.LastEquipped, this.m_LastEquipped);
            SetSaveFlag(ref flags, SaveFlag.SetEquipped, this.m_SetEquipped);
            #endregion

            writer.WriteEncodedInt((int)flags);

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

            if (GetSaveFlag(flags, SaveFlag.LowerAmmoCost))
            {
                writer.Write((int)this.m_LowerAmmoCost);
            }

            if (GetSaveFlag(flags, SaveFlag.WeightReduction))
            {
                writer.Write((int)this.m_WeightReduction);
            }

            if (GetSaveFlag(flags, SaveFlag.DamageIncrease))
            {
                writer.Write((int)this.m_DamageIncrease);
            }

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

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

            if (GetSaveFlag(flags, SaveFlag.Capacity))
            {
                writer.Write((int)this.m_Capacity);
            }

            #region Mondain's Legacy Sets
            if (GetSaveFlag(flags, SaveFlag.SetAttributes))
            {
                this.m_SetAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SetSkillAttributes))
            {
                this.m_SetSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SetHue))
            {
                writer.Write((int)this.m_SetHue);
            }

            if (GetSaveFlag(flags, SaveFlag.LastEquipped))
            {
                writer.Write((bool)this.m_LastEquipped);
            }

            if (GetSaveFlag(flags, SaveFlag.SetEquipped))
            {
                writer.Write((bool)this.m_SetEquipped);
            }
            #endregion
        }
예제 #19
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(12); // version

            // Version 12 - removed VvV Item (handled in VvV System) and BlockRepair (Handled as negative attribute)

            writer.Write(m_SetPhysicalBonus);
            writer.Write(m_SetFireBonus);
            writer.Write(m_SetColdBonus);
            writer.Write(m_SetPoisonBonus);
            writer.Write(m_SetEnergyBonus);

            writer.Write(m_PlayerConstructed);

            m_TalismanProtection.Serialize(writer);

            writer.Write(_Owner);
            writer.Write(_OwnerName);

            //Version 7
            writer.Write(m_IsImbued);

            // Version 6
            m_NegativeAttributes.Serialize(writer);

            // Version 5
            #region Region Reforging
            writer.Write((int)m_ReforgedPrefix);
            writer.Write((int)m_ReforgedSuffix);
            writer.Write((int)m_ItemPower);
            #endregion

            #region Stygian Abyss
            writer.Write(m_GorgonLenseCharges);
            writer.Write((int)m_GorgonLenseType);

            // Version 4
            writer.WriteEncodedInt(m_TimesImbued);

            m_SAAbsorptionAttributes.Serialize(writer);
            #endregion

            writer.Write(m_BlessedBy);
            writer.Write(m_LastEquipped);
            writer.Write(m_SetEquipped);
            writer.WriteEncodedInt(m_SetHue);

            m_SetAttributes.Serialize(writer);
            m_SetSkillBonuses.Serialize(writer);

            writer.Write(m_Crafter);
            writer.Write((int)m_Quality);

            // Version 3
            writer.WriteEncodedInt(m_MaxHitPoints);
            writer.WriteEncodedInt(m_HitPoints);

            writer.WriteEncodedInt((int)m_Resource);
            writer.WriteEncodedInt((int)m_GemType);

            m_AosAttributes.Serialize(writer);
            m_AosResistances.Serialize(writer);
            m_AosSkillBonuses.Serialize(writer);
        }
예제 #20
0
        public override void Serialize(GenericWriter writer)
        {
            #region Ethics
            if (m_EthicState != null && m_EthicState.HasExpired)
            {
                m_EthicState.Detach();
            }
            #endregion

            #region Factions
            if (m_FactionState != null && m_FactionState.HasExpired)
            {
                m_FactionState.Detach();
            }
            #endregion

            base.Serialize(writer);

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

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Resource, m_Resource != DefaultResource);
            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ClothingAttributes, !m_AosClothingAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Resistances, !m_AosResistances.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.MaxHitPoints, m_MaxHitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.HitPoints, m_HitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed != false);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, m_Quality != ClothingQuality.Regular);
            SetSaveFlag(ref flags, SaveFlag.StrReq, m_StrReq != -1);
            SetSaveFlag(ref flags, SaveFlag.Identified, m_Identified != false);

            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.Resource))
            {
                writer.WriteEncodedInt((int)m_Resource);
            }

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

            if (GetSaveFlag(flags, SaveFlag.ClothingAttributes))
            {
                m_AosClothingAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_AosSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.Resistances))
            {
                m_AosResistances.Serialize(writer);
            }

            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.StrReq))
            {
                writer.WriteEncodedInt((int)m_StrReq);
            }
        }
예제 #21
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Resource, m_Resource != DefaultResource);
            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ClothingAttributes, !m_ClothingAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_SkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Resistances, !m_Resistances.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.MaxHitPoints, m_MaxHitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.HitPoints, m_HitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed != false);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Exceptional, m_Exceptional != false);
            SetSaveFlag(ref flags, SaveFlag.AbsorptionAttributes, !m_AbsorptionAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Altered, m_Altered);

            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.Resource))
            {
                writer.Write((int)m_Resource);
            }

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

            if (GetSaveFlag(flags, SaveFlag.ClothingAttributes))
            {
                m_ClothingAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_SkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.Resistances))
            {
                m_Resistances.Serialize(writer);
            }

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

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

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

            if (GetSaveFlag(flags, SaveFlag.AbsorptionAttributes))
            {
                m_AbsorptionAttributes.Serialize(writer);
            }
        }
예제 #22
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(7);               // version

            writer.Write(DonationClothing);
            writer.Write(Owner);

            writer.Write(m_IsRenamed);

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Resource, m_Resource != DefaultResource);
            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ClothingAttributes, !m_AosClothingAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Resistances, !m_AosResistances.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.MaxHitPoints, m_MaxHitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.HitPoints, m_HitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, m_Quality != ClothingQuality.Regular);
            SetSaveFlag(ref flags, SaveFlag.StrReq, m_StrReq != -1);

            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.Resource))
            {
                writer.WriteEncodedInt((int)m_Resource);
            }

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

            if (GetSaveFlag(flags, SaveFlag.ClothingAttributes))
            {
                m_AosClothingAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_AosSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.Resistances))
            {
                m_AosResistances.Serialize(writer);
            }

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

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

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

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

            if (GetSaveFlag(flags, SaveFlag.StrReq))
            {
                writer.WriteEncodedInt(m_StrReq);
            }
        }
예제 #23
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.SpellEffect, m_Effect != SpellEffect.None && m_EffectCharges > 0);
            SetSaveFlag(ref flags, SaveFlag.Resource, m_Resource != DefaultResource);
            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ClothingAttributes, !m_AosClothingAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Resistances, !m_AosResistances.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.MaxHitPoints, m_MaxHitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.HitPoints, m_HitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed != false);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, m_Quality != ClothingQuality.Regular);
            SetSaveFlag(ref flags, SaveFlag.StrReq, m_StrReq != -1);

            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.SpellEffect))
            {
                writer.Write((bool)m_Identified);
                writer.WriteEncodedInt((int)m_Effect);
                writer.WriteEncodedInt((int)m_EffectCharges);
            }

            if (GetSaveFlag(flags, SaveFlag.Resource))
            {
                writer.WriteEncodedInt((int)m_Resource);
            }

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

            if (GetSaveFlag(flags, SaveFlag.ClothingAttributes))
            {
                m_AosClothingAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_AosSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.Resistances))
            {
                m_AosResistances.Serialize(writer);
            }

            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.StrReq))
            {
                writer.WriteEncodedInt((int)m_StrReq);
            }
        }
예제 #24
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

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

            #region Set Items

            SetFlag sflags = SetFlag.None;

            SetSaveFlag(ref sflags, SetFlag.Attributes, !m_SetAttributes.IsEmpty);
            SetSaveFlag(ref sflags, SetFlag.SkillBonuses, !m_SetSkillBonuses.IsEmpty);
            SetSaveFlag(ref sflags, SetFlag.SetHue, m_SetHue != 0);
            SetSaveFlag(ref sflags, SetFlag.LastEquipped, m_LastEquipped);
            SetSaveFlag(ref sflags, SetFlag.SetEquipped, m_SetEquipped);

            writer.WriteEncodedInt((int)sflags);

            if (GetSaveFlag(sflags, SetFlag.Attributes))
            {
                m_SetAttributes.Serialize(writer);
            }

            if (GetSaveFlag(sflags, SetFlag.SkillBonuses))
            {
                m_SetSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(sflags, SetFlag.SetHue))
            {
                writer.WriteEncodedInt((int)m_SetHue);
            }

            if (GetSaveFlag(sflags, SetFlag.LastEquipped))
            {
                writer.Write((bool)m_LastEquipped);
            }

            if (GetSaveFlag(sflags, SetFlag.SetEquipped))
            {
                writer.Write((bool)m_SetEquipped);
            }


            #endregion

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Resource, m_Resource != DefaultResource);
            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_AosAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.ClothingAttributes, !m_AosClothingAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SkillBonuses, !m_AosSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.Resistances, !m_AosResistances.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.MaxHitPoints, m_MaxHitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.HitPoints, m_HitPoints != 0);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed != false);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, m_Quality != ClothingQuality.Regular);
            SetSaveFlag(ref flags, SaveFlag.StrReq, m_StrReq != -1);


            writer.WriteEncodedInt((int)flags);

            if (GetSaveFlag(flags, SaveFlag.Resource))
            {
                writer.WriteEncodedInt((int)m_Resource);
            }

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

            if (GetSaveFlag(flags, SaveFlag.ClothingAttributes))
            {
                m_AosClothingAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SkillBonuses))
            {
                m_AosSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.Resistances))
            {
                m_AosResistances.Serialize(writer);
            }

            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.StrReq))
            {
                writer.WriteEncodedInt((int)m_StrReq);
            }
        }
예제 #25
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            writer.Write(0);               // version

            SaveFlag flags = SaveFlag.None;

            SetSaveFlag(ref flags, SaveFlag.Attributes, !m_Attributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.DamageModifier, !m_DamageModifier.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.LowerAmmoCost, m_LowerAmmoCost != 0);
            SetSaveFlag(ref flags, SaveFlag.WeightReduction, m_WeightReduction != 0);
            SetSaveFlag(ref flags, SaveFlag.DamageIncrease, m_DamageIncrease != 0);
            SetSaveFlag(ref flags, SaveFlag.Crafter, m_Crafter != null);
            SetSaveFlag(ref flags, SaveFlag.Quality, true);
            SetSaveFlag(ref flags, SaveFlag.PlayerConstructed, m_PlayerConstructed);
            SetSaveFlag(ref flags, SaveFlag.Capacity, m_Capacity > 0);

            #region Mondain's Legacy Sets
            SetSaveFlag(ref flags, SaveFlag.SetAttributes, !m_SetAttributes.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SetSkillAttributes, !m_SetSkillBonuses.IsEmpty);
            SetSaveFlag(ref flags, SaveFlag.SetHue, m_SetHue != 0);
            SetSaveFlag(ref flags, SaveFlag.LastEquipped, m_LastEquipped);
            SetSaveFlag(ref flags, SaveFlag.SetEquipped, m_SetEquipped);
            #endregion

            writer.WriteEncodedInt((int)flags);

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

            if (GetSaveFlag(flags, SaveFlag.DamageModifier))
            {
                m_DamageModifier.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.LowerAmmoCost))
            {
                writer.Write((int)m_LowerAmmoCost);
            }

            if (GetSaveFlag(flags, SaveFlag.WeightReduction))
            {
                writer.Write((int)m_WeightReduction);
            }

            if (GetSaveFlag(flags, SaveFlag.DamageIncrease))
            {
                writer.Write((int)m_DamageIncrease);
            }

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

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

            if (GetSaveFlag(flags, SaveFlag.PlayerConstructed))
            {
                writer.Write((bool)m_PlayerConstructed);
            }

            if (GetSaveFlag(flags, SaveFlag.Capacity))
            {
                writer.Write((int)m_Capacity);
            }

            #region Mondain's Legacy Sets
            if (GetSaveFlag(flags, SaveFlag.SetAttributes))
            {
                m_SetAttributes.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SetSkillAttributes))
            {
                m_SetSkillBonuses.Serialize(writer);
            }

            if (GetSaveFlag(flags, SaveFlag.SetHue))
            {
                writer.Write((int)m_SetHue);
            }

            if (GetSaveFlag(flags, SaveFlag.LastEquipped))
            {
                writer.Write((bool)m_LastEquipped);
            }

            if (GetSaveFlag(flags, SaveFlag.SetEquipped))
            {
                writer.Write((bool)m_SetEquipped);
            }
            #endregion
        }