public void Successfully_CompoundWithCondition_IfConditionMet() { var node = new ExplodeNode(ExplodeType.Explode, true, equal20) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 3, "1d20.compound(=20) => 46! => 46"); }
public void Successfully_CompoundWithoutCondition_IfMaxRoll() { var node = new ExplodeNode(ExplodeType.Explode, true, null) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 3, "1d20.compound() => 46! => 46"); }
public void Successfully_NotCompoundWithoutCondition_IfNotMaxRoll() { var node = new ExplodeNode(ExplodeType.Explode, true, null) { Expression = _1d20 }; EvaluateNode(node, Data(Roll9Conf), 1, "1d20.compound() => 9 => 9"); }
public void Successfully_ExplodeWithCondition_IfConditionMet() { var node = new ExplodeNode(ExplodeType.Explode, false, equal20) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 3, "1d20.explode(=20) => 20! + 20! + 6 => 46"); }
public void Successfully_NotExplodeWithCondition_IfConditionNotMet() { var node = new ExplodeNode(ExplodeType.Explode, false, equal20) { Expression = _1d20 }; EvaluateNode(node, Data(Roll9Conf), 1, "1d20.explode(=20) => 9 => 9"); }
public void Successfully_NotCompoundPenetrateWithCondition_IfConditionNotMet() { var node = new ExplodeNode(ExplodeType.Penetrate, true, equal20) { Expression = _1d20 }; EvaluateNode(node, Data(Roll9Conf), 1, "1d20.compoundPenetrate(=20) => 9 => 9"); }
public void Successfully_ExplodeWithoutCondition_IfMaxRoll() { var node = new ExplodeNode(ExplodeType.Explode, false, null) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 3, "1d20.explode() => 20! + 20! + 6 => 46"); }
public void Successfully_CompoundPenetrateWithCondition_IfConditionMet_NoSpecialBehavior() { var node = new ExplodeNode(ExplodeType.Penetrate, true, equal20) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 3, "1d20.compoundPenetrate(=20) => 44! => 44"); }
public void Successfully_CompoundPenetrateWithoutCondition_IfMaxRoll_WithSpeciald100Behavior() { var node = new ExplodeNode(ExplodeType.Penetrate, true, null) { Expression = _1d100 }; EvaluateNode(node, Data(Explode100Conf), 3, "1d100.compoundPenetrate() => 124! => 124"); }
public void Successfully_PenetrateWithCondition_IfConditionMet_NoSpecialBehavior() { var node = new ExplodeNode(ExplodeType.Penetrate, false, equal20) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 3, "1d20.penetrate(=20) => 20! + 19! + 5 => 44"); }
public void Successfully_NotPenetrateWithoutCondition_IfNotMaxRoll() { var node = new ExplodeNode(ExplodeType.Penetrate, false, null) { Expression = _1d20 }; EvaluateNode(node, Data(Roll9Conf), 1, "1d20.penetrate() => 9 => 9"); }
public void Successfully_PenetrateWithoutCondition_IfMaxRoll_WithSpeciald20Behavior() { var node = new ExplodeNode(ExplodeType.Penetrate, false, null) { Expression = _1d20 }; EvaluateNode(node, Data(Explode20Conf), 4, "1d20.penetrate() => 20! + 5! + 5! + 0! => 30"); }
public ExplodeTable(ExplodeNode node, Program program) : base(node, program) { }