read stack quantity from DLC tabs

This commit is contained in:
crazywh1t3
2026-02-16 23:15:16 +02:00
committed by guiyomu-dev
parent e743f207c8
commit 0d6fc4a8f8

View File

@@ -369,6 +369,20 @@ func (gd *GameReader) Inventory(rawPlayerUnits RawPlayerUnits, hover data.HoverD
statsListExPtr := uintptr(ReadUIntFromBuffer(itemDataBuffer, 0x88, Uint64))
itm.BaseStats, itm.Stats = gd.getItemStats(statsListExPtr)
// Read stack quantity from UnitData+0x9C (DLC tabs store quantity here instead of in stats)
stackQty := gd.Process.ReadUInt(unitDataPtr+0x9C, Uint32)
found := false
for i := range itm.Stats {
if itm.Stats[i].ID == stat.Quantity && itm.Stats[i].Layer == 0 {
itm.Stats[i].Value = int(stackQty)
found = true
break
}
}
if !found && stackQty > 0 {
itm.Stats = append(itm.Stats, stat.Data{ID: stat.Quantity, Value: int(stackQty), Layer: 0})
}
// Process socket information
if location == item.LocationSocket {
if itm.Desc().Code == "jew" {