Files
mod-playerbots/src/RandomPlayerbotFactory.h
2024-07-29 04:07:10 +12:00

41 lines
1.2 KiB
C++

/*
* Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version.
*/
#ifndef _PLAYERBOT_RANDOMPLAYERBOTFACTORY_H
#define _PLAYERBOT_RANDOMPLAYERBOTFACTORY_H
#include "Common.h"
#include <map>
#include <unordered_map>
#include <vector>
#include "DBCEnums.h"
class Player;
class WorldSession;
enum ArenaType : uint8;
class RandomPlayerbotFactory
{
public:
RandomPlayerbotFactory(uint32 accountId);
virtual ~RandomPlayerbotFactory() { }
Player* CreateRandomBot(WorldSession* session, uint8 cls, std::unordered_map<uint8, std::vector<std::string>> names);
static void CreateRandomBots();
static void CreateRandomGuilds();
static void CreateRandomArenaTeams(ArenaType slot, uint32 count);
static std::string const CreateRandomGuildName();
private:
std::string const CreateRandomBotName(uint8 gender);
static std::string const CreateRandomArenaTeamName();
uint32 accountId;
static std::map<uint8, std::vector<uint8>> availableRaces;
};
#endif