/// <summary> /// Initializes a new instance of the <see cref="PassiveCountermeasure"/> class. /// </summary> /// <param name="stat">The stat.</param> /// <param name="name">The optional unique name for this equipment. If not provided, the name embedded in the stat will be used.</param> public PassiveCountermeasure(PassiveCountermeasureStat stat, string name = null) : base(stat, name) { }
private IList<PassiveCountermeasureStat> MakeAvailablePassiveCountermeasureStats(int quantity) { IList<PassiveCountermeasureStat> statsList = new List<PassiveCountermeasureStat>(quantity); for (int i = 0; i < quantity; i++) { string name = string.Empty; DamageStrength damageMitigation; var damageMitigationCategory = Enums<DamageCategory>.GetRandom(excludeDefault: false); float damageMitigationValue; switch (damageMitigationCategory) { case DamageCategory.Thermal: name = "HighVaporAtmosphere"; damageMitigationValue = UnityEngine.Random.Range(3F, 8F); damageMitigation = new DamageStrength(damageMitigationCategory, damageMitigationValue); break; case DamageCategory.Atomic: name = "HighAcidAtmosphere"; damageMitigationValue = UnityEngine.Random.Range(3F, 8F); damageMitigation = new DamageStrength(damageMitigationCategory, damageMitigationValue); break; case DamageCategory.Kinetic: name = "HighParticulateAtmosphere"; damageMitigationValue = UnityEngine.Random.Range(3F, 8F); damageMitigation = new DamageStrength(damageMitigationCategory, damageMitigationValue); break; case DamageCategory.None: name = "NoAtmosphere"; damageMitigation = new DamageStrength(1F, 1F, 1F); break; default: throw new NotImplementedException(ErrorMessages.UnanticipatedSwitchValue.Inject(damageMitigationCategory)); } var countermeasureStat = new PassiveCountermeasureStat(name, AtlasID.MyGui, TempGameValues.AnImageFilename, "Description...", 0F, 0F, 0F, 0F, damageMitigation); statsList.Add(countermeasureStat); } return statsList; }