public void UpdateCriteria(CriteriaTypes type, ulong miscValue1 = 0, ulong miscValue2 = 0, ulong miscValue3 = 0, Unit unit = null)
        {
            m_achievementSys.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, unit, this);

            // Update only individual achievement criteria here, otherwise we may get multiple updates
            // from a single boss kill
            if (CriteriaManager.IsGroupCriteriaType(type))
            {
                return;
            }

            Scenario scenario = GetScenario();

            if (scenario != null)
            {
                scenario.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, unit, this);
            }

            Guild guild = Global.GuildMgr.GetGuildById(GetGuildId());

            if (guild)
            {
                guild.UpdateCriteria(type, miscValue1, miscValue2, miscValue3, unit, this);
            }
        }
Esempio n. 2
0
 public void CheckAllQuestObjectiveCriteria(Player referencePlayer)
 {
     // suppress sending packets
     for (CriteriaTypes i = 0; i < CriteriaTypes.TotalTypes; ++i)
     {
         UpdateCriteria(i, 0, 0, 0, null, referencePlayer);
     }
 }
Esempio n. 3
0
        // Update Achievement Criteria for all players in instance
        public void DoUpdateCriteria(CriteriaTypes type, uint miscValue1 = 0, uint miscValue2 = 0, Unit unit = null)
        {
            var PlayerList = instance.GetPlayers();

            if (!PlayerList.Empty())
            {
                foreach (var player in PlayerList)
                {
                    player.UpdateCriteria(type, miscValue1, miscValue2, 0, unit);
                }
            }
        }
Esempio n. 4
0
        private void OnPropertyNameUpdated()
        {
            ValueString = string.Empty;

            var propertyMetaData = PropertyName.GetAttribute <CriteriaPropertyAttribute>();

            CriteriaTypes = propertyMetaData.CriteriaTypes.ToList();

            CriteriaType = CriteriaTypes.Count == 1
                ? CriteriaTypes.Single()
                : (CriteriaType?)null;

            PropertyType = propertyMetaData.PropertyType;
        }
Esempio n. 5
0
        public void ResetCriteria(CriteriaTypes type, ulong miscValue1, ulong miscValue2, bool evenIfCriteriaComplete)
        {
            Log.outDebug(LogFilter.Player, "QuestObjectiveCriteriaMgr.ResetCriteria({type}, {miscValue1}, {miscValue2})");

            // disable for gamemasters with GM-mode enabled
            if (_owner.IsGameMaster())
            {
                return;
            }

            var playerCriteriaList = GetCriteriaByType(type);

            foreach (Criteria playerCriteria in playerCriteriaList)
            {
                if (playerCriteria.Entry.FailEvent != miscValue1 || (playerCriteria.Entry.FailAsset != 0 && playerCriteria.Entry.FailAsset != miscValue2))
                {
                    continue;
                }

                var  trees       = Global.CriteriaMgr.GetCriteriaTreesByCriteria(playerCriteria.Id);
                bool allComplete = true;
                foreach (CriteriaTree tree in trees)
                {
                    // don't update already completed criteria if not forced
                    if (!(IsCompletedCriteriaTree(tree) && !evenIfCriteriaComplete))
                    {
                        allComplete = false;
                        break;
                    }
                }

                if (allComplete)
                {
                    continue;
                }

                RemoveCriteriaProgress(playerCriteria);
            }
        }
 public void ResetCriteria(CriteriaTypes type, ulong miscValue1 = 0, ulong miscValue2 = 0, bool evenIfCriteriaComplete = false)
 {
     m_achievementSys.ResetCriteria(type, miscValue1, miscValue2, evenIfCriteriaComplete);
 }
Esempio n. 7
0
 protected PersistentCriteria(CriteriaTypes criteriaType, Type classType)
 {
     m_CriteriaType = criteriaType;
     m_ForClass     = classType;
     m_ForClassName = PersistentObject.GetClassName(classType);
 }
Esempio n. 8
0
 public override List <Criteria> GetCriteriaByType(CriteriaTypes type, uint asset)
 {
     return(Global.CriteriaMgr.GetScenarioCriteriaByType(type));
 }
Esempio n. 9
0
 public CriteriaView(CriteriaTypes cr, string name)
 {
     Value = cr;
     Name = name;
 }
Esempio n. 10
0
 public override List <Criteria> GetCriteriaByType(CriteriaTypes type)
 {
     return(Global.CriteriaMgr.GetQuestObjectiveCriteriaByType(type));
 }
Esempio n. 11
0
 /// <summary>
 /// full constructor
 /// </summary>
 /// <param name="type"></param>
 /// <param name="maxCount"></param>
 /// <param name="epsilon"></param>
 public TermCriteria(CriteriaTypes type, int maxCount, double epsilon)
 {
     Type     = type;
     MaxCount = maxCount;
     Epsilon  = epsilon;
 }