[Quest API] Add Mob/Entity type check methods to Perl/Lua (#3493)

* [Quest API] Add Mob/Entity type check methods to Perl/Lua

# Perl
- Add `$mob->IsAura()`.
- Add `$mob->IsEncounter()`.
- Add `$mob->IsMerc()`.
- Add `$mob->IsOfClientBot()`.
- Add `$mob->IsOfClientBotMerc()`.
- Add `$mob->IsTemporaryPet()`.

# Lua
- Add `entity:IsAura()`.
- Add `entity:IsOfClientBot()`.
- Add `entity:IsOfClientBotMerc()`.
- Add `mob:IsTemporaryPet()`.

* Update lua_entity.cpp

* Update lua_mob.cpp
This commit is contained in:
Alex King
2023-07-12 22:20:07 -04:00
committed by GitHub
parent c81d05940a
commit 4854201b2a
5 changed files with 70 additions and 5 deletions
+41 -5
View File
@@ -21,16 +21,16 @@ bool Perl_Mob_IsNPC(Mob* self) // @categories Script Utility
return self->IsNPC();
}
bool Perl_Mob_IsBot(Mob* self) // @categories Script Utility
{
return self->IsBot();
}
bool Perl_Mob_IsMob(Mob* self) // @categories Script Utility
{
return self->IsMob();
}
bool Perl_Mob_IsMerc(Mob* self) // @categories Script Utility
{
return self->IsMerc();
}
bool Perl_Mob_IsCorpse(Mob* self) // @categories Script Utility, Corpse
{
return self->IsCorpse();
@@ -66,6 +66,36 @@ bool Perl_Mob_IsBeacon(Mob* self) // @categories Script Utility
return self->IsBeacon();
}
bool Perl_Mob_IsEncounter(Mob* self) // @categories Script Utility
{
return self->IsEncounter();
}
bool Perl_Mob_IsBot(Mob* self) // @categories Script Utility
{
return self->IsBot();
}
bool Perl_Mob_IsAura(Mob* self) // @categories Script Utility
{
return self->IsAura();
}
bool Perl_Mob_IsOfClientBot(Mob* self) // @categories Script Utility
{
return self->IsOfClientBot();
}
bool Perl_Mob_IsOfClientBotMerc(Mob* self) // @categories Script Utility
{
return self->IsOfClientBotMerc();
}
bool Perl_Mob_IsTemporaryPet(Mob* self) // @categories Script Utility
{
return self->IsTempPet();
}
Client* Perl_Mob_CastToClient(Mob* self) // @categories Account and Character, Script Utility
{
return self->CastToClient();
@@ -3443,6 +3473,7 @@ void perl_register_mob()
package.add("IsAmnesiad", &Perl_Mob_IsAmnesiad);
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);
package.add("IsBeacon", &Perl_Mob_IsBeacon);
package.add("IsBeneficialAllowed", &Perl_Mob_IsBeneficialAllowed);
package.add("IsBerserk", &Perl_Mob_IsBerserk);
@@ -3453,6 +3484,7 @@ void perl_register_mob()
package.add("IsCorpse", &Perl_Mob_IsCorpse);
package.add("IsDoor", &Perl_Mob_IsDoor);
package.add("IsEliteMaterialItem", &Perl_Mob_IsEliteMaterialItem);
package.add("IsEncounter", &Perl_Mob_IsEncounter);
package.add("IsEngaged", &Perl_Mob_IsEngaged);
package.add("IsEnraged", &Perl_Mob_IsEnraged);
package.add("IsFeared", &Perl_Mob_IsFeared);
@@ -3462,12 +3494,15 @@ void perl_register_mob()
package.add("IsInvisible", (bool(*)(Mob*))&Perl_Mob_IsInvisible);
package.add("IsInvisible", (bool(*)(Mob*, Mob*))&Perl_Mob_IsInvisible);
package.add("IsMeleeDisabled", &Perl_Mob_IsMeleeDisabled);
package.add("IsMerc", &Perl_Mob_IsMerc);
package.add("IsMezzed", &Perl_Mob_IsMezzed);
package.add("IsMob", &Perl_Mob_IsMob);
package.add("IsMoving", &Perl_Mob_IsMoving);
package.add("IsNPC", &Perl_Mob_IsNPC);
package.add("IsNPCCorpse", &Perl_Mob_IsNPCCorpse);
package.add("IsObject", &Perl_Mob_IsObject);
package.add("IsOfClientBot", &Perl_Mob_IsOfClientBot);
package.add("IsOfClientBotMerc", &Perl_Mob_IsOfClientBotMerc);
package.add("IsPausedTimer", &Perl_Mob_IsPausedTimer);
package.add("IsPet", &Perl_Mob_IsPet);
package.add("IsPlayerCorpse", &Perl_Mob_IsPlayerCorpse);
@@ -3478,6 +3513,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("IsTemporaryPet", &Perl_Mob_IsTemporaryPet);
package.add("IsTrackable", &Perl_Mob_IsTrackable);
package.add("IsTrap", &Perl_Mob_IsTrap);
package.add("IsWarriorClass", &Perl_Mob_IsWarriorClass);