[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.
This commit is contained in:
Alex King 2024-03-03 11:43:54 -05:00 committed by GitHub
parent 4896688ac5
commit b2fc59878a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 0 deletions

View File

@ -3267,6 +3267,12 @@ bool Lua_Mob::IsPetOwnerNPC()
return self->IsPetOwnerNPC(); return self->IsPetOwnerNPC();
} }
bool Lua_Mob::IsDestructibleObject()
{
Lua_Safe_Call_Bool();
return self->IsDestructibleObject();
}
luabind::scope lua_register_mob() { luabind::scope lua_register_mob() {
return luabind::class_<Lua_Mob, Lua_Entity>("Mob") return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
.def(luabind::constructor<>()) .def(luabind::constructor<>())
@ -3651,6 +3657,7 @@ luabind::scope lua_register_mob() {
.def("IsBlind", (bool(Lua_Mob::*)(void))&Lua_Mob::IsBlind) .def("IsBlind", (bool(Lua_Mob::*)(void))&Lua_Mob::IsBlind)
.def("IsCasting", &Lua_Mob::IsCasting) .def("IsCasting", &Lua_Mob::IsCasting)
.def("IsCharmed", &Lua_Mob::IsCharmed) .def("IsCharmed", &Lua_Mob::IsCharmed)
.def("IsDestructibleObject", &Lua_Mob::IsDestructibleObject)
.def("IsEliteMaterialItem", (uint32(Lua_Mob::*)(uint8))&Lua_Mob::IsEliteMaterialItem) .def("IsEliteMaterialItem", (uint32(Lua_Mob::*)(uint8))&Lua_Mob::IsEliteMaterialItem)
.def("IsEngaged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEngaged) .def("IsEngaged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEngaged)
.def("IsEnraged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEnraged) .def("IsEnraged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEnraged)

View File

@ -577,6 +577,7 @@ public:
bool IsPetOwnerBot(); bool IsPetOwnerBot();
bool IsPetOwnerClient(); bool IsPetOwnerClient();
bool IsPetOwnerNPC(); bool IsPetOwnerNPC();
bool IsDestructibleObject();
}; };
#endif #endif

View File

@ -3395,6 +3395,11 @@ bool Perl_Mob_IsPetOwnerNPC(Mob* self)
return self->IsPetOwnerNPC(); return self->IsPetOwnerNPC();
} }
bool Perl_Mob_IsDestructibleObject(Mob* self)
{
return self->IsDestructibleObject();
}
void perl_register_mob() void perl_register_mob()
{ {
perl::interpreter perl(PERL_GET_THX); perl::interpreter perl(PERL_GET_THX);
@ -3773,6 +3778,7 @@ void perl_register_mob()
package.add("IsCharmed", &Perl_Mob_IsCharmed); package.add("IsCharmed", &Perl_Mob_IsCharmed);
package.add("IsClient", &Perl_Mob_IsClient); package.add("IsClient", &Perl_Mob_IsClient);
package.add("IsCorpse", &Perl_Mob_IsCorpse); package.add("IsCorpse", &Perl_Mob_IsCorpse);
package.add("IsDestructibleObject", &Perl_Mob_IsDestructibleObject);
package.add("IsDoor", &Perl_Mob_IsDoor); package.add("IsDoor", &Perl_Mob_IsDoor);
package.add("IsEliteMaterialItem", &Perl_Mob_IsEliteMaterialItem); package.add("IsEliteMaterialItem", &Perl_Mob_IsEliteMaterialItem);
package.add("IsEncounter", &Perl_Mob_IsEncounter); package.add("IsEncounter", &Perl_Mob_IsEncounter);