aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Garrison/GarrisonMgr.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-06-23 00:05:51 +0200
committerShauren <shauren.trinity@gmail.com>2015-06-23 00:05:51 +0200
commit73384e56d48cd0495c4926f163e435d75660624f (patch)
tree0bf711497a4012c1a10d52c9b93723e5ad64d0e0 /src/server/game/Garrison/GarrisonMgr.h
parent812fa65c613ecaa603dafc708df0088f3b50a90e (diff)
Core/Garrisons: Implemented spawning "Finalize Garrison Plot" gameobjects when building under construction is ready
Diffstat (limited to 'src/server/game/Garrison/GarrisonMgr.h')
-rw-r--r--src/server/game/Garrison/GarrisonMgr.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/server/game/Garrison/GarrisonMgr.h b/src/server/game/Garrison/GarrisonMgr.h
index 63810e3c3ab..26fc6867f0c 100644
--- a/src/server/game/Garrison/GarrisonMgr.h
+++ b/src/server/game/Garrison/GarrisonMgr.h
@@ -21,6 +21,16 @@
#include "DB2Stores.h"
#include <unordered_set>
+struct FinalizeGarrisonPlotGOInfo
+{
+ struct
+ {
+ uint32 GameObjectId;
+ Position Pos;
+ uint16 AnimKitId;
+ } FactionInfo[2];
+};
+
struct GarrAbilities
{
std::unordered_set<GarrAbilityEntry const*> Counters;
@@ -44,12 +54,14 @@ public:
bool IsPlotMatchingBuilding(uint32 garrPlotId, uint32 garrBuildingId) const;
uint32 GetGarrBuildingPlotInst(uint32 garrBuildingId, uint32 garrSiteLevelPlotInstId) const;
GarrBuildingEntry const* GetPreviousLevelBuilding(uint32 buildingType, uint32 currentLevel) const;
+ FinalizeGarrisonPlotGOInfo const* GetPlotFinalizeGOInfo(uint32 garrPlotInstanceID) const;
uint64 GenerateFollowerDbId();
std::list<GarrAbilityEntry const*> RollFollowerAbilities(GarrFollowerEntry const* follower, uint32 quality, uint32 faction, bool initial) const;
std::list<GarrAbilityEntry const*> GetClassSpecAbilities(GarrFollowerEntry const* follower, uint32 faction) const;
private:
void InitializeDbIdSequences();
+ void LoadPlotFinalizeGOInfo();
void LoadFollowerClassSpecAbilities();
std::unordered_map<uint32 /*garrSiteId*/, std::vector<GarrSiteLevelPlotInstEntry const*>> _garrisonPlotInstBySiteLevel;
@@ -57,6 +69,7 @@ private:
std::unordered_map<uint32 /*garrPlotId*/, std::unordered_set<uint32/*garrBuildingId*/>> _garrisonBuildingsByPlot;
std::unordered_map<uint64 /*garrBuildingId | garrSiteLevelPlotInstId << 32*/, uint32 /*garrBuildingPlotInstId*/> _garrisonBuildingPlotInstances;
std::unordered_map<uint32 /*buildingType*/, std::vector<GarrBuildingEntry const*>> _garrisonBuildingsByType;
+ std::unordered_map<uint32 /*garrPlotInstanceId*/, FinalizeGarrisonPlotGOInfo> _finalizePlotGOInfo;
std::unordered_map<uint32 /*garrFollowerId*/, GarrAbilities> _garrisonFollowerAbilities[2];
std::unordered_map<uint32 /*classSpecId*/, std::list<GarrAbilityEntry const*>> _garrisonFollowerClassSpecAbilities;
std::set<GarrAbilityEntry const*> _garrisonFollowerRandomTraits;