#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