All good im using this atm:

Code:
private void getPlayerFlasks()
{
if (Mem.CheckProcess())
{
Mem.StartProcess();
int flaskBase = Mem.ReadInt(Mem.ImageAddress() + 0x008F6A88);
for (int x = 0; x < 5; x++)
{
_flasks[x] = new Flasks();
int FlaskInvBase = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(flaskBase + 0x34) + 0x788) + 0x204) + 0x30) + (x * 4));
int Flask_Charge_Ptr = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x1C) + 0x4) + 0x4) + 0xC);
// Flask Name / Type / Quality
_flasks[x].MetaData = Mem.ReadStringUnicode(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x0) + 0x8), 70);
_flasks[x].BaseItemType = Mem.ReadStringUnicode(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x0) + 0x8) + 0x10), 70);
_flasks[x].Quality = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x4) + 0xC);
// Flask Stats
_flasks[x].LocalStat1Type = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x18) + 0x20) + 0xC) + 0x0);
_flasks[x].LocalStat1Value = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x18) + 0x20) + 0xC) + 0x4);
_flasks[x].LocalStat2Type = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x18) + 0x20) + 0xC) + 0x8);
_flasks[x].LocalStat2Value = Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x18) + 0x20) + 0xC) + 0xC);
// Flask Prefixes / Suffixes
_flasks[x].Prefix = Mem.ReadStringUnicode(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x1C) + 0x4) + 0x4) + 0x10) + 0x7c) + 0x14) + 0x30), 74);
_flasks[x].PrefixEffect = Mem.ReadStringUnicode(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x1C) + 0x4) + 0x4) + 0x10) + 0x7c) + 0x14) + 0x38), 74);
_flasks[x].Suffix = Mem.ReadStringUnicode(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x1C) + 0x4) + 0x4) + 0x10) + 0x7c) + 0x2c) + 0x30), 74);
_flasks[x].SuffixEffect = Mem.ReadStringUnicode(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(Mem.ReadInt(FlaskInvBase) + 0x4) + 0x1C) + 0x4) + 0x4) + 0x10) + 0x7c) + 0x2c) + 0x38), 74);
// Flask Charges
_flasks[x].TotalCharges = Mem.ReadInt(Mem.ReadInt(Flask_Charge_Ptr + 0x8) + 0x8);
_flasks[x].CurrentCharges = Mem.ReadInt(Flask_Charge_Ptr + 0xC);
_flasks[x].ChargesPerUse = Mem.ReadInt(Mem.ReadInt(Flask_Charge_Ptr + 0x8) + 0xc);
}
}
}