#ifndef MOD_SHARED_KILL_CREDIT_H #define MOD_SHARED_KILL_CREDIT_H #include "ObjectGuid.h" #include #include #include class Unit; class SharedKillCredit { public: static SharedKillCredit* instance() { static SharedKillCredit instance; return &instance; } void LoadConfig(); bool IsEnabled() const { return _enabled; } void RecordDamage(Unit* attacker, Unit* victim); void RewardTaggers(Unit* victim); void ForgetCreature(ObjectGuid const& creatureGuid); private: bool _enabled = true; std::mutex _mutex; std::unordered_map> _taggersByCreature; }; #define sSharedKillCredit SharedKillCredit::instance() #endif