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); }
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(); } }