From c7aeb01089a3d36cfd45f364a280e107b535e915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Gim=C3=A9nez?= Date: Wed, 10 Apr 2024 08:53:45 +0900 Subject: [PATCH] add object owner --- pkg/data/objects.go | 2 ++ pkg/memory/object.go | 3 +++ 2 files changed, 5 insertions(+) diff --git a/pkg/data/objects.go b/pkg/data/objects.go index c77094d..2417406 100644 --- a/pkg/data/objects.go +++ b/pkg/data/objects.go @@ -3,11 +3,13 @@ package data import "github.com/hectorgimenez/d2go/pkg/data/object" type Object struct { + ID UnitID Name object.Name IsHovered bool Selectable bool InteractType object.InteractType Position Position + Owner string } type Objects []Object diff --git a/pkg/memory/object.go b/pkg/memory/object.go index f7ea632..bb07045 100644 --- a/pkg/memory/object.go +++ b/pkg/memory/object.go @@ -30,8 +30,10 @@ func (gd *GameReader) Objects(playerPosition data.Position, hover data.HoverData unitDataPtr := uintptr(gd.Process.ReadUInt(objectUnitPtr+0x10, Uint64)) interactType := gd.Process.ReadUInt(unitDataPtr+0x08, Uint8) + owner := gd.Process.ReadStringFromMemory(unitDataPtr+0x34, 32) obj := data.Object{ + ID: data.UnitID(unitID), Name: object.Name(int(txtFileNo)), IsHovered: data.UnitID(unitID) == hover.UnitID && hover.UnitType == 2 && hover.IsHovered, InteractType: object.InteractType(interactType), @@ -40,6 +42,7 @@ func (gd *GameReader) Objects(playerPosition data.Position, hover data.HoverData X: int(posX), Y: int(posY), }, + Owner: owner, } objects = append(objects, obj) }