From a0063997e1f3a63f3b8e694d070d3ded794b5f73 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 12 Jun 2021 12:34:55 -0400 Subject: [PATCH] [Quest API] Add SetHideMe() to Perl/Lua. (#1388) - Add $client->SetHideMe(hide_me_state) to Perl. - Add client:SetHideMe(hide_me_state) to Lua. --- zone/lua_client.cpp | 8 +++++++- zone/lua_client.h | 1 + zone/perl_client.cpp | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/zone/lua_client.cpp b/zone/lua_client.cpp index a84a52813..6d700a689 100644 --- a/zone/lua_client.cpp +++ b/zone/lua_client.cpp @@ -2093,6 +2093,11 @@ void Lua_Client::AddLDoNWin(uint32 theme_id) { self->AddLDoNWin(theme_id); } +void Lua_Client::SetHideMe(bool hide_me_state) { + Lua_Safe_Call_Void(); + self->SetHideMe(hide_me_state); +} + luabind::scope lua_register_client() { return luabind::class_("Client") .def(luabind::constructor<>()) @@ -2447,7 +2452,8 @@ luabind::scope lua_register_client() { .def("SetAAEXPModifier", (void(Lua_Client::*)(uint32,double))&Lua_Client::SetAAEXPModifier) .def("SetEXPModifier", (void(Lua_Client::*)(uint32,double))&Lua_Client::SetEXPModifier) .def("AddLDoNLoss", (void(Lua_Client::*)(uint32))&Lua_Client::AddLDoNLoss) - .def("AddLDoNWin", (void(Lua_Client::*)(uint32))&Lua_Client::AddLDoNWin); + .def("AddLDoNWin", (void(Lua_Client::*)(uint32))&Lua_Client::AddLDoNWin) + .def("SetHideMe", (void(Lua_Client::*)(bool))&Lua_Client::SetHideMe); } luabind::scope lua_register_inventory_where() { diff --git a/zone/lua_client.h b/zone/lua_client.h index 743d32f65..60c11fbbb 100644 --- a/zone/lua_client.h +++ b/zone/lua_client.h @@ -357,6 +357,7 @@ public: void DisableAreaEndRegen(); void EnableAreaRegens(int value); void DisableAreaRegens(); + void SetHideMe(bool hide_me_state); void SetPrimaryWeaponOrnamentation(uint32 model_id); void SetSecondaryWeaponOrnamentation(uint32 model_id); diff --git a/zone/perl_client.cpp b/zone/perl_client.cpp index 054664c69..60efbf787 100644 --- a/zone/perl_client.cpp +++ b/zone/perl_client.cpp @@ -5318,6 +5318,20 @@ XS(XS_Client_AddLDoNWin) { XSRETURN_EMPTY; } +XS(XS_Client_SetHideMe); +XS(XS_Client_SetHideMe) { + dXSARGS; + if (items != 2) + Perl_croak(aTHX_ "Usage: Client::SetHideMe(THIS, bool hide_me_state)"); + { + Client* THIS; + bool hide_me_state = (bool) SvTRUE(ST(1)); + VALIDATE_THIS_IS_CLIENT; + THIS->SetHideMe(hide_me_state); + } + XSRETURN_EMPTY; +} + #ifdef __cplusplus extern "C" #endif @@ -5579,6 +5593,7 @@ XS(boot_Client) { newXSproto(strcpy(buf, "SetFactionLevel2"), XS_Client_SetFactionLevel2, file, "$$$$$$$"); newXSproto(strcpy(buf, "SetFeigned"), XS_Client_SetFeigned, file, "$$"); newXSproto(strcpy(buf, "SetGM"), XS_Client_SetGM, file, "$$"); + newXSproto(strcpy(buf, "SetHideMe"), XS_Client_SetHideMe, file, "$$"); newXSproto(strcpy(buf, "SetHorseId"), XS_Client_SetHorseId, file, "$$"); newXSproto(strcpy(buf, "SetHunger"), XS_Client_SetHunger, file, "$$"); newXSproto(strcpy(buf, "SetLanguageSkill"), XS_Client_SetLanguageSkill, file, "$$$");