[Quest API] Add IsFindable() and IsTrackable() to Perl/Lua (#2996)

# Perl
- Add `$mob->IsFindable()`.
- Add `$mob->IsTrackable()`.

# Lua
- Add `mob:IsFindable()`.
- Add `mob:IsTrackable()`.

# Notes
- Allows operators to see if a mob is findable or trackable.
This commit is contained in:
Alex King 2023-02-28 21:26:11 -05:00 committed by GitHub
parent 9a5bf53e11
commit 5702f7bcd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 0 deletions

View File

@ -2823,6 +2823,17 @@ Lua_HateList Lua_Mob::GetHateListBots(uint32 distance) {
return ret;
}
bool Lua_Mob::IsFindable() {
Lua_Safe_Call_Bool();
return self->IsFindable();
}
bool Lua_Mob::IsTrackable() {
Lua_Safe_Call_Bool();
return self->IsTrackable();
}
float Lua_Mob::GetDefaultRaceSize() {
Lua_Safe_Call_Real();
return self->GetDefaultRaceSize();
@ -3170,6 +3181,7 @@ luabind::scope lua_register_mob() {
.def("IsEngaged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEngaged)
.def("IsEnraged", (bool(Lua_Mob::*)(void))&Lua_Mob::IsEnraged)
.def("IsFeared", (bool(Lua_Mob::*)(void))&Lua_Mob::IsFeared)
.def("IsFindable", (bool(Lua_Mob::*)(void))&Lua_Mob::IsFindable)
.def("IsHorse", &Lua_Mob::IsHorse)
.def("IsImmuneToSpell", (bool(Lua_Mob::*)(int,Lua_Mob))&Lua_Mob::IsImmuneToSpell)
.def("IsInvisible", (bool(Lua_Mob::*)(Lua_Mob))&Lua_Mob::IsInvisible)
@ -3185,6 +3197,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("IsTrackable", (bool(Lua_Mob::*)(void))&Lua_Mob::IsTrackable)
.def("IsWarriorClass", &Lua_Mob::IsWarriorClass)
.def("Kill", (void(Lua_Mob::*)(void))&Lua_Mob::Kill)
.def("Mesmerize", (void(Lua_Mob::*)(void))&Lua_Mob::Mesmerize)

View File

@ -513,6 +513,8 @@ public:
void CopyHateList(Lua_Mob to);
bool IsAttackAllowed(Lua_Mob target);
bool IsAttackAllowed(Lua_Mob target, bool is_spell_attack);
bool IsFindable();
bool IsTrackable();
float GetDefaultRaceSize();
};

View File

@ -2786,6 +2786,16 @@ Bot* Perl_Mob_GetHateRandomBot(Mob* self) // @categories Hate and Aggro
return self->GetHateRandomBot();
}
bool Perl_Mob_IsFindable(Mob* self) // @categories Script Utility
{
return self->IsFindable();
}
bool Perl_Mob_IsTrackable(Mob* self) // @categories Script Utility
{
return self->IsTrackable();
}
bool Perl_Mob_IsBerserk(Mob* self) // @categories Script Utility
{
return self->IsBerserk();
@ -3134,6 +3144,7 @@ void perl_register_mob()
package.add("IsEngaged", &Perl_Mob_IsEngaged);
package.add("IsEnraged", &Perl_Mob_IsEnraged);
package.add("IsFeared", &Perl_Mob_IsFeared);
package.add("IsFindable", &Perl_Mob_IsFindable);
package.add("IsHorse", &Perl_Mob_IsHorse);
package.add("IsImmuneToSpell", &Perl_Mob_IsImmuneToSpell);
package.add("IsInvisible", (bool(*)(Mob*))&Perl_Mob_IsInvisible);
@ -3154,6 +3165,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("IsTrackable", &Perl_Mob_IsTrackable);
package.add("IsTrap", &Perl_Mob_IsTrap);
package.add("IsWarriorClass", &Perl_Mob_IsWarriorClass);
package.add("Kill", &Perl_Mob_Kill);