//rolls die and returns three different values encapulated in an object public static D100Result RollD100(Cryptorandom rn) { //RNG.NumberBetween(1, 10); int[] die = new int[2]; die[0] = rn.Next(1, 10); //10 die[1] = rn.Next(1, 10); //10 = 100 string strDie = ""; int intDie = 0; var strTens = ""; var strOnes = ""; //converts the die into readable ints if (die[1] == 10 && die[0] == 1) { intDie = 1; } if (die[1] == 10 && die[0] == 10) { intDie = 100; } if (die[1] == 10 && die[0] != 10) { die[1] = 0; } strTens = die[1].ToString(); strOnes = die[0].ToString(); strDie = strTens + strOnes; intDie = Convert.ToInt32(strDie); D100Result result = new D100Result(die, intDie, strDie); return(result); }
// public void UpdateHomeWorldCharacteristicBonuses() { Cryptorandom rn = new Cryptorandom(); var posStats = HomeWorld.StatsAffectedPositive; var negStats = HomeWorld.StatsAffectedNegative; foreach (var posStat in posStats) { foreach (var stat in Stats) { if (stat.Name == posStat) { stat.BaseValue = Constants.StartingValue + 5;//rests basevaluee to 25 int[] roll = RollD10(3, rn); stat.BaseValue += TakeDice(2, roll, true).Sum(); } } } foreach (var negStat in negStats) { foreach (var stat in Stats) { if (stat.Name == negStat) { stat.BaseValue = Constants.StartingValue - 5;//resets basevaluee to 25 int[] roll = RollD10(3, rn); stat.BaseValue += TakeDice(2, roll, false).Sum(); } } } this.Aptitudes.Add(HomeWorld.AptitudeBonus); }
public HomeWorld RandomlySelectHomeWorld()//used for random generation. { HomeWorld homeworldRandom = null; Cryptorandom rn = new Cryptorandom(); var result = Convert.ToInt32(DiceRolls.RollD100(rn)); if (result >= 1 && result <= 15) { homeworldRandom = World.GetHomeworldById(Constants.FeralWorld); } if (result >= 16 && result <= 33) { homeworldRandom = World.GetHomeworldById(Constants.ForgeWorld); } if (result >= 34 && result <= 44) { homeworldRandom = World.GetHomeworldById(Constants.HighBorn); } if (result >= 45 && result <= 69) { homeworldRandom = World.GetHomeworldById(Constants.HiveWorld); } if (result >= 70 && result <= 85) { homeworldRandom = World.GetHomeworldById(Constants.ShrineWorld); } if (result >= 86 && result <= 100) { homeworldRandom = World.GetHomeworldById(Constants.VoidBorn); } return(homeworldRandom); }
public int CalculateDamage(int dietoroll = 1) { Cryptorandom rn = new Cryptorandom(); var roll = DiceRolls.RollD10(dietoroll, rn); var x = roll[0]; var damage = x + BaseDamage; return(x); }
public static int[] RollD5(int times, Cryptorandom rn) { var results = new int[times]; for (int i = 0; i < times; i++) { results[i] = rn.Next(1, 5); } return(results); }
public static D100Result DoCharacteristicCheck(int modCharValue) { Cryptorandom rn = new Cryptorandom(); var d100result = RollD100(rn); d100result.isSuccess = d100result.IntValue <= (modCharValue) ? true : false; int[] modcharArray = modCharValue.ToString().ToCharArray().Select(x => (int)Char.GetNumericValue(x)).ToArray(); Array.Reverse(modcharArray); d100result.DegreesofSuccess = modcharArray[1] - d100result.Result[1]; d100result.isSuccess = d100result.IntValue == 1 ? true : d100result.isSuccess;//if the roll is a 1, then you automatically pass return(d100result); }
//Character Setup public void AllocateValues() { Cryptorandom rn = new Cryptorandom(); foreach (var stat in Stats) { var value = Constants.StartingValue; value += RollD10(2, rn).Sum(); stat.BaseValue = value; } if (HomeWorld != null) { Wounds = RollD5(1, rn)[0] + HomeWorld.BaseWounds; } XP = Constants.StartingExperience; SetPlayerMainStatOntoSkill();//sets the base value to the skill once the initial values have been set }