[Quest API] Add Class/Deity/Race Methods to Perl/Lua (#4215)

# Perl
- Add `$client->GetDeityBitmask()`.
- Add `quest::get_class_bitmask(class_id)`.
- Add `quest::get_deity_bitmask(deity_id)`.
- Add `quest::get_race_bitmask(race_id)`.

# Lua
- Add `client:GetDeityBitmask()`.
- Add `eq.get_class_bitmask(class_id)`.
- Add `eq.get_deity_bitmask(deity_id)`.
- Add `eq.get_race_bitmask(race_id)`.

# Notes
- Allows operators to get the class/deity/race bitmask of a class/deity/race by ID.
- Allows operators to get a client's deity bitmask.
This commit is contained in:
Alex King
2024-03-28 16:32:02 -04:00
committed by GitHub
parent a87496b0cf
commit 109940fc0c
7 changed files with 56 additions and 10 deletions
+18
View File
@@ -5840,6 +5840,21 @@ std::string Perl__silent_saylink(std::string text, std::string link_name)
return Saylink::Silent(text, link_name);
}
uint16 Perl__get_class_bitmask(uint8 class_id)
{
return GetPlayerClassBit(class_id);
}
uint32 Perl__get_deity_bitmask(uint16 deity_id)
{
return static_cast<uint32>(EQ::deity::GetDeityBitmask(static_cast<EQ::deity::DeityType>(deity_id)));
}
uint16 Perl__get_race_bitmask(uint16 race_id)
{
return GetPlayerRaceBit(race_id);
}
void perl_register_quest()
{
perl::interpreter perl(PERL_GET_THX);
@@ -6486,9 +6501,11 @@ void perl_register_quest()
package.add("getconsiderlevelname", &Perl__getconsiderlevelname);
package.add("gethexcolorcode", &Perl__gethexcolorcode);
package.add("getcurrencyid", &Perl__getcurrencyid);
package.add("get_class_bitmask", &Perl__get_class_bitmask);
package.add("get_data", &Perl__get_data);
package.add("get_data_expires", &Perl__get_data_expires);
package.add("get_data_remaining", &Perl__get_data_remaining);
package.add("get_deity_bitmask", &Perl__get_deity_bitmask);
package.add("get_dz_task_id", &Perl__get_dz_task_id);
package.add("getexpmodifierbycharid", (double(*)(uint32, uint32))&Perl__getexpmodifierbycharid);
package.add("getexpmodifierbycharid", (double(*)(uint32, uint32, int16))&Perl__getexpmodifierbycharid);
@@ -6521,6 +6538,7 @@ void perl_register_quest()
package.add("getgroupidbycharid", &Perl__getgroupidbycharid);
package.add("getinventoryslotname", &Perl__getinventoryslotname);
package.add("getraididbycharid", &Perl__getraididbycharid);
package.add("get_race_bitmask", &Perl__get_race_bitmask);
package.add("get_recipe_component_item_ids", &Perl__GetRecipeComponentItemIDs);
package.add("get_recipe_container_item_ids", &Perl__GetRecipeContainerItemIDs);
package.add("get_recipe_fail_item_ids", &Perl__GetRecipeFailItemIDs);