public override void Read(StreamHandler reader) { ContainerSlot = (InventorySlot)reader.ReadByte(); Slot = (InventorySlot)reader.ReadByte(); CastId = reader.ReadByte(); SpellId = reader.ReadUInt32(); ItemGuid = reader.ReadGuid(); GlyphSlot = reader.ReadUInt32(); UnkFlags = reader.ReadByte(); TargetData.Read(reader); }
public override void Read(StreamHandler Reader) { Caster = Reader.ReadPackedGuid(); CastInvoker = Reader.ReadPackedGuid(); CastId = Reader.ReadByte(); SpellId = Reader.ReadUInt32(); Flags = (CastFlags)Reader.ReadUInt32(); Unk43 = Reader.ReadUInt32(); Unk43_2 = Reader.ReadUInt32(); TargetData.Read(Reader); if ((Flags & CastFlags.PredictedPower) != 0) { PredictedPower = Reader.ReadUInt32(); } if ((Flags & CastFlags.RuneStates) != 0) { RunesBefore = (RuneStates)Reader.ReadByte(); RunesAfter = (RuneStates)Reader.ReadByte(); for (int i = 0; i < RuneCooldowns.Length; ++i) { RuneCooldowns[i] = Reader.ReadByte(); } } if ((Flags & CastFlags.Ammo) != 0) { ProjectileDisplayId = Reader.ReadUInt32(); ProjectileInventoryType = (InventorySlotType)Reader.ReadUInt32(); } if ((Flags & CastFlags.Unk0x04000000) != 0) { Unk0x04000000_UInt32_1 = Reader.ReadUInt32(); Unk0x04000000_UInt32_2 = Reader.ReadUInt32(); } }
public override void Read(StreamHandler Reader) { Caster = Reader.ReadPackedGuid(); CastInvoker = Reader.ReadPackedGuid(); CastId = Reader.ReadByte(); SpellId = Reader.ReadUInt32(); Flags = (CastFlags)Reader.ReadUInt32(); Unk43 = Reader.ReadUInt32(); CastTime = Reader.ReadUInt32(); byte hits = Reader.ReadByte(); Hits.Capacity = hits; for (byte i = 0; i < hits; ++i) { Hits.Add(Reader.ReadGuid()); } byte misses = Reader.ReadByte(); Misses.Capacity = misses; for (byte i = 0; i < misses; ++i) { var miss = new MissData(); miss.Read(Reader); Misses.Add(miss); } TargetData.Read(Reader); if ((Flags & CastFlags.PredictedPower) != 0) { PredictedPower = Reader.ReadUInt32(); } if ((Flags & CastFlags.RuneStates) != 0) { RunesBefore = (RuneStates)Reader.ReadByte(); RunesAfter = (RuneStates)Reader.ReadByte(); for (int i = 0; i < RuneCooldowns.Length; ++i) { RuneCooldowns[i] = Reader.ReadByte(); } } if ((Flags & CastFlags.Unk0x00020000) != 0) { Unk0x20000_Float = Reader.ReadSingle(); Unk0x20000_UInt32 = Reader.ReadUInt32(); } if ((Flags & CastFlags.Ammo) != 0) { ProjectileDisplayId = Reader.ReadUInt32(); ProjectileInventoryType = (InventorySlotType)Reader.ReadUInt32(); } if ((Flags & CastFlags.Unk0x00080000) != 0) { Unk0x80000_UInt32_1 = Reader.ReadUInt32(); Unk0x80000_UInt32_2 = Reader.ReadUInt32(); } if ((TargetData.Flags & SpellCastTargetFlags.DestLocation) != 0) { DestLocationCounter = Reader.ReadByte(); } if ((TargetData.Flags & SpellCastTargetFlags.Unk4) != 0) { uint count = Reader.ReadUInt32(); Unk4_Count = count; Unk4_List.Capacity = (int)count; for (uint i = 0; i < count; ++i) { Vector3 v3 = Reader.ReadVector3(); WowGuid guid = Reader.ReadGuid(); Unk4_List.Add(new KeyValuePair <WowGuid, Vector3>(guid, v3)); if (guid.IsEmpty) { break; } } } }
private void ReadTargetData() { m_targetData.Read(Reader); }