public void NoStatsEffectTest() { var injury = _injuryManager.GetInjury((int)InjuryEnum.FullRecovery); var injuredGanger = injury.InjuryEffect(_ganger); DoAssertions(injuredGanger, 4, 3, 3, 3, 3, 1, 1, 7, 7, true); }
private TerritoryIncomeReport ChemPit(TerritoryWorkStatus status) { if (status.Roll == 12) { // ganger gets horrible scars var scars = _injuryManager.GetInjury((int)InjuryEnum.HorribleScars); status.Ganger = scars.InjuryEffect(status.Ganger); _gangerManager.UpdateGanger(status.Ganger); return(new TerritoryIncomeReport() { TerritoryName = status.TerritoryName, Description = $"{status.Ganger.Name} has fallen into the chem pits and now has Horrible Scars. No income is collected.", Income = 0, }); } return(new TerritoryIncomeReport() { TerritoryName = status.TerritoryName, Income = status.Roll, }); }
/// <summary> /// Determine injury /// </summary> /// <param name="roll">Dice roll</param> /// <returns>List of injuries</returns> public IEnumerable <Injury> DetermineInjury(int?roll) { if (!roll.HasValue) { roll = _diceRoller.RollD66(); } switch (roll.Value) { case 11: case 12: case 13: case 14: case 15: case 16: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.Dead) }); case 21: var injuries = new List <Injury>(); injuries.Add(_injuryManager.GetInjury((int)InjuryEnum.MultipleInjuries)); var extraInjuries = _diceRoller.RollDie(); for (int i = 0; i < extraInjuries; i++) { injuries.Add(DetermineInjury(_diceRoller.MultipleInjuriesRoll()).FirstOrDefault()); } return(injuries); case 22: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.ChestWound) }); case 23: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.LegWound) }); case 24: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.ArmWound) }); case 25: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.HeadWound) }); case 26: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.BlindedInOneEye) }); case 31: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.PartiallyDeafened) }); case 32: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.ShellShock) }); case 33: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.HandInjury) }); case 34: case 35: case 36: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.OldBattleWound) }); case 41: case 42: case 43: case 44: case 45: case 46: case 51: case 52: case 53: case 54: case 55: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.FullRecovery) }); case 56: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.BitterEnmity) }); case 61: case 62: case 63: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.Captured) }); case 64: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.HorribleScars) }); case 65: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.ImpressiveScars) }); case 66: return(new[] { _injuryManager.GetInjury((int)InjuryEnum.SurvivesAgainstTheOdds) }); default: HivemindException.NoSuchInjuryException(roll.Value); return(new Injury[] { }); } }