[Quest API] Add Spawn2 Class to Perl (#3456)

# Perl
- Add `$spawn->Depop()`.
- Add `$spawn->Disable()`.
- Add `$spawn->Enable()`.
- Add `$spawn->ForceDespawn()`.
- Add `$spawn->GetCurrentNPCID()`.
- Add `$spawn->GetHeading()`.
- Add `$spawn->GetID()`.
- Add `$spawn->GetKillCount()`.
- Add `$spawn->GetRespawnTimer()`.
- Add `$spawn->GetSpawnCondition()`.
- Add `$spawn->GetSpawnGroupID()`.
- Add `$spawn->GetVariance()`.
- Add `$spawn->GetX()`.
- Add `$spawn->GetY()`.
- Add `$spawn->GetZ()`.
- Add `$spawn->IsEnabled()`.
- Add `$spawn->IsNPCPointerValid()`.
- Add `$spawn->LoadGrid()`.
- Add `$spawn->Repop()`.
- Add `$spawn->Repop(delay)`.
- Add `$spawn->Reset()`.
- Add `$spawn->SetCurrentNPCID(npc_id)`.
- Add `$spawn->SetNPCPointer(npc_pointer)`.
- Add `$spawn->SetRespawnTimer(new_respawn_time)`.
- Add `$spawn->SetTimer(duration)`.
- Add `$spawn->SetVariance(variance)`.

# Notes
- Adds support for Spawn2 class to Perl.
This commit is contained in:
Alex King
2023-07-02 10:26:32 -04:00
committed by GitHub
parent 7873ad3771
commit a13fa07e68
4 changed files with 194 additions and 0 deletions
+20
View File
@@ -610,6 +610,24 @@ Bot* Perl_EntityList_GetRandomBot(EntityList* self, float x, float y, float z, f
return self->GetRandomBot(glm::vec3(x, y, z), distance, exclude_bot);
}
Spawn2* Perl_EntityList_GetSpawnByID(EntityList* self, uint32 spawn_id) {
return self->GetSpawnByID(spawn_id);
}
perl::array Perl_EntityList_GetSpawnList(EntityList* self) {
perl::array ret;
std::list<Spawn2*> l;
self->GetSpawnList(l);
for (const auto& e : l) {
ret.push_back(e);
}
return ret;
}
void perl_register_entitylist()
{
perl::interpreter perl(PERL_GET_THX);
@@ -677,6 +695,8 @@ void perl_register_entitylist()
package.add("GetRandomNPC", (NPC*(*)(EntityList*))&Perl_EntityList_GetRandomNPC);
package.add("GetRandomNPC", (NPC*(*)(EntityList*, float, float, float, float))&Perl_EntityList_GetRandomNPC);
package.add("GetRandomNPC", (NPC*(*)(EntityList*, float, float, float, float, NPC*))&Perl_EntityList_GetRandomNPC);
package.add("GetSpawnByID", (Spawn2*(*)(EntityList*, uint32))&Perl_EntityList_GetSpawnByID);
package.add("GetSpawnList", (perl::array(*)(EntityList*))&Perl_EntityList_GetSpawnList);
package.add("HalveAggro", &Perl_EntityList_HalveAggro);
package.add("IsMobSpawnedByNpcTypeID", &Perl_EntityList_IsMobSpawnedByNpcTypeID);
package.add("MakeNameUnique", &Perl_EntityList_MakeNameUnique);