[Quest API] Add IsRareSpawn() to Perl/Lua. (#2338)

- Add $npc->IsRareSpawn() to Perl.
- Add npc:IsRareSpawn() to Lua.
This commit is contained in:
Kinglykrab 2022-07-30 19:40:51 -04:00 committed by GitHub
parent 113846c48c
commit 576e7b0f91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 0 deletions

View File

@ -669,6 +669,12 @@ float Lua_NPC::GetNPCStat(const char* identifier)
return self->GetNPCStat(identifier);
}
bool Lua_NPC::IsRareSpawn()
{
Lua_Safe_Call_Bool();
return self->IsRareSpawn();
}
luabind::scope lua_register_npc() {
return luabind::class_<Lua_NPC, Lua_Mob>("NPC")
.def(luabind::constructor<>())
@ -753,6 +759,7 @@ luabind::scope lua_register_npc() {
.def("IsGuarding", (bool(Lua_NPC::*)(void))&Lua_NPC::IsGuarding)
.def("IsOnHatelist", (bool(Lua_NPC::*)(Lua_Mob))&Lua_NPC::IsOnHatelist)
.def("IsRaidTarget", (bool(Lua_NPC::*)(void))&Lua_NPC::IsRaidTarget)
.def("IsRareSpawn", (bool(Lua_NPC::*)(void))&Lua_NPC::IsRareSpawn)
.def("IsTaunting", (bool(Lua_NPC::*)(void))&Lua_NPC::IsTaunting)
.def("MerchantCloseShop", (void(Lua_NPC::*)(void))&Lua_NPC::MerchantCloseShop)
.def("MerchantOpenShop", (void(Lua_NPC::*)(void))&Lua_NPC::MerchantOpenShop)

View File

@ -142,6 +142,7 @@ public:
void RecalculateSkills();
void ScaleNPC(uint8 npc_level);
bool IsRaidTarget();
bool IsRareSpawn();
void ChangeLastName(std::string last_name);
void ClearLastName();
bool HasItem(uint32 item_id);

View File

@ -488,6 +488,7 @@ public:
void SetHeroForgeModel(uint32 model) { herosforgemodel = model; }
bool IsRaidTarget() const { return raid_target; };
bool IsRareSpawn() const { return rare_spawn; }
void ResetHPUpdateTimer() { send_hp_update_timer.Start(); }
bool IgnoreDespawn() { return ignore_despawn; }

View File

@ -660,6 +660,11 @@ bool Perl_NPC_HasAISpellEffect(NPC* self, int spell_effect_id) // @categories Sp
return self->HasAISpellEffect(spell_effect_id);
}
bool Perl_NPC_IsRareSpawn(NPC* self)
{
return self->IsRareSpawn();
}
void perl_register_npc()
{
perl::interpreter perl(PERL_GET_THX);
@ -748,6 +753,7 @@ void perl_register_npc()
package.add("IsGuarding", &Perl_NPC_IsGuarding);
package.add("IsOnHatelist", &Perl_NPC_IsOnHatelist);
package.add("IsRaidTarget", &Perl_NPC_IsRaidTarget);
package.add("IsRareSpawn", &Perl_NPC_IsRareSpawn);
package.add("IsTaunting", &Perl_NPC_IsTaunting);
package.add("MerchantCloseShop", &Perl_NPC_MerchantCloseShop);
package.add("MerchantOpenShop", &Perl_NPC_MerchantOpenShop);