diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-06-23 00:05:51 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-06-23 00:05:51 +0200 |
commit | 73384e56d48cd0495c4926f163e435d75660624f (patch) | |
tree | 0bf711497a4012c1a10d52c9b93723e5ad64d0e0 /src/server/game/Garrison/GarrisonMgr.h | |
parent | 812fa65c613ecaa603dafc708df0088f3b50a90e (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.h | 13 |
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; |