[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); 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 int Perl_Mob_GetPetID(Mob* self) // @categories Script Utility, Pet
{ {
return self->GetPetID(); return self->GetPetID();
@ -3242,6 +3247,7 @@ void perl_register_mob()
package.add("GetOwner", &Perl_Mob_GetOwner); package.add("GetOwner", &Perl_Mob_GetOwner);
package.add("GetOwnerID", &Perl_Mob_GetOwnerID); package.add("GetOwnerID", &Perl_Mob_GetOwnerID);
package.add("GetPR", &Perl_Mob_GetPR); package.add("GetPR", &Perl_Mob_GetPR);
package.add("GetPet", &Perl_Mob_GetPet);
package.add("GetPetID", &Perl_Mob_GetPetID); package.add("GetPetID", &Perl_Mob_GetPetID);
package.add("GetPetOrder", &Perl_Mob_GetPetOrder); package.add("GetPetOrder", &Perl_Mob_GetPetOrder);
package.add("GetPetType", &Perl_Mob_GetPetType); 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() { Mob* Mob::GetPet() {
if(GetPetID() == 0) if (!GetPetID()) {
return(nullptr); return nullptr;
Mob* tmp = entity_list.GetMob(GetPetID());
if(tmp == nullptr) {
SetPetID(0);
return(nullptr);
} }
if(tmp->GetOwnerID() != GetID()) { const auto m = entity_list.GetMob(GetPetID());
if (!m) {
SetPetID(0); SetPetID(0);
return(nullptr); return nullptr;
} }
return(tmp); if (m->GetOwnerID() != GetID()) {
SetPetID(0);
return nullptr;
}
return m;
} }
bool Mob::HasPet() const { bool Mob::HasPet() const {