public override void GetPacketDataString(TextWriter text, bool flagsDescription) { text.Write("count:{0,-2} unk1:{1} unk2:{2} unk3:{3}", effectsCount, unk1, unk2, unk3); for (int i = 0; i < effectsCount; i++) { ConcentrationEffect effect = (ConcentrationEffect)effects[i]; text.Write("\n\tindex:{0,-2} conc:{1,-2} icon:0x{2:X4} unk1:{3} ownerName:\"{4}\" effectName:\"{5}\"", effect.index, effect.concentration, effect.icon, effect.unk1, effect.ownerName, effect.effectName); } }
/// <summary> /// Initializes the packet. All data parsing must be done here. /// </summary> public override void Init() { Position = 0; effectsCount = ReadByte(); unk1 = ReadByte(); unk2 = ReadByte(); unk3 = ReadByte(); effects = new ConcentrationEffect[effectsCount]; for (int i = 0; i < effectsCount; i++) { ConcentrationEffect effect = new ConcentrationEffect(); effect.index = ReadByte(); effect.unk1 = ReadByte(); effect.concentration = ReadByte(); effect.icon = ReadShort(); effect.effectName = ReadPascalString(); effect.ownerName = ReadPascalString(); effects[i] = effect; } }