diff --git a/zone/lua_client.cpp b/zone/lua_client.cpp index 31db4eb83..eeb92518f 100644 --- a/zone/lua_client.cpp +++ b/zone/lua_client.cpp @@ -461,8 +461,8 @@ int Lua_Client::GetAccountAge() { return time(nullptr) - self->GetAccountCreation(); } -int Lua_Client::Admin() { - Lua_Safe_Call_Bool(); +int16 Lua_Client::Admin() { + Lua_Safe_Call_Int(); return self->Admin(); } @@ -2253,9 +2253,14 @@ void Lua_Client::RemoveItem(uint32 item_id, uint32 quantity) { self->RemoveItem(item_id, quantity); } -void Lua_Client::SetGMStatus(uint32 newStatus) { +void Lua_Client::SetGMStatus(int16 new_status) { Lua_Safe_Call_Void(); - self->SetGMStatus(newStatus); + self->SetGMStatus(new_status); +} + +int16 Lua_Client::GetGMStatus() { + Lua_Safe_Call_Int(); + return self->Admin(); } void Lua_Client::UntrainDiscBySpellID(uint16 spell_id) { @@ -2600,7 +2605,7 @@ luabind::scope lua_register_client() { .def("AddPlatinum", (void(Lua_Client::*)(uint32,bool))&Lua_Client::AddPlatinum) .def("AddPVPPoints", (void(Lua_Client::*)(uint32))&Lua_Client::AddPVPPoints) .def("AddSkill", (void(Lua_Client::*)(int,int))&Lua_Client::AddSkill) - .def("Admin", (int(Lua_Client::*)(void))&Lua_Client::Admin) + .def("Admin", (int16(Lua_Client::*)(void))&Lua_Client::Admin) .def("AssignTask", (void(Lua_Client::*)(int))&Lua_Client::AssignTask) .def("AssignTask", (void(Lua_Client::*)(int,int))&Lua_Client::AssignTask) .def("AssignTask", (void(Lua_Client::*)(int,int,bool))&Lua_Client::AssignTask) @@ -2718,6 +2723,7 @@ luabind::scope lua_register_client() { .def("GetFactionLevel", (int(Lua_Client::*)(uint32,uint32,uint32,uint32,uint32,uint32,Lua_NPC))&Lua_Client::GetFactionLevel) .def("GetFeigned", (bool(Lua_Client::*)(void))&Lua_Client::GetFeigned) .def("GetGM", (bool(Lua_Client::*)(void))&Lua_Client::GetGM) + .def("GetGMStatus", (int16(Lua_Client::*)(void))&Lua_Client::GetGMStatus) .def("GetGroup", (Lua_Group(Lua_Client::*)(void))&Lua_Client::GetGroup) .def("GetGroupPoints", (uint32(Lua_Client::*)(void))&Lua_Client::GetGroupPoints) .def("GetHorseId", (int(Lua_Client::*)(void))&Lua_Client::GetHorseId) @@ -2933,7 +2939,7 @@ luabind::scope lua_register_client() { .def("SetFactionLevel2", (void(Lua_Client::*)(uint32,int,int,int,int,int,int))&Lua_Client::SetFactionLevel2) .def("SetFeigned", (void(Lua_Client::*)(bool))&Lua_Client::SetFeigned) .def("SetGM", (void(Lua_Client::*)(bool))&Lua_Client::SetGM) - .def("SetGMStatus", (void(Lua_Client::*)(int32))&Lua_Client::SetGMStatus) + .def("SetGMStatus", (void(Lua_Client::*)(int16))&Lua_Client::SetGMStatus) .def("SetHideMe", (void(Lua_Client::*)(bool))&Lua_Client::SetHideMe) .def("SetHorseId", (void(Lua_Client::*)(int))&Lua_Client::SetHorseId) .def("SetHunger", (void(Lua_Client::*)(int))&Lua_Client::SetHunger) diff --git a/zone/lua_client.h b/zone/lua_client.h index dea3b2986..3e248c56a 100644 --- a/zone/lua_client.h +++ b/zone/lua_client.h @@ -136,7 +136,7 @@ public: int GetRawItemAC(); uint32 AccountID(); const char *AccountName(); - int Admin(); + int16 Admin(); uint32 CharacterID(); int GuildRank(); uint32 GuildID(); @@ -420,7 +420,8 @@ public: int CountItem(uint32 item_id); void RemoveItem(uint32 item_id); void RemoveItem(uint32 item_id, uint32 quantity); - void SetGMStatus(uint32 newStatus); + void SetGMStatus(int16 new_status); + int16 GetGMStatus(); void AddItem(luabind::object item_table); int CountAugmentEquippedByID(uint32 item_id); int CountItemEquippedByID(uint32 item_id); diff --git a/zone/perl_client.cpp b/zone/perl_client.cpp index 2236a0ec3..2be7fd829 100644 --- a/zone/perl_client.cpp +++ b/zone/perl_client.cpp @@ -409,7 +409,7 @@ std::string Perl_Client_AccountName(Client* self) // @categories Account and Cha return self->AccountName(); } -int Perl_Client_Admin(Client* self) // @categories Account and Character +int16 Perl_Client_Admin(Client* self) // @categories Account and Character { return self->Admin(); } @@ -1227,12 +1227,17 @@ void Perl_Client_ReadBook(Client* self, const char* book_text, uint8 type) // @c self->QuestReadBook(book_text, type); } -void Perl_Client_SetGMStatus(Client* self, int new_status) // @categories Script Utility +void Perl_Client_SetGMStatus(Client* self, int16 new_status) // @categories Script Utility { self->SetGMStatus(new_status); self->UpdateAdmin(true); } +int16 Perl_Client_GetGMStatus(Client* self) // @categories Account and Character +{ + return self->Admin(); +} + void Perl_Client_UpdateGroupAAs(Client* self, int points, uint32 type) // @categories Alternative Advancement, Group { self->UpdateGroupAAs(points, type); @@ -2616,6 +2621,7 @@ void perl_register_client() package.add("GetFreeSpellBookSlot", (int(*)(Client*))&Perl_Client_GetFreeSpellBookSlot); package.add("GetFreeSpellBookSlot", (int(*)(Client*, uint32))&Perl_Client_GetFreeSpellBookSlot); package.add("GetGM", &Perl_Client_GetGM); + package.add("GetGMStatus", &Perl_Client_GetGMStatus); package.add("GetGroup", &Perl_Client_GetGroup); package.add("GetGroupPoints", &Perl_Client_GetGroupPoints); package.add("GetHorseId", &Perl_Client_GetHorseId);