public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForChance(chance => { chance.Add(_increase); }); }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForDurability(durability => { durability.AddPercent(-50); }); }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForQuality((efficincy, control, s) => { control.AddPercent(50); }); }
public void BuildCalculator(ActionInfo info, ICalculatorBuilder calculatorBuilder) { foreach (var buff in _list) { buff.OnCalculate(info, calculatorBuilder); } }
public void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForReclaimChance(action => { action.Multiply(0); action.Add(90); }); }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { if (info.AbilityType == typeof(FlawlessSynthesis)) { calculatorBuilder.ForDurability(durability => durability.Multiply(0)); calculatorBuilder.ForCraftPoints(points => points.Multiply(0)); } }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForConditionChance((condition, chance) => { if (condition == Condition.Good) { chance.Add(0); // todo: get correct value for increase } }); }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForQuality((efficiency, control, s) => { efficiency.Multiply(2); if (s) { Kill(); } }); }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { calculatorBuilder.ForRecipeLevel((level, action, service) => { var lvl = _power == 1 ? service.MapInguenity1Level(level) : service.MapInguenity2Level(level); if (lvl.HasValue) { action.Add(lvl.Value); } else { action.Add((double)level - (_power == 1 ? 5 : 7)); } }); }
public void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { int stacks = Stacks - 1; calculatorBuilder.ForQuality((efficiency, control, s) => { if (info.AbilityType == typeof(ByregotsBlessing)) { Kill(); efficiency.Add(20 * stacks); } if (info.AbilityType == typeof(ByregotsMiracle)) { _stacks = (int)Math.Round((double)_stacks / 2); efficiency.Add(10 * stacks); } if (info.AbilityType == typeof(ByregotsBrow)) { Kill(); efficiency.Add(10 * stacks); } control.AddPercent(20 * stacks); if (s) { if (info.AbilityType == typeof(PreciseTouch)) { Stacks++; } Stacks++; } }); }
public void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { int stacks = _stacks; calculatorBuilder.ForProgress((efficincy, craftmanship, s) => { efficincy.AddPercent(stacks % 3 == 0 ? 50 : 0); }); if (info.AbilityType == typeof(NymeiasWheel)) { _postAction += Kill; } if (info.AbilityType == typeof(Satisfaction)) { _postAction += () => _stacks--; } if (info.Condition.IsGoodOrExcellent()) { _stacks--; } }
public override void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder) { }
public void SetUP() { _sut = new CalculatorBuilder(new BasicMath()); }
public CalculatorControler(ICalculatorBuilder builder, IInputParser parser) { Builder = builder; this.parser = parser; }
public abstract void OnCalculate(ActionInfo info, ICalculatorBuilder calculatorBuilder);