[Quest API] Add GetUltimateOwner() to Perl/Lua. (#2516)

# Perl
- Add `$mob->GetUltimateOwner()` to Perl.

# Lua
- Add `mob:GetUltimateOwner()` to Lua.

# Notes
- Allows operators to get ultimate owner of something like a pet's pet or a pet's swarm pet.
This commit is contained in:
Kinglykrab 2022-11-05 08:35:14 -04:00 committed by GitHub
parent 8d1dd52db3
commit a3928ec504
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 0 deletions

View File

@ -2473,6 +2473,11 @@ void Lua_Mob::SetBuffDuration(int spell_id, int duration) {
self->SetBuffDuration(spell_id, duration);
}
Lua_Mob Lua_Mob::GetUltimateOwner() {
Lua_Safe_Call_Class(Lua_Mob);
return Lua_Mob(self->GetUltimateOwner());
}
luabind::scope lua_register_mob() {
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
.def(luabind::constructor<>())
@ -2729,6 +2734,7 @@ luabind::scope lua_register_mob() {
.def("GetSpellHPBonuses", &Lua_Mob::GetSpellHPBonuses)
.def("GetTarget", &Lua_Mob::GetTarget)
.def("GetTexture", &Lua_Mob::GetTexture)
.def("GetUltimateOwner", &Lua_Mob::GetUltimateOwner)
.def("GetWIS", &Lua_Mob::GetWIS)
.def("GetWalkspeed", &Lua_Mob::GetWalkspeed)
.def("GetWaypointH", &Lua_Mob::GetWaypointH)

View File

@ -206,6 +206,7 @@ public:
void SpellEffect(Lua_Mob caster, int spell_id, double partial);
Lua_Mob GetPet();
Lua_Mob GetOwner();
Lua_Mob GetUltimateOwner();
Lua_HateList GetHateList();
Lua_HateList GetShuffledHateList();
Lua_HateList GetHateListByDistance();

View File

@ -2452,6 +2452,11 @@ int Perl_Mob_GetSkillDmgAmt(Mob* self, uint16 skill_id)
return self->GetSkillDmgAmt(skill_id);
}
Mob* Perl_Mob_GetUltimateOwner(Mob* self) // @categories Script Utility, Pet
{
return self->GetUltimateOwner();
}
#ifdef BOTS
Bot* Perl_Mob_CastToBot(Mob* self)
{
@ -2711,6 +2716,7 @@ void perl_register_mob()
package.add("GetSpellStat", (int(*)(Mob*, uint32, const char*, uint8))&Perl_Mob_GetSpellStat);
package.add("GetTarget", &Perl_Mob_GetTarget);
package.add("GetTexture", &Perl_Mob_GetTexture);
package.add("GetUltimateOwner", &Perl_Mob_GetUltimateOwner);
package.add("GetWIS", &Perl_Mob_GetWIS);
package.add("GetWalkspeed", &Perl_Mob_GetWalkspeed);
package.add("GetWaypointH", &Perl_Mob_GetWaypointH);