Beispiel #1
0
 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;
 }
Beispiel #2
0
 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";
     }
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 public WeaponPart(PartData data, KeelClassification classification, List <BaseAction> actions)
     : base(data, classification, actions)
 {
     baseStatsFromFiringType(data.FiringType, classification);
     modStatsFromDamageType(data.DamageType);
 }
Beispiel #5
0
 public DefensePart(PartData data, KeelClassification classification, List <BaseAction> actions)
     : base(data, classification, actions)
 {
     setBaseValuesFromDefenseType(data.DefenseType, classification);
 }
Beispiel #6
0
 public ActionPart(PartData data, KeelClassification classification, List <BaseAction> actions)
     : base(data, classification, actions)
 {
     Description = data.Description;
 }
Beispiel #7
0
 public EnginePart(PartData data, KeelClassification classification, List <BaseAction> actions)
     : base(data, classification, actions)
 {
     this.Thrust = classification.BaseEngineThrust;
 }