From e51df96e8d888352a2ebc06ed349d66902942f21 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Mon, 2 Feb 2026 16:46:42 -0600 Subject: [PATCH] feat(ui): implement Script_UnitExists --- src/ui/game/ScriptEvents.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/ui/game/ScriptEvents.cpp b/src/ui/game/ScriptEvents.cpp index ca4b472..25d33a3 100644 --- a/src/ui/game/ScriptEvents.cpp +++ b/src/ui/game/ScriptEvents.cpp @@ -11,7 +11,19 @@ namespace { int32_t Script_UnitExists(lua_State* L) { - WHOA_UNIMPLEMENTED(0); + auto token = lua_tostring(L, 1); + WOWGUID guid = 0; + Script_GetGUIDFromToken(token, guid, false); + + auto object = ClntObjMgrObjectPtr(guid, TYPE_OBJECT, __FILE__, __LINE__); + + if ((object && object->CanBeTargetted()) || CGGameUI::IsRaidMemberOrPet(guid)) { + lua_pushnumber(L, 1.0); + } else { + lua_pushnil(L); + } + + return 1; } int32_t Script_UnitIsVisible(lua_State* L) {