mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-05 20:22:28 +00:00
Push
This commit is contained in:
parent
57ee6423eb
commit
26186ee9d9
@ -997,7 +997,7 @@ int PerlembParser::SendCommands(
|
||||
}
|
||||
|
||||
int ret_value = 0;
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
if (mob && mob->IsClient()) {
|
||||
q.owner = other;
|
||||
q.initiator = mob->CastToClient();
|
||||
|
||||
@ -507,7 +507,7 @@ int LuaParser::_EventNPC(std::string package_name, QuestEventID evt, NPC* npc, M
|
||||
arg_function(this, L, npc, init, data, extra_data, extra_pointers);
|
||||
Client *c = (init && init->IsClient()) ? init->CastToClient() : nullptr;
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = npc;
|
||||
q.initiator = c;
|
||||
@ -606,7 +606,7 @@ int LuaParser::_EventPlayer(std::string package_name, QuestEventID evt, Client *
|
||||
auto arg_function = PlayerArgumentDispatch[evt];
|
||||
arg_function(this, L, client, data, extra_data, extra_pointers);
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = client;
|
||||
q.initiator = client;
|
||||
@ -696,7 +696,7 @@ int LuaParser::_EventItem(std::string package_name, QuestEventID evt, Client *cl
|
||||
auto arg_function = ItemArgumentDispatch[evt];
|
||||
arg_function(this, L, client, item, mob, data, extra_data, extra_pointers);
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = client;
|
||||
q.initiator = client;
|
||||
@ -785,7 +785,7 @@ int LuaParser::_EventSpell(std::string package_name, QuestEventID evt, Mob* mob,
|
||||
auto arg_function = SpellArgumentDispatch[evt];
|
||||
arg_function(this, L, mob, client, spell_id, data, extra_data, extra_pointers);
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = client;
|
||||
q.initiator = client;
|
||||
@ -858,7 +858,7 @@ int LuaParser::_EventEncounter(std::string package_name, QuestEventID evt, std::
|
||||
auto arg_function = EncounterArgumentDispatch[evt];
|
||||
arg_function(this, L, enc, data, extra_data, extra_pointers);
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = enc;
|
||||
q.encounter = encounter_name;
|
||||
@ -1807,7 +1807,7 @@ int LuaParser::_EventBot(
|
||||
arg_function(this, L, bot, init, data, extra_data, extra_pointers);
|
||||
auto* c = (init && init->IsClient()) ? init->CastToClient() : nullptr;
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = bot;
|
||||
q.initiator = c;
|
||||
@ -1992,7 +1992,7 @@ int LuaParser::_EventMerc(
|
||||
arg_function(this, L, merc, init, data, extra_data, extra_pointers);
|
||||
auto* c = (init && init->IsClient()) ? init->CastToClient() : nullptr;
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.owner = merc;
|
||||
q.initiator = c;
|
||||
@ -2181,7 +2181,7 @@ int LuaParser::_EventZone(
|
||||
auto arg_function = ZoneArgumentDispatch[evt];
|
||||
arg_function(this, L, zone, data, extra_data, extra_pointers);
|
||||
|
||||
QuestManager::RunningQuest q;
|
||||
RunningQuest q;
|
||||
|
||||
q.zone = zone;
|
||||
|
||||
|
||||
@ -124,7 +124,7 @@ void QuestManager::Process() {
|
||||
}
|
||||
}
|
||||
|
||||
void QuestManager::StartQuest(RunningQuest q)
|
||||
void QuestManager::StartQuest(const RunningQuest& q)
|
||||
{
|
||||
m_running_quests.push(q);
|
||||
}
|
||||
|
||||
@ -33,6 +33,16 @@ namespace EQ
|
||||
class ItemInstance;
|
||||
}
|
||||
|
||||
struct RunningQuest {
|
||||
Mob* owner = nullptr;
|
||||
Client* initiator = nullptr;
|
||||
EQ::ItemInstance* questitem = nullptr;
|
||||
const SPDat_Spell_Struct* questspell = nullptr;
|
||||
bool depop_npc = false;
|
||||
std::string encounter = "";
|
||||
Zone* zone = nullptr;
|
||||
};
|
||||
|
||||
class QuestManager {
|
||||
|
||||
struct PausedTimer {
|
||||
@ -42,20 +52,10 @@ class QuestManager {
|
||||
};
|
||||
public:
|
||||
|
||||
struct RunningQuest {
|
||||
Mob *owner = nullptr;
|
||||
Client *initiator = nullptr;
|
||||
EQ::ItemInstance* questitem = nullptr;
|
||||
const SPDat_Spell_Struct* questspell = nullptr;
|
||||
bool depop_npc = false;
|
||||
std::string encounter = "";
|
||||
Zone* zone = nullptr;
|
||||
};
|
||||
|
||||
QuestManager();
|
||||
virtual ~QuestManager();
|
||||
|
||||
void StartQuest(RunningQuest q);
|
||||
void StartQuest(const RunningQuest& q);
|
||||
void EndQuest();
|
||||
bool QuestsRunning() { return !m_running_quests.empty(); }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user