[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
+8 -2
View File
@@ -2007,12 +2007,17 @@ bool Perl_Client_HasDisciplineLearned(Client* self, uint16 spell_id)
return self->HasDisciplineLearned(spell_id);
}
uint32_t Perl_Client_GetClassBitmask(Client* self)
uint16_t Perl_Client_GetClassBitmask(Client* self)
{
return GetPlayerClassBit(self->GetClass());
}
uint32_t Perl_Client_GetRaceBitmask(Client* self) // @categories Stats and Attributes
uint32_t Perl_Client_GetDeityBitmask(Client* self)
{
return static_cast<uint32_t>(EQ::deity::GetDeityBitmask(static_cast<EQ::deity::DeityType>(self->GetDeity())));
}
uint16_t Perl_Client_GetRaceBitmask(Client* self) // @categories Stats and Attributes
{
return GetPlayerRaceBit(self->GetBaseRace());
}
@@ -3312,6 +3317,7 @@ void perl_register_client()
package.add("GetCorpseID", &Perl_Client_GetCorpseID);
package.add("GetCorpseItemAt", &Perl_Client_GetCorpseItemAt);
package.add("GetCustomItemData", &Perl_Client_GetCustomItemData);
package.add("GetDeityBitmask", &Perl_Client_GetDeityBitmask);
package.add("GetDiscSlotBySpellID", &Perl_Client_GetDiscSlotBySpellID);
package.add("GetDisciplineTimer", &Perl_Client_GetDisciplineTimer);
package.add("GetDuelTarget", &Perl_Client_GetDuelTarget);