void baseStatsFromFiringType(string firingType, KeelClassification classification) { this.FiringType = firingType; if (firingType == Utility.FiringType.Beam) { this.WeaponDamage = Convert.ToInt32(Math.Round(5 * classification.PartFactor)); this.ReloadTime = 0; this.CritChance = 5; this.CritMultiplier = 3; this.Range = 3; } else if (firingType == Utility.FiringType.Cannon) { this.WeaponDamage = Convert.ToInt32(Math.Round(10 * classification.PartFactor)); this.ReloadTime = 1; this.CritChance = 10; this.CritMultiplier = 2; this.Range = 4; } else if (firingType == Utility.FiringType.Launcher) { this.WeaponDamage = Convert.ToInt32(Math.Round(15 * classification.PartFactor)); this.ReloadTime = 2; this.CritChance = 5; this.CritMultiplier = 3; this.Range = 5; } this.IsPointDefense = false; }
void setBaseValuesFromDefenseType(string defenseType, KeelClassification classification) { if (defenseType == DefenseType.Shield) { this.DRVsEnergy = 3; this.DRVsPlasma = 2; this.DRVsExplosive = 1; this.DRVsKinetic = 0; this.DownAdjective = "Down"; this.PenetrateVerb = "Penetrating"; } else if (defenseType == DefenseType.Armor) { this.DRVsEnergy = 3; this.DRVsPlasma = 2; this.DRVsExplosive = 3; this.DRVsKinetic = 4; this.DownAdjective = "Destroyed"; this.PenetrateVerb = "Shattering"; } else if (defenseType == DefenseType.PointDefense) { this.DRVsEnergy = 0; this.DRVsPlasma = 0; this.DRVsExplosive = 4; this.DRVsKinetic = 4; this.DownAdjective = "Offline"; this.PenetrateVerb = "Disabling"; } }
public BasePart(PartData data, KeelClassification classification, List <BaseAction> actions) { this.Name = data.Name; this.HP = new StatWithMax(Convert.ToInt32(Math.Round(data.MaxHP * classification.PartFactor))); this.Mass = classification.PartWeight; this.Actions = actions; this.IsDestroyed = false; this.Target = null; }
public WeaponPart(PartData data, KeelClassification classification, List <BaseAction> actions) : base(data, classification, actions) { baseStatsFromFiringType(data.FiringType, classification); modStatsFromDamageType(data.DamageType); }
public DefensePart(PartData data, KeelClassification classification, List <BaseAction> actions) : base(data, classification, actions) { setBaseValuesFromDefenseType(data.DefenseType, classification); }
public ActionPart(PartData data, KeelClassification classification, List <BaseAction> actions) : base(data, classification, actions) { Description = data.Description; }
public EnginePart(PartData data, KeelClassification classification, List <BaseAction> actions) : base(data, classification, actions) { this.Thrust = classification.BaseEngineThrust; }