mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-15 00:01:28 +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);
|
const auto export_string = fmt::format("{}", signal_id);
|
||||||
parse->EventBot(EVENT_SIGNAL, this, nullptr, export_string, 0);
|
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)
|
void Bot::OwnerMessage(std::string message)
|
||||||
{
|
{
|
||||||
if (!GetBotOwner() || !GetBotOwner()->IsClient()) {
|
if (!GetBotOwner() || !GetBotOwner()->IsClient()) {
|
||||||
|
|||||||
@ -323,7 +323,7 @@ public:
|
|||||||
std::string bucket_value,
|
std::string bucket_value,
|
||||||
uint8 bucket_comparison
|
uint8 bucket_comparison
|
||||||
);
|
);
|
||||||
|
|
||||||
void AddSpellToBotEnforceList(
|
void AddSpellToBotEnforceList(
|
||||||
int16 iPriority,
|
int16 iPriority,
|
||||||
uint16 iSpellID,
|
uint16 iSpellID,
|
||||||
@ -719,7 +719,8 @@ public:
|
|||||||
int32 GetBaseDR() { return _baseDR; }
|
int32 GetBaseDR() { return _baseDR; }
|
||||||
int32 GetBaseCorrup() { return _baseCorrup; }
|
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);
|
void OwnerMessage(std::string message);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -5496,6 +5496,12 @@ void Client::Signal(int signal_id)
|
|||||||
parse->EventPlayer(EVENT_SIGNAL, this, export_string, 0);
|
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()
|
void Client::SendRewards()
|
||||||
{
|
{
|
||||||
std::vector<ClientReward> rewards;
|
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 Doppelganger(uint16 spell_id, Mob *target, const char *name_override, int pet_count, int pet_duration);
|
||||||
void NotifyNewTitlesAvailable();
|
void NotifyNewTitlesAvailable();
|
||||||
void Signal(int signal_id);
|
void Signal(int signal_id);
|
||||||
|
void SendPayload(int payload_id, std::string payload_value = std::string());
|
||||||
Mob *GetBindSightTarget() { return bind_sight_target; }
|
Mob *GetBindSightTarget() { return bind_sight_target; }
|
||||||
void SetBindSightTarget(Mob *n) { bind_sight_target = n; }
|
void SetBindSightTarget(Mob *n) { bind_sight_target = n; }
|
||||||
const uint16 GetBoatID() const { return controlling_boat_id; }
|
const uint16 GetBoatID() const { return controlling_boat_id; }
|
||||||
|
|||||||
@ -162,7 +162,8 @@ const char *QuestEventSubroutines[_LargestEventID] = {
|
|||||||
"EVENT_INSPECT",
|
"EVENT_INSPECT",
|
||||||
"EVENT_TASK_BEFORE_UPDATE",
|
"EVENT_TASK_BEFORE_UPDATE",
|
||||||
"EVENT_AA_BUY",
|
"EVENT_AA_BUY",
|
||||||
"EVENT_AA_GAIN"
|
"EVENT_AA_GAIN",
|
||||||
|
"EVENT_PAYLOAD"
|
||||||
#ifdef BOTS
|
#ifdef BOTS
|
||||||
,
|
,
|
||||||
"EVENT_SPELL_EFFECT_BOT",
|
"EVENT_SPELL_EFFECT_BOT",
|
||||||
@ -1603,6 +1604,13 @@ void PerlembParser::ExportEventVariables(
|
|||||||
break;
|
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: {
|
case EVENT_NPC_SLAY: {
|
||||||
ExportVar(package_name.c_str(), "killed", mob->GetNPCTypeID());
|
ExportVar(package_name.c_str(), "killed", mob->GetNPCTypeID());
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -5214,7 +5214,7 @@ void EntityList::SignalAllBotsByOwnerCharacterID(uint32 character_id, int signal
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const auto& b : client_bot_list) {
|
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);
|
auto b = GetBotByBotID(bot_id);
|
||||||
if (b) {
|
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);
|
auto b = GetBotByBotName(bot_name);
|
||||||
if (b) {
|
if (b) {
|
||||||
b->SignalBot(signal_id);
|
b->Signal(signal_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -106,6 +106,7 @@ typedef enum {
|
|||||||
EVENT_TASK_BEFORE_UPDATE,
|
EVENT_TASK_BEFORE_UPDATE,
|
||||||
EVENT_AA_BUY,
|
EVENT_AA_BUY,
|
||||||
EVENT_AA_GAIN,
|
EVENT_AA_GAIN,
|
||||||
|
EVENT_PAYLOAD,
|
||||||
#ifdef BOTS
|
#ifdef BOTS
|
||||||
EVENT_SPELL_EFFECT_BOT,
|
EVENT_SPELL_EFFECT_BOT,
|
||||||
EVENT_SPELL_EFFECT_BUFF_TIC_BOT,
|
EVENT_SPELL_EFFECT_BUFF_TIC_BOT,
|
||||||
|
|||||||
@ -84,9 +84,9 @@ uint32 Lua_Bot::GetBotItemIDBySlot(uint16 slot_id) {
|
|||||||
return self->GetBotItemBySlot(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();
|
Lua_Safe_Call_Void();
|
||||||
self->SignalBot(signal_id);
|
self->Signal(signal_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lua_Bot::OwnerMessage(std::string message) {
|
void Lua_Bot::OwnerMessage(std::string message) {
|
||||||
@ -134,6 +134,16 @@ bool Lua_Bot::HasBotSpellEntry(uint16 spellid) {
|
|||||||
return self->HasBotSpellEntry(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() {
|
luabind::scope lua_register_bot() {
|
||||||
return luabind::class_<Lua_Bot, Lua_Mob>("Bot")
|
return luabind::class_<Lua_Bot, Lua_Mob>("Bot")
|
||||||
.def(luabind::constructor<>())
|
.def(luabind::constructor<>())
|
||||||
@ -161,7 +171,9 @@ luabind::scope lua_register_bot() {
|
|||||||
.def("RemoveBotItem", (void(Lua_Bot::*)(uint32))&Lua_Bot::RemoveBotItem)
|
.def("RemoveBotItem", (void(Lua_Bot::*)(uint32))&Lua_Bot::RemoveBotItem)
|
||||||
.def("SetExpansionBitmask", (void(Lua_Bot::*)(int))&Lua_Bot::SetExpansionBitmask)
|
.def("SetExpansionBitmask", (void(Lua_Bot::*)(int))&Lua_Bot::SetExpansionBitmask)
|
||||||
.def("SetExpansionBitmask", (void(Lua_Bot::*)(int,bool))&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
|
#endif
|
||||||
|
|||||||
@ -50,8 +50,10 @@ public:
|
|||||||
void RemoveBotItem(uint32 item_id);
|
void RemoveBotItem(uint32 item_id);
|
||||||
void SetExpansionBitmask(int expansion_bitmask);
|
void SetExpansionBitmask(int expansion_bitmask);
|
||||||
void SetExpansionBitmask(int expansion_bitmask, bool save);
|
void SetExpansionBitmask(int expansion_bitmask, bool save);
|
||||||
void SignalBot(int signal_id);
|
void Signal(int signal_id);
|
||||||
bool HasBotSpellEntry(uint16 spellid);
|
bool HasBotSpellEntry(uint16 spellid);
|
||||||
|
void SendPayload(int payload_id);
|
||||||
|
void SendPayload(int payload_id, std::string payload_value);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -2855,6 +2855,16 @@ luabind::object Lua_Client::GetZoneFlags(lua_State* L) {
|
|||||||
return t;
|
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()
|
std::string Lua_Client::GetGuildPublicNote()
|
||||||
{
|
{
|
||||||
Lua_Safe_Call_String();
|
Lua_Safe_Call_String();
|
||||||
@ -3316,6 +3326,8 @@ luabind::scope lua_register_client() {
|
|||||||
.def("SendSound", (void(Lua_Client::*)(void))&Lua_Client::SendSound)
|
.def("SendSound", (void(Lua_Client::*)(void))&Lua_Client::SendSound)
|
||||||
.def("SendToGuildHall", (void(Lua_Client::*)(void))&Lua_Client::SendToGuildHall)
|
.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("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("SendWebLink", (void(Lua_Client::*)(const char *))&Lua_Client::SendWebLink)
|
||||||
.def("SendZoneFlagInfo", (void(Lua_Client::*)(Lua_Client))&Lua_Client::SendZoneFlagInfo)
|
.def("SendZoneFlagInfo", (void(Lua_Client::*)(Lua_Client))&Lua_Client::SendZoneFlagInfo)
|
||||||
.def("SetAAEXPModifier", (void(Lua_Client::*)(uint32,double))&Lua_Client::SetAAEXPModifier)
|
.def("SetAAEXPModifier", (void(Lua_Client::*)(uint32,double))&Lua_Client::SetAAEXPModifier)
|
||||||
|
|||||||
@ -450,6 +450,8 @@ public:
|
|||||||
void UpdateAdmin(bool from_database);
|
void UpdateAdmin(bool from_database);
|
||||||
luabind::object GetPEQZoneFlags(lua_State* L);
|
luabind::object GetPEQZoneFlags(lua_State* L);
|
||||||
luabind::object GetZoneFlags(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();
|
std::string GetGuildPublicNote();
|
||||||
|
|
||||||
void ApplySpell(int spell_id);
|
void ApplySpell(int spell_id);
|
||||||
|
|||||||
@ -4529,7 +4529,8 @@ luabind::scope lua_register_events() {
|
|||||||
luabind::value("inspect", static_cast<int>(EVENT_INSPECT)),
|
luabind::value("inspect", static_cast<int>(EVENT_INSPECT)),
|
||||||
luabind::value("task_before_update", static_cast<int>(EVENT_TASK_BEFORE_UPDATE)),
|
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_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);
|
self->CastToNPC()->SignalNPC(signal_id);
|
||||||
#ifdef BOTS
|
#ifdef BOTS
|
||||||
} else if (self->IsBot()) {
|
} else if (self->IsBot()) {
|
||||||
self->CastToBot()->SignalBot(signal_id);
|
self->CastToBot()->Signal(signal_id);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2719,6 +2719,34 @@ bool Lua_Mob::EntityVariableExists(std::string variable_name) {
|
|||||||
return self->EntityVariableExists(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
|
#ifdef BOTS
|
||||||
void Lua_Mob::DamageAreaBots(int64 damage) {
|
void Lua_Mob::DamageAreaBots(int64 damage) {
|
||||||
Lua_Safe_Call_Void();
|
Lua_Safe_Call_Void();
|
||||||
@ -3193,6 +3221,8 @@ luabind::scope lua_register_mob() {
|
|||||||
.def("SendWearChange", (void(Lua_Mob::*)(uint8))&Lua_Mob::SendWearChange)
|
.def("SendWearChange", (void(Lua_Mob::*)(uint8))&Lua_Mob::SendWearChange)
|
||||||
.def("SendBeginCast", &Lua_Mob::SendBeginCast)
|
.def("SendBeginCast", &Lua_Mob::SendBeginCast)
|
||||||
.def("SendIllusionPacket", (void(Lua_Mob::*)(luabind::adl::object))&Lua_Mob::SendIllusionPacket)
|
.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))&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_Mob::SendSpellEffect)
|
||||||
.def("SendSpellEffect", (void(Lua_Mob::*)(uint32,uint32,uint32,bool,uint32,bool,Lua_Client))&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);
|
void SetEntityVariable(std::string variable_name, std::string variable_value);
|
||||||
bool EntityVariableExists(std::string variable_name);
|
bool EntityVariableExists(std::string variable_name);
|
||||||
void Signal(int signal_id);
|
void Signal(int signal_id);
|
||||||
|
void SendPayload(int payload_id);
|
||||||
|
void SendPayload(int payload_id, std::string payload_value);
|
||||||
bool CombatRange(Lua_Mob other);
|
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);
|
||||||
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage, int min_damage);
|
void DoSpecialAttackDamage(Lua_Mob other, int skill, int max_damage, int min_damage);
|
||||||
|
|||||||
@ -681,6 +681,16 @@ void Lua_NPC::ReloadSpells()
|
|||||||
self->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() {
|
luabind::scope lua_register_npc() {
|
||||||
return luabind::class_<Lua_NPC, Lua_Mob>("NPC")
|
return luabind::class_<Lua_NPC, Lua_Mob>("NPC")
|
||||||
.def(luabind::constructor<>())
|
.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::*)(bool))&Lua_NPC::SaveGuardSpot)
|
||||||
.def("SaveGuardSpot", (void(Lua_NPC::*)(float,float,float,float))&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("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("SetCopper", (void(Lua_NPC::*)(uint32))&Lua_NPC::SetCopper)
|
||||||
.def("SetFollowCanRun", (void(Lua_NPC::*)(bool))&Lua_NPC::SetFollowCanRun)
|
.def("SetFollowCanRun", (void(Lua_NPC::*)(bool))&Lua_NPC::SetFollowCanRun)
|
||||||
.def("SetFollowDistance", (void(Lua_NPC::*)(int))&Lua_NPC::SetFollowDistance)
|
.def("SetFollowDistance", (void(Lua_NPC::*)(int))&Lua_NPC::SetFollowDistance)
|
||||||
|
|||||||
@ -157,6 +157,8 @@ public:
|
|||||||
void RemoveAISpellEffect(int spell_effect_id);
|
void RemoveAISpellEffect(int spell_effect_id);
|
||||||
bool HasAISpellEffect(int spell_effect_id);
|
bool HasAISpellEffect(int spell_effect_id);
|
||||||
float GetNPCStat(std::string stat);
|
float GetNPCStat(std::string stat);
|
||||||
|
void SendPayload(int payload_id);
|
||||||
|
void SendPayload(int payload_id, std::string payload_value);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -149,7 +149,8 @@ const char *LuaEvents[_LargestEventID] = {
|
|||||||
"event_inspect",
|
"event_inspect",
|
||||||
"event_task_before_update",
|
"event_task_before_update",
|
||||||
"event_aa_buy",
|
"event_aa_buy",
|
||||||
"event_aa_gain"
|
"event_aa_gain",
|
||||||
|
"event_payload"
|
||||||
};
|
};
|
||||||
|
|
||||||
extern Zone *zone;
|
extern Zone *zone;
|
||||||
@ -206,6 +207,7 @@ LuaParser::LuaParser() {
|
|||||||
NPCArgumentDispatch[EVENT_LEAVE_AREA] = handle_npc_area;
|
NPCArgumentDispatch[EVENT_LEAVE_AREA] = handle_npc_area;
|
||||||
NPCArgumentDispatch[EVENT_LOOT_ZONE] = handle_npc_loot_zone;
|
NPCArgumentDispatch[EVENT_LOOT_ZONE] = handle_npc_loot_zone;
|
||||||
NPCArgumentDispatch[EVENT_SPAWN_ZONE] = handle_npc_spawn_zone;
|
NPCArgumentDispatch[EVENT_SPAWN_ZONE] = handle_npc_spawn_zone;
|
||||||
|
NPCArgumentDispatch[EVENT_PAYLOAD] = handle_npc_payload;
|
||||||
|
|
||||||
PlayerArgumentDispatch[EVENT_SAY] = handle_player_say;
|
PlayerArgumentDispatch[EVENT_SAY] = handle_player_say;
|
||||||
PlayerArgumentDispatch[EVENT_ENVIRONMENTAL_DAMAGE] = handle_player_environmental_damage;
|
PlayerArgumentDispatch[EVENT_ENVIRONMENTAL_DAMAGE] = handle_player_environmental_damage;
|
||||||
@ -259,6 +261,7 @@ LuaParser::LuaParser() {
|
|||||||
PlayerArgumentDispatch[EVENT_INSPECT] = handle_player_inspect;
|
PlayerArgumentDispatch[EVENT_INSPECT] = handle_player_inspect;
|
||||||
PlayerArgumentDispatch[EVENT_AA_BUY] = handle_player_aa_buy;
|
PlayerArgumentDispatch[EVENT_AA_BUY] = handle_player_aa_buy;
|
||||||
PlayerArgumentDispatch[EVENT_AA_GAIN] = handle_player_aa_gain;
|
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] = handle_item_click;
|
||||||
ItemArgumentDispatch[EVENT_ITEM_CLICK_CAST] = 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_TIMER] = handle_bot_timer;
|
||||||
BotArgumentDispatch[EVENT_TRADE] = handle_bot_trade;
|
BotArgumentDispatch[EVENT_TRADE] = handle_bot_trade;
|
||||||
BotArgumentDispatch[EVENT_USE_SKILL] = handle_bot_use_skill;
|
BotArgumentDispatch[EVENT_USE_SKILL] = handle_bot_use_skill;
|
||||||
|
BotArgumentDispatch[EVENT_PAYLOAD] = handle_bot_payload;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
L = nullptr;
|
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>*);
|
typedef void(*BotArgumentHandler)(QuestInterface*, lua_State*, Bot*, Mob*, std::string, uint32, std::vector<std::any>*);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//NPC
|
// NPC
|
||||||
void handle_npc_event_say(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
void handle_npc_event_say(
|
||||||
std::vector<std::any> *extra_pointers);
|
QuestInterface *parse,
|
||||||
void handle_npc_event_trade(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
lua_State* L,
|
||||||
std::vector<std::any> *extra_pointers);
|
NPC* npc,
|
||||||
void handle_npc_event_hp(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
Mob *init,
|
||||||
std::vector<std::any> *extra_pointers);
|
std::string data,
|
||||||
void handle_npc_single_mob(QuestInterface *parse, lua_State* L, NPC* npc, Mob *init, std::string data, uint32 extra_data,
|
uint32 extra_data,
|
||||||
std::vector<std::any> *extra_pointers);
|
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);
|
|
||||||
|
|
||||||
//Player
|
void handle_npc_event_trade(
|
||||||
void handle_player_say(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
QuestInterface *parse,
|
||||||
std::vector<std::any> *extra_pointers);
|
lua_State* L,
|
||||||
void handle_player_environmental_damage(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
NPC* npc,
|
||||||
std::vector<std::any> *extra_pointers);
|
Mob *init,
|
||||||
void handle_player_death(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
std::string data,
|
||||||
std::vector<std::any> *extra_pointers);
|
uint32 extra_data,
|
||||||
void handle_player_timer(QuestInterface *parse, lua_State* L, Client* client, std::string data, uint32 extra_data,
|
std::vector<std::any> *extra_pointers
|
||||||
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);
|
|
||||||
|
|
||||||
//Item
|
void handle_npc_event_hp(
|
||||||
void handle_item_click(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
QuestInterface *parse,
|
||||||
std::vector<std::any> *extra_pointers);
|
lua_State* L,
|
||||||
void handle_item_timer(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
NPC* npc,
|
||||||
std::vector<std::any> *extra_pointers);
|
Mob *init,
|
||||||
void handle_item_proc(QuestInterface *parse, lua_State* L, Client* client, EQ::ItemInstance* item, Mob *mob, std::string data, uint32 extra_data,
|
std::string data,
|
||||||
std::vector<std::any> *extra_pointers);
|
uint32 extra_data,
|
||||||
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
|
||||||
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_npc_single_mob(
|
||||||
void handle_spell_event(QuestInterface *parse, lua_State* L, Mob* mob, Client* client, uint32 spell_id, std::string data, uint32 extra_data,
|
QuestInterface *parse,
|
||||||
std::vector<std::any> *extra_pointers);
|
lua_State* L,
|
||||||
void handle_translocate_finish(QuestInterface *parse, lua_State* L, Mob* mob, Client* client, uint32 spell_id, std::string data, uint32 extra_data,
|
NPC* npc,
|
||||||
std::vector<std::any> *extra_pointers);
|
Mob *init,
|
||||||
void handle_spell_null(QuestInterface *parse, lua_State* L, Mob* mob, Client* client, uint32 spell_id, std::string data, uint32 extra_data,
|
std::string data,
|
||||||
std::vector<std::any> *extra_pointers);
|
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
|
// Item
|
||||||
void handle_encounter_timer(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
void handle_item_click(
|
||||||
std::vector<std::any> *extra_pointers);
|
QuestInterface *parse,
|
||||||
void handle_encounter_load(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
lua_State* L,
|
||||||
std::vector<std::any> *extra_pointers);
|
Client* client,
|
||||||
void handle_encounter_unload(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
EQ::ItemInstance* item,
|
||||||
std::vector<std::any> *extra_pointers);
|
Mob *mob,
|
||||||
void handle_encounter_null(QuestInterface *parse, lua_State* L, Encounter* encounter, std::string data, uint32 extra_data,
|
std::string data,
|
||||||
std::vector<std::any> *extra_pointers);
|
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
|
#ifdef BOTS
|
||||||
void handle_bot_null(
|
void handle_bot_null(
|
||||||
QuestInterface *parse,
|
QuestInterface *parse,
|
||||||
@ -296,6 +885,16 @@ void handle_bot_use_skill(
|
|||||||
std::vector<std::any> *extra_pointers
|
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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -2477,37 +2477,11 @@ void NPC::CheckSignal() {
|
|||||||
if (!signal_q.empty()) {
|
if (!signal_q.empty()) {
|
||||||
int signal_id = signal_q.front();
|
int signal_id = signal_q.front();
|
||||||
signal_q.pop_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);
|
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 IsSpellInList(DBnpcspells_Struct* spell_list, uint16 iSpellID);
|
||||||
bool IsSpellEffectInList(DBnpcspellseffects_Struct* spelleffect_list, uint16 iSpellEffectID, int32 base_value, int32 limit, int32 max_value);
|
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);
|
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_) {
|
NPC_Emote_Struct* NPC::GetNPCEmote(uint32 emoteid, uint8 event_) {
|
||||||
LinkedListIterator<NPC_Emote_Struct*> iterator(zone->NPCEmoteList);
|
LinkedListIterator<NPC_Emote_Struct*> iterator(zone->NPCEmoteList);
|
||||||
iterator.Reset();
|
iterator.Reset();
|
||||||
|
|||||||
@ -262,6 +262,7 @@ public:
|
|||||||
void PetOnSpawn(NewSpawn_Struct* ns);
|
void PetOnSpawn(NewSpawn_Struct* ns);
|
||||||
|
|
||||||
void SignalNPC(int _signal_id);
|
void SignalNPC(int _signal_id);
|
||||||
|
void SendPayload(int payload_id, std::string payload_value = std::string());
|
||||||
|
|
||||||
inline int32 GetNPCFactionID() const
|
inline int32 GetNPCFactionID() const
|
||||||
{ return npc_faction_id; }
|
{ return npc_faction_id; }
|
||||||
@ -321,8 +322,9 @@ public:
|
|||||||
|
|
||||||
bool MeetsLootDropLevelRequirements(LootDropEntries_Struct loot_drop, bool verbose=false);
|
bool MeetsLootDropLevelRequirements(LootDropEntries_Struct loot_drop, bool verbose=false);
|
||||||
|
|
||||||
|
void CheckSignal();
|
||||||
|
|
||||||
virtual void DoClassAttacks(Mob *target);
|
virtual void DoClassAttacks(Mob *target);
|
||||||
void CheckSignal();
|
|
||||||
inline bool IsNotTargetableWithHotkey() const { return no_target_hotkey; }
|
inline bool IsNotTargetableWithHotkey() const { return no_target_hotkey; }
|
||||||
int64 GetNPCHPRegen() const { return hp_regen + itembonuses.HPRegen + spellbonuses.HPRegen; }
|
int64 GetNPCHPRegen() const { return hp_regen + itembonuses.HPRegen + spellbonuses.HPRegen; }
|
||||||
inline const char* GetAmmoIDfile() const { return ammo_idfile; }
|
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);
|
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)
|
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);
|
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()
|
void perl_register_bot()
|
||||||
{
|
{
|
||||||
perl::interpreter state(PERL_GET_THX);
|
perl::interpreter state(PERL_GET_THX);
|
||||||
@ -159,9 +169,11 @@ void perl_register_bot()
|
|||||||
package.add("ReloadBotSpells", &Perl_Bot_ReloadBotSpells);
|
package.add("ReloadBotSpells", &Perl_Bot_ReloadBotSpells);
|
||||||
package.add("ReloadBotSpellSettings", &Perl_Bot_ReloadBotSpellSettings);
|
package.add("ReloadBotSpellSettings", &Perl_Bot_ReloadBotSpellSettings);
|
||||||
package.add("RemoveBotItem", &Perl_Bot_RemoveBotItem);
|
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))&Perl_Bot_SetExpansionBitmask);
|
||||||
package.add("SetExpansionBitmask", (void(*)(Bot*, int, bool))&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
|
#endif //EMBPERL_XS_CLASSES
|
||||||
|
|||||||
@ -2732,6 +2732,16 @@ perl::array Perl_Client_GetZoneFlags(Client* self)
|
|||||||
return a;
|
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)
|
void Perl_Client_Signal(Client* self, int signal_id)
|
||||||
{
|
{
|
||||||
self->Signal(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, std::string, uint32))&Perl_Client_SendMarqueeMessage);
|
||||||
package.add("SendMarqueeMessage", (void(*)(Client*, uint32, uint32, uint32, uint32, uint32, std::string))&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("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("SendPEQZoneFlagInfo", &Perl_Client_SendPEQZoneFlagInfo);
|
||||||
package.add("SendSound", &Perl_Client_SendSound);
|
package.add("SendSound", &Perl_Client_SendSound);
|
||||||
package.add("SendSpellAnim", &Perl_Client_SendSpellAnim);
|
package.add("SendSpellAnim", &Perl_Client_SendSpellAnim);
|
||||||
|
|||||||
@ -670,6 +670,16 @@ void Perl_NPC_ReloadSpells(NPC* self)
|
|||||||
self->ReloadSpells();
|
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()
|
void perl_register_npc()
|
||||||
{
|
{
|
||||||
perl::interpreter perl(PERL_GET_THX);
|
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*, bool))&Perl_NPC_SaveGuardSpot);
|
||||||
package.add("SaveGuardSpot", (void(*)(NPC*, float, float, float, float))&Perl_NPC_SaveGuardSpot);
|
package.add("SaveGuardSpot", (void(*)(NPC*, float, float, float, float))&Perl_NPC_SaveGuardSpot);
|
||||||
package.add("ScaleNPC", &Perl_NPC_ScaleNPC);
|
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("SetCopper", &Perl_NPC_SetCopper);
|
||||||
package.add("SetGold", &Perl_NPC_SetGold);
|
package.add("SetGold", &Perl_NPC_SetGold);
|
||||||
package.add("SetGrid", &Perl_NPC_SetGrid);
|
package.add("SetGrid", &Perl_NPC_SetGrid);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user