示例#1
0
 private void SetupFormValues(LevelOrStatCondition condition)
 {
     cmbLevelComparator.SelectedIndex = (int)condition.Comparator;
     nudLevelStatValue.Value          = condition.Value;
     cmbLevelStat.SelectedIndex       = condition.ComparingLevel ? 0 : (int)condition.Stat + 1;
     chkStatIgnoreBuffs.Checked       = condition.IgnoreBuffs;
 }
示例#2
0
        private void SaveFormValues(LevelOrStatCondition condition)
        {
            condition.Comparator     = (VariableComparators)cmbLevelComparator.SelectedIndex;
            condition.Value          = (int)nudLevelStatValue.Value;
            condition.ComparingLevel = cmbLevelStat.SelectedIndex == 0;
            if (!condition.ComparingLevel)
            {
                condition.Stat = (Stats)(cmbLevelStat.SelectedIndex - 1);
            }

            condition.IgnoreBuffs = chkStatIgnoreBuffs.Checked;
        }
示例#3
0
        public static bool MeetsCondition(
            LevelOrStatCondition condition,
            Player player,
            Event eventInstance,
            QuestBase questBase
            )
        {
            var lvlStat = 0;

            if (condition.ComparingLevel)
            {
                lvlStat = player.Level;
            }
            else
            {
                lvlStat = player.Stat[(int)condition.Stat].Value();
                if (condition.IgnoreBuffs)
                {
                    lvlStat = player.Stat[(int)condition.Stat].BaseStat +
                              player.StatPointAllocations[(int)condition.Stat];
                }
            }

            switch (condition.Comparator) //Comparator
            {
            case VariableComparators.Equal:
                if (lvlStat == condition.Value)
                {
                    return(true);
                }

                break;

            case VariableComparators.GreaterOrEqual:
                if (lvlStat >= condition.Value)
                {
                    return(true);
                }

                break;

            case VariableComparators.LesserOrEqual:
                if (lvlStat <= condition.Value)
                {
                    return(true);
                }

                break;

            case VariableComparators.Greater:
                if (lvlStat > condition.Value)
                {
                    return(true);
                }

                break;

            case VariableComparators.Less:
                if (lvlStat < condition.Value)
                {
                    return(true);
                }

                break;

            case VariableComparators.NotEqual:
                if (lvlStat != condition.Value)
                {
                    return(true);
                }

                break;
            }

            return(false);
        }