[Quest API] Add EVENT_EQUIP_ITEM_CLIENT and EVENT_UNEQUIP_ITEM_CLIENT to Perl/Lua. (#2015)

- These events allow more customization beyond forcing operators to use a script file for each and every item they want to have some sort of functionality for these events.
- Perl event exports $item_id, $item_quantity, and $slot_id.
- Lua event exports item_id, item_quantity, slot_id, and item.
This commit is contained in:
Kinglykrab
2022-02-22 20:04:08 -05:00
committed by GitHub
parent 3c35e9bbc8
commit bfd1cf9379
7 changed files with 74 additions and 4 deletions
+12 -1
View File
@@ -125,7 +125,9 @@ const char *QuestEventSubroutines[_LargestEventID] = {
"EVENT_COMBINE",
"EVENT_CONSIDER",
"EVENT_CONSIDER_CORPSE",
"EVENT_LOOT_ZONE"
"EVENT_LOOT_ZONE",
"EVENT_EQUIP_ITEM_CLIENT",
"EVENT_UNEQUIP_ITEM_CLIENT"
};
PerlembParser::PerlembParser() : perl(nullptr)
@@ -1689,6 +1691,15 @@ void PerlembParser::ExportEventVariables(
break;
}
case EVENT_EQUIP_ITEM_CLIENT:
case EVENT_UNEQUIP_ITEM_CLIENT: {
Seperator sep(data);
ExportVar(package_name.c_str(), "item_id", extradata);
ExportVar(package_name.c_str(), "item_quantity", sep.arg[0]);
ExportVar(package_name.c_str(), "slot_id", sep.arg[1]);
break;
}
default: {
break;
}