// Constructor public CombatItem(long time, ulong srcAgent, ulong dstAgent, int value, int buffDmg, uint overstackValue, uint skillId, ushort srcInstid, ushort dstInstid, ushort srcMasterInstid, ushort dstMasterInstid, byte iff, byte isBuff, byte result, byte isActivation, byte isBuffRemove, byte isNinety, byte isFifty, byte isMoving, byte isStateChange, byte isFlanking, byte isShields, byte isOffcycle, uint pad) { this.Time = time; SrcAgent = srcAgent; DstAgent = dstAgent; Value = value; BuffDmg = buffDmg; OverstackValue = overstackValue; SkillID = skillId; SrcInstid = srcInstid; DstInstid = dstInstid; SrcMasterInstid = srcMasterInstid; DstMasterInstid = dstMasterInstid; IFF = ParseEnum.GetIFF(iff); IsBuff = isBuff; Result = result; IsActivation = ParseEnum.GetActivation(isActivation); IsBuffRemove = ParseEnum.GetBuffRemove(isBuffRemove); IsNinety = isNinety; IsFifty = isFifty; IsMoving = isMoving; IsStateChange = ParseEnum.GetStateChange(isStateChange); IsFlanking = isFlanking; IsShields = isShields; IsOffcycle = isOffcycle; Pad = pad; // break pad var pads = BitConverter.GetBytes(Pad); Pad1 = pads[0]; Pad2 = pads[1]; Pad3 = pads[2]; Pad4 = pads[3]; }
private static CombatItem ReadCombatItemRev1(BinaryReader reader) { // 8 bytes: time long time = reader.ReadInt64(); // 8 bytes: src_agent ulong srcAgent = reader.ReadUInt64(); // 8 bytes: dst_agent ulong dstAgent = reader.ReadUInt64(); // 4 bytes: value int value = reader.ReadInt32(); // 4 bytes: buff_dmg int buffDmg = reader.ReadInt32(); // 4 bytes: overstack_value uint overstackValue = reader.ReadUInt32(); // 4 bytes: skill_id uint skillId = reader.ReadUInt32(); // 2 bytes: src_instid ushort srcInstid = reader.ReadUInt16(); // 2 bytes: dst_instid ushort dstInstid = reader.ReadUInt16(); // 2 bytes: src_master_instid ushort srcMasterInstid = reader.ReadUInt16(); // 2 bytes: dst_master_instid ushort dstmasterInstid = reader.ReadUInt16(); // 1 byte: iff ParseEnum.IFF iff = ParseEnum.GetIFF(reader.ReadByte()); // 1 byte: buff byte buff = reader.ReadByte(); // 1 byte: result byte result = reader.ReadByte(); // 1 byte: is_activation ParseEnum.Activation isActivation = ParseEnum.GetActivation(reader.ReadByte()); // 1 byte: is_buffremove ParseEnum.BuffRemove isBuffRemove = ParseEnum.GetBuffRemove(reader.ReadByte()); // 1 byte: is_ninety byte isNinety = reader.ReadByte(); // 1 byte: is_fifty byte isFifty = reader.ReadByte(); // 1 byte: is_moving byte isMoving = reader.ReadByte(); // 1 byte: is_statechange ParseEnum.StateChange isStateChange = ParseEnum.GetStateChange(reader.ReadByte()); // 1 byte: is_flanking byte isFlanking = reader.ReadByte(); // 1 byte: is_flanking byte isShields = reader.ReadByte(); // 1 byte: is_flanking byte isOffcycle = reader.ReadByte(); // 4 bytes: pad uint pad = reader.ReadUInt32(); //save // Add combat return(new CombatItem(time, srcAgent, dstAgent, value, buffDmg, overstackValue, skillId, srcInstid, dstInstid, srcMasterInstid, dstmasterInstid, iff, buff, result, isActivation, isBuffRemove, isNinety, isFifty, isMoving, isStateChange, isFlanking, isShields, isOffcycle, pad)); }