aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Achievements/CriteriaHandler.cpp3
-rw-r--r--src/server/game/Battlegrounds/Arena.cpp2
-rw-r--r--src/server/game/DataStores/DBCEnums.h2
3 files changed, 5 insertions, 2 deletions
diff --git a/src/server/game/Achievements/CriteriaHandler.cpp b/src/server/game/Achievements/CriteriaHandler.cpp
index 87c14eeed78..f1c98843a3e 100644
--- a/src/server/game/Achievements/CriteriaHandler.cpp
+++ b/src/server/game/Achievements/CriteriaHandler.cpp
@@ -542,6 +542,7 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0*
case CriteriaType::DeliveredKillingBlow:
case CriteriaType::PVPKillInArea:
case CriteriaType::WinArena: // This also behaves like CriteriaType::WinAnyRankedArena
+ case CriteriaType::ParticipateInArena:
case CriteriaType::PlayerTriggerGameEvent:
case CriteriaType::Login:
case CriteriaType::AnyoneTriggerGameEventScenario:
@@ -775,7 +776,6 @@ void CriteriaHandler::UpdateCriteria(CriteriaType type, uint64 miscValue1 /*= 0*
break;
// FIXME: not triggered in code as result, need to implement
case CriteriaType::RunInstance:
- case CriteriaType::ParticipateInArena:
case CriteriaType::EarnTeamArenaRating:
case CriteriaType::EarnTitle:
case CriteriaType::MoneySpentOnGuildRepair:
@@ -1606,6 +1606,7 @@ bool CriteriaHandler::RequirementsSatisfied(Criteria const* criteria, uint64 mis
return false;
break;
case CriteriaType::WinArena:
+ case CriteriaType::ParticipateInArena:
if (miscValue1 != uint32(criteria->Entry->Asset.MapID))
return false;
break;
diff --git a/src/server/game/Battlegrounds/Arena.cpp b/src/server/game/Battlegrounds/Arena.cpp
index 422dd9fbe1b..a29b9101b11 100644
--- a/src/server/game/Battlegrounds/Arena.cpp
+++ b/src/server/game/Battlegrounds/Arena.cpp
@@ -238,6 +238,8 @@ void Arena::EndBattleground(Team winner)
if (!player)
continue;
+ player->UpdateCriteria(CriteriaType::ParticipateInArena, GetMapId());
+
// per player calculation
if (team == winner)
{
diff --git a/src/server/game/DataStores/DBCEnums.h b/src/server/game/DataStores/DBCEnums.h
index 40146f66c85..d3053a993d8 100644
--- a/src/server/game/DataStores/DBCEnums.h
+++ b/src/server/game/DataStores/DBCEnums.h
@@ -534,7 +534,7 @@ enum class CriteriaType : int16
TrackedWorldStateUIModified = 30, // Tracked WorldStateUI value "{WorldStateUI}" is modified
PVPKillInArea = 31, // Kill someone in PVP in "{AreaTable}"
WinArena = 32, // Win arena "{Map}"
- ParticipateInArena = 33, /*NYI*/ // Participate in arena "{Map}"
+ ParticipateInArena = 33, // Participate in arena "{Map}"
LearnOrKnowSpell = 34, // Learn or Know spell "{Spell}"
EarnHonorableKill = 35, // Earn an honorable kill
AcquireItem = 36, // Acquire item "{Item}"