mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-05 15:36:38 +00:00
[Quest API] Add Scripting Support to Mercenaries (#4500)
* [Quest API] Add Scripting Support to Mercenaries * Cleanup * Cleanup * Update lua_merc.h * Update mob.cpp * XYZH * Final * Update attack.cpp * Update attack.cpp * Simplify event invocation * Inline example * Nullptr init example * EVENT_TIMER simplify add EventPlayerNpcBotMerc * EVENT_TIMER_START * Remove has_start_event * EVENT_TIMER_START with settimerMS * EVENT_POPUP_RESPONSE * Consolidation * Update attack.cpp * Push * Update quest_parser_collection.h * Comments * Cleanup per comments --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
@@ -71,6 +71,7 @@ public:
|
||||
bool SpellHasQuestSub(uint32 spell_id, QuestEventID event_id);
|
||||
bool ItemHasQuestSub(EQ::ItemInstance* inst, QuestEventID event_id);
|
||||
bool BotHasQuestSub(QuestEventID event_id);
|
||||
bool MercHasQuestSub(QuestEventID event_id);
|
||||
|
||||
int EventNPC(
|
||||
QuestEventID event_id,
|
||||
@@ -126,6 +127,51 @@ public:
|
||||
std::vector<std::any> *extra_pointers = nullptr
|
||||
);
|
||||
|
||||
int EventMerc(
|
||||
QuestEventID event_id,
|
||||
Merc* merc,
|
||||
Mob* init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any> *extra_pointers = nullptr
|
||||
);
|
||||
|
||||
int EventBotMerc(
|
||||
QuestEventID event_id,
|
||||
Mob* e,
|
||||
Mob* init,
|
||||
std::function<std::string()> lazy_data = []() { return ""; },
|
||||
uint32 extra_data = 0,
|
||||
std::vector<std::any>* extra_pointers = nullptr
|
||||
);
|
||||
|
||||
int EventMercNPC(
|
||||
QuestEventID event_id,
|
||||
Mob* e,
|
||||
Mob* init,
|
||||
std::function<std::string()> lazy_data = []() { return ""; },
|
||||
uint32 extra_data = 0,
|
||||
std::vector<std::any>* extra_pointers = nullptr
|
||||
);
|
||||
|
||||
int EventBotMercNPC(
|
||||
QuestEventID event_id,
|
||||
Mob* e,
|
||||
Mob* init,
|
||||
std::function<std::string()> lazy_data = []() { return ""; },
|
||||
uint32 extra_data = 0,
|
||||
std::vector<std::any>* extra_pointers = nullptr
|
||||
);
|
||||
|
||||
int EventMob(
|
||||
QuestEventID event_id,
|
||||
Mob* e,
|
||||
Mob* init,
|
||||
std::function<std::string()> lazy_data = []() { return ""; },
|
||||
uint32 extra_data = 0,
|
||||
std::vector<std::any>* extra_pointers = nullptr
|
||||
);
|
||||
|
||||
void GetErrors(std::list<std::string> &quest_errors);
|
||||
|
||||
/*
|
||||
@@ -161,6 +207,8 @@ private:
|
||||
bool HasEncounterSub(QuestEventID event_id, const std::string& package_name);
|
||||
bool BotHasQuestSubLocal(QuestEventID event_id);
|
||||
bool BotHasQuestSubGlobal(QuestEventID event_id);
|
||||
bool MercHasQuestSubLocal(QuestEventID event_id);
|
||||
bool MercHasQuestSubGlobal(QuestEventID event_id);
|
||||
|
||||
int EventNPCLocal(
|
||||
QuestEventID event_id,
|
||||
@@ -214,6 +262,24 @@ private:
|
||||
std::vector<std::any> *extra_pointers
|
||||
);
|
||||
|
||||
int EventMercLocal(
|
||||
QuestEventID event_id,
|
||||
Merc* merc,
|
||||
Mob* init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers
|
||||
);
|
||||
|
||||
int EventMercGlobal(
|
||||
QuestEventID event_id,
|
||||
Merc* merc,
|
||||
Mob* init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers
|
||||
);
|
||||
|
||||
QuestInterface* GetQIByNPCQuest(uint32 npc_id, std::string& filename);
|
||||
QuestInterface* GetQIByGlobalNPCQuest(std::string& filename);
|
||||
QuestInterface* GetQIByPlayerQuest(std::string& filename);
|
||||
@@ -223,6 +289,8 @@ private:
|
||||
QuestInterface* GetQIByEncounterQuest(std::string encounter_name, std::string& filename);
|
||||
QuestInterface* GetQIByBotQuest(std::string& filename);
|
||||
QuestInterface* GetQIByGlobalBotQuest(std::string& filename);
|
||||
QuestInterface* GetQIByMercQuest(std::string& filename);
|
||||
QuestInterface* GetQIByGlobalMercQuest(std::string& filename);
|
||||
|
||||
int DispatchEventNPC(
|
||||
QuestEventID event_id,
|
||||
@@ -270,6 +338,15 @@ private:
|
||||
std::vector<std::any>* extra_pointers
|
||||
);
|
||||
|
||||
int DispatchEventMerc(
|
||||
QuestEventID event_id,
|
||||
Merc* merc,
|
||||
Mob* init,
|
||||
std::string data,
|
||||
uint32 extra_data,
|
||||
std::vector<std::any>* extra_pointers
|
||||
);
|
||||
|
||||
std::map<uint32, QuestInterface*> _interfaces;
|
||||
std::map<uint32, std::string> _extensions;
|
||||
std::list<QuestInterface*> _load_precedence;
|
||||
@@ -280,6 +357,8 @@ private:
|
||||
uint32 _global_player_quest_status;
|
||||
uint32 _bot_quest_status;
|
||||
uint32 _global_bot_quest_status;
|
||||
uint32 _merc_quest_status;
|
||||
uint32 _global_merc_quest_status;
|
||||
std::map<uint32, uint32> _spell_quest_status;
|
||||
std::map<uint32, uint32> _item_quest_status;
|
||||
std::map<std::string, uint32> _encounter_quest_status;
|
||||
|
||||
Reference in New Issue
Block a user