public override int QueryInt(List <string> path) { if (path.Count > 1) { if (String.Equals(path[1], "MaxValue", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(MaxValue.CurrentValue); } if (String.Equals(path[1], "Bashing", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(bashing); } if (String.Equals(path[1], "Lethal", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(lethal); } if (String.Equals(path[1], "Aggravated", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(aggravated); } } StaticErrorLogger.AddQueryError(path); return(0); }
public override int QueryInt(List <string> path) { //only allow this operation if the first column contains string values, so we can use them as a key to find the row we want to modify if (path.Count > 2 && columns.Count > 0 && columns[0].defaultValue is TableValue_String) { string targetRow = path[1]; string targetColumn = path[2]; for (int c = 0; c < columns.Count; ++c) { TableColumn column = columns[c]; if (String.Equals(column.name, targetColumn, StringComparison.OrdinalIgnoreCase)) { for (int r = 0; r < AllRows.Count; ++r) { TableRow row = AllRows[r]; if (row.values[0] is TableValue_String rowName) { if (String.Equals(rowName.value, targetRow, StringComparison.OrdinalIgnoreCase)) { if (row.values[c] is TableValue_Numeric targetNumericValue) { isCurrentlyIncludedInModFormula = true; return(targetNumericValue.value.CurrentValue); } else if (row.values[c] is TableValue_Range targetRangeValue) { if (path.Count > 3) { if (String.Equals(path[3], "Short", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(targetRangeValue.shortRange.CurrentValue); } else if (String.Equals(path[3], "Medium", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(targetRangeValue.mediumRange.CurrentValue); } else if (String.Equals(path[3], "Long", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(targetRangeValue.longRange.CurrentValue); } } } break; } } } break; } } } StaticErrorLogger.AddQueryError(path); return(0); }
public override string QueryString(List <string> path) { if (path.Count > 1) { if (String.Equals(path[1], "ActiveModName", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(sets[ActiveIndex].name); } } StaticErrorLogger.AddQueryError(path); return(""); }
public override int QueryInt(List <string> path) { if (path.Count > 1) { if (String.Equals(path[1], "Experience", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(experience); } if (String.Equals(path[1], "Beats", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(beats); } } StaticErrorLogger.AddQueryError(path); return(0); }
public override string QueryString(List <string> path) { if (path.Count > 1) { string targetAdvantage = path[1]; foreach (Advantage advantage in advantages) { if (String.Equals(advantage.name, targetAdvantage, StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; if (advantage is StringAdvantage stringAdvantage) { return(stringAdvantage.value); } break; } } } StaticErrorLogger.AddQueryError(path); return(""); }
public override int QueryInt(List <string> path) { if (path.Count > 1) { if (String.Equals(path[1], "MaxValue", StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(maxValue); } string targetTrait = path[1]; foreach (Trait trait in AllTraits) { if (String.Equals(trait.name, targetTrait, StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; return(trait.Value.CurrentValue); } } } StaticErrorLogger.AddQueryError(path); return(0); }
public override int QueryInt(List <string> path) { if (path.Count > 1) { string targetAdvantage = path[1]; foreach (Advantage advantage in advantages) { if (String.Equals(advantage.name, targetAdvantage, StringComparison.OrdinalIgnoreCase)) { isCurrentlyIncludedInModFormula = true; if (advantage is NumericAdvantage numericAdvantage) { return(numericAdvantage.Value.CurrentValue); } else if (advantage is ArmorAdvantage armorAdvantage) { if (path.Count > 2) { string targetType = path[2]; if (String.Equals(targetType, "General", StringComparison.OrdinalIgnoreCase)) { return(armorAdvantage.General.CurrentValue); } else if (String.Equals(targetType, "Ballistic", StringComparison.OrdinalIgnoreCase)) { return(armorAdvantage.Ballistic.CurrentValue); } } } break; } } } StaticErrorLogger.AddQueryError(path); return(0); }