[Quest API] Add Client Augment Events to Perl/Lua. (#2735)

* [Quest API] Add Client Augment Events to Perl/Lua.

# Perl
- Add `EVENT_AUGMENT_INSERT_CLIENT`.
- Add `EVENT_AUGMENT_REMOVE_CLIENT`.

# Lua
- Add `event_augment_insert_client`.
- Add `event_augment_remove_client`.

# Notes
- Allows operators to use augment insert and augment remove events outside of an item script.
This commit is contained in:
Alex King
2023-01-14 23:23:48 -05:00
committed by GitHub
parent c41f375129
commit a422484307
8 changed files with 178 additions and 3 deletions
+17 -1
View File
@@ -169,7 +169,10 @@ const char *QuestEventSubroutines[_LargestEventID] = {
"EVENT_DESPAWN",
"EVENT_DESPAWN_ZONE",
"EVENT_BOT_CREATE",
"EVENT_SPELL_EFFECT_BOT", // Add new events before these or Lua crashes
"EVENT_AUGMENT_INSERT_CLIENT",
"EVENT_AUGMENT_REMOVE_CLIENT",
// Add new events before these or Lua crashes
"EVENT_SPELL_EFFECT_BOT",
"EVENT_SPELL_EFFECT_BUFF_TIC_BOT"
};
@@ -1943,6 +1946,19 @@ void PerlembParser::ExportEventVariables(
break;
}
case EVENT_AUGMENT_INSERT_CLIENT:
case EVENT_AUGMENT_REMOVE_CLIENT: {
Seperator sep(data);
ExportVar(package_name.c_str(), "item_id", sep.arg[0]);
ExportVar(package_name.c_str(), "item_slot", sep.arg[1]);
ExportVar(package_name.c_str(), "augment_id", sep.arg[2]);
ExportVar(package_name.c_str(), "augment_slot", sep.arg[3]);
if (sep.argnum >= 4) {
ExportVar(package_name.c_str(), "destroyed", sep.arg[4]);
}
break;
}
case EVENT_SKILL_UP: {
Seperator sep(data);
ExportVar(package_name.c_str(), "skill_id", sep.arg[0]);