Add getracename(race_id) to Perl/Lua.

This commit is contained in:
Alex 2020-04-06 02:02:20 -04:00
parent 4c348baabd
commit fab071d9da
4 changed files with 27 additions and 0 deletions

View File

@ -822,6 +822,22 @@ XS(XS__isdisctome) {
XSRETURN(1); XSRETURN(1);
} }
XS(XS__getracename);
XS(XS__getracename) {
dXSARGS;
if (items != 1)
Perl_croak(aTHX_ "Usage: quest::getracename(uint16 race_id)");
dXSTARG;
uint16 race_id = (int) SvIV(ST(0));
std::string race_name = quest_manager.getracename(race_id);
sv_setpv(TARG, race_name.c_str());
XSprePUSH;
PUSHTARG;
XSRETURN(1);
}
XS(XS__getspellname); XS(XS__getspellname);
XS(XS__getspellname) { XS(XS__getspellname) {
dXSARGS; dXSARGS;
@ -4116,6 +4132,7 @@ EXTERN_C XS(boot_quest) {
newXS(strcpy(buf, "getguildidbycharid"), XS__getguildidbycharid, file); newXS(strcpy(buf, "getguildidbycharid"), XS__getguildidbycharid, file);
newXS(strcpy(buf, "getgroupidbycharid"), XS__getgroupidbycharid, file); newXS(strcpy(buf, "getgroupidbycharid"), XS__getgroupidbycharid, file);
newXS(strcpy(buf, "getraididbycharid"), XS__getraididbycharid, file); newXS(strcpy(buf, "getraididbycharid"), XS__getraididbycharid, file);
newXS(strcpy(buf, "getracename"), XS__getracename, file);
newXS(strcpy(buf, "getspellname"), XS__getspellname, file); newXS(strcpy(buf, "getspellname"), XS__getspellname, file);
newXS(strcpy(buf, "getlevel"), XS__getlevel, file); newXS(strcpy(buf, "getlevel"), XS__getlevel, file);
newXS(strcpy(buf, "getplayerburiedcorpsecount"), XS__getplayerburiedcorpsecount, file); newXS(strcpy(buf, "getplayerburiedcorpsecount"), XS__getplayerburiedcorpsecount, file);

View File

@ -393,6 +393,10 @@ bool lua_is_disc_tome(int item_id) {
return quest_manager.isdisctome(item_id); return quest_manager.isdisctome(item_id);
} }
std::string lua_get_race_name(uint32 race_id) {
return quest_manager.getracename(race_id);
}
std::string lua_get_spell_name(uint32 spell_id) { std::string lua_get_spell_name(uint32 spell_id) {
return quest_manager.getspellname(spell_id); return quest_manager.getspellname(spell_id);
} }
@ -1672,6 +1676,7 @@ luabind::scope lua_register_general() {
luabind::def("depop_zone", &lua_depop_zone), luabind::def("depop_zone", &lua_depop_zone),
luabind::def("repop_zone", &lua_repop_zone), luabind::def("repop_zone", &lua_repop_zone),
luabind::def("is_disc_tome", &lua_is_disc_tome), luabind::def("is_disc_tome", &lua_is_disc_tome),
luabind::def("get_race_name", (std::string(*)(uint16))&lua_get_race_name),
luabind::def("get_spell_name", (std::string(*)(uint32))&lua_get_spell_name), luabind::def("get_spell_name", (std::string(*)(uint32))&lua_get_spell_name),
luabind::def("safe_move", &lua_safe_move), luabind::def("safe_move", &lua_safe_move),
luabind::def("rain", &lua_rain), luabind::def("rain", &lua_rain),

View File

@ -906,6 +906,10 @@ bool QuestManager::isdisctome(int item_id) {
return(true); return(true);
} }
std::string QuestManager::getracename(uint16 race_id) {
return GetRaceIDName(race_id);
}
std::string QuestManager::getspellname(uint32 spell_id) { std::string QuestManager::getspellname(uint32 spell_id) {
if (!IsValidSpell(spell_id)) { if (!IsValidSpell(spell_id)) {
return "INVALID SPELL ID IN GETSPELLNAME"; return "INVALID SPELL ID IN GETSPELLNAME";

View File

@ -107,6 +107,7 @@ public:
void level(int newlevel); void level(int newlevel);
void traindisc(int discipline_tome_item_id); void traindisc(int discipline_tome_item_id);
bool isdisctome(int item_id); bool isdisctome(int item_id);
std::string getracename(uint16 race_id);
std::string getspellname(uint32 spell_id); std::string getspellname(uint32 spell_id);
void safemove(); void safemove();
void rain(int weather); void rain(int weather);