public static int SetInitialHitPoints(int Level, IClass Class, AbilityScores AbilityScores, int?CurrentHP) { int returnHP = 0; if (CurrentHP == null) { if (Level == 1) { returnHP = Class.HitDie + AbilityScores.Constitution.HitPointAdjustment; } else { for (int i = 0; i <= Level - 1; i++) { int roll = 0; if (i == 0) { roll = Class.HitDie; } else { roll = DiceManager.Roll(1, Class.HitDie).Total + AbilityScores.Constitution.HitPointAdjustment; } returnHP += roll; } } } else { returnHP = Convert.ToInt32(CurrentHP); } return(returnHP); }
private static int GetAttackRoll() { var baseAttackRoll = DiceManager.Roll(1, 21).Total; var bonusAttackAdjustment = CharacterCombatMaths.TotalHitAdjustments(_person); var attackRoll = baseAttackRoll + bonusAttackAdjustment; return(attackRoll); }
private int GetDamageRoll() { var baseDamageRoll = DiceManager.Roll(CurrentPlayer().PrimaryWeapon.Damage.Amount, CurrentPlayer().PrimaryWeapon.Damage.SidedDie).Total; var bonusDamageAdjustment = 1; var DamageRoll = baseDamageRoll + bonusDamageAdjustment; return(DamageRoll); }
private int GetAttackRoll() { var baseAttackRoll = DiceManager.Roll(1, 21).Total; var bonusAttackAdjustment = CharacterCombatMaths.TotalHitAdjustments(CurrentPlayer()); var attackRoll = baseAttackRoll + bonusAttackAdjustment; return(attackRoll); }
public static int UpdateHitPoints(IClass Class, AbilityScores AbilityScores, int CurrentHP, int newLevels = 1) { int newRoll = CurrentHP; for (int i = 0; i <= newLevels - 1; i++) { newRoll += DiceManager.Roll(1, Class.HitDie).Total + AbilityScores.Constitution.HitPointAdjustment; } return(newRoll); }
private static int GetMeleeDamageTotal() { int baseDamageRoll; if (_specificWeapon != null) { baseDamageRoll = DiceManager.Roll(_person.PrimaryWeapon.Damage.Amount, _specificWeapon.Damage.SidedDie).Total; } else { baseDamageRoll = DiceManager.Roll(_person.PrimaryWeapon.Damage.Amount, _person.PrimaryWeapon.Damage.SidedDie).Total; } var bonusDamageAdjustment = 1; var DamageRoll = baseDamageRoll + bonusDamageAdjustment; return(DamageRoll); }
public static AbilityScores RandomizeAbilityScores(AbilityScores abilityScores, IClass _char = null) { AbilityScoreManager abilityScoreRules = new AbilityScoreManager(); List <int> allRolls = new List <int>(); allRolls.Add(DiceManager.FourDSixDropTheLowest()); allRolls.Add(DiceManager.FourDSixDropTheLowest()); allRolls.Add(DiceManager.FourDSixDropTheLowest()); allRolls.Add(DiceManager.FourDSixDropTheLowest()); allRolls.Add(DiceManager.FourDSixDropTheLowest()); allRolls.Add(DiceManager.FourDSixDropTheLowest()); var orderedList = allRolls.OrderByDescending(x => x); List <AbilityScoreType> primeAdded = new List <AbilityScoreType>(); int orderedI = 0; foreach (var minIndi in _char.MinimumAbilityScoreRequirements) { var thisRoll = orderedList.ElementAt(orderedI); switch (minIndi.Key) { case AbilityScoreType.Strength: abilityScores.Strength = abilityScoreRules.SetStrength(thisRoll); primeAdded.Add(AbilityScoreType.Strength); ++orderedI; break; case AbilityScoreType.Dextarity: abilityScores.Dexterity = abilityScoreRules.SetDexterity(thisRoll); primeAdded.Add(AbilityScoreType.Strength); ++orderedI; break; case AbilityScoreType.Constitution: abilityScores.Constitution = abilityScoreRules.SetConstitution(thisRoll); primeAdded.Add(AbilityScoreType.Strength); ++orderedI; break; case AbilityScoreType.Intelligence: abilityScores.Intelligence = abilityScoreRules.SetIntelligence(thisRoll); primeAdded.Add(AbilityScoreType.Intelligence); ++orderedI; break; case AbilityScoreType.Wisdom: abilityScores.Wisdom = abilityScoreRules.SetWisdom(thisRoll); primeAdded.Add(AbilityScoreType.Wisdom); ++orderedI; break; case AbilityScoreType.Charisma: abilityScores.Charisma = abilityScoreRules.SetCharisma(thisRoll); primeAdded.Add(AbilityScoreType.Charisma); ++orderedI; break; } } List <AbilityScoreType> AllAbilityScores = new List <AbilityScoreType> { AbilityScoreType.Strength, AbilityScoreType.Dextarity, AbilityScoreType.Constitution, AbilityScoreType.Intelligence, AbilityScoreType.Wisdom, AbilityScoreType.Charisma }; foreach (var this_ability in AllAbilityScores) { var thisRoll = orderedList.ElementAt(orderedI); if (!primeAdded.Contains(this_ability)) { switch (this_ability) { case AbilityScoreType.Strength: abilityScores.Strength = abilityScoreRules.SetStrength(thisRoll); ++orderedI; break; case AbilityScoreType.Dextarity: abilityScores.Dexterity = abilityScoreRules.SetDexterity(thisRoll); ++orderedI; break; case AbilityScoreType.Constitution: abilityScores.Constitution = abilityScoreRules.SetConstitution(thisRoll); ++orderedI; break; case AbilityScoreType.Intelligence: abilityScores.Intelligence = abilityScoreRules.SetIntelligence(thisRoll); ++orderedI; break; case AbilityScoreType.Wisdom: abilityScores.Wisdom = abilityScoreRules.SetWisdom(thisRoll); ++orderedI; break; case AbilityScoreType.Charisma: abilityScores.Charisma = abilityScoreRules.SetCharisma(thisRoll); ++orderedI; break; } } } return(abilityScores); }