mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
[Quest API] Export $item and $augment to augment events in Perl (#2895)
* [Quest API] Export $item and $augment to augment events in Perl # Notes - Exports `$item` and `$augment` to `EVENT_AUGMENT_INSERT_CLIENT` in Perl. - Exports `$item` and `$augment` to `EVENT_AUGMENT_REMOVE_CLIENT` in Perl. - Allows operators to use item and augment reference instead of just item IDs. * Cleanup
This commit is contained in:
+27
-3
@@ -1951,16 +1951,40 @@ void PerlembParser::ExportEventVariables(
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_AUGMENT_INSERT_CLIENT:
|
||||
case EVENT_AUGMENT_INSERT_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 (extra_pointers && extra_pointers->size() >= 1) {
|
||||
ExportVar(package_name.c_str(), "item", "QuestItem", std::any_cast<EQ::ItemInstance*>(extra_pointers->at(0)));
|
||||
}
|
||||
|
||||
if (extra_pointers && extra_pointers->size() >= 2) {
|
||||
ExportVar(package_name.c_str(), "augment", "QuestItem", std::any_cast<EQ::ItemInstance*>(extra_pointers->at(1)));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
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]);
|
||||
ExportVar(package_name.c_str(), "destroyed", sep.arg[4]);
|
||||
|
||||
if (extra_pointers && extra_pointers->size() >= 1) {
|
||||
ExportVar(package_name.c_str(), "item", "QuestItem", std::any_cast<EQ::ItemInstance*>(extra_pointers->at(0)));
|
||||
}
|
||||
|
||||
if (extra_pointers && extra_pointers->size() >= 3) {
|
||||
ExportVar(package_name.c_str(), "augment", "QuestItem", std::any_cast<EQ::ItemInstance*>(extra_pointers->at(2)));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user