mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-17 07:18:37 +00:00
[Quest API] Add EVENT_LEVEL_DOWN to Perl/Lua. (#2620)
* [Quest API] Add EVENT_LEVEL_DOWN to Perl/Lua. # Perl - Add `EVENT_LEVEL_DOWN`, exports `$levels_lost`. - Add `$levels_gained` export to `EVENT_LEVEL_UP`. # Lua - Add `event_level_down`, exports `e.levels_lost`. - Add `e.levels_gained` export to `event_level_up`. # Notes - Allows operators to perform actions on level down. - Allows operators to tell how many levels were lost or gained in case people are gaining/losing multiple levels and they want to keep track or use this as a mechanic in their code somewhere. * Update exp.cpp * Update embparser.cpp
This commit is contained in:
+21
-4
@@ -163,11 +163,11 @@ const char *QuestEventSubroutines[_LargestEventID] = {
|
||||
"EVENT_TASK_BEFORE_UPDATE",
|
||||
"EVENT_AA_BUY",
|
||||
"EVENT_AA_GAIN",
|
||||
"EVENT_PAYLOAD"
|
||||
#ifdef BOTS
|
||||
,
|
||||
"EVENT_PAYLOAD",
|
||||
"EVENT_LEVEL_DOWN",
|
||||
#ifdef BOTS
|
||||
"EVENT_SPELL_EFFECT_BOT",
|
||||
"EVENT_SPELL_EFFECT_BUFF_TIC_BOT"
|
||||
"EVENT_SPELL_EFFECT_BUFF_TIC_BOT",
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -1703,6 +1703,7 @@ void PerlembParser::ExportEventVariables(
|
||||
ExportVar(package_name.c_str(), "popupid", data);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_ENVIRONMENTAL_DAMAGE: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "env_damage", sep.arg[0]);
|
||||
@@ -1845,6 +1846,7 @@ void PerlembParser::ExportEventVariables(
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_DROP_ITEM: {
|
||||
ExportVar(package_name.c_str(), "quantity", item_inst->IsStackable() ? item_inst->GetCharges() : 1);
|
||||
ExportVar(package_name.c_str(), "itemname", item_inst->GetItem()->Name);
|
||||
@@ -1853,17 +1855,20 @@ void PerlembParser::ExportEventVariables(
|
||||
ExportVar(package_name.c_str(), "slotid", extradata);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_SPAWN_ZONE: {
|
||||
ExportVar(package_name.c_str(), "spawned_entity_id", mob->GetID());
|
||||
ExportVar(package_name.c_str(), "spawned_npc_id", mob->GetNPCTypeID());
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_USE_SKILL: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "skill_id", sep.arg[0]);
|
||||
ExportVar(package_name.c_str(), "skill_level", sep.arg[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_COMBINE_VALIDATE: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "recipe_id", extradata);
|
||||
@@ -1882,6 +1887,7 @@ void PerlembParser::ExportEventVariables(
|
||||
ExportVar(package_name.c_str(), "tradeskill_id", tradeskill_id.c_str());
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_BOT_COMMAND: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "bot_command", (sep.arg[0] + 1));
|
||||
@@ -1891,6 +1897,7 @@ void PerlembParser::ExportEventVariables(
|
||||
ExportVar(package_name.c_str(), "langid", extradata);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_WARP: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "from_x", sep.arg[0]);
|
||||
@@ -1981,6 +1988,16 @@ void PerlembParser::ExportEventVariables(
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_LEVEL_UP: {
|
||||
ExportVar(package_name.c_str(), "levels_gained", data);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_LEVEL_DOWN: {
|
||||
ExportVar(package_name.c_str(), "levels_lost", data);
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user