[Quest API] Add GetGMStatus() to Perl/Lua. (#2448)

* [Quest API] Add GetGMStatus() to Perl/Lua.

- Add $client->GetGMStatus() to Perl.
- Add client:GetGMStatus() to Lua.
- Fix client:Admin() using Lua_Safe_Call_Bool().

This is just a more descriptive form of $client->Admin() in Perl and client:Admin() in Lua.

* Update lua_client.cpp

* Update perl_client.cpp
This commit is contained in:
Kinglykrab 2022-09-28 04:03:07 -04:00 committed by GitHub
parent 90406e0328
commit 959a17daea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 10 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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);