From b2fc59878a2b985b71594e547ce6547417e7a06a Mon Sep 17 00:00:00 2001 From: Alex King <89047260+Kinglykrab@users.noreply.github.com> Date: Sun, 3 Mar 2024 11:43:54 -0500 Subject: [PATCH] [Quest API] Add IsDestructibleObject() to Perl/Lua (#4153) # Perl - Add `$mob-.IsDestructibleObject()`. # Lua - Add `mob:IsDestructibleObject()`. # Notes - Allows operators to determine if a mob is a destructible object. --- zone/lua_mob.cpp | 7 +++++++ zone/lua_mob.h | 1 + zone/perl_mob.cpp | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/zone/lua_mob.cpp b/zone/lua_mob.cpp index e14118279..bc3b813c5 100644 --- a/zone/lua_mob.cpp +++ b/zone/lua_mob.cpp @@ -3267,6 +3267,12 @@ bool Lua_Mob::IsPetOwnerNPC() return self->IsPetOwnerNPC(); } +bool Lua_Mob::IsDestructibleObject() +{ + Lua_Safe_Call_Bool(); + return self->IsDestructibleObject(); +} + luabind::scope lua_register_mob() { return luabind::class_("Mob") .def(luabind::constructor<>()) @@ -3651,6 +3657,7 @@ luabind::scope lua_register_mob() { .def("IsBlind", (bool(Lua_Mob::*)(void))&Lua_Mob::IsBlind) .def("IsCasting", &Lua_Mob::IsCasting) .def("IsCharmed", &Lua_Mob::IsCharmed) + .def("IsDestructibleObject", &Lua_Mob::IsDestructibleObject) .def("IsEliteMaterialItem", (uint32(Lua_Mob::*)(uint8))&Lua_Mob::IsEliteMaterialItem) .def("IsEngaged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEngaged) .def("IsEnraged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEnraged) diff --git a/zone/lua_mob.h b/zone/lua_mob.h index 5db14b5b2..94b69d238 100644 --- a/zone/lua_mob.h +++ b/zone/lua_mob.h @@ -577,6 +577,7 @@ public: bool IsPetOwnerBot(); bool IsPetOwnerClient(); bool IsPetOwnerNPC(); + bool IsDestructibleObject(); }; #endif diff --git a/zone/perl_mob.cpp b/zone/perl_mob.cpp index bbcd739a4..9b44a3448 100644 --- a/zone/perl_mob.cpp +++ b/zone/perl_mob.cpp @@ -3395,6 +3395,11 @@ bool Perl_Mob_IsPetOwnerNPC(Mob* self) return self->IsPetOwnerNPC(); } +bool Perl_Mob_IsDestructibleObject(Mob* self) +{ + return self->IsDestructibleObject(); +} + void perl_register_mob() { perl::interpreter perl(PERL_GET_THX); @@ -3773,6 +3778,7 @@ void perl_register_mob() package.add("IsCharmed", &Perl_Mob_IsCharmed); package.add("IsClient", &Perl_Mob_IsClient); package.add("IsCorpse", &Perl_Mob_IsCorpse); + package.add("IsDestructibleObject", &Perl_Mob_IsDestructibleObject); package.add("IsDoor", &Perl_Mob_IsDoor); package.add("IsEliteMaterialItem", &Perl_Mob_IsEliteMaterialItem); package.add("IsEncounter", &Perl_Mob_IsEncounter);