#ifndef MOD_QUICK_BOOST_H
#define MOD_QUICK_BOOST_H
#include "Player.h"
#include
#include
struct QuickBoostGearEntry
{
uint32 itemEntry;
uint8 equipmentSlot;
};
struct QuickBoostLocation
{
uint32 mapId;
float x;
float y;
float z;
float o;
};
class QuickBoost
{
public:
static QuickBoost* instance()
{
static QuickBoost instance;
return &instance;
}
void LoadConfig();
bool IsEnabled() const { return _enabled; }
uint8 GetBoostLevel() const { return _boostLevel; }
void ApplyBoost(Player* player) const;
private:
void DestroyStartingGear(Player* player) const;
void EquipStarterGear(Player* player) const;
void GiveStartingMoney(Player* player) const;
void TeleportToCapital(Player* player) const;
void GrantHunterPet(Player* player) const;
void LearnClassSpells(Player* player) const;
bool _enabled = true;
bool _destroyStartingGear = true;
bool _teleportToCapital = true;
bool _grantHunterPet = true;
bool _learnClassSpells = true;
uint8 _boostLevel = 15;
uint32 _startingMoney = 5000; // copper
static std::unordered_map> const _classGear;
static std::unordered_map const _racePet;
static std::unordered_map const _raceCapital;
};
#define sQuickBoost QuickBoost::instance()
#endif