Example #1
0
        public static ArmorProfile read(BinaryReader binaryReader)
        {
            ArmorProfile newObj = new ArmorProfile();

            newObj._mod_vs_slash    = binaryReader.ReadSingle();
            newObj._mod_vs_pierce   = binaryReader.ReadSingle();
            newObj._mod_vs_bludgeon = binaryReader.ReadSingle();
            newObj._mod_vs_cold     = binaryReader.ReadSingle();
            newObj._mod_vs_fire     = binaryReader.ReadSingle();
            newObj._mod_vs_acid     = binaryReader.ReadSingle();
            newObj._mod_vs_nether   = binaryReader.ReadSingle();
            newObj._mod_vs_electric = binaryReader.ReadSingle();
            return(newObj);
        }
Example #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);
        }
 public override void Pack(BinaryWriter writer)
 {
     writer.Write(ObjectID);
     writer.Write(Flags);
     writer.WriteBool32(Success);
     if ((Flags & 0x00000001) != 0)
     {
         IntStatsTable.Pack(writer);
     }
     if ((Flags & 0x00002000) != 0)
     {
         Int64StatsTable.Pack(writer);
     }
     if ((Flags & 0x00000002) != 0)
     {
         BoolStatsTable.Pack(writer);
     }
     if ((Flags & 0x00000004) != 0)
     {
         FloatStatsTable.Pack(writer);
     }
     if ((Flags & 0x00000008) != 0)
     {
         StrStatsTable.Pack(writer);
     }
     if ((Flags & 0x00001000) != 0)
     {
         DidStatsTable.Pack(writer);
     }
     if ((Flags & 0x00000010) != 0)
     {
         SpellBook.Pack(writer);
     }
     if ((Flags & 0x00000080) != 0)
     {
         ArmorProfile.Pack(writer);
     }
     if ((Flags & 0x00000100) != 0)
     {
         CreatureProfile.Pack(writer);
     }
     if ((Flags & 0x00000020) != 0)
     {
         WeaponProfile.Pack(writer);
     }
     if ((Flags & 0x00000040) != 0)
     {
         HookAppraisalProfile.Pack(writer);
     }
     if ((Flags & 0x00000200) != 0)
     {
         writer.Write((ushort)ProtHighlight);
         writer.Write((ushort)ProtColor);
     }
     if ((Flags & 0x00000800) != 0)
     {
         writer.Write((ushort)WeapHighlight);
         writer.Write((ushort)WeapColor);
     }
     if ((Flags & 0x00000400) != 0)
     {
         writer.Write((ushort)ResistHighlight);
         writer.Write((ushort)ResistColor);
     }
     if ((Flags & 0x00004000) != 0)
     {
         writer.Write(BaseArmorHead);
         writer.Write(BaseArmorChest);
         writer.Write(BaseArmorGroin);
         writer.Write(BaseArmorBicep);
         writer.Write(BaseArmorWrist);
         writer.Write(BaseArmorHand);
         writer.Write(BaseArmorThigh);
         writer.Write(BaseArmorShin);
         writer.Write(BaseArmorFoot);
     }
 }
 public override void Unpack(BinaryReader reader)
 {
     base.Unpack(reader);
     ObjectID = reader.ReadUInt32();
     Flags    = reader.ReadUInt32();
     Success  = reader.ReadBool32();
     if ((Flags & 0x00000001) != 0)
     {
         IntStatsTable.Unpack(reader);
     }
     if ((Flags & 0x00002000) != 0)
     {
         Int64StatsTable.Unpack(reader);
     }
     if ((Flags & 0x00000002) != 0)
     {
         BoolStatsTable.Unpack(reader);
     }
     if ((Flags & 0x00000004) != 0)
     {
         FloatStatsTable.Unpack(reader);
     }
     if ((Flags & 0x00000008) != 0)
     {
         StrStatsTable.Unpack(reader);
     }
     if ((Flags & 0x00001000) != 0)
     {
         DidStatsTable.Unpack(reader);
     }
     if ((Flags & 0x00000010) != 0)
     {
         SpellBook.Unpack(reader);
     }
     if ((Flags & 0x00000080) != 0)
     {
         ArmorProfile.Unpack(reader);
     }
     if ((Flags & 0x00000100) != 0)
     {
         CreatureProfile.Unpack(reader);
     }
     if ((Flags & 0x00000020) != 0)
     {
         WeaponProfile.Unpack(reader);
     }
     if ((Flags & 0x00000040) != 0)
     {
         HookAppraisalProfile.Unpack(reader);
     }
     if ((Flags & 0x00000200) != 0)
     {
         ProtHighlight = (ArmorHighlightMask)reader.ReadUInt16();
         ProtColor     = (ArmorHighlightMask)reader.ReadUInt16();
     }
     if ((Flags & 0x00000800) != 0)
     {
         WeapHighlight = (WeaponHighlightMask)reader.ReadUInt16();
         WeapColor     = (WeaponHighlightMask)reader.ReadUInt16();
     }
     if ((Flags & 0x00000400) != 0)
     {
         ResistHighlight = (ResistHighlightMask)reader.ReadUInt16();
         ResistColor     = (ResistHighlightMask)reader.ReadUInt16();
     }
     if ((Flags & 0x00004000) != 0)
     {
         BaseArmorHead  = reader.ReadUInt32();
         BaseArmorChest = reader.ReadUInt32();
         BaseArmorGroin = reader.ReadUInt32();
         BaseArmorBicep = reader.ReadUInt32();
         BaseArmorWrist = reader.ReadUInt32();
         BaseArmorHand  = reader.ReadUInt32();
         BaseArmorThigh = reader.ReadUInt32();
         BaseArmorShin  = reader.ReadUInt32();
         BaseArmorFoot  = reader.ReadUInt32();
     }
 }