Core/Criteria: Implemented CriteriaType ParticipateInArena (#29973)

This commit is contained in:
Antonio Martín Berti
2024-05-12 11:16:46 +02:00
committed by GitHub
parent d1d8f907fe
commit ef22003a56
3 changed files with 5 additions and 2 deletions
@@ -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;
+2
View File
@@ -238,6 +238,8 @@ void Arena::EndBattleground(Team winner)
if (!player)
continue;
player->UpdateCriteria(CriteriaType::ParticipateInArena, GetMapId());
// per player calculation
if (team == winner)
{
+1 -1
View File
@@ -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}"