diff --git a/zone/lua_mob.cpp b/zone/lua_mob.cpp index 306c533bb..6bbcfc1ee 100644 --- a/zone/lua_mob.cpp +++ b/zone/lua_mob.cpp @@ -3225,6 +3225,30 @@ uint32 Lua_Mob::GetHateListNPCCount() return self->GetHateListCount(HateListCountType::NPC); } +bool Lua_Mob::IsAnimation() +{ + Lua_Safe_Call_Bool(); + return self->IsAnimation(); +} + +bool Lua_Mob::IsCharmed() +{ + Lua_Safe_Call_Bool(); + return self->IsCharmed(); +} + +bool Lua_Mob::IsFamiliar() +{ + Lua_Safe_Call_Bool(); + return self->IsFamiliar(); +} + +bool Lua_Mob::IsTargetLockPet() +{ + Lua_Safe_Call_Bool(); + return self->IsTargetLockPet(); +} + luabind::scope lua_register_mob() { return luabind::class_("Mob") .def(luabind::constructor<>()) @@ -3601,15 +3625,18 @@ luabind::scope lua_register_mob() { .def("InterruptSpell", (void(Lua_Mob::*)(void))&Lua_Mob::InterruptSpell) .def("IsAIControlled", (bool(Lua_Mob::*)(void))&Lua_Mob::IsAIControlled) .def("IsAmnesiad", (bool(Lua_Mob::*)(void))&Lua_Mob::IsAmnesiad) + .def("IsAnimation", &Lua_Mob::IsAnimation) .def("IsAttackAllowed", (bool(Lua_Mob::*)(Lua_Mob))&Lua_Mob::IsAttackAllowed) .def("IsAttackAllowed", (bool(Lua_Mob::*)(Lua_Mob,bool))&Lua_Mob::IsAttackAllowed) .def("IsBeneficialAllowed", (bool(Lua_Mob::*)(Lua_Mob))&Lua_Mob::IsBeneficialAllowed) .def("IsBerserk", &Lua_Mob::IsBerserk) .def("IsBlind", (bool(Lua_Mob::*)(void))&Lua_Mob::IsBlind) .def("IsCasting", &Lua_Mob::IsCasting) + .def("IsCharmed", &Lua_Mob::IsCharmed) .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) + .def("IsFamiliar", &Lua_Mob::IsFamiliar) .def("IsFeared", (bool(Lua_Mob::*)(void))&Lua_Mob::IsFeared) .def("IsFindable", (bool(Lua_Mob::*)(void))&Lua_Mob::IsFindable) .def("IsHorse", &Lua_Mob::IsHorse) @@ -3628,6 +3655,7 @@ luabind::scope lua_register_mob() { .def("IsStunned", (bool(Lua_Mob::*)(void))&Lua_Mob::IsStunned) .def("IsTargetable", (bool(Lua_Mob::*)(void))&Lua_Mob::IsTargetable) .def("IsTargeted", &Lua_Mob::IsTargeted) + .def("IsTargetLockPet", &Lua_Mob::IsTargetLockPet) .def("IsTemporaryPet", &Lua_Mob::IsTemporaryPet) .def("IsTrackable", (bool(Lua_Mob::*)(void))&Lua_Mob::IsTrackable) .def("IsWarriorClass", &Lua_Mob::IsWarriorClass) diff --git a/zone/lua_mob.h b/zone/lua_mob.h index 3d86b5e2a..46038c084 100644 --- a/zone/lua_mob.h +++ b/zone/lua_mob.h @@ -570,6 +570,10 @@ public: uint32 GetHateListBotCount(); uint32 GetHateListClientCount(); uint32 GetHateListNPCCount(); + bool IsAnimation(); + bool IsCharmed(); + bool IsFamiliar(); + bool IsTargetLockPet(); }; #endif diff --git a/zone/perl_mob.cpp b/zone/perl_mob.cpp index 8f7ecccaf..6559e9f07 100644 --- a/zone/perl_mob.cpp +++ b/zone/perl_mob.cpp @@ -3360,6 +3360,26 @@ uint32 Perl_Mob_GetHateListNPCCount(Mob* self) return self->GetHateListCount(HateListCountType::NPC); } +bool Perl_Mob_IsAnimation(Mob* self) +{ + return self->IsAnimation(); +} + +bool Perl_Mob_IsCharmed(Mob* self) +{ + return self->IsCharmed(); +} + +bool Perl_Mob_IsFamiliar(Mob* self) +{ + return self->IsFamiliar(); +} + +bool Perl_Mob_IsTargetLockPet(Mob* self) +{ + return self->IsTargetLockPet(); +} + void perl_register_mob() { perl::interpreter perl(PERL_GET_THX); @@ -3725,6 +3745,7 @@ void perl_register_mob() package.add("InterruptSpell", (void(*)(Mob*, uint16))&Perl_Mob_InterruptSpell); package.add("IsAIControlled", &Perl_Mob_IsAIControlled); package.add("IsAmnesiad", &Perl_Mob_IsAmnesiad); + package.add("IsAnimation", &Perl_Mob_IsAnimation); package.add("IsAttackAllowed", (bool(*)(Mob*, Mob*))&Perl_Mob_IsAttackAllowed); package.add("IsAttackAllowed", (bool(*)(Mob*, Mob*, bool))&Perl_Mob_IsAttackAllowed); package.add("IsAura", &Perl_Mob_IsAura); @@ -3734,6 +3755,7 @@ void perl_register_mob() package.add("IsBlind", &Perl_Mob_IsBlind); package.add("IsBot", &Perl_Mob_IsBot); package.add("IsCasting", &Perl_Mob_IsCasting); + package.add("IsCharmed", &Perl_Mob_IsCharmed); package.add("IsClient", &Perl_Mob_IsClient); package.add("IsCorpse", &Perl_Mob_IsCorpse); package.add("IsDoor", &Perl_Mob_IsDoor); @@ -3741,6 +3763,7 @@ void perl_register_mob() package.add("IsEncounter", &Perl_Mob_IsEncounter); package.add("IsEngaged", &Perl_Mob_IsEngaged); package.add("IsEnraged", &Perl_Mob_IsEnraged); + package.add("IsFamiliar", &Perl_Mob_IsFamiliar); package.add("IsFeared", &Perl_Mob_IsFeared); package.add("IsFindable", &Perl_Mob_IsFindable); package.add("IsHorse", &Perl_Mob_IsHorse); @@ -3767,6 +3790,7 @@ void perl_register_mob() package.add("IsStunned", &Perl_Mob_IsStunned); package.add("IsTargetable", &Perl_Mob_IsTargetable); package.add("IsTargeted", &Perl_Mob_IsTargeted); + package.add("IsTargetLockPet", &Perl_Mob_IsTargetLockPet); package.add("IsTemporaryPet", &Perl_Mob_IsTemporaryPet); package.add("IsTrackable", &Perl_Mob_IsTrackable); package.add("IsTrap", &Perl_Mob_IsTrap);