Core/Criteria: Implemented CriteriaType ParticipateInArena

Port From (https://github.com/TrinityCore/TrinityCore/commit/ef22003a563b9e79a38ae999f05ce14b876513b8)
This commit is contained in:
Hondacrx
2024-08-24 21:09:13 -04:00
parent 77be3fd94b
commit c3e4f234b6
3 changed files with 5 additions and 2 deletions
@@ -541,7 +541,7 @@ namespace Framework.Constants
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}"
+2 -1
View File
@@ -123,6 +123,7 @@ namespace Game.Achievements
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:
@@ -360,7 +361,6 @@ namespace Game.Achievements
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:
@@ -828,6 +828,7 @@ namespace Game.Achievements
case CriteriaType.EarnAchievementPoints:
return progress.Counter >= 9000;
case CriteriaType.WinArena:
case CriteriaType.ParticipateInArena:
return requiredAmount != 0 && progress.Counter >= requiredAmount;
case CriteriaType.Login:
return true;
+2
View File
@@ -229,6 +229,8 @@ namespace Game.Arenas
if (player == null)
continue;
player.UpdateCriteria(CriteriaType.ParticipateInArena, GetMapId());
// per player calculation
if (team == winner)
{