18 #ifndef GarrisonMgr_h__
19 #define GarrisonMgr_h__
22 #include <unordered_set>
37 std::unordered_set<GarrAbilityEntry const*>
Counters;
38 std::unordered_set<GarrAbilityEntry const*>
Traits;
49 std::vector<GarrSiteLevelPlotInstEntry const*>
const* GetGarrPlotInstForSiteLevel(
uint32 garrSiteLevelId)
const;
51 bool IsPlotMatchingBuilding(
uint32 garrPlotId,
uint32 garrBuildingId)
const;
52 uint32 GetGarrBuildingPlotInst(
uint32 garrBuildingId,
uint32 garrSiteLevelPlotInstId)
const;
55 uint64 GenerateFollowerDbId();
56 std::list<GarrAbilityEntry const*> RollFollowerAbilities(
GarrFollowerEntry const* follower,
uint32 quality,
uint32 faction,
bool initial)
const;
57 std::list<GarrAbilityEntry const*> GetClassSpecAbilities(
GarrFollowerEntry const* follower,
uint32 faction)
const;
60 void InitializeDbIdSequences();
61 void LoadPlotFinalizeGOInfo();
62 void LoadFollowerClassSpecAbilities();
70 std::unordered_map<uint32 ,
GarrAbilities> _garrisonFollowerAbilities[2];
74 uint64 _followerDbIdGenerator =
UI64LIT(1);
77 #define sGarrisonMgr GarrisonMgr::Instance()
79 #endif // GarrisonMgr_h__
Definition: GarrisonMgr.h:41
uint32 GameObjectId
Definition: GarrisonMgr.h:29
std::unordered_map< uint32, std::unordered_map< uint32, GameObjectsEntry const * > > _garrisonPlots
Definition: GarrisonMgr.h:65
Definition: DB2Structure.h:439
std::unordered_set< GarrAbilityEntry const * > Traits
Definition: GarrisonMgr.h:38
std::unordered_map< uint32, std::list< GarrAbilityEntry const * > > _garrisonFollowerClassSpecAbilities
Definition: GarrisonMgr.h:71
#define UI64LIT(N)
Definition: Define.h:138
Definition: DB2Structure.h:400
Definition: DB2Structure.h:549
std::set< GarrAbilityEntry const * > _garrisonFollowerRandomTraits
Definition: GarrisonMgr.h:72
std::unordered_set< GarrAbilityEntry const * > Counters
Definition: GarrisonMgr.h:37
struct FinalizeGarrisonPlotGOInfo::@279 FactionInfo[2]
std::unordered_map< uint32, FinalizeGarrisonPlotGOInfo > _finalizePlotGOInfo
Definition: GarrisonMgr.h:69
Position Pos
Definition: GarrisonMgr.h:30
uint32_t uint32
Definition: Define.h:150
static void Initialize(PCASC_SALSA20 pState, LPBYTE pbKey, DWORD cbKeyLength, LPBYTE pbVector)
Definition: CascDecrypt.cpp:81
uint64_t uint64
Definition: Define.h:149
std::unordered_map< uint32, std::vector< GarrBuildingEntry const * > > _garrisonBuildingsByType
Definition: GarrisonMgr.h:68
uint16_t uint16
Definition: Define.h:151
std::unordered_map< uint32, std::unordered_set< uint32 > > _garrisonBuildingsByPlot
Definition: GarrisonMgr.h:66
#define TC_GAME_API
Definition: Define.h:134
std::unordered_map< uint32, std::vector< GarrSiteLevelPlotInstEntry const * > > _garrisonPlotInstBySiteLevel
Definition: GarrisonMgr.h:64
Definition: Position.h:27
Definition: DB2Structure.h:486
Definition: GarrisonMgr.h:25
Definition: GarrisonMgr.h:35
std::unordered_map< uint64, uint32 > _garrisonBuildingPlotInstances
Definition: GarrisonMgr.h:67
uint16 AnimKitId
Definition: GarrisonMgr.h:31