aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp2
-rw-r--r--src/server/game/Garrison/Garrison.cpp2
-rw-r--r--src/server/game/Garrison/Garrison.h11
3 files changed, 11 insertions, 4 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index 1605bff0419..1366eba31ba 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -519,6 +519,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaTypes type, uint64 miscValue1 /*= 0
case CRITERIA_TYPE_WIN_ARENA: // This also behaves like CRITERIA_TYPE_WIN_RATED_ARENA
case CRITERIA_TYPE_ON_LOGIN:
case CRITERIA_TYPE_PLACE_GARRISON_BUILDING:
+ case CRITERIA_TYPE_UPGRADE_GARRISON_BUILDING:
case CRITERIA_TYPE_OWN_BATTLE_PET_COUNT:
case CRITERIA_TYPE_HONOR_LEVEL_REACHED:
case CRITERIA_TYPE_PRESTIGE_REACHED:
@@ -770,7 +771,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaTypes type, uint64 miscValue1 /*= 0
case CRITERIA_TYPE_ENTER_AREA:
case CRITERIA_TYPE_LEAVE_AREA:
case CRITERIA_TYPE_COMPLETE_DUNGEON_ENCOUNTER:
- case CRITERIA_TYPE_UPGRADE_GARRISON_BUILDING:
case CRITERIA_TYPE_CONSTRUCT_GARRISON_BUILDING:
case CRITERIA_TYPE_UPGRADE_GARRISON:
case CRITERIA_TYPE_START_GARRISON_MISSION:
diff --git a/src/server/game/Garrison/Garrison.cpp b/src/server/game/Garrison/Garrison.cpp
index 799791d569b..756581dfc2b 100644
--- a/src/server/game/Garrison/Garrison.cpp
+++ b/src/server/game/Garrison/Garrison.cpp
@@ -494,6 +494,8 @@ void Garrison::ActivateBuilding(uint32 garrPlotInstanceId)
WorldPackets::Garrison::GarrisonBuildingActivated buildingActivated;
buildingActivated.GarrPlotInstanceID = garrPlotInstanceId;
_owner->SendDirectMessage(buildingActivated.Write());
+
+ _owner->UpdateCriteria(CRITERIA_TYPE_UPGRADE_GARRISON_BUILDING, plot->BuildingInfo.PacketInfo->GarrBuildingID);
}
}
}
diff --git a/src/server/game/Garrison/Garrison.h b/src/server/game/Garrison/Garrison.h
index 8a4551521be..f20c545e900 100644
--- a/src/server/game/Garrison/Garrison.h
+++ b/src/server/game/Garrison/Garrison.h
@@ -33,7 +33,9 @@ struct GarrSiteLevelEntry;
enum GarrisonType
{
GARRISON_TYPE_GARRISON = 2,
- GARRISON_TYPE_CLASS_ORDER = 3
+ GARRISON_TYPE_CLASS_ORDER = 3,
+ GARRISON_TYPE_WAR_CAMPAIGN = 9,
+ GARRISON_TYPE_COVENANT = 111
};
enum GarrisonFactionIndex
@@ -54,8 +56,11 @@ enum GarrisonFollowerFlags
enum GarrisonFollowerType
{
- FOLLOWER_TYPE_GARRISON = 1,
- FOLLOWER_TYPE_SHIPYARD = 2
+ FOLLOWER_TYPE_GARRISON = 1,
+ FOLLOWER_TYPE_SHIPYARD = 2,
+ FOLLOWER_TYPE_CLASS_ORDER = 4,
+ FOLLOWER_TYPE_WAR_CAMPAIGN = 11,
+ FOLLOWER_TYPE_COVENANT = 123
};
enum GarrisonAbilityFlags