public static void ReadPeriodicAuraLogEffectData(Packet packet, params object[] idx) { packet.ReadInt32("Effect", idx); packet.ReadInt32("Amount", idx); packet.ReadInt32("OriginalDamage", idx); packet.ReadInt32("OverHealOrKill", idx); packet.ReadInt32("SchoolMaskOrPower", idx); packet.ReadInt32("AbsorbedOrAmplitude", idx); packet.ReadInt32("Resisted", idx); packet.ResetBitReader(); packet.ReadBit("Crit", idx); var hasDebugData = packet.ReadBit("HasPeriodicAuraLogEffectDebugInfo", idx); var hasContentTuning = packet.ReadBit("HasContentTuning", idx); if (hasContentTuning) { SpellHandler.ReadContentTuningParams(packet, idx, "ContentTuning"); } if (hasDebugData) { packet.ReadSingle("CritRollMade", idx); packet.ReadSingle("CritRollNeeded", idx); } }
public static void HandleSpellNonMeleeDmgLog(Packet packet) { packet.ReadPackedGuid128("Me"); packet.ReadPackedGuid128("CasterGUID"); packet.ReadPackedGuid128("CastID"); packet.ReadInt32 <SpellId>("SpellID"); packet.ReadInt32("SpellXSpellVisualID"); packet.ReadInt32("Damage"); packet.ReadInt32("OriginalDamage"); packet.ReadInt32("OverKill"); packet.ReadByte("SchoolMask"); packet.ReadInt32("Absorbed"); packet.ReadInt32("Resisted"); packet.ReadInt32("ShieldBlock"); packet.ResetBitReader(); packet.ReadBit("Periodic"); packet.ReadBitsE <AttackerStateFlags>("Flags", 7); var hasDebugData = packet.ReadBit("HasDebugData"); var hasLogData = packet.ReadBit("HasLogData"); var hasContentTuning = packet.ReadBit("HasContentTuning"); if (hasLogData) { SpellHandler.ReadSpellCastLogData(packet, "SpellCastLogData"); } if (hasDebugData) { ReadSpellNonMeleeDebugData(packet, "DebugData"); } if (hasContentTuning) { SpellHandler.ReadContentTuningParams(packet, "ContentTuning"); } }
public static void HandleSpellHealLog(Packet packet) { packet.ReadPackedGuid128("TargetGUID"); packet.ReadPackedGuid128("CasterGUID"); packet.ReadInt32 <SpellId>("SpellID"); packet.ReadInt32("Health"); packet.ReadInt32("OriginalHeal"); packet.ReadInt32("OverHeal"); packet.ReadInt32("Absorbed"); packet.ResetBitReader(); packet.ReadBit("Crit"); var hasCritRollMade = packet.ReadBit("HasCritRollMade"); var hasCritRollNeeded = packet.ReadBit("HasCritRollNeeded"); var hasLogData = packet.ReadBit("HasLogData"); var hasContentTuning = packet.ReadBit("HasContentTuning"); if (hasLogData) { SpellHandler.ReadSpellCastLogData(packet); } if (hasCritRollMade) { packet.ReadSingle("CritRollMade"); } if (hasCritRollNeeded) { packet.ReadSingle("CritRollNeeded"); } if (hasContentTuning) { SpellHandler.ReadContentTuningParams(packet, "ContentTuning"); } }