////////// public void rotateModifierValue(int step) { foreach (var m in _mappings) { var command = m.Command; KnownCommands cur_id = (KnownCommands)m.Command.Id; if (!( (cur_id >= KnownCommands.Modifier_Modifier1) && (cur_id <= KnownCommands.Modifier_Modifier8) )) { continue; } var command2 = (cmdr.TsiLib.Commands.EnumInCommand <cmdr.TsiLib.Enums.ModifierValue>)command; ModifierValue cur_value = (ModifierValue)command2.Value; int cur_value_int = cur_value - ModifierValue._0; int new_value_int = rotate_modifier_value_int(cur_value_int, step); var new_value = ModifierValue._0 + new_value_int; command2.Value = new_value; m.UpdateInteraction(); } }
public override string ToString() { var rerollText = $"{RerollResult?.SideRolled.ToString() ?? "No Reroll"}"; var modifyText = ModifierValue == 0 ? "No Modifier" : ModifierValue.ToString(); return($@"Rolling D{InitialRollResult.Die.TotalSides} - Targeting: {Target} ~~~~~~~~~~~~~~~~~~ Initial: {InitialRollResult.SideRolled} Reroll: {rerollText} Modifier: {modifyText} Final: {Final} Successful: {IsSuccessful} ~~~~~~~~~~~~~~~~~~ "); }
public void rotateModifierConditionValue(int which, int step) { var conditions_editor = this.ConditionsEditor; var conditions_list = conditions_editor.Conditions; var modifier_list = conditions_list[2].Children; foreach (var mapping in _mappings) { ACondition cur_condition; if (which == 1) { cur_condition = mapping.Conditions.Condition1; } else { cur_condition = mapping.Conditions.Condition2; } if (cur_condition == null) { continue; // ignore no condition } KnownCommands id = (KnownCommands)cur_condition.Id; if (!((id >= KnownCommands.Modifier_Modifier1) && (id <= KnownCommands.Modifier_Modifier8))) { continue; // ignore non-modifiers } ModifierValue cur_value = (ModifierValue)cur_condition.GetValue(); int cur_value_int = cur_value - ModifierValue._0; int new_value_int = rotate_modifier_value_int(cur_value_int, step); var new_value = ModifierValue._0 + new_value_int; cur_condition.SetValue(new_value); mapping.UpdateConditionExpression(); } conditions_editor.Refresh(); }