示例#1
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (CreatureId != (NPCId)value1)
     {
         return;
     }
     achievements.SetCriteriaProgress(this, value2, ProgressType.ProgressAccumulate);
 }
示例#2
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     achievements.SetCriteriaProgress(this, achievements.Owner.Reputations.GetVisibleReputations(), ProgressType.ProgressHighest);
 }
示例#3
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     achievements.SetCriteriaProgress(this, 1, ProgressType.ProgressAccumulate);
 }
示例#4
0
        public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
        {
            if (value1 != (uint)FactionId)
                return;

            int reputation = achievements.Owner.Reputations.GetValue(FactionMgr.GetFactionIndex(FactionId));
            achievements.SetCriteriaProgress(this, (uint)reputation, ProgressType.ProgressHighest);
        }
示例#5
0
        public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
        {
            if (value1 == 0 || value1 != (uint)emoteId)
                return;

            achievements.SetCriteriaProgress(this, 1, ProgressType.ProgressAccumulate);
        }
示例#6
0
        public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
        {
            if (value1 != (uint)WorldMapOverlayId)
                return;
            var worldMapOverlayEntry = World.s_WorldMapOverlayEntries[value1];
            if (worldMapOverlayEntry == null)
                return;

            bool matchFound = false;
            foreach (var zoneTemplateId in worldMapOverlayEntry.ZoneTemplateId)
            {
                if (zoneTemplateId == 0)        // no more areaids to come, let's stop the search
                    break;

                var zoneTemplate = World.GetZoneInfo(zoneTemplateId);
                if (zoneTemplate.ExplorationBit < 0)
                    continue;

                if (achievements.Owner.IsZoneExplored(zoneTemplate.ExplorationBit))
                {
                    matchFound = true;
                    break;
                }
            }

            if (!matchFound)
                return;

            achievements.SetCriteriaProgress(this, 1);
        }
示例#7
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     achievements.SetCriteriaProgress(this, achievements.Owner.BankBagSlots, ProgressType.ProgressHighest);
 }
示例#8
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (ItemId != (ItemId)value1)
         return;
     var itemCount = (uint)achievements.Owner.Inventory.GetAmount(ItemId);
     if (itemCount == 0)
         return;
     achievements.SetCriteriaProgress(this, itemCount, ProgressType.ProgressHighest);
 }
示例#9
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (value1 == 0 || (SkillId)value1 != SkillId)
         return;
     achievements.SetCriteriaProgress(this, value2);
 }
示例#10
0
        public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
        {
            if (value1 == 0)
                return;
            if ((EnviromentalDamageType)value1 != EnviromentalDamageType)
                return;

            achievements.SetCriteriaProgress(this, value2, ProgressType.ProgressAccumulate);
        }
示例#11
0
        public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
        {
            if ((SpellId)value1 != SpellId)
                return;

            if (!achievements.Owner.PlayerSpells.Contains((uint)SpellId))
                return;

            achievements.SetCriteriaProgress(this, 1, ProgressType.ProgressHighest);
        }
示例#12
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (value1 == 0)
         return;
     achievements.SetCriteriaProgress(this, value1, ProgressType.ProgressHighest);
 }
示例#13
0
 // 23
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (value1 == 0)
         return;
     if (achievements.Owner.FactionGroup == (FactionGroup)value1)
         return;
     achievements.SetCriteriaProgress(this, 1, ProgressType.ProgressAccumulate);
 }
示例#14
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (value1 == 0)
         return;
     if (MapId != (MapId)value1)
         return;
     achievements.SetCriteriaProgress(this, value2, ProgressType.ProgressAccumulate);
 }
示例#15
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (ZoneId == (ZoneId)value1)
         achievements.SetCriteriaProgress(this, value2);
 }
示例#16
0
 public override void OnUpdate(AchievementCollection achievements, uint value1, uint value2, ObjectBase involved)
 {
     if (!AchievementEntry.IsRealmFirstType() || AchievementCollection.ClassSpecificAchievementId[(int)achievements.Owner.Class] == AchievementEntryId
         || AchievementCollection.RaceSpecificAchievementId[(int)achievements.Owner.Race] == AchievementEntryId)
     {
         achievements.SetCriteriaProgress(this, value1);
     }
 }