[Code] PlayerEventLogs Global to Singleton Cleanup (#4928)

* [Code] PlayerEventLogs Global to Singleton Cleanup

* Fix

---------

Co-authored-by: Chris Miles <akkadius1@gmail.com>
This commit is contained in:
Alex King 2025-06-25 16:05:33 -04:00 committed by GitHub
parent c0bb32ed12
commit 643ee56433
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 95 additions and 106 deletions

View File

@ -38,8 +38,6 @@
#include "../../common/skill_caps.h" #include "../../common/skill_caps.h"
#include "../../common/evolving_items.h" #include "../../common/evolving_items.h"
PlayerEventLogs player_event_logs;
void ExportSpells(SharedDatabase *db); void ExportSpells(SharedDatabase *db);
void ExportSkillCaps(SharedDatabase *db); void ExportSkillCaps(SharedDatabase *db);
void ExportBaseData(SharedDatabase *db); void ExportBaseData(SharedDatabase *db);

View File

@ -32,8 +32,6 @@
#include "../../common/events/player_event_logs.h" #include "../../common/events/player_event_logs.h"
#include "../../common/evolving_items.h" #include "../../common/evolving_items.h"
PlayerEventLogs player_event_logs;
void ImportSpells(SharedDatabase *db); void ImportSpells(SharedDatabase *db);
void ImportSkillCaps(SharedDatabase *db); void ImportSkillCaps(SharedDatabase *db);
void ImportBaseData(SharedDatabase *db); void ImportBaseData(SharedDatabase *db);

View File

@ -2244,7 +2244,7 @@ void Database::PurgeCharacterParcels()
pel.event_data = ss.str(); pel.event_data = ss.str();
pel.created_at = std::time(nullptr); pel.created_at = std::time(nullptr);
player_event_logs.AddToQueue(pel); PlayerEventLogs::Instance()->AddToQueue(pel);
ss.str(""); ss.str("");
ss.clear(); ss.clear();

View File

@ -68,7 +68,7 @@ void DiscordManager::ProcessMessageQueue()
void DiscordManager::QueuePlayerEventMessage(const PlayerEvent::PlayerEventContainer& e) void DiscordManager::QueuePlayerEventMessage(const PlayerEvent::PlayerEventContainer& e)
{ {
auto w = player_event_logs.GetDiscordWebhookUrlFromEventType(e.player_event_log.event_type_id); auto w = PlayerEventLogs::Instance()->GetDiscordWebhookUrlFromEventType(e.player_event_log.event_type_id);
if (!w.empty()) { if (!w.empty()) {
Discord::SendPlayerEventMessage(e, w); Discord::SendPlayerEventMessage(e, w);
} }

View File

@ -96,6 +96,12 @@ public:
std::vector<PlayerEventAaPurchaseRepository::PlayerEventAaPurchase> aa_purchase; std::vector<PlayerEventAaPurchaseRepository::PlayerEventAaPurchase> aa_purchase;
}; };
static PlayerEventLogs* Instance()
{
static PlayerEventLogs instance;
return &instance;
}
private: private:
struct EtlSettings { struct EtlSettings {
bool enabled; bool enabled;
@ -129,6 +135,4 @@ public:
std::map<PlayerEvent::EventType, EtlSettings> &GetEtlSettings() { return m_etl_settings;} std::map<PlayerEvent::EventType, EtlSettings> &GetEtlSettings() { return m_etl_settings;}
}; };
extern PlayerEventLogs player_event_logs;
#endif //EQEMU_PLAYER_EVENT_LOGS_H #endif //EQEMU_PLAYER_EVENT_LOGS_H

View File

@ -1756,10 +1756,10 @@ namespace PlayerEvent {
#endif //EQEMU_PLAYER_EVENTS_H #endif //EQEMU_PLAYER_EVENTS_H
#define RecordPlayerEventLog(event_type, event_data) do {\ #define RecordPlayerEventLog(event_type, event_data) do {\
if (player_event_logs.IsEventEnabled(event_type)) {\ if (PlayerEventLogs::Instance()->IsEventEnabled(event_type)) {\
if (RuleB(Logging, PlayerEventsQSProcess)) {\ if (RuleB(Logging, PlayerEventsQSProcess)) {\
QServ->SendPacket(\ QServ->SendPacket(\
player_event_logs.RecordEvent(\ PlayerEventLogs::Instance()->RecordEvent(\
event_type,\ event_type,\
GetPlayerEvent(),\ GetPlayerEvent(),\
event_data\ event_data\
@ -1768,7 +1768,7 @@ namespace PlayerEvent {
} \ } \
else { \ else { \
worldserver.SendPacket(\ worldserver.SendPacket(\
player_event_logs.RecordEvent(\ PlayerEventLogs::Instance()->RecordEvent(\
event_type,\ event_type,\
GetPlayerEvent(),\ GetPlayerEvent(),\
event_data\ event_data\
@ -1779,10 +1779,10 @@ namespace PlayerEvent {
} while (0) } while (0)
#define RecordPlayerEventLogWithClient(c, event_type, event_data) do {\ #define RecordPlayerEventLogWithClient(c, event_type, event_data) do {\
if (player_event_logs.IsEventEnabled(event_type)) {\ if (PlayerEventLogs::Instance()->IsEventEnabled(event_type)) {\
if (RuleB(Logging, PlayerEventsQSProcess)) {\ if (RuleB(Logging, PlayerEventsQSProcess)) {\
QServ->SendPacket(\ QServ->SendPacket(\
player_event_logs.RecordEvent(\ PlayerEventLogs::Instance()->RecordEvent(\
event_type,\ event_type,\
(c)->GetPlayerEvent(),\ (c)->GetPlayerEvent(),\
event_data\ event_data\
@ -1791,7 +1791,7 @@ namespace PlayerEvent {
}\ }\
else {\ else {\
worldserver.SendPacket(\ worldserver.SendPacket(\
player_event_logs.RecordEvent(\ PlayerEventLogs::Instance()->RecordEvent(\
event_type,\ event_type,\
(c)->GetPlayerEvent(),\ (c)->GetPlayerEvent(),\
event_data\ event_data\

View File

@ -24,7 +24,6 @@
LoginServer server; LoginServer server;
bool run_server = true; bool run_server = true;
Database database; Database database;
PlayerEventLogs player_event_logs;
void CatchSignal(int sig_num) void CatchSignal(int sig_num)
{ {

View File

@ -28,7 +28,6 @@ Database database;
std::string WorldShortName; std::string WorldShortName;
const queryservconfig *Config; const queryservconfig *Config;
WorldServer *worldserver = 0; WorldServer *worldserver = 0;
PlayerEventLogs player_event_logs;
ZSList zs_list; ZSList zs_list;
uint32 numzones = 0; uint32 numzones = 0;
@ -156,7 +155,7 @@ int main()
LFGuildManager::Instance()->LoadDatabase(); LFGuildManager::Instance()->LoadDatabase();
Timer player_event_process_timer(1000); Timer player_event_process_timer(1000);
player_event_logs.SetDatabase(&qs_database)->Init(); PlayerEventLogs::Instance()->SetDatabase(&qs_database)->Init();
auto loop_fn = [&](EQ::Timer *t) { auto loop_fn = [&](EQ::Timer *t) {
Timer::SetCurrentTime(); Timer::SetCurrentTime();
@ -171,7 +170,7 @@ int main()
} }
if (player_event_process_timer.Check()) { if (player_event_process_timer.Check()) {
player_event_logs.Process(); PlayerEventLogs::Instance()->Process();
} }
}; };

View File

@ -79,7 +79,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
auto o = (ServerReload::Request*) p.Data(); auto o = (ServerReload::Request*) p.Data();
if (o->type == ServerReload::Type::Logs) { if (o->type == ServerReload::Type::Logs) {
EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); EQEmuLogSys::Instance()->LoadLogDatabaseSettings();
player_event_logs.ReloadSettings(); PlayerEventLogs::Instance()->ReloadSettings();
zs_list.SendPlayerEventLogSettings(); zs_list.SendPlayerEventLogSettings();
} }

View File

@ -33,7 +33,7 @@ void ZoneServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
cereal::BinaryInputArchive archive(ss); cereal::BinaryInputArchive archive(ss);
archive(n); archive(n);
player_event_logs.AddToQueue(n.player_event_log); PlayerEventLogs::Instance()->AddToQueue(n.player_event_log);
DiscordManager::Instance()->QueuePlayerEventMessage(n); DiscordManager::Instance()->QueuePlayerEventMessage(n);
break; break;
@ -49,8 +49,8 @@ void ZoneServer::SendPlayerEventLogSettings()
{ {
EQ::Net::DynamicPacket dyn_pack; EQ::Net::DynamicPacket dyn_pack;
std::vector<PlayerEventLogSettingsRepository::PlayerEventLogSettings> settings( std::vector<PlayerEventLogSettingsRepository::PlayerEventLogSettings> settings(
player_event_logs.GetSettings(), PlayerEventLogs::Instance()->GetSettings(),
player_event_logs.GetSettings() + PlayerEvent::EventType::MAX PlayerEventLogs::Instance()->GetSettings() + PlayerEvent::EventType::MAX
); );
dyn_pack.PutSerialize(0, settings); dyn_pack.PutSerialize(0, settings);

View File

@ -35,8 +35,6 @@
#include "../common/events/player_event_logs.h" #include "../common/events/player_event_logs.h"
#include "../common/evolving_items.h" #include "../common/evolving_items.h"
PlayerEventLogs player_event_logs;
#ifdef _WINDOWS #ifdef _WINDOWS
#include <direct.h> #include <direct.h>
#else #else

View File

@ -46,7 +46,6 @@ ChatChannelList *ChannelList;
Clientlist *g_Clientlist; Clientlist *g_Clientlist;
UCSDatabase database; UCSDatabase database;
WorldServer *worldserver = nullptr; WorldServer *worldserver = nullptr;
PlayerEventLogs player_event_logs;
const ucsconfig *Config; const ucsconfig *Config;
@ -141,7 +140,7 @@ int main() {
->LoadLogDatabaseSettings() ->LoadLogDatabaseSettings()
->StartFileLogs(); ->StartFileLogs();
player_event_logs.SetDatabase(&database)->Init(); PlayerEventLogs::Instance()->SetDatabase(&database)->Init();
char tmp[64]; char tmp[64];

View File

@ -79,7 +79,7 @@ void WorldServer::ProcessMessage(uint16 opcode, EQ::Net::Packet &p)
auto o = (ServerReload::Request*) pack->pBuffer; auto o = (ServerReload::Request*) pack->pBuffer;
if (o->type == ServerReload::Type::Logs) { if (o->type == ServerReload::Type::Logs) {
EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); EQEmuLogSys::Instance()->LoadLogDatabaseSettings();
player_event_logs.ReloadSettings(); PlayerEventLogs::Instance()->ReloadSettings();
} }
break; break;

View File

@ -12,9 +12,9 @@ void WorldserverCLI::EtlGetSettings(int argc, char **argv, argh::parser &cmd, st
Json::Value etl_settings; Json::Value etl_settings;
Json::Value player_events; Json::Value player_events;
player_event_logs.SetDatabase(&database)->Init(); PlayerEventLogs::Instance()->SetDatabase(&database)->Init();
auto event_settings = player_event_logs.GetSettings(); auto event_settings = PlayerEventLogs::Instance()->GetSettings();
auto etl_details = player_event_logs.GetEtlSettings(); auto etl_details = PlayerEventLogs::Instance()->GetEtlSettings();
for (int i = PlayerEvent::GM_COMMAND; i < PlayerEvent::EventType::MAX; i++) { for (int i = PlayerEvent::GM_COMMAND; i < PlayerEvent::EventType::MAX; i++) {
player_events["event_id"] = event_settings[i].id; player_events["event_id"] = event_settings[i].id;

View File

@ -2430,7 +2430,7 @@ bool Client::StoreCharacter(
void Client::RecordPossibleHack(const std::string& message) void Client::RecordPossibleHack(const std::string& message)
{ {
if (player_event_logs.IsEventEnabled(PlayerEvent::POSSIBLE_HACK)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::POSSIBLE_HACK)) {
auto event = PlayerEvent::PossibleHackEvent{.message = message}; auto event = PlayerEvent::PossibleHackEvent{.message = message};
std::stringstream ss; std::stringstream ss;
{ {

View File

@ -99,7 +99,6 @@ volatile bool RunLoops = true;
uint32 numclients = 0; uint32 numclients = 0;
uint32 numzones = 0; uint32 numzones = 0;
const WorldConfig *Config; const WorldConfig *Config;
PlayerEventLogs player_event_logs;
void CatchSignal(int sig_num); void CatchSignal(int sig_num);
@ -368,8 +367,8 @@ int main(int argc, char **argv)
} }
); );
if (player_event_logs.LoadDatabaseConnection()) { if (PlayerEventLogs::Instance()->LoadDatabaseConnection()) {
player_event_logs.Init(); PlayerEventLogs::Instance()->Init();
} }
auto loop_fn = [&](EQ::Timer* t) { auto loop_fn = [&](EQ::Timer* t) {
@ -467,7 +466,7 @@ int main(int argc, char **argv)
if (!RuleB(Logging, PlayerEventsQSProcess)) { if (!RuleB(Logging, PlayerEventsQSProcess)) {
if (player_event_log_process.Check()) { if (player_event_log_process.Check()) {
player_event_logs.Process(); PlayerEventLogs::Instance()->Process();
} }
} }

View File

@ -981,7 +981,7 @@ void ZSList::SendServerReload(ServerReload::Type type, uchar *packet)
WorldContentService::Instance()->SetExpansionContext()->ReloadContentFlags(); WorldContentService::Instance()->SetExpansionContext()->ReloadContentFlags();
} else if (type == ServerReload::Type::Logs) { } else if (type == ServerReload::Type::Logs) {
EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); EQEmuLogSys::Instance()->LoadLogDatabaseSettings();
player_event_logs.ReloadSettings(); PlayerEventLogs::Instance()->ReloadSettings();
UCSConnection::Instance()->SendPacket(&pack); UCSConnection::Instance()->SendPacket(&pack);
QueryServConnection::Instance()->SendPacket(&pack); QueryServConnection::Instance()->SendPacket(&pack);
} else if (type == ServerReload::Type::Tasks) { } else if (type == ServerReload::Type::Tasks) {

View File

@ -368,14 +368,14 @@ void ZoneServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p) {
// if set, process events in queryserver // if set, process events in queryserver
// if you want to offload event recording to a dedicated QS instance // if you want to offload event recording to a dedicated QS instance
if (!RuleB(Logging, PlayerEventsQSProcess)) { if (!RuleB(Logging, PlayerEventsQSProcess)) {
player_event_logs.AddToQueue(n.player_event_log); PlayerEventLogs::Instance()->AddToQueue(n.player_event_log);
} }
else { else {
QueryServConnection::Instance()->SendPacket(pack); QueryServConnection::Instance()->SendPacket(pack);
} }
// if discord enabled for event, ship to UCS to process // if discord enabled for event, ship to UCS to process
if (player_event_logs.IsEventDiscordEnabled(n.player_event_log.event_type_id)) { if (PlayerEventLogs::Instance()->IsEventDiscordEnabled(n.player_event_log.event_type_id)) {
UCSConnection::Instance()->SendPacket(pack); UCSConnection::Instance()->SendPacket(pack);
} }

View File

@ -1180,7 +1180,7 @@ void Client::FinishAlternateAdvancementPurchase(AA::Rank *rank, bool ignore_cost
SendAlternateAdvancementStats(); SendAlternateAdvancementStats();
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::AA_PURCHASE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::AA_PURCHASE)) {
auto e = PlayerEvent::AAPurchasedEvent{ auto e = PlayerEvent::AAPurchasedEvent{
.aa_id = rank->id, .aa_id = rank->id,
.aa_cost = cost, .aa_cost = cost,

View File

@ -2163,7 +2163,7 @@ bool Client::Death(Mob* killer_mob, int64 damage, uint16 spell, EQ::skills::Skil
GoToDeath(); GoToDeath();
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::DEATH)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::DEATH)) {
auto e = PlayerEvent::DeathEvent{ auto e = PlayerEvent::DeathEvent{
.killer_id = killer_mob ? static_cast<uint32>(killer_mob->GetID()) : static_cast<uint32>(0), .killer_id = killer_mob ? static_cast<uint32>(killer_mob->GetID()) : static_cast<uint32>(0),
.killer_name = killer_mob ? killer_mob->GetCleanName() : "No Killer", .killer_name = killer_mob ? killer_mob->GetCleanName() : "No Killer",

View File

@ -1318,7 +1318,7 @@ void Client::ChannelMessageReceived(uint8 chan_num, uint8 language, uint8 lang_s
} }
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::EventType::SPEECH)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::EventType::SPEECH)) {
PlayerEvent::PlayerSpeech e{}; PlayerEvent::PlayerSpeech e{};
std::string msg = message; std::string msg = message;
if (!msg.empty() && msg.at(0) != '#' && msg.at(0) != '^') { if (!msg.empty() && msg.at(0) != '#' && msg.at(0) != '^') {
@ -1540,7 +1540,7 @@ void Client::ChannelMessageReceived(uint8 chan_num, uint8 language, uint8 lang_s
break; break;
} }
case ChatChannel_Say: { /* Say */ case ChatChannel_Say: { /* Say */
if (player_event_logs.IsEventEnabled(PlayerEvent::SAY)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::SAY)) {
std::string msg = message; std::string msg = message;
if (!msg.empty() && msg.at(0) != '#' && msg.at(0) != '^') { if (!msg.empty() && msg.at(0) != '#' && msg.at(0) != '^') {
auto e = PlayerEvent::SayEvent{ auto e = PlayerEvent::SayEvent{
@ -3108,7 +3108,7 @@ bool Client::CheckIncreaseSkill(EQ::skills::SkillType skillid, Mob *against_who,
{ {
SetSkill(skillid, GetRawSkill(skillid) + 1); SetSkill(skillid, GetRawSkill(skillid) + 1);
if (player_event_logs.IsEventEnabled(PlayerEvent::SKILL_UP)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::SKILL_UP)) {
auto e = PlayerEvent::SkillUpEvent{ auto e = PlayerEvent::SkillUpEvent{
.skill_id = static_cast<uint32>(skillid), .skill_id = static_cast<uint32>(skillid),
.value = static_cast<int>((skillval + 1)), .value = static_cast<int>((skillval + 1)),
@ -4991,7 +4991,7 @@ void Client::DiscoverItem(uint32 item_id) {
auto d = DiscoveredItemsRepository::InsertOne(database, e); auto d = DiscoveredItemsRepository::InsertOne(database, e);
if (player_event_logs.IsEventEnabled(PlayerEvent::DISCOVER_ITEM)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::DISCOVER_ITEM)) {
const auto* item = database.GetItem(item_id); const auto* item = database.GetItem(item_id);
auto e = PlayerEvent::DiscoverItemEvent{ auto e = PlayerEvent::DiscoverItemEvent{

View File

@ -361,7 +361,7 @@ bool Client::DoEvolveCheckProgression(EQ::ItemInstance &inst)
p.item_id = item_id; p.item_id = item_id;
p.quantity = 1; p.quantity = 1;
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
PlayerEvent::ParcelSend e{}; PlayerEvent::ParcelSend e{};
e.from_player_name = p.from_name; e.from_player_name = p.from_name;
e.to_player_name = GetCleanName(); e.to_player_name = GetCleanName();

View File

@ -2716,7 +2716,7 @@ void Client::Handle_OP_AltCurrencyPurchase(const EQApplicationPacket *app)
charges = item->MaxCharges; charges = item->MaxCharges;
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::MERCHANT_PURCHASE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::MERCHANT_PURCHASE)) {
auto e = PlayerEvent::MerchantPurchaseEvent{ auto e = PlayerEvent::MerchantPurchaseEvent{
.npc_id = tar->GetNPCTypeID(), .npc_id = tar->GetNPCTypeID(),
.merchant_name = tar->GetCleanName(), .merchant_name = tar->GetCleanName(),
@ -2901,7 +2901,7 @@ void Client::Handle_OP_AltCurrencySell(const EQApplicationPacket *app)
FastQueuePacket(&outapp); FastQueuePacket(&outapp);
uint64 new_balance = AddAlternateCurrencyValue(alt_cur_id, cost); uint64 new_balance = AddAlternateCurrencyValue(alt_cur_id, cost);
if (player_event_logs.IsEventEnabled(PlayerEvent::MERCHANT_SELL)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::MERCHANT_SELL)) {
auto e = PlayerEvent::MerchantSellEvent{ auto e = PlayerEvent::MerchantSellEvent{
.npc_id = tar->GetNPCTypeID(), .npc_id = tar->GetNPCTypeID(),
.merchant_name = tar->GetCleanName(), .merchant_name = tar->GetCleanName(),
@ -5707,7 +5707,7 @@ void Client::Handle_OP_DeleteItem(const EQApplicationPacket *app)
SetIntoxication(GetIntoxication()+IntoxicationIncrease); SetIntoxication(GetIntoxication()+IntoxicationIncrease);
if (player_event_logs.IsEventEnabled(PlayerEvent::ITEM_DESTROY) && inst->GetItem()) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::ITEM_DESTROY) && inst->GetItem()) {
auto e = PlayerEvent::DestroyItemEvent{ auto e = PlayerEvent::DestroyItemEvent{
.item_id = inst->GetItem()->ID, .item_id = inst->GetItem()->ID,
.item_name = inst->GetItem()->Name, .item_name = inst->GetItem()->Name,
@ -7720,7 +7720,7 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
if (slot_id >= 0) { if (slot_id >= 0) {
auto inst = GuildBanks->GetItem(GuildID(), GuildBankMainArea, slot_id, 1); auto inst = GuildBanks->GetItem(GuildID(), GuildBankMainArea, slot_id, 1);
if (inst) { if (inst) {
if (player_event_logs.IsEventEnabled(PlayerEvent::GUILD_BANK_MOVE_TO_BANK_AREA)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GUILD_BANK_MOVE_TO_BANK_AREA)) {
PlayerEvent::GuildBankTransaction log{}; PlayerEvent::GuildBankTransaction log{};
log.char_id = CharacterID(); log.char_id = CharacterID();
log.guild_id = GuildID(); log.guild_id = GuildID();
@ -7834,7 +7834,7 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
GuildBankDepositAck(false, sentAction); GuildBankDepositAck(false, sentAction);
DeleteItemInInventory(EQ::invslot::slotCursor, 0, false); DeleteItemInInventory(EQ::invslot::slotCursor, 0, false);
if (player_event_logs.IsEventEnabled(PlayerEvent::GUILD_BANK_DEPOSIT)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GUILD_BANK_DEPOSIT)) {
PlayerEvent::GuildBankTransaction log{}; PlayerEvent::GuildBankTransaction log{};
log.char_id = CharacterID(); log.char_id = CharacterID();
log.guild_id = GuildID(); log.guild_id = GuildID();
@ -7910,7 +7910,7 @@ void Client::Handle_OP_GuildBank(const EQApplicationPacket *app)
SendItemPacket(EQ::invslot::slotCursor, inst.get(), ItemPacketLimbo); SendItemPacket(EQ::invslot::slotCursor, inst.get(), ItemPacketLimbo);
GuildBanks->DeleteItem(GuildID(), gbwis->Area, gbwis->SlotID, gbwis->Quantity, this); GuildBanks->DeleteItem(GuildID(), gbwis->Area, gbwis->SlotID, gbwis->Quantity, this);
if (player_event_logs.IsEventEnabled(PlayerEvent::GUILD_BANK_WITHDRAWAL)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GUILD_BANK_WITHDRAWAL)) {
PlayerEvent::GuildBankTransaction log{}; PlayerEvent::GuildBankTransaction log{};
log.char_id = CharacterID(); log.char_id = CharacterID();
log.guild_id = GuildID(); log.guild_id = GuildID();
@ -13605,7 +13605,7 @@ void Client::Handle_OP_RezzAnswer(const EQApplicationPacket *app)
OPRezzAnswer(r->action, r->spellid, r->zone_id, r->instance_id, r->x, r->y, r->z); OPRezzAnswer(r->action, r->spellid, r->zone_id, r->instance_id, r->x, r->y, r->z);
if (r->action == ResurrectionActions::Accept) { if (r->action == ResurrectionActions::Accept) {
if (player_event_logs.IsEventEnabled(PlayerEvent::REZ_ACCEPTED)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::REZ_ACCEPTED)) {
auto e = PlayerEvent::ResurrectAcceptEvent{ auto e = PlayerEvent::ResurrectAcceptEvent{
.resurrecter_name = r->rezzer_name, .resurrecter_name = r->rezzer_name,
.spell_name = spells[r->spellid].name, .spell_name = spells[r->spellid].name,
@ -14235,7 +14235,7 @@ void Client::Handle_OP_ShopPlayerBuy(const EQApplicationPacket *app)
} }
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::MERCHANT_PURCHASE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::MERCHANT_PURCHASE)) {
auto e = PlayerEvent::MerchantPurchaseEvent{ auto e = PlayerEvent::MerchantPurchaseEvent{
.npc_id = tmp->GetNPCTypeID(), .npc_id = tmp->GetNPCTypeID(),
.merchant_name = tmp->GetCleanName(), .merchant_name = tmp->GetCleanName(),
@ -14420,7 +14420,7 @@ void Client::Handle_OP_ShopPlayerSell(const EQApplicationPacket *app)
parse->EventPlayer(EVENT_MERCHANT_SELL, this, export_string, 0); parse->EventPlayer(EVENT_MERCHANT_SELL, this, export_string, 0);
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::MERCHANT_SELL)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::MERCHANT_SELL)) {
auto e = PlayerEvent::MerchantSellEvent{ auto e = PlayerEvent::MerchantSellEvent{
.npc_id = vendor->GetNPCTypeID(), .npc_id = vendor->GetNPCTypeID(),
.merchant_name = vendor->GetCleanName(), .merchant_name = vendor->GetCleanName(),
@ -16680,7 +16680,7 @@ void Client::RecordKilledNPCEvent(NPC *n)
}; };
for (auto &c: checks) { for (auto &c: checks) {
if (c.check && player_event_logs.IsEventEnabled(c.event)) { if (c.check && PlayerEventLogs::Instance()->IsEventEnabled(c.event)) {
auto e = PlayerEvent::KilledNPCEvent{ auto e = PlayerEvent::KilledNPCEvent{
.npc_id = n->GetNPCTypeID(), .npc_id = n->GetNPCTypeID(),
.npc_name = n->GetCleanName(), .npc_name = n->GetCleanName(),
@ -17073,7 +17073,7 @@ void Client::Handle_OP_GuildTributeDonateItem(const EQApplicationPacket *app)
SendGuildTributeDonateItemReply(in, favor); SendGuildTributeDonateItemReply(in, favor);
if(inst && player_event_logs.IsEventEnabled(PlayerEvent::GUILD_TRIBUTE_DONATE_ITEM)) { if(inst && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GUILD_TRIBUTE_DONATE_ITEM)) {
auto e = PlayerEvent::GuildTributeDonateItem{ .item_id = inst->GetID(), auto e = PlayerEvent::GuildTributeDonateItem{ .item_id = inst->GetID(),
.augment_1_id = inst->GetAugmentItemID(0), .augment_1_id = inst->GetAugmentItemID(0),
.augment_2_id = inst->GetAugmentItemID(1), .augment_2_id = inst->GetAugmentItemID(1),
@ -17122,7 +17122,7 @@ void Client::Handle_OP_GuildTributeDonatePlat(const EQApplicationPacket *app)
TakePlatinum(quantity, false); TakePlatinum(quantity, false);
SendGuildTributeDonatePlatReply(in, favor); SendGuildTributeDonatePlatReply(in, favor);
if(player_event_logs.IsEventEnabled(PlayerEvent::GUILD_TRIBUTE_DONATE_PLAT)) { if(PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GUILD_TRIBUTE_DONATE_PLAT)) {
auto e = PlayerEvent::GuildTributeDonatePlat { auto e = PlayerEvent::GuildTributeDonatePlat {
.plat = quantity, .plat = quantity,
.guild_favor = favor .guild_favor = favor

View File

@ -521,7 +521,7 @@ int command_realdispatch(Client *c, std::string message, bool ignore_status)
} }
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::GM_COMMAND) && log_command) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GM_COMMAND) && log_command) {
auto e = PlayerEvent::GMCommandEvent{ auto e = PlayerEvent::GMCommandEvent{
.message = message, .message = message,
.target = c->GetTarget() ? c->GetTarget()->GetName() : "NONE" .target = c->GetTarget() ? c->GetTarget()->GetName() : "NONE"

View File

@ -1569,7 +1569,7 @@ void Corpse::LootCorpseItem(Client *c, const EQApplicationPacket *app)
} }
} }
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::LOOT_ITEM) && !IsPlayerCorpse()) { if (inst && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::LOOT_ITEM) && !IsPlayerCorpse()) {
auto e = PlayerEvent::LootItemEvent{ auto e = PlayerEvent::LootItemEvent{
.item_id = inst->GetItem()->ID, .item_id = inst->GetItem()->ID,
.item_name = inst->GetItem()->Name, .item_name = inst->GetItem()->Name,

View File

@ -922,7 +922,7 @@ void Client::SetLevel(uint8 set_level, bool command)
parse->EventPlayer(EVENT_LEVEL_UP, this, std::to_string(levels_gained), 0); parse->EventPlayer(EVENT_LEVEL_UP, this, std::to_string(levels_gained), 0);
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::LEVEL_GAIN)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::LEVEL_GAIN)) {
auto e = PlayerEvent::LevelGainedEvent{ auto e = PlayerEvent::LevelGainedEvent{
.from_level = m_pp.level, .from_level = m_pp.level,
.to_level = set_level, .to_level = set_level,
@ -938,7 +938,7 @@ void Client::SetLevel(uint8 set_level, bool command)
parse->EventPlayer(EVENT_LEVEL_DOWN, this, std::to_string(levels_lost), 0); parse->EventPlayer(EVENT_LEVEL_DOWN, this, std::to_string(levels_lost), 0);
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::LEVEL_LOSS)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::LEVEL_LOSS)) {
auto e = PlayerEvent::LevelLostEvent{ auto e = PlayerEvent::LevelLostEvent{
.from_level = m_pp.level, .from_level = m_pp.level,
.to_level = set_level, .to_level = set_level,

View File

@ -379,7 +379,7 @@ void Client::GoFish(bool guarantee, bool use_bait)
} }
if (inst) { if (inst) {
if (player_event_logs.IsEventEnabled(PlayerEvent::FISH_SUCCESS)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::FISH_SUCCESS)) {
auto e = PlayerEvent::FishSuccessEvent{ auto e = PlayerEvent::FishSuccessEvent{
.item_id = inst->GetItem()->ID, .item_id = inst->GetItem()->ID,
.augment_1_id = inst->GetAugmentItemID(0), .augment_1_id = inst->GetAugmentItemID(0),
@ -519,7 +519,7 @@ void Client::ForageItem(bool guarantee) {
} }
if (inst) { if (inst) {
if (player_event_logs.IsEventEnabled(PlayerEvent::FORAGE_SUCCESS)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::FORAGE_SUCCESS)) {
auto e = PlayerEvent::ForageSuccessEvent{ auto e = PlayerEvent::ForageSuccessEvent{
.item_id = inst->GetItem()->ID, .item_id = inst->GetItem()->ID,
.augment_1_id = inst->GetAugmentItemID(0), .augment_1_id = inst->GetAugmentItemID(0),

View File

@ -211,7 +211,7 @@ void command_parcels(Client *c, const Seperator *sep)
send_to_client.at(0).character_name.c_str() send_to_client.at(0).character_name.c_str()
); );
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) { if (inst && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
PlayerEvent::ParcelSend e{}; PlayerEvent::ParcelSend e{};
e.from_player_name = parcel_out.from_name; e.from_player_name = parcel_out.from_name;
e.to_player_name = send_to_client.at(0).character_name; e.to_player_name = send_to_client.at(0).character_name;
@ -295,7 +295,7 @@ void command_parcels(Client *c, const Seperator *sep)
send_to_client.at(0).character_name.c_str() send_to_client.at(0).character_name.c_str()
); );
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) { if (inst && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
PlayerEvent::ParcelSend e{}; PlayerEvent::ParcelSend e{};
e.from_player_name = parcel_out.from_name; e.from_player_name = parcel_out.from_name;
e.to_player_name = send_to_client.at(0).character_name; e.to_player_name = send_to_client.at(0).character_name;

View File

@ -206,7 +206,7 @@ void Group::SplitMoney(uint32 copper, uint32 silver, uint32 gold, uint32 platinu
} }
// If logging of player money transactions is enabled, record the transaction. // If logging of player money transactions is enabled, record the transaction.
if (player_event_logs.IsEventEnabled(PlayerEvent::SPLIT_MONEY)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::SPLIT_MONEY)) {
auto e = PlayerEvent::SplitMoneyEvent{ auto e = PlayerEvent::SplitMoneyEvent{
.copper = receive_copper, .copper = receive_copper,
.silver = receive_silver, .silver = receive_silver,
@ -1280,7 +1280,7 @@ void Client::LeaveGroup() {
if (database.botdb.GetOwnerID(botID) == CharacterID()) { if (database.botdb.GetOwnerID(botID) == CharacterID()) {
MemberCount -= 1; MemberCount -= 1;
} }
} }
} }
} }

View File

@ -631,7 +631,7 @@ bool Client::SummonItem(uint32 item_id, int16 charges, uint32 aug1, uint32 aug2,
} }
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::ITEM_CREATION)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::ITEM_CREATION)) {
auto e = PlayerEvent::ItemCreationEvent{}; auto e = PlayerEvent::ItemCreationEvent{};
e.item_id = item->ID; e.item_id = item->ID;
e.item_name = item->Name; e.item_name = item->Name;
@ -763,7 +763,7 @@ void Client::DropItem(int16 slot_id, bool recurse)
int i = 0; int i = 0;
if (inst && player_event_logs.IsEventEnabled(PlayerEvent::DROPPED_ITEM)) { if (inst && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::DROPPED_ITEM)) {
auto e = PlayerEvent::DroppedItemEvent{ auto e = PlayerEvent::DroppedItemEvent{
.item_id = inst->GetID(), .item_id = inst->GetID(),
.augment_1_id = inst->GetAugmentItemID(0), .augment_1_id = inst->GetAugmentItemID(0),
@ -1655,7 +1655,7 @@ bool Client::SwapItem(MoveItem_Struct* move_in) {
DeleteItemInInventory(EQ::invslot::slotCursor, 0, true); DeleteItemInInventory(EQ::invslot::slotCursor, 0, true);
if (test_inst && player_event_logs.IsEventEnabled(PlayerEvent::ITEM_DESTROY)) { if (test_inst && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::ITEM_DESTROY)) {
auto e = PlayerEvent::DestroyItemEvent{ auto e = PlayerEvent::DestroyItemEvent{
.item_id = test_inst->GetItem()->ID, .item_id = test_inst->GetItem()->ID,
.item_name = test_inst->GetItem()->Name, .item_name = test_inst->GetItem()->Name,
@ -1685,7 +1685,7 @@ bool Client::SwapItem(MoveItem_Struct* move_in) {
EQ::ItemInstance *inst = m_inv.GetItem(EQ::invslot::slotCursor); EQ::ItemInstance *inst = m_inv.GetItem(EQ::invslot::slotCursor);
if (inst) { if (inst) {
if (player_event_logs.IsEventEnabled(PlayerEvent::ITEM_DESTROY)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::ITEM_DESTROY)) {
auto e = PlayerEvent::DestroyItemEvent{ auto e = PlayerEvent::DestroyItemEvent{
.item_id = inst->GetItem()->ID, .item_id = inst->GetItem()->ID,
.item_name = inst->GetItem()->Name, .item_name = inst->GetItem()->Name,

View File

@ -101,7 +101,6 @@ TitleManager title_manager;
QueryServ *QServ = 0; QueryServ *QServ = 0;
NpcScaleManager *npc_scale_manager; NpcScaleManager *npc_scale_manager;
QuestParserCollection *parse = 0; QuestParserCollection *parse = 0;
PlayerEventLogs player_event_logs;
const SPDat_Spell_Struct* spells; const SPDat_Spell_Struct* spells;
int32 SPDAT_RECORDS = -1; int32 SPDAT_RECORDS = -1;
@ -304,7 +303,7 @@ int main(int argc, char **argv)
EQEmuLogSys::Instance()->SilenceConsoleLogging(); EQEmuLogSys::Instance()->SilenceConsoleLogging();
} }
player_event_logs.SetDatabase(&database)->Init(); PlayerEventLogs::Instance()->SetDatabase(&database)->Init();
SkillCaps::Instance()->SetContentDatabase(&content_db)->LoadSkillCaps(); SkillCaps::Instance()->SetContentDatabase(&content_db)->LoadSkillCaps();

View File

@ -4892,7 +4892,7 @@ NPC::Handin NPC::ReturnHandinItems(Client *c)
); );
const bool event_has_data_to_record = !handin_items.empty() || handed_in_money; const bool event_has_data_to_record = !handin_items.empty() || handed_in_money;
if (player_event_logs.IsEventEnabled(PlayerEvent::NPC_HANDIN) && event_has_data_to_record) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::NPC_HANDIN) && event_has_data_to_record) {
auto e = PlayerEvent::HandinEvent{ auto e = PlayerEvent::HandinEvent{
.npc_id = GetNPCTypeID(), .npc_id = GetNPCTypeID(),
.npc_name = GetCleanName(), .npc_name = GetCleanName(),

View File

@ -625,7 +625,7 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
} }
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::GROUNDSPAWN_PICKUP)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::GROUNDSPAWN_PICKUP)) {
auto e = PlayerEvent::GroundSpawnPickupEvent{ auto e = PlayerEvent::GroundSpawnPickupEvent{
.item_id = item->ID, .item_id = item->ID,
.item_name = item->Name, .item_name = item->Name,

View File

@ -468,7 +468,7 @@ void Client::DoParcelSend(const Parcel_Struct *parcel_in)
send_to_client.at(0).character_name.c_str() send_to_client.at(0).character_name.c_str()
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
PlayerEvent::ParcelSend e{}; PlayerEvent::ParcelSend e{};
e.from_player_name = parcel_out.from_name; e.from_player_name = parcel_out.from_name;
e.to_player_name = send_to_client.at(0).character_name; e.to_player_name = send_to_client.at(0).character_name;
@ -572,7 +572,7 @@ void Client::DoParcelSend(const Parcel_Struct *parcel_in)
send_to_client.at(0).character_name.c_str() send_to_client.at(0).character_name.c_str()
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
PlayerEvent::ParcelSend e{}; PlayerEvent::ParcelSend e{};
e.from_player_name = parcel_out.from_name; e.from_player_name = parcel_out.from_name;
e.to_player_name = send_to_client.at(0).character_name; e.to_player_name = send_to_client.at(0).character_name;
@ -759,7 +759,7 @@ void Client::DoParcelRetrieve(const ParcelRetrieve_Struct &parcel_in)
); );
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_RETRIEVE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_RETRIEVE)) {
PlayerEvent::ParcelRetrieve e{}; PlayerEvent::ParcelRetrieve e{};
e.from_player_name = p->second.from_name; e.from_player_name = p->second.from_name;
e.item_id = p->second.item_id; e.item_id = p->second.item_id;
@ -913,4 +913,4 @@ int32 Client::FindNextFreeParcelSlotUsingMemory()
} }
return INVALID_INDEX; return INVALID_INDEX;
} }

View File

@ -107,7 +107,7 @@ void QueryServ::HandleMessage(uint16 opcode, const EQ::Net::Packet& p)
break; break;
} }
player_event_logs.LoadPlayerEventSettingsFromQS(settings); PlayerEventLogs::Instance()->LoadPlayerEventSettingsFromQS(settings);
LogInfo("Loaded {} PlayerEventLogSettings from queryserv", settings.size()); LogInfo("Loaded {} PlayerEventLogSettings from queryserv", settings.size());
break; break;
} }

View File

@ -955,7 +955,7 @@ void Raid::SplitMoney(uint32 gid, uint32 copper, uint32 silver, uint32 gold, uin
true true
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::SPLIT_MONEY)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::SPLIT_MONEY)) {
auto e = PlayerEvent::SplitMoneyEvent{ auto e = PlayerEvent::SplitMoneyEvent{
.copper = copper_split, .copper = copper_split,
.silver = silver_split, .silver = silver_split,
@ -2625,7 +2625,7 @@ void Raid::RaidClearNPCMarks(Client* c)
Strings::EqualFold(main_marker_pcs[MAIN_MARKER_3_SLOT], c->GetCleanName())) { Strings::EqualFold(main_marker_pcs[MAIN_MARKER_3_SLOT], c->GetCleanName())) {
for (int i = 0; i < MAX_MARKED_NPCS; i++) { for (int i = 0; i < MAX_MARKED_NPCS; i++) {
if (marked_npcs[i].entity_id > 0 && marked_npcs[i].zone_id == c->GetZoneID() if (marked_npcs[i].entity_id > 0 && marked_npcs[i].zone_id == c->GetZoneID()
&& marked_npcs[i].instance_id == c->GetInstanceID()) && marked_npcs[i].instance_id == c->GetInstanceID())
{ {
auto npc_name = entity_list.GetNPCByID(marked_npcs[i].entity_id)->GetCleanName(); auto npc_name = entity_list.GetNPCByID(marked_npcs[i].entity_id)->GetCleanName();
RaidMessageString(nullptr, Chat::Cyan, RAID_NO_LONGER_MARKED, npc_name); RaidMessageString(nullptr, Chat::Cyan, RAID_NO_LONGER_MARKED, npc_name);
@ -2950,7 +2950,7 @@ void Raid::SendMarkTargets(Client* c)
} }
for (int i = 0; i < MAX_MARKED_NPCS; i++) { for (int i = 0; i < MAX_MARKED_NPCS; i++) {
if (marked_npcs[i].entity_id > 0 && marked_npcs[i].zone_id == c->GetZoneID() if (marked_npcs[i].entity_id > 0 && marked_npcs[i].zone_id == c->GetZoneID()
&& marked_npcs[i].instance_id == c->GetInstanceID()) { && marked_npcs[i].instance_id == c->GetInstanceID()) {
auto marked_mob = entity_list.GetMob(marked_npcs[i].entity_id); auto marked_mob = entity_list.GetMob(marked_npcs[i].entity_id);
if (marked_mob) { if (marked_mob) {
@ -2967,7 +2967,7 @@ void Raid::SendMarkTargets(Client* c)
UpdateXtargetMarkedNPC(); UpdateXtargetMarkedNPC();
} }
void Raid::EmptyRaidMembers() void Raid::EmptyRaidMembers()
{ {
for (int i = 0; i < MAX_RAID_MEMBERS; i++) { for (int i = 0; i < MAX_RAID_MEMBERS; i++) {
members[i].group_number = RAID_GROUPLESS; members[i].group_number = RAID_GROUPLESS;

View File

@ -916,7 +916,7 @@ int ClientTaskState::IncrementDoneCount(
int event_res = DispatchEventTaskComplete(client, *info, activity_id); int event_res = DispatchEventTaskComplete(client, *info, activity_id);
if (player_event_logs.IsEventEnabled(PlayerEvent::TASK_COMPLETE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TASK_COMPLETE)) {
auto e = PlayerEvent::TaskCompleteEvent{ auto e = PlayerEvent::TaskCompleteEvent{
.task_id = static_cast<uint32>(info->task_id), .task_id = static_cast<uint32>(info->task_id),
.task_name = TaskManager::Instance()->GetTaskName(static_cast<uint32>(info->task_id)), .task_name = TaskManager::Instance()->GetTaskName(static_cast<uint32>(info->task_id)),
@ -955,7 +955,7 @@ int ClientTaskState::IncrementDoneCount(
task_index task_index
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::TASK_UPDATE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TASK_UPDATE)) {
auto e = PlayerEvent::TaskUpdateEvent{ auto e = PlayerEvent::TaskUpdateEvent{
.task_id = static_cast<uint32>(info->task_id), .task_id = static_cast<uint32>(info->task_id),
.task_name = TaskManager::Instance()->GetTaskName(static_cast<uint32>(info->task_id)), .task_name = TaskManager::Instance()->GetTaskName(static_cast<uint32>(info->task_id)),
@ -2192,7 +2192,7 @@ void ClientTaskState::AcceptNewTask(
NPC *npc = entity_list.GetNPCByID(npc_entity_id); NPC *npc = entity_list.GetNPCByID(npc_entity_id);
if (npc) { if (npc) {
if (player_event_logs.IsEventEnabled(PlayerEvent::TASK_ACCEPT)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TASK_ACCEPT)) {
auto e = PlayerEvent::TaskAcceptEvent{ auto e = PlayerEvent::TaskAcceptEvent{
.npc_id = npc->GetNPCTypeID(), .npc_id = npc->GetNPCTypeID(),
.npc_name = npc->GetCleanName(), .npc_name = npc->GetCleanName(),
@ -2206,7 +2206,7 @@ void ClientTaskState::AcceptNewTask(
parse->EventNPC(EVENT_TASK_ACCEPTED, npc, client, std::to_string(task_id), 0); parse->EventNPC(EVENT_TASK_ACCEPTED, npc, client, std::to_string(task_id), 0);
} }
} else { } else {
if (player_event_logs.IsEventEnabled(PlayerEvent::TASK_ACCEPT)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TASK_ACCEPT)) {
auto e = PlayerEvent::TaskAcceptEvent{ auto e = PlayerEvent::TaskAcceptEvent{
.npc_id = 0, .npc_id = 0,
.npc_name = "No NPC", .npc_name = "No NPC",

View File

@ -555,7 +555,7 @@ void Object::HandleCombine(Client* user, const NewCombine_Struct* in_combine, Ob
} }
if (success) { if (success) {
if (player_event_logs.IsEventEnabled(PlayerEvent::COMBINE_SUCCESS)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::COMBINE_SUCCESS)) {
auto e = PlayerEvent::CombineEvent{ auto e = PlayerEvent::CombineEvent{
.recipe_id = spec.recipe_id, .recipe_id = spec.recipe_id,
.recipe_name = spec.name, .recipe_name = spec.name,
@ -570,7 +570,7 @@ void Object::HandleCombine(Client* user, const NewCombine_Struct* in_combine, Ob
} }
} }
else { else {
if (player_event_logs.IsEventEnabled(PlayerEvent::COMBINE_FAILURE)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::COMBINE_FAILURE)) {
auto e = PlayerEvent::CombineEvent{ auto e = PlayerEvent::CombineEvent{
.recipe_id = spec.recipe_id, .recipe_id = spec.recipe_id,
.recipe_name = spec.name, .recipe_name = spec.name,

View File

@ -1465,7 +1465,7 @@ void Client::BuyTraderItem(TraderBuy_Struct *tbs, Client *Trader, const EQApplic
Trader->AddMoneyToPP(copper, silver, gold, platinum, true); Trader->AddMoneyToPP(copper, silver, gold, platinum, true);
if (buy_item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) { if (buy_item && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) {
auto e = PlayerEvent::TraderPurchaseEvent{ auto e = PlayerEvent::TraderPurchaseEvent{
.item_id = buy_item->GetID(), .item_id = buy_item->GetID(),
.augment_1_id = buy_item->GetAugmentItemID(0), .augment_1_id = buy_item->GetAugmentItemID(0),
@ -1487,7 +1487,7 @@ void Client::BuyTraderItem(TraderBuy_Struct *tbs, Client *Trader, const EQApplic
RecordPlayerEventLog(PlayerEvent::TRADER_PURCHASE, e); RecordPlayerEventLog(PlayerEvent::TRADER_PURCHASE, e);
} }
if (buy_item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_SELL)) { if (buy_item && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TRADER_SELL)) {
auto e = PlayerEvent::TraderSellEvent{ auto e = PlayerEvent::TraderSellEvent{
.item_id = buy_item->GetID(), .item_id = buy_item->GetID(),
.augment_1_id = buy_item->GetAugmentItemID(0), .augment_1_id = buy_item->GetAugmentItemID(0),
@ -1998,7 +1998,7 @@ void Client::SellToBuyer(const EQApplicationPacket *app)
AddMoneyToPP(total_cost, false); AddMoneyToPP(total_cost, false);
buyer->TakeMoneyFromPP(total_cost, false); buyer->TakeMoneyFromPP(total_cost, false);
if (player_event_logs.IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) {
PlayerEvent::BarterTransaction e{}; PlayerEvent::BarterTransaction e{};
e.status = "Successful Barter Transaction"; e.status = "Successful Barter Transaction";
e.item_id = sell_line.item_id; e.item_id = sell_line.item_id;
@ -2991,7 +2991,7 @@ void Client::BuyTraderItemOutsideBazaar(TraderBuy_Struct *tbs, const EQApplicati
Message(Chat::Red, fmt::format("You paid {} for the parcel delivery.", DetermineMoneyString(fee)).c_str()); Message(Chat::Red, fmt::format("You paid {} for the parcel delivery.", DetermineMoneyString(fee)).c_str());
LogTrading("Customer <green>[{}] Paid: <green>[{}] in Copper", CharacterID(), total_cost); LogTrading("Customer <green>[{}] Paid: <green>[{}] in Copper", CharacterID(), total_cost);
if (buy_item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) { if (buy_item && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TRADER_PURCHASE)) {
auto e = PlayerEvent::TraderPurchaseEvent{ auto e = PlayerEvent::TraderPurchaseEvent{
.item_id = buy_item->GetID(), .item_id = buy_item->GetID(),
.augment_1_id = buy_item->GetAugmentItemID(0), .augment_1_id = buy_item->GetAugmentItemID(0),
@ -3046,7 +3046,7 @@ void Client::BuyTraderItemOutsideBazaar(TraderBuy_Struct *tbs, const EQApplicati
} }
ReturnTraderReq(app, tbs->quantity, buy_item->GetID()); ReturnTraderReq(app, tbs->quantity, buy_item->GetID());
if (player_event_logs.IsEventEnabled(PlayerEvent::PARCEL_SEND)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::PARCEL_SEND)) {
PlayerEvent::ParcelSend e{}; PlayerEvent::ParcelSend e{};
e.from_player_name = parcel_out.from_name; e.from_player_name = parcel_out.from_name;
e.to_player_name = GetCleanName(); e.to_player_name = GetCleanName();

View File

@ -3805,7 +3805,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
auto item = trader_pc->FindTraderItemBySerialNumber(item_sn); auto item = trader_pc->FindTraderItemBySerialNumber(item_sn);
if (item && player_event_logs.IsEventEnabled(PlayerEvent::TRADER_SELL)) { if (item && PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::TRADER_SELL)) {
auto e = PlayerEvent::TraderSellEvent{ auto e = PlayerEvent::TraderSellEvent{
.item_id = item ? item->GetID() : 0, .item_id = item ? item->GetID() : 0,
.augment_1_id = item->GetAugmentItemID(0), .augment_1_id = item->GetAugmentItemID(0),
@ -3901,7 +3901,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
Barter_Failure Barter_Failure
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) {
PlayerEvent::BarterTransaction e{}; PlayerEvent::BarterTransaction e{};
e.status = "Failed Barter Transaction"; e.status = "Failed Barter Transaction";
e.item_id = sell_line.item_id; e.item_id = sell_line.item_id;
@ -3938,7 +3938,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
Barter_Failure Barter_Failure
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) {
PlayerEvent::BarterTransaction e{}; PlayerEvent::BarterTransaction e{};
e.status = "Failed Barter Transaction"; e.status = "Failed Barter Transaction";
e.item_id = sell_line.item_id; e.item_id = sell_line.item_id;
@ -4065,7 +4065,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
Barter_Success Barter_Success
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) {
PlayerEvent::BarterTransaction e{}; PlayerEvent::BarterTransaction e{};
e.status = "Successful Barter Transaction"; e.status = "Successful Barter Transaction";
e.item_id = sell_line.item_id; e.item_id = sell_line.item_id;
@ -4123,7 +4123,7 @@ void WorldServer::HandleMessage(uint16 opcode, const EQ::Net::Packet &p)
Barter_Success Barter_Success
); );
if (player_event_logs.IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::BARTER_TRANSACTION)) {
PlayerEvent::BarterTransaction e{}; PlayerEvent::BarterTransaction e{};
e.status = "Successful Barter Transaction"; e.status = "Successful Barter Transaction";
e.item_id = sell_line.item_id; e.item_id = sell_line.item_id;
@ -4590,11 +4590,7 @@ void WorldServer::ProcessReload(const ServerReload::Request& request)
case ServerReload::Type::Logs: case ServerReload::Type::Logs:
EQEmuLogSys::Instance()->LoadLogDatabaseSettings(); EQEmuLogSys::Instance()->LoadLogDatabaseSettings();
player_event_logs.ReloadSettings(); PlayerEventLogs::Instance()->ReloadSettings();
// if QS process is enabled, we get settings from QS
if (!RuleB(Logging, PlayerEventsQSProcess)) {
player_event_logs.ReloadSettings();
}
break; break;
case ServerReload::Type::Loot: case ServerReload::Type::Loot:

View File

@ -241,7 +241,7 @@ void Client::Handle_OP_ZoneChange(const EQApplicationPacket *app) {
} }
} }
if (player_event_logs.IsEventEnabled(PlayerEvent::ZONING)) { if (PlayerEventLogs::Instance()->IsEventEnabled(PlayerEvent::ZONING)) {
auto e = PlayerEvent::ZoningEvent{}; auto e = PlayerEvent::ZoningEvent{};
e.from_zone_long_name = zone->GetLongName(); e.from_zone_long_name = zone->GetLongName();
e.from_zone_short_name = zone->GetShortName(); e.from_zone_short_name = zone->GetShortName();