mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-22 12:18:27 +00:00
[Quest API] Add GetRandomClient(), GetRandomMob() and GetRandomNPC() overloads to Perl/Lua. (#2541)
* [Quest API] Add GetRandomClient(), GetRandomMob() and GetRandomNPC() overloads to Perl/Lua. # Perl - Add `$entity_list->GetRandomClient()` to Perl. - Add `$entity_list->GetRandomMob()` to Perl. - Add `$entity_list->GetRandomNPC()` to Perl. # Lua - Add `eq.get_entity_list():GetRandomClient()` to Lua. - Add `eq.get_entity_list():GetRandomMob()` to Lua. - Add `eq.get_entity_list():GetRandomNPC()` to Lua. # Notes - We didn't have overloads before without XYZ, so was harder to do a zone-wide random. * Update lua_entity_list.cpp
This commit is contained in:
@@ -352,6 +352,11 @@ void Perl_EntityList_MessageGroup(EntityList* self, Mob* sender, bool skip_close
|
||||
self->MessageGroup(sender, skip_close, emote_color_type, message);
|
||||
}
|
||||
|
||||
Client* Perl_EntityList_GetRandomClient(EntityList* self) // @categories Account and Character, Script Utility
|
||||
{
|
||||
return entity_list.GetRandomClient();
|
||||
}
|
||||
|
||||
Client* Perl_EntityList_GetRandomClient(EntityList* self, float x, float y, float z, float distance) // @categories Account and Character, Script Utility
|
||||
{
|
||||
return entity_list.GetRandomClient(glm::vec3(x, y, z), (distance * distance));
|
||||
@@ -496,6 +501,11 @@ void Perl_EntityList_SignalAllClients(EntityList* self, uint32_t data) // @categ
|
||||
entity_list.SignalAllClients(data);
|
||||
}
|
||||
|
||||
Mob* Perl_EntityList_GetRandomMob(EntityList* self) // @categories Account and Character, Script Utility
|
||||
{
|
||||
return entity_list.GetRandomMob();
|
||||
}
|
||||
|
||||
Mob* Perl_EntityList_GetRandomMob(EntityList* self, float x, float y, float z, float distance) // @categories Account and Character, Script Utility
|
||||
{
|
||||
return entity_list.GetRandomMob(glm::vec3(x, y, z), (distance * distance));
|
||||
@@ -506,6 +516,11 @@ Mob* Perl_EntityList_GetRandomMob(EntityList* self, float x, float y, float z, f
|
||||
return entity_list.GetRandomMob(glm::vec3(x, y, z), (distance * distance), exclude_mob);
|
||||
}
|
||||
|
||||
NPC* Perl_EntityList_GetRandomNPC(EntityList* self) // @categories Account and Character, Script Utility
|
||||
{
|
||||
return entity_list.GetRandomNPC();
|
||||
}
|
||||
|
||||
NPC* Perl_EntityList_GetRandomNPC(EntityList* self, float x, float y, float z, float distance) // @categories Account and Character, Script Utility
|
||||
{
|
||||
return entity_list.GetRandomNPC(glm::vec3(x, y, z), (distance * distance));
|
||||
@@ -569,10 +584,13 @@ void perl_register_entitylist()
|
||||
package.add("GetObjectList", &Perl_EntityList_GetObjectList);
|
||||
package.add("GetRaidByClient", &Perl_EntityList_GetRaidByClient);
|
||||
package.add("GetRaidByID", &Perl_EntityList_GetRaidByID);
|
||||
package.add("GetRandomClient", (Client*(*)(EntityList*))&Perl_EntityList_GetRandomClient);
|
||||
package.add("GetRandomClient", (Client*(*)(EntityList*, float, float, float, float))&Perl_EntityList_GetRandomClient);
|
||||
package.add("GetRandomClient", (Client*(*)(EntityList*, float, float, float, float, Client*))&Perl_EntityList_GetRandomClient);
|
||||
package.add("GetRandomMob", (Mob*(*)(EntityList*))&Perl_EntityList_GetRandomMob);
|
||||
package.add("GetRandomMob", (Mob*(*)(EntityList*, float, float, float, float))&Perl_EntityList_GetRandomMob);
|
||||
package.add("GetRandomMob", (Mob*(*)(EntityList*, float, float, float, float, Mob*))&Perl_EntityList_GetRandomMob);
|
||||
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("HalveAggro", &Perl_EntityList_HalveAggro);
|
||||
|
||||
Reference in New Issue
Block a user