Core/Criteria: Implemented CriteriaType ParticipateInArena
Port From (https://github.com/TrinityCore/TrinityCore/commit/ef22003a563b9e79a38ae999f05ce14b876513b8)
This commit is contained in:
@@ -541,7 +541,7 @@ namespace Framework.Constants
|
|||||||
TrackedWorldStateUIModified = 30, // Tracked WorldStateUI value "{WorldStateUI}" is modified
|
TrackedWorldStateUIModified = 30, // Tracked WorldStateUI value "{WorldStateUI}" is modified
|
||||||
PVPKillInArea = 31, // Kill someone in PVP in "{AreaTable}"
|
PVPKillInArea = 31, // Kill someone in PVP in "{AreaTable}"
|
||||||
WinArena = 32, // Win arena "{Map}"
|
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}"
|
LearnOrKnowSpell = 34, // Learn or Know spell "{Spell}"
|
||||||
EarnHonorableKill = 35, // Earn an honorable kill
|
EarnHonorableKill = 35, // Earn an honorable kill
|
||||||
AcquireItem = 36, // Acquire item "{Item}"
|
AcquireItem = 36, // Acquire item "{Item}"
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ namespace Game.Achievements
|
|||||||
case CriteriaType.DeliveredKillingBlow:
|
case CriteriaType.DeliveredKillingBlow:
|
||||||
case CriteriaType.PVPKillInArea:
|
case CriteriaType.PVPKillInArea:
|
||||||
case CriteriaType.WinArena: // This also behaves like CriteriaType.WinAnyRankedArena
|
case CriteriaType.WinArena: // This also behaves like CriteriaType.WinAnyRankedArena
|
||||||
|
case CriteriaType.ParticipateInArena:
|
||||||
case CriteriaType.PlayerTriggerGameEvent:
|
case CriteriaType.PlayerTriggerGameEvent:
|
||||||
case CriteriaType.Login:
|
case CriteriaType.Login:
|
||||||
case CriteriaType.AnyoneTriggerGameEventScenario:
|
case CriteriaType.AnyoneTriggerGameEventScenario:
|
||||||
@@ -360,7 +361,6 @@ namespace Game.Achievements
|
|||||||
break;
|
break;
|
||||||
// FIXME: not triggered in code as result, need to implement
|
// FIXME: not triggered in code as result, need to implement
|
||||||
case CriteriaType.RunInstance:
|
case CriteriaType.RunInstance:
|
||||||
case CriteriaType.ParticipateInArena:
|
|
||||||
case CriteriaType.EarnTeamArenaRating:
|
case CriteriaType.EarnTeamArenaRating:
|
||||||
case CriteriaType.EarnTitle:
|
case CriteriaType.EarnTitle:
|
||||||
case CriteriaType.MoneySpentOnGuildRepair:
|
case CriteriaType.MoneySpentOnGuildRepair:
|
||||||
@@ -828,6 +828,7 @@ namespace Game.Achievements
|
|||||||
case CriteriaType.EarnAchievementPoints:
|
case CriteriaType.EarnAchievementPoints:
|
||||||
return progress.Counter >= 9000;
|
return progress.Counter >= 9000;
|
||||||
case CriteriaType.WinArena:
|
case CriteriaType.WinArena:
|
||||||
|
case CriteriaType.ParticipateInArena:
|
||||||
return requiredAmount != 0 && progress.Counter >= requiredAmount;
|
return requiredAmount != 0 && progress.Counter >= requiredAmount;
|
||||||
case CriteriaType.Login:
|
case CriteriaType.Login:
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -229,6 +229,8 @@ namespace Game.Arenas
|
|||||||
if (player == null)
|
if (player == null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
player.UpdateCriteria(CriteriaType.ParticipateInArena, GetMapId());
|
||||||
|
|
||||||
// per player calculation
|
// per player calculation
|
||||||
if (team == winner)
|
if (team == winner)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user