public TreasureHaul Evaluate(RollEvaluationCriteria criteria) { var haul = new TreasureHaul(); var typeRoll = diceRoller.GetRoll(criteria.DiceCount, criteria.DiceSides); foreach (var potentialTreasure in criteria.PotentialTreasures) { evaluateIndividualPotentialTreasure(potentialTreasure, haul, typeRoll); } return(haul); }
private TreasureHaul GenerateInvidiualTreasure0To4() { var criteria = new RollEvaluationCriteria(); criteria.DiceCount = 1; criteria.DiceSides = 100; criteria.AddPotentialTreasure(1, 30, TreasureType.CP, 5, 6); criteria.AddPotentialTreasure(31, 60, TreasureType.SP, 4, 6); criteria.AddPotentialTreasure(61, 70, TreasureType.EP, 3, 6); criteria.AddPotentialTreasure(71, 95, TreasureType.GP, 3, 6); criteria.AddPotentialTreasure(96, 100, TreasureType.PP, 1, 6); return(this.rollEvaluationService.Evaluate(criteria)); }
private TreasureHaul GenerateInvidiualTreasure17Plus() { var criteria = new RollEvaluationCriteria(); criteria.DiceCount = 1; criteria.DiceSides = 100; criteria.AddPotentialTreasure(1, 15, TreasureType.EP, 2, 6, 1000); criteria.AddPotentialTreasure(1, 15, TreasureType.GP, 8, 6, 100); criteria.AddPotentialTreasure(16, 55, TreasureType.GP, 1, 6, 1000); criteria.AddPotentialTreasure(16, 55, TreasureType.PP, 1, 6, 100); criteria.AddPotentialTreasure(56, 100, TreasureType.GP, 1, 6, 1000); criteria.AddPotentialTreasure(56, 100, TreasureType.PP, 2, 6, 100); return(this.rollEvaluationService.Evaluate(criteria)); }
private TreasureHaul GenerateInvidiualTreasure11To16() { var criteria = new RollEvaluationCriteria(); criteria.DiceCount = 1; criteria.DiceSides = 100; criteria.AddPotentialTreasure(1, 20, TreasureType.SP, 4, 6, 100); criteria.AddPotentialTreasure(1, 20, TreasureType.GP, 1, 6, 100); criteria.AddPotentialTreasure(21, 35, TreasureType.EP, 1, 6, 100); criteria.AddPotentialTreasure(21, 35, TreasureType.GP, 1, 6, 100); criteria.AddPotentialTreasure(36, 75, TreasureType.GP, 2, 6, 100); criteria.AddPotentialTreasure(36, 75, TreasureType.PP, 1, 6, 10); criteria.AddPotentialTreasure(76, 100, TreasureType.GP, 2, 6, 100); criteria.AddPotentialTreasure(76, 100, TreasureType.PP, 2, 6, 10); return(this.rollEvaluationService.Evaluate(criteria)); }