[Quest API] Add EVENT_LOOT_ZONE to zone_controller (#1608)

* Add EVENT_LOOT_ZONE to zone_controller

* Fix porting event_loot_zone to lua API

* Remove extra spacing and remove forced message to allow for scripted responses.

* Allow all script parsing to fire before sending a failed lootitem, add corpse_id

* Only search for zone_controller once
This commit is contained in:
Natedog2012
2021-10-16 23:19:19 -05:00
committed by GitHub
parent 11c335a015
commit 7823ff5336
7 changed files with 57 additions and 20 deletions
+5 -2
View File
@@ -124,7 +124,8 @@ const char *QuestEventSubroutines[_LargestEventID] = {
"EVENT_TEST_BUFF",
"EVENT_COMBINE",
"EVENT_CONSIDER",
"EVENT_CONSIDER_CORPSE"
"EVENT_CONSIDER_CORPSE",
"EVENT_LOOT_ZONE"
};
PerlembParser::PerlembParser() : perl(nullptr)
@@ -1411,12 +1412,14 @@ void PerlembParser::ExportEventVariables(
ExportVar(package_name.c_str(), "version", zone->GetInstanceVersion());
break;
}
case EVENT_LOOT_ZONE:
case EVENT_LOOT: {
Seperator sep(data);
ExportVar(package_name.c_str(), "looted_id", sep.arg[0]);
ExportVar(package_name.c_str(), "looted_charges", sep.arg[1]);
ExportVar(package_name.c_str(), "corpse", sep.arg[2]);
ExportVar(package_name.c_str(), "corpse_id", sep.arg[3]);
break;
}