private Talent DrawTalent(Race race) { var i = DiceService.Roll100(); switch (race) { case Race.Human: if (i >= 1 && i <= 4) { return(TalentsCollection.GetTalentById(2)); } if (i >= 5 && i <= 9) { return(TalentsCollection.GetTalentById(2)); } if (i >= 10 && i <= 13) { return(TalentsCollection.GetTalentById(3)); } if (i >= 14 && i <= 18) { return(TalentsCollection.GetTalentById(4)); } if (i >= 19 && i <= 22) { return(TalentsCollection.GetTalentById(5)); } if (i >= 23 && i <= 27) { return(TalentsCollection.GetTalentById(6)); } if (i >= 28 && i <= 31) { return(TalentsCollection.GetTalentById(7)); } if (i >= 32 && i <= 35) { return(TalentsCollection.GetTalentById(8)); } if (i >= 36 && i <= 40) { return(TalentsCollection.GetTalentById(9)); } if (i >= 41 && i <= 44) { return(TalentsCollection.GetTalentById(10)); } if (i >= 45 && i <= 49) { return(TalentsCollection.GetTalentById(11)); } if (i >= 50 && i <= 53) { return(TalentsCollection.GetTalentById(12)); } if (i >= 54 && i <= 57) { return(TalentsCollection.GetTalentById(13)); } if (i >= 58 && i <= 61) { return(TalentsCollection.GetTalentById(14)); } if (i >= 62 && i <= 66) { return(TalentsCollection.GetTalentById(15)); } if (i >= 67 && i <= 71) { return(TalentsCollection.GetTalentById(16)); } if (i >= 72 && i <= 75) { return(TalentsCollection.GetTalentById(17)); } if (i >= 76 && i <= 79) { return(TalentsCollection.GetTalentById(18)); } if (i >= 80 && i <= 83) { return(TalentsCollection.GetTalentById(19)); } if (i >= 84 && i <= 87) { return(TalentsCollection.GetTalentById(20)); } if (i >= 88 && i <= 91) { return(TalentsCollection.GetTalentById(21)); } if (i >= 92 && i <= 95) { return(TalentsCollection.GetTalentById(22)); } if (i >= 96 && i <= 100) { return(TalentsCollection.GetTalentById(23)); } break; case Race.Halfling: if (i >= 1 && i <= 4) { return(TalentsCollection.GetTalentById(1)); } if (i >= 5 && i <= 9) { return(TalentsCollection.GetTalentById(2)); } if (i >= 10 && i <= 13) { return(TalentsCollection.GetTalentById(3)); } if (i >= 14 && i <= 18) { return(TalentsCollection.GetTalentById(4)); } if (i >= 19 && i <= 23) { return(TalentsCollection.GetTalentById(5)); } if (i >= 24 && i <= 28) { return(TalentsCollection.GetTalentById(6)); } if (i >= 29 && i <= 34) { return(TalentsCollection.GetTalentById(7)); } if (i >= 35 && i <= 39) { return(TalentsCollection.GetTalentById(8)); } if (i >= 40 && i <= 44) { return(TalentsCollection.GetTalentById(9)); } if (i >= 45 && i <= 49) { return(TalentsCollection.GetTalentById(10)); } if (i >= 50 && i <= 53) { return(TalentsCollection.GetTalentById(11)); } if (i >= 54 && i <= 58) { return(TalentsCollection.GetTalentById(12)); } if (i >= 59 && i <= 62) { return(TalentsCollection.GetTalentById(13)); } if (i >= 63 && i <= 64) { return(TalentsCollection.GetTalentById(14)); } if (i >= 65 && i <= 68) { return(TalentsCollection.GetTalentById(15)); } if (i >= 69 && i <= 73) { return(TalentsCollection.GetTalentById(16)); } if (i >= 74 && i <= 78) { return(TalentsCollection.GetTalentById(17)); } if (i >= 79 && i <= 82) { return(TalentsCollection.GetTalentById(18)); } if (i >= 83 && i <= 87) { return(TalentsCollection.GetTalentById(19)); } if (i >= 88 && i <= 92) { return(TalentsCollection.GetTalentById(20)); } if (i >= 93 && i <= 96) { return(TalentsCollection.GetTalentById(21)); } if (i >= 97 && i <= 100) { return(TalentsCollection.GetTalentById(22)); } break; } return(null); }