mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
[Quest API] Add GetClassPlural() and GetRacePlural() to Perl/Lua (#3468)
* [Quest API] Add GetClassPlural() and GetRacePlural() to Perl/Lua # Perl - Add `$mob->GetClassPlural()`. - Add `$mob->GetRacePlural()`. # Lua - Add `mob:GetClassPlural()`. - Add `mob:GetRacePlural()`. # Notes - Allows operators to get the plural of a player class or race, example being `Warrior` as `Warriors` or `Dark Elf` as `Dark Elves`. * Update mob.cpp
This commit is contained in:
parent
5519c3e781
commit
a633784f78
@ -6904,87 +6904,6 @@ void Client::SetMaxXTargets(uint8 NewMax)
|
||||
FastQueuePacket(&outapp);
|
||||
}
|
||||
|
||||
const char* Client::GetRacePlural(Client* client) {
|
||||
|
||||
switch (client->CastToMob()->GetRace()) {
|
||||
case HUMAN:
|
||||
return "Humans"; break;
|
||||
case BARBARIAN:
|
||||
return "Barbarians"; break;
|
||||
case ERUDITE:
|
||||
return "Erudites"; break;
|
||||
case WOOD_ELF:
|
||||
return "Wood Elves"; break;
|
||||
case HIGH_ELF:
|
||||
return "High Elves"; break;
|
||||
case DARK_ELF:
|
||||
return "Dark Elves"; break;
|
||||
case HALF_ELF:
|
||||
return "Half Elves"; break;
|
||||
case DWARF:
|
||||
return "Dwarves"; break;
|
||||
case TROLL:
|
||||
return "Trolls"; break;
|
||||
case OGRE:
|
||||
return "Ogres"; break;
|
||||
case HALFLING:
|
||||
return "Halflings"; break;
|
||||
case GNOME:
|
||||
return "Gnomes"; break;
|
||||
case IKSAR:
|
||||
return "Iksar"; break;
|
||||
case VAHSHIR:
|
||||
return "Vah Shir"; break;
|
||||
case FROGLOK:
|
||||
return "Frogloks"; break;
|
||||
case DRAKKIN:
|
||||
return "Drakkin"; break;
|
||||
default:
|
||||
return "Races"; break;
|
||||
}
|
||||
}
|
||||
|
||||
const char* Client::GetClassPlural(Client* client) {
|
||||
|
||||
switch (client->CastToMob()->GetClass()) {
|
||||
case WARRIOR:
|
||||
return "Warriors"; break;
|
||||
case CLERIC:
|
||||
return "Clerics"; break;
|
||||
case PALADIN:
|
||||
return "Paladins"; break;
|
||||
case RANGER:
|
||||
return "Rangers"; break;
|
||||
case SHADOWKNIGHT:
|
||||
return "Shadowknights"; break;
|
||||
case DRUID:
|
||||
return "Druids"; break;
|
||||
case MONK:
|
||||
return "Monks"; break;
|
||||
case BARD:
|
||||
return "Bards"; break;
|
||||
case ROGUE:
|
||||
return "Rogues"; break;
|
||||
case SHAMAN:
|
||||
return "Shamen"; break;
|
||||
case NECROMANCER:
|
||||
return "Necromancers"; break;
|
||||
case WIZARD:
|
||||
return "Wizards"; break;
|
||||
case MAGICIAN:
|
||||
return "Magicians"; break;
|
||||
case ENCHANTER:
|
||||
return "Enchanters"; break;
|
||||
case BEASTLORD:
|
||||
return "Beastlords"; break;
|
||||
case BERSERKER:
|
||||
return "Berserkers"; break;
|
||||
default:
|
||||
return "Classes"; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Client::SendWebLink(const char *website)
|
||||
{
|
||||
if (website) {
|
||||
|
||||
@ -1559,8 +1559,6 @@ public:
|
||||
Timer* GetMercTimer() { return &merc_timer; };
|
||||
Timer* GetPickLockTimer() { return &pick_lock_timer; };
|
||||
|
||||
const char* GetRacePlural(Client* client);
|
||||
const char* GetClassPlural(Client* client);
|
||||
void SendWebLink(const char* website);
|
||||
void SendMarqueeMessage(uint32 type, std::string message, uint32 duration = 3000);
|
||||
void SendMarqueeMessage(uint32 type, uint32 priority, uint32 fade_in, uint32 fade_out, uint32 duration, std::string message);
|
||||
|
||||
@ -3115,6 +3115,18 @@ Lua_Mob_List Lua_Mob::GetCloseMobList(float distance, bool ignore_self) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::string Lua_Mob::GetClassPlural()
|
||||
{
|
||||
Lua_Safe_Call_String();
|
||||
return self->GetClassPlural();
|
||||
}
|
||||
|
||||
std::string Lua_Mob::GetRacePlural()
|
||||
{
|
||||
Lua_Safe_Call_String();
|
||||
return self->GetRacePlural();
|
||||
}
|
||||
|
||||
luabind::scope lua_register_mob() {
|
||||
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
|
||||
.def(luabind::constructor<>())
|
||||
@ -3323,6 +3335,7 @@ luabind::scope lua_register_mob() {
|
||||
.def("GetCasterLevel", &Lua_Mob::GetCasterLevel)
|
||||
.def("GetClass", &Lua_Mob::GetClass)
|
||||
.def("GetClassName", &Lua_Mob::GetClassName)
|
||||
.def("GetClassPlural", &Lua_Mob::GetClassPlural)
|
||||
.def("GetCleanName", &Lua_Mob::GetCleanName)
|
||||
.def("GetCloseMobList", (Lua_Mob_List(Lua_Mob::*)(void))&Lua_Mob::GetCloseMobList)
|
||||
.def("GetCloseMobList", (Lua_Mob_List(Lua_Mob::*)(float))&Lua_Mob::GetCloseMobList)
|
||||
@ -3426,6 +3439,7 @@ luabind::scope lua_register_mob() {
|
||||
.def("GetPhR", &Lua_Mob::GetPhR)
|
||||
.def("GetRace", &Lua_Mob::GetRace)
|
||||
.def("GetRaceName", &Lua_Mob::GetRaceName)
|
||||
.def("GetRacePlural", &Lua_Mob::GetRacePlural)
|
||||
.def("GetRemainingTimeMS", &Lua_Mob::GetRemainingTimeMS)
|
||||
.def("GetResist", (int(Lua_Mob::*)(int))&Lua_Mob::GetResist)
|
||||
.def("GetReverseFactionCon", (int(Lua_Mob::*)(Lua_Mob))&Lua_Mob::GetReverseFactionCon)
|
||||
|
||||
@ -554,6 +554,8 @@ public:
|
||||
Lua_Mob_List GetCloseMobList();
|
||||
Lua_Mob_List GetCloseMobList(float distance);
|
||||
Lua_Mob_List GetCloseMobList(float distance, bool ignore_self);
|
||||
std::string GetClassPlural();
|
||||
std::string GetRacePlural();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
80
zone/mob.cpp
80
zone/mob.cpp
@ -8262,3 +8262,83 @@ int Mob::DispatchZoneControllerEvent(
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::string Mob::GetRacePlural()
|
||||
{
|
||||
switch (GetBaseRace()) {
|
||||
case RACE_HUMAN_1:
|
||||
return "Humans";
|
||||
case RACE_BARBARIAN_2:
|
||||
return "Barbarians";
|
||||
case RACE_ERUDITE_3:
|
||||
return "Erudites";
|
||||
case RACE_WOOD_ELF_4:
|
||||
return "Wood Elves";
|
||||
case RACE_HIGH_ELF_5:
|
||||
return "High Elves";
|
||||
case RACE_DARK_ELF_6:
|
||||
return "Dark Elves";
|
||||
case RACE_HALF_ELF_7:
|
||||
return "Half Elves";
|
||||
case RACE_DWARF_8:
|
||||
return "Dwarves";
|
||||
case RACE_TROLL_9:
|
||||
return "Trolls";
|
||||
case RACE_OGRE_10:
|
||||
return "Ogres";
|
||||
case RACE_HALFLING_11:
|
||||
return "Halflings";
|
||||
case RACE_GNOME_12:
|
||||
return "Gnomes";
|
||||
case RACE_IKSAR_128:
|
||||
return "Iksar";
|
||||
case RACE_VAH_SHIR_130:
|
||||
return "Vah Shir";
|
||||
case RACE_FROGLOK_330:
|
||||
return "Frogloks";
|
||||
case RACE_DRAKKIN_522:
|
||||
return "Drakkin";
|
||||
default:
|
||||
return "Races";
|
||||
}
|
||||
}
|
||||
|
||||
std::string Mob::GetClassPlural()
|
||||
{
|
||||
switch (GetClass()) {
|
||||
case WARRIOR:
|
||||
return "Warriors";
|
||||
case CLERIC:
|
||||
return "Clerics";
|
||||
case PALADIN:
|
||||
return "Paladins";
|
||||
case RANGER:
|
||||
return "Rangers";
|
||||
case SHADOWKNIGHT:
|
||||
return "Shadowknights";
|
||||
case DRUID:
|
||||
return "Druids";
|
||||
case MONK:
|
||||
return "Monks";
|
||||
case BARD:
|
||||
return "Bards";
|
||||
case ROGUE:
|
||||
return "Rogues";
|
||||
case SHAMAN:
|
||||
return "Shamans";
|
||||
case NECROMANCER:
|
||||
return "Necromancers";
|
||||
case WIZARD:
|
||||
return "Wizards";
|
||||
case MAGICIAN:
|
||||
return "Magicians";
|
||||
case ENCHANTER:
|
||||
return "Enchanters";
|
||||
case BEASTLORD:
|
||||
return "Beastlords";
|
||||
case BERSERKER:
|
||||
return "Berserkers";
|
||||
default:
|
||||
return "Classes";
|
||||
}
|
||||
}
|
||||
|
||||
@ -1331,6 +1331,9 @@ public:
|
||||
|
||||
bool HasSpellEffect(int effect_id);
|
||||
|
||||
std::string GetRacePlural();
|
||||
std::string GetClassPlural();
|
||||
|
||||
//Command #Tune functions
|
||||
void TuneGetStats(Mob* defender, Mob *attacker);
|
||||
void TuneGetACByPctMitigation(Mob* defender, Mob *attacker, float pct_mitigation, int interval = 10, int max_loop = 1000, int atk_override = 0, int Msg = 0);
|
||||
|
||||
@ -3078,6 +3078,16 @@ StatBonuses* Perl_Mob_GetSpellBonuses(Mob* self)
|
||||
return self->GetSpellBonusesPtr();
|
||||
}
|
||||
|
||||
std::string Perl_Mob_GetClassPlural(Mob* self)
|
||||
{
|
||||
return self->GetClassPlural();
|
||||
}
|
||||
|
||||
std::string Perl_Mob_GetRacePlural(Mob* self)
|
||||
{
|
||||
return self->GetRacePlural();
|
||||
}
|
||||
|
||||
void perl_register_mob()
|
||||
{
|
||||
perl::interpreter perl(PERL_GET_THX);
|
||||
@ -3268,6 +3278,7 @@ void perl_register_mob()
|
||||
package.add("GetCasterLevel", &Perl_Mob_GetCasterLevel);
|
||||
package.add("GetClass", &Perl_Mob_GetClass);
|
||||
package.add("GetClassLevelFactor", &Perl_Mob_GetClassLevelFactor);
|
||||
package.add("GetClassPlural", &Perl_Mob_GetClassPlural);
|
||||
package.add("GetClassName", &Perl_Mob_GetClassName);
|
||||
package.add("GetCleanName", &Perl_Mob_GetCleanName);
|
||||
package.add("GetCloseMobList", (perl::array(*)(Mob*))&Perl_Mob_GetCloseMobList);
|
||||
@ -3375,6 +3386,7 @@ void perl_register_mob()
|
||||
package.add("GetPhR", &Perl_Mob_GetPhR);
|
||||
package.add("GetRace", &Perl_Mob_GetRace);
|
||||
package.add("GetRaceName", &Perl_Mob_GetRaceName);
|
||||
package.add("GetRacePlural", &Perl_Mob_GetRacePlural);
|
||||
package.add("GetRemainingTimeMS", &Perl_Mob_GetRemainingTimeMS);
|
||||
package.add("GetResist", &Perl_Mob_GetResist);
|
||||
package.add("GetReverseFactionCon", &Perl_Mob_GetReverseFactionCon);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user