mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-03 03:50:40 +00:00
feat(Scripting): Created two perl/lua scripting hooks for merchants (#5083)
This commit is contained in:
@@ -163,8 +163,10 @@ const char* QuestEventSubroutines[_LargestEventID] = {
|
||||
"EVENT_LANGUAGE_SKILL_UP",
|
||||
"EVENT_ALT_CURRENCY_MERCHANT_BUY",
|
||||
"EVENT_ALT_CURRENCY_MERCHANT_SELL",
|
||||
"EVENT_MERCHANT_OPEN",
|
||||
"EVENT_MERCHANT_BUY",
|
||||
"EVENT_MERCHANT_SELL",
|
||||
"EVENT_MERCHANT_PRESELL",
|
||||
"EVENT_INSPECT",
|
||||
"EVENT_TASK_BEFORE_UPDATE",
|
||||
"EVENT_AA_BUY",
|
||||
@@ -2289,6 +2291,33 @@ void PerlembParser::ExportEventVariables(
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_MERCHANT_OPEN: {
|
||||
if (!extra_pointers || extra_pointers->size() < 1) break;
|
||||
|
||||
auto mob_ptr = std::any_cast<Mob*>(extra_pointers->at(0));
|
||||
if (!mob_ptr) break;
|
||||
|
||||
ExportVar(package_name.c_str(), "other", "Mob", mob_ptr);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_MERCHANT_PRESELL: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "slot_id", sep.arg[0]);
|
||||
ExportVar(package_name.c_str(), "item_id", sep.arg[1]);
|
||||
ExportVar(package_name.c_str(), "item_type", sep.arg[2]);
|
||||
|
||||
if (!extra_pointers || extra_pointers->size() < 2) break;
|
||||
|
||||
auto mob_ptr = std::any_cast<Mob*>(extra_pointers->at(0));
|
||||
auto inst_ptr = std::any_cast<EQ::ItemInstance*>(extra_pointers->at(1));
|
||||
if (!mob_ptr || !inst_ptr) break;
|
||||
|
||||
ExportVar(package_name.c_str(), "other", "Mob", mob_ptr);
|
||||
ExportVar(package_name.c_str(), "item", "ItemInstance", inst_ptr);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_AA_BUY: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "aa_cost", sep.arg[0]);
|
||||
|
||||
Reference in New Issue
Block a user