mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
[Quest API] Add EVENT_PAYLOAD to Perl/Lua. (#2611)
* [Quest API] Add EVENT_PAYLOAD to Perl/Lua. # Perl - Add `$bot->SendPayload(payload_id)`. - Add `$bot->SendPayload(payload_id, payload_value)`. - Add `$client->SendPayload(payload_id)`. - Add `$client->SendPayload(payload_id, payload_value)`. - Add `$mob->SendPayload(payload_id)`. - Add `$mob->SendPayload(payload_id, payload_value)`. - Add `$npc->SendPayload(payload_id)`. - Add `$npc->SendPayload(payload_id, payload_value)`. # Lua - Add `bot:SendPayload(payload_id)`. - Add `bot:SendPayload(payload_id, payload_value)`. - Add `client:SendPayload(payload_id)`. - Add `client:SendPayload(payload_id, payload_value)`. - Add `mob:SendPayload(payload_id)`. - Add `mob:SendPayload(payload_id, payload_value)`. - Add `npc:SendPayload(payload_id)`. - Add `npc:SendPayload(payload_id, payload_value)`. # Notes - Allows operators to send payload IDs with a payload value, the value can be a comma separated value, JSON, etc. - The idea is to allow a more configurable event for operators to send information to/from entities. * Cleanup parser events.
This commit is contained in:
parent
e1d5274bd5
commit
9a35cacf27
@ -10476,12 +10476,18 @@ void Bot::SpawnBotGroupByName(Client* c, std::string botgroup_name, uint32 leade
|
||||
);
|
||||
}
|
||||
|
||||
void Bot::SignalBot(int signal_id)
|
||||
void Bot::Signal(int signal_id)
|
||||
{
|
||||
const auto export_string = fmt::format("{}", signal_id);
|
||||
parse->EventBot(EVENT_SIGNAL, this, nullptr, export_string, 0);
|
||||
}
|
||||
|
||||
void Bot::SendPayload(int payload_id, std::string payload_value)
|
||||
{
|
||||
const auto export_string = fmt::format("{} {}", payload_id, payload_value);
|
||||
parse->EventBot(EVENT_PAYLOAD, this, nullptr, export_string, 0);
|
||||
}
|
||||
|
||||
void Bot::OwnerMessage(std::string message)
|
||||
{
|
||||
if (!GetBotOwner() || !GetBotOwner()->IsClient()) {
|
||||
|
||||
@ -323,7 +323,7 @@ public:
|
||||
std::string bucket_value,
|
||||
uint8 bucket_comparison
|
||||
);
|
||||
|
||||
|
||||
void AddSpellToBotEnforceList(
|
||||
int16 iPriority,
|
||||
uint16 iSpellID,
|
||||
@ -719,7 +719,8 @@ public:
|
||||
int32 GetBaseDR() { return _baseDR; }
|
||||
int32 GetBaseCorrup() { return _baseCorrup; }
|
||||
|
||||
void SignalBot(int signal_id);
|
||||
void Signal(int signal_id);
|
||||
void SendPayload(int payload_id, std::string payload_value = std::string());
|
||||
void OwnerMessage(std::string message);
|
||||
|
||||
protected:
|
||||
|
||||
@ -5496,6 +5496,12 @@ void Client::Signal(int signal_id)
|
||||
parse->EventPlayer(EVENT_SIGNAL, this, export_string, 0);
|
||||
}
|
||||
|
||||
void Client::SendPayload(int payload_id, std::string payload_value)
|
||||
{
|
||||
const auto export_string = fmt::format("{} {}", payload_id, payload_value);
|
||||
parse->EventPlayer(EVENT_PAYLOAD, this, export_string, 0);
|
||||
}
|
||||
|
||||
void Client::SendRewards()
|
||||
{
|
||||
std::vector<ClientReward> rewards;
|
||||
|
||||
@ -1438,6 +1438,7 @@ public:
|
||||
void Doppelganger(uint16 spell_id, Mob *target, const char *name_override, int pet_count, int pet_duration);
|
||||
void NotifyNewTitlesAvailable();
|
||||
void Signal(int signal_id);
|
||||
void SendPayload(int payload_id, std::string payload_value = std::string());
|
||||
Mob *GetBindSightTarget() { return bind_sight_target; }
|
||||
void SetBindSightTarget(Mob *n) { bind_sight_target = n; }
|
||||
const uint16 GetBoatID() const { return controlling_boat_id; }
|
||||
|
||||
@ -162,7 +162,8 @@ const char *QuestEventSubroutines[_LargestEventID] = {
|
||||
"EVENT_INSPECT",
|
||||
"EVENT_TASK_BEFORE_UPDATE",
|
||||
"EVENT_AA_BUY",
|
||||
"EVENT_AA_GAIN"
|
||||
"EVENT_AA_GAIN",
|
||||
"EVENT_PAYLOAD"
|
||||
#ifdef BOTS
|
||||
,
|
||||
"EVENT_SPELL_EFFECT_BOT",
|
||||
@ -1603,6 +1604,13 @@ void PerlembParser::ExportEventVariables(
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_PAYLOAD: {
|
||||
Seperator sep(data);
|
||||
ExportVar(package_name.c_str(), "payload_id", sep.arg[0]);
|
||||
ExportVar(package_name.c_str(), "payload_value", sep.arg[1]);
|
||||
break;
|
||||
}
|
||||
|
||||
case EVENT_NPC_SLAY: {
|
||||
ExportVar(package_name.c_str(), "killed", mob->GetNPCTypeID());
|
||||
break;
|
||||
|
||||
@ -5214,7 +5214,7 @@ void EntityList::SignalAllBotsByOwnerCharacterID(uint32 character_id, int signal
|
||||
}
|
||||
|
||||
for (const auto& b : client_bot_list) {
|
||||
b->SignalBot(signal_id);
|
||||
b->Signal(signal_id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5222,7 +5222,7 @@ void EntityList::SignalBotByBotID(uint32 bot_id, int signal_id)
|
||||
{
|
||||
auto b = GetBotByBotID(bot_id);
|
||||
if (b) {
|
||||
b->SignalBot(signal_id);
|
||||
b->Signal(signal_id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5230,7 +5230,7 @@ void EntityList::SignalBotByBotName(std::string bot_name, int signal_id)
|
||||
{
|
||||
auto b = GetBotByBotName(bot_name);
|
||||
if (b) {
|
||||
b->SignalBot(signal_id);
|
||||
b->Signal(signal_id);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -106,6 +106,7 @@ typedef enum {
|
||||
EVENT_TASK_BEFORE_UPDATE,
|
||||
EVENT_AA_BUY,
|
||||
EVENT_AA_GAIN,
|
||||
EVENT_PAYLOAD,
|
||||
#ifdef BOTS
|
||||
EVENT_SPELL_EFFECT_BOT,
|
||||
EVENT_SPELL_EFFECT_BUFF_TIC_BOT,
|
||||
|
||||
@ -84,9 +84,9 @@ uint32 Lua_Bot::GetBotItemIDBySlot(uint16 slot_id) {
|
||||
return self->GetBotItemBySlot(slot_id);
|
||||
}
|
||||
|
||||
void Lua_Bot::SignalBot(int signal_id) {
|
||||
void Lua_Bot::Signal(int signal_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SignalBot(signal_id);
|
||||
self->Signal(signal_id);
|
||||
}
|
||||
|
||||
void Lua_Bot::OwnerMessage(std::string message) {
|
||||
@ -134,6 +134,16 @@ bool Lua_Bot::HasBotSpellEntry(uint16 spellid) {
|
||||
return self->HasBotSpellEntry(spellid);
|
||||
}
|
||||
|
||||
void Lua_Bot::SendPayload(int payload_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SendPayload(payload_id);
|
||||
}
|
||||
|
||||
void Lua_Bot::SendPayload(int payload_id, std::string payload_value) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SendPayload(payload_id, payload_value);
|
||||
}
|
||||
|
||||
luabind::scope lua_register_bot() {
|
||||
return luabind::class_<Lua_Bot, Lua_Mob>("Bot")
|
||||
.def(luabind::constructor<>())
|
||||
@ -161,7 +171,9 @@ luabind::scope lua_register_bot() {
|
||||
.def("RemoveBotItem", (void(Lua_Bot::*)(uint32))&Lua_Bot::RemoveBotItem)
|
||||
.def("SetExpansionBitmask", (void(Lua_Bot::*)(int))&Lua_Bot::SetExpansionBitmask)
|
||||
.def("SetExpansionBitmask", (void(Lua_Bot::*)(int,bool))&Lua_Bot::SetExpansionBitmask)
|
||||
.def("SignalBot", (void(Lua_Bot::*)(int))&Lua_Bot::SignalBot);
|
||||
.def("SendPayload", (void(Lua_Bot::*)(int))&Lua_Bot::SendPayload)
|
||||
.def("SendPayload", (void(Lua_Bot::*)(int,std::string))&Lua_Bot::SendPayload)
|
||||
.def("Signal", (void(Lua_Bot::*)(int))&Lua_Bot::Signal);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -50,8 +50,10 @@ public:
|
||||
void RemoveBotItem(uint32 item_id);
|
||||
void SetExpansionBitmask(int expansion_bitmask);
|
||||
void SetExpansionBitmask(int expansion_bitmask, bool save);
|
||||
void SignalBot(int signal_id);
|
||||
void Signal(int signal_id);
|
||||
bool HasBotSpellEntry(uint16 spellid);
|
||||
void SendPayload(int payload_id);
|
||||
void SendPayload(int payload_id, std::string payload_value);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@ -2855,6 +2855,16 @@ luabind::object Lua_Client::GetZoneFlags(lua_State* L) {
|
||||
return t;
|
||||
}
|
||||
|
||||
void Lua_Client::SendPayload(int payload_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SendPayload(payload_id);
|
||||
}
|
||||
|
||||
void Lua_Client::SendPayload(int payload_id, std::string payload_value) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SendPayload(payload_id, payload_value);
|
||||
}
|
||||
|
||||
std::string Lua_Client::GetGuildPublicNote()
|
||||
{
|
||||
Lua_Safe_Call_String();
|
||||
@ -3316,6 +3326,8 @@ luabind::scope lua_register_client() {
|
||||
.def("SendSound", (void(Lua_Client::*)(void))&Lua_Client::SendSound)
|
||||
.def("SendToGuildHall", (void(Lua_Client::*)(void))&Lua_Client::SendToGuildHall)
|
||||
.def("SendToInstance", (void(Lua_Client::*)(std::string,std::string,uint32,float,float,float,float,std::string,uint32))&Lua_Client::SendToInstance)
|
||||
.def("SendPayload", (void(Lua_Client::*)(int))&Lua_Client::SendPayload)
|
||||
.def("SendPayload", (void(Lua_Client::*)(int,std::string))&Lua_Client::SendPayload)
|
||||
.def("SendWebLink", (void(Lua_Client::*)(const char *))&Lua_Client::SendWebLink)
|
||||
.def("SendZoneFlagInfo", (void(Lua_Client::*)(Lua_Client))&Lua_Client::SendZoneFlagInfo)
|
||||
.def("SetAAEXPModifier", (void(Lua_Client::*)(uint32,double))&Lua_Client::SetAAEXPModifier)
|
||||
|
||||
@ -450,6 +450,8 @@ public:
|
||||
void UpdateAdmin(bool from_database);
|
||||
luabind::object GetPEQZoneFlags(lua_State* L);
|
||||
luabind::object GetZoneFlags(lua_State* L);
|
||||
void SendPayload(int payload_id);
|
||||
void SendPayload(int payload_id, std::string payload_value);
|
||||
std::string GetGuildPublicNote();
|
||||
|
||||
void ApplySpell(int spell_id);
|
||||
|
||||
@ -4529,7 +4529,8 @@ luabind::scope lua_register_events() {
|
||||
luabind::value("inspect", static_cast<int>(EVENT_INSPECT)),
|
||||
luabind::value("task_before_update", static_cast<int>(EVENT_TASK_BEFORE_UPDATE)),
|
||||
luabind::value("aa_buy", static_cast<int>(EVENT_AA_BUY)),
|
||||
luabind::value("aa_gain", static_cast<int>(EVENT_AA_GAIN))
|
||||
luabind::value("aa_gain", static_cast<int>(EVENT_AA_GAIN)),
|
||||
luabind::value("payload", static_cast<int>(EVENT_PAYLOAD))
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -1366,7 +1366,7 @@ void Lua_Mob::Signal(int signal_id) {
|
||||
self->CastToNPC()->SignalNPC(signal_id);
|
||||
#ifdef BOTS
|
||||
} else if (self->IsBot()) {
|
||||
self->CastToBot()->SignalBot(signal_id);
|
||||
self->CastToBot()->Signal(signal_id);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -2719,6 +2719,34 @@ bool Lua_Mob::EntityVariableExists(std::string variable_name) {
|
||||
return self->EntityVariableExists(variable_name);
|
||||
}
|
||||
|
||||
void Lua_Mob::SendPayload(int payload_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
|
||||
if (self->IsClient()) {
|
||||
self->CastToClient()->SendPayload(payload_id);
|
||||
} else if (self->IsNPC()) {
|
||||
self->CastToNPC()->SendPayload(payload_id);
|
||||
#ifdef BOTS
|
||||
} else if (self->IsBot()) {
|
||||
self->CastToBot()->SendPayload(payload_id);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void Lua_Mob::SendPayload(int payload_id, std::string payload_value) {
|
||||
Lua_Safe_Call_Void();
|
||||
|
||||
if (self->IsClient()) {
|
||||
self->CastToClient()->SendPayload(payload_id, payload_value);
|
||||
} else if (self->IsNPC()) {
|
||||
self->CastToNPC()->SendPayload(payload_id, payload_value);
|
||||
#ifdef BOTS
|
||||
} else if (self->IsBot()) {
|
||||
self->CastToBot()->SendPayload(payload_id, payload_value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef BOTS
|
||||
void Lua_Mob::DamageAreaBots(int64 damage) {
|
||||
Lua_Safe_Call_Void();
|
||||
@ -3193,6 +3221,8 @@ luabind::scope lua_register_mob() {
|
||||
.def("SendWearChange", (void(Lua_Mob::*)(uint8))&Lua_Mob::SendWearChange)
|
||||
.def("SendBeginCast", &Lua_Mob::SendBeginCast)
|
||||
.def("SendIllusionPacket", (void(Lua_Mob::*)(luabind::adl::object))&Lua_Mob::SendIllusionPacket)
|
||||
.def("SendPayload", (void(Lua_Mob::*)(int))&Lua_Mob::SendPayload)
|
||||
.def("SendPayload", (void(Lua_Mob::*)(int,std::string))&Lua_Mob::SendPayload)
|
||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32))&Lua_Mob::SendSpellEffect)
|
||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32,bool))&Lua_Mob::SendSpellEffect)
|
||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32,bool,Lua_Client))&Lua_Mob::SendSpellEffect)
|
||||
|
||||
@ -308,6 +308,8 @@ public:
|
||||
void SetEntityVariable(std::string variable_name, std::string variable_value);
|
||||
bool EntityVariableExists(std::string variable_name);
|
||||
void Signal(int signal_id);
|
||||
void SendPayload(int payload_id);
|
||||
void SendPayload(int payload_id, std::string payload_value);
|
||||
bool CombatRange(Lua_Mob other);
|
||||
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage);
|
||||
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage, int min_damage);
|
||||
|
||||
@ -681,6 +681,16 @@ void Lua_NPC::ReloadSpells()
|
||||
self->ReloadSpells();
|
||||
}
|
||||
|
||||
void Lua_NPC::SendPayload(int payload_id) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SendPayload(payload_id);
|
||||
}
|
||||
|
||||
void Lua_NPC::SendPayload(int payload_id, std::string payload_value) {
|
||||
Lua_Safe_Call_Void();
|
||||
self->SendPayload(payload_id, payload_value);
|
||||
}
|
||||
|
||||
luabind::scope lua_register_npc() {
|
||||
return luabind::class_<Lua_NPC, Lua_Mob>("NPC")
|
||||
.def(luabind::constructor<>())
|
||||
@ -787,6 +797,8 @@ luabind::scope lua_register_npc() {
|
||||
.def("SaveGuardSpot", (void(Lua_NPC::*)(bool))&Lua_NPC::SaveGuardSpot)
|
||||
.def("SaveGuardSpot", (void(Lua_NPC::*)(float,float,float,float))&Lua_NPC::SaveGuardSpot)
|
||||
.def("ScaleNPC", (void(Lua_NPC::*)(uint8))&Lua_NPC::ScaleNPC)
|
||||
.def("SendPayload", (void(Lua_NPC::*)(int))&Lua_NPC::SendPayload)
|
||||
.def("SendPayload", (void(Lua_NPC::*)(int,std::string))&Lua_NPC::SendPayload)
|
||||
.def("SetCopper", (void(Lua_NPC::*)(uint32))&Lua_NPC::SetCopper)
|
||||
.def("SetFollowCanRun", (void(Lua_NPC::*)(bool))&Lua_NPC::SetFollowCanRun)
|
||||
.def("SetFollowDistance", (void(Lua_NPC::*)(int))&Lua_NPC::SetFollowDistance)
|
||||
|
||||
@ -157,6 +157,8 @@ public:
|
||||
void RemoveAISpellEffect(int spell_effect_id);
|
||||
bool HasAISpellEffect(int spell_effect_id);
|
||||
float GetNPCStat(std::string stat);
|
||||
void SendPayload(int payload_id);
|
||||
void SendPayload(int payload_id, std::string payload_value);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@ -149,7 +149,8 @@ const char *LuaEvents[_LargestEventID] = {
|
||||
"event_inspect",
|
||||
"event_task_before_update",
|
||||
"event_aa_buy",
|
||||
"event_aa_gain"
|
||||
"event_aa_gain",
|
||||
"event_payload"
|
||||
};
|
||||
|
||||
extern Zone *zone;
|
||||
@ -206,6 +207,7 @@ LuaParser::LuaParser() {
|
||||
NPCArgumentDispatch[EVENT_LEAVE_AREA] = handle_npc_area;
|
||||
NPCArgumentDispatch[EVENT_LOOT_ZONE] = handle_npc_loot_zone;
|
||||
NPCArgumentDispatch[EVENT_SPAWN_ZONE] = handle_npc_spawn_zone;
|
||||
NPCArgumentDispatch[EVENT_PAYLOAD] = handle_npc_payload;
|
||||
|
||||
PlayerArgumentDispatch[EVENT_SAY] = handle_player_say;
|
||||
PlayerArgumentDispatch[EVENT_ENVIRONMENTAL_DAMAGE] = handle_player_environmental_damage;
|
||||
@ -259,6 +261,7 @@ LuaParser::LuaParser() {
|
||||
PlayerArgumentDispatch[EVENT_INSPECT] = handle_player_inspect;
|
||||
PlayerArgumentDispatch[EVENT_AA_BUY] = handle_player_aa_buy;
|
||||
PlayerArgumentDispatch[EVENT_AA_GAIN] = handle_player_aa_gain;
|
||||
PlayerArgumentDispatch[EVENT_PAYLOAD] = handle_player_payload;
|
||||
|
||||
ItemArgumentDispatch[EVENT_ITEM_CLICK] = handle_item_click;
|
||||
ItemArgumentDispatch[EVENT_ITEM_CLICK_CAST] = handle_item_click;
|
||||
@ -296,6 +299,7 @@ LuaParser::LuaParser() {
|
||||
BotArgumentDispatch[EVENT_TIMER] = handle_bot_timer;
|
||||
BotArgumentDispatch[EVENT_TRADE] = handle_bot_trade;
|
||||
BotArgumentDispatch[EVENT_USE_SKILL] = handle_bot_use_skill;
|
||||
BotArgumentDispatch[EVENT_PAYLOAD] = handle_bot_payload;
|
||||
#endif
|
||||
|
||||
L = nullptr;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -12,169 +12,758 @@ typedef void(*EncounterArgumentHandler)(QuestInterface*, lua_State*, Encounter*
|
||||
typedef void(*BotArgumentHandler)(QuestInterface*, lua_State*, Bot*, Mob*, std::string, uint32, std::vector<std::any>*);
|
||||
#endif
|
||||
|
||||
//NPC
|
||||
void handle_npc_event_say(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_event_trade(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_event_hp(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_single_mob(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_single_client(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_single_npc(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_task_accepted(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_popup(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_waypoint(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_hate(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_signal(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_timer(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_death(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_cast(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_area(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_null(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_loot_zone(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_spawn_zone(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
// NPC
|
||||
void handle_npc_event_say(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
//Player
|
||||
void handle_player_say(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_environmental_damage(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_death(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_timer(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_discover_item(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_fish_forage_success(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_click_object(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_click_door(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_signal(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_popup_response(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_pick_up(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_cast(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_task_fail(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_zone(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_duel_win(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_duel_loss(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_loot(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_task_stage_complete(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_task_update(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_command(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_combine(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_feign(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_area(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_respawn(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_packet(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_null(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_use_skill(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_test_buff(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_combine_validate(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_bot_command(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_warp(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_quest_combine(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_consider(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_consider_corpse(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_equip_item(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_skill_up(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_language_skill_up(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_alt_currency_merchant(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_merchant(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_inspect(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_player_aa_buy(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_player_aa_gain(QuestInterface* parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers);
|
||||
void handle_npc_event_trade(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
//Item
|
||||
void handle_item_click(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_timer(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_proc(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_loot(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_equip(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_augment(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_augment_insert(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_augment_remove(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_item_null(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_event_hp(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
//Spell
|
||||
void handle_spell_event(QuestInterface *parse, lua_State* L, Mob* mob, Client* client, uint32 spell_id, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_translocate_finish(QuestInterface *parse, lua_State* L, Mob* mob, Client* client, uint32 spell_id, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_spell_null(QuestInterface *parse, lua_State* L, Mob* mob, Client* client, uint32 spell_id, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_npc_single_mob(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_single_client(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_single_npc(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_task_accepted(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_popup(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_waypoint(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_hate(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_signal(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_timer(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_death(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_cast(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_area(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_null(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_loot_zone(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_spawn_zone(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_npc_payload(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
NPC* npc,
|
||||
Mob *init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
// Player
|
||||
void handle_player_say(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_environmental_damage(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_death(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_timer(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_discover_item(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_fish_forage_success(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_click_object(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_click_door(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_signal(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_popup_response(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_pick_up(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_cast(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_task_fail(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_zone(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_duel_win(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_duel_loss(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_loot(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_task_stage_complete(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_task_update(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_command(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_combine(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_feign(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_area(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_respawn(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_packet(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_null(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_use_skill(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_test_buff(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_combine_validate(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_bot_command(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_warp(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_quest_combine(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_consider(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_consider_corpse(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_equip_item(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_skill_up(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_language_skill_up(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_alt_currency_merchant(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_merchant(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_inspect(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_aa_buy(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_aa_gain(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_player_payload(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
|
||||
//Encounter
|
||||
void handle_encounter_timer(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_encounter_load(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_encounter_unload(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
void handle_encounter_null(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers);
|
||||
// Item
|
||||
void handle_item_click(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_timer(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_proc(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_loot(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_equip(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_augment(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_augment_insert(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_augment_remove(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_item_null(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Client* client,
|
||||
EQ::ItemInstance* item,
|
||||
Mob *mob,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
// Spell
|
||||
void handle_spell_event(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Mob* mob,
|
||||
Client* client,
|
||||
uint32 spell_id,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_translocate_finish(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Mob* mob,
|
||||
Client* client,
|
||||
uint32 spell_id,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_spell_null(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Mob* mob,
|
||||
Client* client,
|
||||
uint32 spell_id,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
// Encounter
|
||||
void handle_encounter_timer(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Encounter* encounter,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_encounter_load(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Encounter* encounter,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_encounter_unload(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Encounter* encounter,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_encounter_null(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Encounter* encounter,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
// Bot
|
||||
#ifdef BOTS
|
||||
void handle_bot_null(
|
||||
QuestInterface *parse,
|
||||
@ -296,6 +885,16 @@ void handle_bot_use_skill(
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
void handle_bot_payload(
|
||||
QuestInterface *parse,
|
||||
lua_State* L,
|
||||
Bot* bot,
|
||||
Mob* init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@ -2477,37 +2477,11 @@ void NPC::CheckSignal() {
|
||||
if (!signal_q.empty()) {
|
||||
int signal_id = signal_q.front();
|
||||
signal_q.pop_front();
|
||||
std::string export_string = fmt::format("{}", signal_id);
|
||||
const auto export_string = fmt::format("{}", signal_id);
|
||||
parse->EventNPC(EVENT_SIGNAL, this, nullptr, export_string, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
alter table npc_types drop column usedspells;
|
||||
alter table npc_types add column npc_spells_id int(11) unsigned not null default 0 after merchant_id;
|
||||
Create Table npc_spells (
|
||||
id int(11) unsigned not null auto_increment primary key,
|
||||
name tinytext,
|
||||
parent_list int(11) unsigned not null default 0,
|
||||
attack_proc smallint(5) not null default -1,
|
||||
proc_chance tinyint(3) not null default 3
|
||||
);
|
||||
create table npc_spells_entries (
|
||||
id int(11) unsigned not null auto_increment primary key,
|
||||
npc_spells_id int(11) not null,
|
||||
spellid smallint(5) not null default 0,
|
||||
type smallint(5) unsigned not null default 0,
|
||||
minlevel tinyint(3) unsigned not null default 0,
|
||||
maxlevel tinyint(3) unsigned not null default 255,
|
||||
manacost smallint(5) not null default '-1',
|
||||
recast_delay int(11) not null default '-1',
|
||||
priority smallint(5) not null default 0,
|
||||
index npc_spells_id (npc_spells_id)
|
||||
);
|
||||
*/
|
||||
|
||||
bool IsSpellInList(DBnpcspells_Struct* spell_list, uint16 iSpellID);
|
||||
bool IsSpellEffectInList(DBnpcspellseffects_Struct* spelleffect_list, uint16 iSpellEffectID, int32 base_value, int32 limit, int32 max_value);
|
||||
|
||||
|
||||
@ -3040,6 +3040,12 @@ void NPC::SignalNPC(int _signal_id)
|
||||
signal_q.push_back(_signal_id);
|
||||
}
|
||||
|
||||
void NPC::SendPayload(int payload_id, std::string payload_value)
|
||||
{
|
||||
const auto export_string = fmt::format("{} {}", payload_id, payload_value);
|
||||
parse->EventNPC(EVENT_PAYLOAD, this, nullptr, export_string, 0);
|
||||
}
|
||||
|
||||
NPC_Emote_Struct* NPC::GetNPCEmote(uint32 emoteid, uint8 event_) {
|
||||
LinkedListIterator<NPC_Emote_Struct*> iterator(zone->NPCEmoteList);
|
||||
iterator.Reset();
|
||||
|
||||
@ -262,6 +262,7 @@ public:
|
||||
void PetOnSpawn(NewSpawn_Struct* ns);
|
||||
|
||||
void SignalNPC(int _signal_id);
|
||||
void SendPayload(int payload_id, std::string payload_value = std::string());
|
||||
|
||||
inline int32 GetNPCFactionID() const
|
||||
{ return npc_faction_id; }
|
||||
@ -321,8 +322,9 @@ public:
|
||||
|
||||
bool MeetsLootDropLevelRequirements(LootDropEntries_Struct loot_drop, bool verbose=false);
|
||||
|
||||
void CheckSignal();
|
||||
|
||||
virtual void DoClassAttacks(Mob *target);
|
||||
void CheckSignal();
|
||||
inline bool IsNotTargetableWithHotkey() const { return no_target_hotkey; }
|
||||
int64 GetNPCHPRegen() const { return hp_regen + itembonuses.HPRegen + spellbonuses.HPRegen; }
|
||||
inline const char* GetAmmoIDfile() const { return ammo_idfile; }
|
||||
|
||||
@ -81,9 +81,9 @@ uint32 Perl_Bot_GetBotItemIDBySlot(Bot* self, uint16 slot_id)
|
||||
return self->GetBotItemBySlot(slot_id);
|
||||
}
|
||||
|
||||
void Perl_Bot_SignalBot(Bot* self, int signal_id)
|
||||
void Perl_Bot_Signal(Bot* self, int signal_id)
|
||||
{
|
||||
self->SignalBot(signal_id);
|
||||
self->Signal(signal_id);
|
||||
}
|
||||
|
||||
void Perl_Bot_OwnerMessage(Bot* self, std::string message)
|
||||
@ -131,6 +131,16 @@ bool Perl_Bot_HasBotSpellEntry(Bot* self, uint16 spellid)
|
||||
return self->HasBotSpellEntry(spellid);
|
||||
}
|
||||
|
||||
void Perl_Bot_SendPayload(Bot* self, int payload_id) // @categories Script Utility
|
||||
{
|
||||
self->SendPayload(payload_id);
|
||||
}
|
||||
|
||||
void Perl_Bot_SendPayload(Bot* self, int payload_id, std::string payload_value) // @categories Script Utility
|
||||
{
|
||||
self->SendPayload(payload_id, payload_value);
|
||||
}
|
||||
|
||||
void perl_register_bot()
|
||||
{
|
||||
perl::interpreter state(PERL_GET_THX);
|
||||
@ -159,9 +169,11 @@ void perl_register_bot()
|
||||
package.add("ReloadBotSpells", &Perl_Bot_ReloadBotSpells);
|
||||
package.add("ReloadBotSpellSettings", &Perl_Bot_ReloadBotSpellSettings);
|
||||
package.add("RemoveBotItem", &Perl_Bot_RemoveBotItem);
|
||||
package.add("SendPayload", (void(*)(Bot*, int))&Perl_Bot_SendPayload);
|
||||
package.add("SendPayload", (void(*)(Bot*, int, std::string))&Perl_Bot_SendPayload);
|
||||
package.add("SetExpansionBitmask", (void(*)(Bot*, int))&Perl_Bot_SetExpansionBitmask);
|
||||
package.add("SetExpansionBitmask", (void(*)(Bot*, int, bool))&Perl_Bot_SetExpansionBitmask);
|
||||
package.add("SignalBot", &Perl_Bot_SignalBot);
|
||||
package.add("Signal", &Perl_Bot_Signal);
|
||||
}
|
||||
|
||||
#endif //EMBPERL_XS_CLASSES
|
||||
|
||||
@ -2732,6 +2732,16 @@ perl::array Perl_Client_GetZoneFlags(Client* self)
|
||||
return a;
|
||||
}
|
||||
|
||||
void Perl_Client_SendPayload(Client* self, int payload_id) // @categories Script Utility
|
||||
{
|
||||
self->SendPayload(payload_id);
|
||||
}
|
||||
|
||||
void Perl_Client_SendPayload(Client* self, int payload_id, std::string payload_value) // @categories Script Utility
|
||||
{
|
||||
self->SendPayload(payload_id, payload_value);
|
||||
}
|
||||
|
||||
void Perl_Client_Signal(Client* self, int signal_id)
|
||||
{
|
||||
self->Signal(signal_id);
|
||||
@ -3179,6 +3189,8 @@ void perl_register_client()
|
||||
package.add("SendMarqueeMessage", (void(*)(Client*, uint32, std::string, uint32))&Perl_Client_SendMarqueeMessage);
|
||||
package.add("SendMarqueeMessage", (void(*)(Client*, uint32, uint32, uint32, uint32, uint32, std::string))&Perl_Client_SendMarqueeMessage);
|
||||
package.add("SendOPTranslocateConfirm", &Perl_Client_SendOPTranslocateConfirm);
|
||||
package.add("SendPayload", (void(*)(Client*, int))&Perl_Client_SendPayload);
|
||||
package.add("SendPayload", (void(*)(Client*, int, std::string))&Perl_Client_SendPayload);
|
||||
package.add("SendPEQZoneFlagInfo", &Perl_Client_SendPEQZoneFlagInfo);
|
||||
package.add("SendSound", &Perl_Client_SendSound);
|
||||
package.add("SendSpellAnim", &Perl_Client_SendSpellAnim);
|
||||
|
||||
@ -670,6 +670,16 @@ void Perl_NPC_ReloadSpells(NPC* self)
|
||||
self->ReloadSpells();
|
||||
}
|
||||
|
||||
void Perl_NPC_SendPayload(NPC* self, int payload_id) // @categories Script Utility
|
||||
{
|
||||
self->SendPayload(payload_id);
|
||||
}
|
||||
|
||||
void Perl_NPC_SendPayload(NPC* self, int payload_id, std::string payload_value) // @categories Script Utility
|
||||
{
|
||||
self->SendPayload(payload_id, payload_value);
|
||||
}
|
||||
|
||||
void perl_register_npc()
|
||||
{
|
||||
perl::interpreter perl(PERL_GET_THX);
|
||||
@ -786,6 +796,8 @@ void perl_register_npc()
|
||||
package.add("SaveGuardSpot", (void(*)(NPC*, bool))&Perl_NPC_SaveGuardSpot);
|
||||
package.add("SaveGuardSpot", (void(*)(NPC*, float, float, float, float))&Perl_NPC_SaveGuardSpot);
|
||||
package.add("ScaleNPC", &Perl_NPC_ScaleNPC);
|
||||
package.add("SendPayload", (void(*)(NPC*, int))&Perl_NPC_SendPayload);
|
||||
package.add("SendPayload", (void(*)(NPC*, int, std::string))&Perl_NPC_SendPayload);
|
||||
package.add("SetCopper", &Perl_NPC_SetCopper);
|
||||
package.add("SetGold", &Perl_NPC_SetGold);
|
||||
package.add("SetGrid", &Perl_NPC_SetGrid);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user