mirror of
https://github.com/EQEmu/Server.git
synced 2026-08-30 17:58:16 +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:
+17
-10
@@ -5,6 +5,7 @@
|
||||
#include "entity.h"
|
||||
#include "groups.h"
|
||||
#include "mob.h"
|
||||
#include "quest_parser_collection.h"
|
||||
|
||||
#include "zone.h"
|
||||
#include "string_ids.h"
|
||||
@@ -4078,12 +4079,6 @@ bool Merc::Death(Mob* killer_mob, int64 damage, uint16 spell, EQ::skills::SkillT
|
||||
|
||||
Save();
|
||||
|
||||
//no corpse, no exp if we're a merc.
|
||||
//We'll suspend instead, since that's what live does.
|
||||
//Not actually sure live supports 'depopping' merc corpses.
|
||||
//if(entity_list.GetCorpseByID(GetID()))
|
||||
// entity_list.GetCorpseByID(GetID())->Depop();
|
||||
|
||||
// If client is in zone, suspend merc, else depop it.
|
||||
if (!Suspend()) {
|
||||
Depop();
|
||||
@@ -4671,7 +4666,6 @@ bool Merc::Spawn(Client *owner) {
|
||||
|
||||
//UpdateMercAppearance();
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -5189,9 +5183,6 @@ void Client::SpawnMerc(Merc* merc, bool setMaxStats) {
|
||||
merc->SetStance(GetMercInfo().Stance);
|
||||
|
||||
Log(Logs::General, Logs::Mercenaries, "SpawnMerc Success for %s.", GetName());
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
bool Merc::Suspend() {
|
||||
@@ -5914,3 +5905,19 @@ uint32 Merc::CalcUpkeepCost(uint32 templateID , uint8 level, uint8 currency_type
|
||||
|
||||
return cost;
|
||||
}
|
||||
|
||||
void Merc::Signal(int signal_id)
|
||||
{
|
||||
if (parse->MercHasQuestSub(EVENT_SIGNAL)) {
|
||||
parse->EventMerc(EVENT_SIGNAL, this, nullptr, std::to_string(signal_id), 0);
|
||||
}
|
||||
}
|
||||
|
||||
void Merc::SendPayload(int payload_id, std::string payload_value)
|
||||
{
|
||||
if (parse->MercHasQuestSub(EVENT_PAYLOAD)) {
|
||||
const auto& export_string = fmt::format("{} {}", payload_id, payload_value);
|
||||
|
||||
parse->EventMerc(EVENT_PAYLOAD, this, nullptr, export_string, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user