[Quest API] Add GetPet() to Perl (#3309)

# Perl
- Add `$mob->GetPet()`.

# Notes
- This exists in Lua, but not Perl.
This commit is contained in:
Alex King 2023-05-07 20:13:26 -04:00 committed by GitHub
parent 8814ab26cd
commit ce1de9997b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 17 additions and 10 deletions

View File

@ -1054,6 +1054,11 @@ void Perl_Mob_SetPetID(Mob* self, uint16 new_pet_id) // @categories Pet
self->SetPetID(new_pet_id);
}
Mob* Perl_Mob_GetPet(Mob* self) // @categories Script Utility, Pet
{
return self->GetPet();
}
int Perl_Mob_GetPetID(Mob* self) // @categories Script Utility, Pet
{
return self->GetPetID();
@ -3242,6 +3247,7 @@ void perl_register_mob()
package.add("GetOwner", &Perl_Mob_GetOwner);
package.add("GetOwnerID", &Perl_Mob_GetOwnerID);
package.add("GetPR", &Perl_Mob_GetPR);
package.add("GetPet", &Perl_Mob_GetPet);
package.add("GetPetID", &Perl_Mob_GetPetID);
package.add("GetPetOrder", &Perl_Mob_GetPetOrder);
package.add("GetPetType", &Perl_Mob_GetPetType);

View File

@ -406,21 +406,22 @@ bool ZoneDatabase::GetPoweredPetEntry(const char *pet_type, int16 petpower, PetR
}
Mob* Mob::GetPet() {
if(GetPetID() == 0)
return(nullptr);
Mob* tmp = entity_list.GetMob(GetPetID());
if(tmp == nullptr) {
SetPetID(0);
return(nullptr);
if (!GetPetID()) {
return nullptr;
}
if(tmp->GetOwnerID() != GetID()) {
const auto m = entity_list.GetMob(GetPetID());
if (!m) {
SetPetID(0);
return(nullptr);
return nullptr;
}
return(tmp);
if (m->GetOwnerID() != GetID()) {
SetPetID(0);
return nullptr;
}
return m;
}
bool Mob::HasPet() const {