Core/Criteria: Implemented CompleteAnyScenario and CompleteScenario types
Port From (https://github.com/TrinityCore/TrinityCore/commit/980ca4c65682657fecd13fc63fde63d5c92fab04)
This commit is contained in:
@@ -659,8 +659,8 @@ namespace Framework.Constants
|
|||||||
KickVoterInLFRDungeon = 148, /*NYI*/ // Kicked in an LFR dungeon (voter)
|
KickVoterInLFRDungeon = 148, /*NYI*/ // Kicked in an LFR dungeon (voter)
|
||||||
KickTargetInLFRDungeon = 149, /*NYI*/ // Kicked in an LFR dungeon (target)
|
KickTargetInLFRDungeon = 149, /*NYI*/ // Kicked in an LFR dungeon (target)
|
||||||
GroupedTankLeftEarlyInLFRDungeon = 150, /*NYI*/ // Grouped tank left early in an LFR dungeon
|
GroupedTankLeftEarlyInLFRDungeon = 150, /*NYI*/ // Grouped tank left early in an LFR dungeon
|
||||||
CompleteAnyScenario = 151, /*NYI*/ // Complete a Scenario
|
CompleteAnyScenario = 151, // Complete a Scenario
|
||||||
CompleteScenario = 152, /*NYI*/ // Complete scenario "{Scenario}"
|
CompleteScenario = 152, // Complete scenario "{Scenario}"
|
||||||
EnterAreaTriggerWithActionSet = 153, /*NYI*/ // Enter area trigger "{AreaTriggerActionSet}"
|
EnterAreaTriggerWithActionSet = 153, /*NYI*/ // Enter area trigger "{AreaTriggerActionSet}"
|
||||||
LeaveAreaTriggerWithActionSet = 154, /*NYI*/ // Leave area trigger "{AreaTriggerActionSet}"
|
LeaveAreaTriggerWithActionSet = 154, /*NYI*/ // Leave area trigger "{AreaTriggerActionSet}"
|
||||||
LearnedNewPet = 155, // (Account Only) Learned a new pet
|
LearnedNewPet = 155, // (Account Only) Learned a new pet
|
||||||
|
|||||||
@@ -128,6 +128,8 @@ namespace Game.Achievements
|
|||||||
case CriteriaType.Login:
|
case CriteriaType.Login:
|
||||||
case CriteriaType.AnyoneTriggerGameEventScenario:
|
case CriteriaType.AnyoneTriggerGameEventScenario:
|
||||||
case CriteriaType.DefeatDungeonEncounterWhileElegibleForLoot:
|
case CriteriaType.DefeatDungeonEncounterWhileElegibleForLoot:
|
||||||
|
case CriteriaType.CompleteAnyScenario:
|
||||||
|
case CriteriaType.CompleteScenario:
|
||||||
case CriteriaType.BattlePetReachLevel:
|
case CriteriaType.BattlePetReachLevel:
|
||||||
case CriteriaType.ActivelyEarnPetLevel:
|
case CriteriaType.ActivelyEarnPetLevel:
|
||||||
case CriteriaType.DefeatDungeonEncounter:
|
case CriteriaType.DefeatDungeonEncounter:
|
||||||
@@ -387,8 +389,6 @@ namespace Game.Achievements
|
|||||||
case CriteriaType.KickVoterInLFRDungeon:
|
case CriteriaType.KickVoterInLFRDungeon:
|
||||||
case CriteriaType.KickTargetInLFRDungeon:
|
case CriteriaType.KickTargetInLFRDungeon:
|
||||||
case CriteriaType.GroupedTankLeftEarlyInLFRDungeon:
|
case CriteriaType.GroupedTankLeftEarlyInLFRDungeon:
|
||||||
case CriteriaType.CompleteAnyScenario:
|
|
||||||
case CriteriaType.CompleteScenario:
|
|
||||||
case CriteriaType.AccountObtainPetThroughBattle:
|
case CriteriaType.AccountObtainPetThroughBattle:
|
||||||
case CriteriaType.WinPetBattle:
|
case CriteriaType.WinPetBattle:
|
||||||
case CriteriaType.PlayerObtainPetThroughBattle:
|
case CriteriaType.PlayerObtainPetThroughBattle:
|
||||||
@@ -789,11 +789,13 @@ namespace Game.Achievements
|
|||||||
case CriteriaType.CompletedLFGDungeonWithStrangers:
|
case CriteriaType.CompletedLFGDungeonWithStrangers:
|
||||||
case CriteriaType.DeliveredKillingBlow:
|
case CriteriaType.DeliveredKillingBlow:
|
||||||
case CriteriaType.CurrencyGained:
|
case CriteriaType.CurrencyGained:
|
||||||
case CriteriaType.PlaceGarrisonBuilding:
|
case CriteriaType.CompleteAnyScenario:
|
||||||
|
case CriteriaType.CompleteScenario:
|
||||||
case CriteriaType.UniquePetsOwned:
|
case CriteriaType.UniquePetsOwned:
|
||||||
case CriteriaType.BattlePetReachLevel:
|
case CriteriaType.BattlePetReachLevel:
|
||||||
case CriteriaType.ActivelyEarnPetLevel:
|
case CriteriaType.ActivelyEarnPetLevel:
|
||||||
case CriteriaType.DefeatDungeonEncounter:
|
case CriteriaType.DefeatDungeonEncounter:
|
||||||
|
case CriteriaType.PlaceGarrisonBuilding:
|
||||||
case CriteriaType.LearnHeirloom:
|
case CriteriaType.LearnHeirloom:
|
||||||
case CriteriaType.LearnAnyHeirloom:
|
case CriteriaType.LearnAnyHeirloom:
|
||||||
case CriteriaType.EarnArtifactXP:
|
case CriteriaType.EarnArtifactXP:
|
||||||
@@ -945,6 +947,7 @@ namespace Game.Achievements
|
|||||||
case CriteriaType.SellItemsToVendors:
|
case CriteriaType.SellItemsToVendors:
|
||||||
case CriteriaType.GainLevels:
|
case CriteriaType.GainLevels:
|
||||||
case CriteriaType.LearnAnyTransmog:
|
case CriteriaType.LearnAnyTransmog:
|
||||||
|
case CriteriaType.CompleteAnyScenario:
|
||||||
if (miscValue1 == 0)
|
if (miscValue1 == 0)
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
@@ -1210,6 +1213,10 @@ namespace Game.Achievements
|
|||||||
if (miscValue1 == 0 || miscValue1 != criteria.Entry.Asset)
|
if (miscValue1 == 0 || miscValue1 != criteria.Entry.Asset)
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
|
case CriteriaType.CompleteScenario:
|
||||||
|
if (miscValue1 != criteria.Entry.Asset)
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,6 +91,12 @@ namespace Game.Scenarios
|
|||||||
public virtual void CompleteScenario()
|
public virtual void CompleteScenario()
|
||||||
{
|
{
|
||||||
SendPacket(new ScenarioCompleted(_data.Entry.Id));
|
SendPacket(new ScenarioCompleted(_data.Entry.Id));
|
||||||
|
|
||||||
|
DoForAllPlayers(player =>
|
||||||
|
{
|
||||||
|
player.UpdateCriteria(CriteriaType.CompleteAnyScenario, 1);
|
||||||
|
player.UpdateCriteria(CriteriaType.CompleteScenario, _data.Entry.Id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetStep(ScenarioStepRecord step)
|
void SetStep(ScenarioStepRecord step)
|
||||||
|
|||||||
Reference in New Issue
Block a user