Ejemplo n.º 1
0
        public static CreatureAppraisalProfile read(BinaryReader binaryReader)
        {
            CreatureAppraisalProfile newObj = new CreatureAppraisalProfile();

            newObj._header     = binaryReader.ReadUInt32();
            newObj._health     = binaryReader.ReadUInt32();
            newObj._max_health = binaryReader.ReadUInt32();
            if ((newObj._header & (uint)CreatureAppraisalProfilePackHeader.Packed_Attributes) != 0)
            {
                newObj._strength     = binaryReader.ReadUInt32();
                newObj._endurance    = binaryReader.ReadUInt32();
                newObj._quickness    = binaryReader.ReadUInt32();
                newObj._coordination = binaryReader.ReadUInt32();
                newObj._focus        = binaryReader.ReadUInt32();
                newObj._self         = binaryReader.ReadUInt32();
                newObj._stamina      = binaryReader.ReadUInt32();
                newObj._mana         = binaryReader.ReadUInt32();
                newObj._max_stamina  = binaryReader.ReadUInt32();
                newObj._max_mana     = binaryReader.ReadUInt32();
            }
            if ((newObj._header & (uint)CreatureAppraisalProfilePackHeader.Packed_Enchantments) != 0)
            {
                // TODO: Decode this message further using Enchantment_BFIndex
                newObj.enchantment_bitfield = binaryReader.ReadUInt32();
            }
            return(newObj);
        }
Ejemplo n.º 2
0
        public static AppraisalProfile read(BinaryReader binaryReader)
        {
            AppraisalProfile newObj = new AppraisalProfile();

            newObj.header       = binaryReader.ReadUInt32();
            newObj.success_flag = binaryReader.ReadUInt32();
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_IntStats) != 0)
            {
                newObj._intStatsTable = PackableHashTable <STypeInt, int> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_Int64Stats) != 0)
            {
                newObj._int64StatsTable = PackableHashTable <STypeInt64, long> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_BoolStats) != 0)
            {
                newObj._boolStatsTable = PackableHashTable <STypeBool, int> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_FloatStats) != 0)
            {
                newObj._floatStatsTable = PackableHashTable <STypeFloat, double> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_StringStats) != 0)
            {
                newObj._strStatsTable = PackableHashTable <STypeString, PStringChar> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_DataIDStats) != 0)
            {
                newObj._didStatsTable = PackableHashTable <STypeDID, uint> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_SpellList) != 0)
            {
                newObj._spellsTable = PList <uint> .read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_ArmorProfile) != 0)
            {
                newObj._armorProfileTable = ArmorProfile.read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_CreatureProfile) != 0)
            {
                newObj._creatureProfileTable = CreatureAppraisalProfile.read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_WeaponProfile) != 0)
            {
                newObj._weaponProfileTable = WeaponProfile.read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_HookProfile) != 0)
            {
                newObj._hookProfileTable = HookAppraisalProfile.read(binaryReader);
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_ArmorEnchant) != 0)
            {
                newObj._armorEnchantment = binaryReader.ReadUInt32();
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_WeaponEnchant) != 0)
            {
                newObj._weaponEnchantment = binaryReader.ReadUInt32();
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_ResistEnchant) != 0)
            {
                newObj._resistEnchantment = binaryReader.ReadUInt32();
            }
            if ((newObj.header & (uint)AppraisalProfilePackHeader.Packed_ArmorLevels) != 0)
            {
                newObj._armorLevelsTable = ArmorLevels.read(binaryReader);
            }
            return(newObj);
        }