mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-19 13:28:25 +00:00
[Quest API] Add EVENT_DROP_ITEM_CLIENT to Perl/Lua (#2869)
* [Quest API] Add EVENT_DROP_ITEM_CLIENT to Perl/Lua - Add `EVENT_DROP_ITEM_CLIENT`, exports `$quantity,` $item_name`, `$item_id`, `$spell_id`, `$slot_id`, and `$item`. - Add `event_drop_item_client`, exports `e.quantity`, `e.item_name`, `e.item_id`, `e.spell_id`, `e.slot_id`, and `e.item`. * Update inventory.cpp * Update inventory.cpp * Update lua_general.cpp * Update inventory.cpp
This commit is contained in:
@@ -176,6 +176,7 @@ const char *QuestEventSubroutines[_LargestEventID] = {
|
||||
"EVENT_ITEM_CLICK_CLIENT",
|
||||
"EVENT_ITEM_CLICK_CAST_CLIENT",
|
||||
"EVENT_DESTROY_ITEM_CLIENT",
|
||||
"EVENT_DROP_ITEM_CLIENT",
|
||||
// Add new events before these or Lua crashes
|
||||
"EVENT_SPELL_EFFECT_BOT",
|
||||
"EVENT_SPELL_EFFECT_BUFF_TIC_BOT"
|
||||
@@ -1883,6 +1884,19 @@ void PerlembParser::ExportEventVariables(
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_DROP_ITEM_CLIENT: {
|
||||
if (extra_pointers && extra_pointers->size() == 1) {
|
||||
EQ::ItemInstance* item_instance = std::any_cast<EQ::ItemInstance*>(extra_pointers->at(0));
|
||||
ExportVar(package_name.c_str(), "quantity", item_instance->IsStackable() ? item_instance->GetCharges() : 1);
|
||||
ExportVar(package_name.c_str(), "item_name", item_instance->GetItem()->Name);
|
||||
ExportVar(package_name.c_str(), "item_id", item_instance->GetItem()->ID);
|
||||
ExportVar(package_name.c_str(), "spell_id", item_instance->GetItem()->Click.Effect);
|
||||
ExportVar(package_name.c_str(), "slot_id", extradata);
|
||||
ExportVar(package_name.c_str(), "item", "QuestItem", item_instance);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_SPAWN_ZONE: {
|
||||
ExportVar(package_name.c_str(), "spawned_entity_id", mob->GetID());
|
||||
ExportVar(package_name.c_str(), "spawned_bot_id", mob->IsBot() ? mob->CastToBot()->GetBotID() : 0);
|
||||
|
||||
Reference in New Issue
Block a user