Hola cordial saludo a todos.
Aquí dejo este pequeño aporte para aquellas sources que no les funcione el % del atributo que da cada respectiva gema. por ejemplo las de dragon dan 210% ataque.
public static byte[] WindowStats(Client.GameClient client)
{
Byte[] mData = new Byte[140 + 8];
Writer.WriteUInt16((UInt16)(mData.Length - 😎, 0, mData);
Writer.WriteUInt16((UInt16)1040, 2, mData);
Writer.WriteUInt32(client.Entity.UID, 8, mData);
Writer.WriteUInt32(client.Entity.MaxHitpoints, 12, mData);
Writer.WriteUInt32((UInt32)client.Entity.MaxMana, 16, mData);
Writer.WriteUInt32((UInt32)client.Entity.MaxAttack, 20, mData);
Writer.WriteUInt32((UInt32)client.Entity.MinAttack, 24, mData);
Writer.WriteUInt32((UInt32)client.Entity.Defence, 28, mData);
Writer.WriteUInt32((UInt32)client.Entity.MagicAttack, 32, mData);
Writer.WriteUInt32((UInt32)client.Entity.MagicDefence, 36, mData);
Writer.WriteUInt32((UInt32)client.Entity.Dodge, 40, mData);
Writer.WriteUInt32((UInt32)client.Entity.Agility, 44, mData);
Writer.WriteUInt32(200, 48, mData);//accuracy
Writer.WriteUInt32((UInt32)client.Entity.Gems[1], 52, mData);// SDG extra attack %
Writer.WriteUInt32((UInt32)client.Entity.Gems[0], 56, mData);//SPG MagicAttack %
Writer.WriteUInt32((UInt32)client.Entity.MagicDefencePercent, 60, mData);
Writer.WriteUInt32((UInt32)client.Entity.Gems[7], 64, mData);//TG Damage
Writer.WriteUInt32((UInt32)client.Entity.ItemBless, 68, mData);
Writer.WriteUInt32((UInt32)client.Entity.CriticalStrike, 72, mData);
Writer.WriteUInt32((UInt32)client.Entity.SkillCStrike, 76, mData);
Writer.WriteUInt32((UInt32)client.Entity.Immunity, 80, mData);
Writer.WriteUInt32((UInt32)client.Entity.Penetration, 84, mData);
Writer.WriteUInt32((UInt32)client.Entity.Block, 88, mData);
Writer.WriteUInt32((UInt32)client.Entity.Breaktrough, 92, mData);
Writer.WriteUInt32((UInt32)client.Entity.Counteraction, 96, mData);
Writer.WriteUInt32((UInt32)client.Entity.Detoxication, 100, mData);
Writer.WriteUInt32((UInt32)client.Entity.PhysicalDamageIncrease, 104, mData); // Final + Atk
Writer.WriteUInt32((UInt32)client.Entity.MagicDamageIncrease, 108, mData); // Final + MAtk
Writer.WriteUInt32((UInt32)client.Entity.PhysicalDamageDecrease, 112, mData); // Final - Dmg
Writer.WriteUInt32((UInt32)client.Entity.MagicDamageDecrease, 116, mData); // Final - MDmg
Writer.WriteUInt32(15, 120, mData);
Writer.WriteUInt32((UInt32)client.Entity.WoodResistance, 124, mData);
Writer.WriteUInt32((UInt32)client.Entity.WaterResistance, 128, mData);
Writer.WriteUInt32((UInt32)client.Entity.FireResistance, 132, mData);
Writer.WriteUInt32((UInt32)client.Entity.EarthResistance, 136, mData);
return mData;
}