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; }
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; }
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); }