diff --git a/pkg/memory/player.go b/pkg/memory/player.go index a26ed6d..dba6025 100644 --- a/pkg/memory/player.go +++ b/pkg/memory/player.go @@ -31,39 +31,38 @@ func (gd *GameReader) GetPlayerUnitPtr(roster data.Roster) (playerUnitPtr uintpt baseCheck = gd.Process.ReadUInt(inventoryAddr+0x70, Uint16) } - if baseCheck > 0 { - isCorpse := gd.Process.ReadUInt(playerUnit+0x1A6, Uint8) - - if isCorpse == 1 { - unitID := gd.Process.ReadUInt(playerUnit+0x08, Uint32) - hoveredUnitID, hoveredType, isHovered := gd.hoveredData() - corpse = data.Corpse{ - Found: true, - IsHovered: isHovered && hoveredUnitID == unitID && hoveredType == 0, - Position: data.Position{ - X: int(xPos), - Y: int(yPos), - }, - } - } else { - playerUnitPtr = playerUnit + isCorpse := gd.Process.ReadUInt(playerUnit+0x1A6, Uint8) + if isCorpse == 1 { + unitID := gd.Process.ReadUInt(playerUnit+0x08, Uint32) + hoveredUnitID, hoveredType, isHovered := gd.hoveredData() + corpse = data.Corpse{ + Found: true, + IsHovered: isHovered && hoveredUnitID == unitID && hoveredType == 0, + Position: data.Position{ + X: int(xPos), + Y: int(yPos), + }, } } else { - pUnitData := playerUnit + 0x10 - playerNameAddr := uintptr(gd.Process.ReadUInt(pUnitData, Uint64)) - name := gd.Process.ReadStringFromMemory(playerNameAddr, 0) - for k, rm := range roster { - if name != rm.Name { - continue - } + if baseCheck > 0 { + playerUnitPtr = playerUnit + } else { + pUnitData := playerUnit + 0x10 + playerNameAddr := uintptr(gd.Process.ReadUInt(pUnitData, Uint64)) + name := gd.Process.ReadStringFromMemory(playerNameAddr, 0) + for k, rm := range roster { + if name != rm.Name { + continue + } - roster[k] = data.RosterMember{ - Name: name, - Area: rm.Area, - Position: data.Position{ - X: int(xPos), - Y: int(yPos), - }, + roster[k] = data.RosterMember{ + Name: name, + Area: rm.Area, + Position: data.Position{ + X: int(xPos), + Y: int(yPos), + }, + } } } }