Compare commits

...

4 commits

3 changed files with 23 additions and 16 deletions

View file

@ -12,6 +12,14 @@ namespace ZenithInfo.Models
Capital,
}
public enum Rarities
{
Common,
Rare,
Scare,
Unique,
}
public enum DamageTypes
{
Shield,

View file

@ -14,33 +14,33 @@ namespace ZenithInfo.Models
public int Icon { get; set; }
public double ParticleSize { get; set; }
public double BaseCost { get; set; }
public string? Rarity { get; set; }
public Enums.Rarities Rarity { get; set; }
public DamageStats Dps(int range = 0, int barrelCount = 1)
{
if (range > this.Range)
if (range > Range)
{
return new DamageStats(0, 0, 0, 0, 0, 0);
}
double baseAlpha = this.Damage * barrelCount;
double baseAlpha = Damage * barrelCount;
double shieldAlpha = 0;
double hullAlpha = 0;
double intervalTime = this.Interval * (barrelCount - 1);
double totalDelay = this.Reload + intervalTime;
double intervalTime = Interval * (barrelCount - 1);
double totalDelay = Reload + intervalTime;
double baseDps = baseAlpha / (totalDelay != 0 ? totalDelay : 1); // prevent divide by zero
double shieldDps = 0;
double hullDps = 0;
if (this.DamageType == Enums.DamageTypes.Shield)
if (DamageType == Enums.DamageTypes.Shield)
{
shieldAlpha = baseAlpha;
hullAlpha = baseAlpha * 0.5;
shieldDps = baseDps;
hullDps = baseDps * 0.5;
}
else if (this.DamageType == Enums.DamageTypes.Hull)
else if (DamageType == Enums.DamageTypes.Hull)
{
shieldAlpha = baseAlpha * 0.5;
hullAlpha = baseAlpha;

View file

@ -9,44 +9,43 @@ namespace ZenithInfo.Models
public double Reload { get; set; }
public double Range { get; set; }
public double OptimalRange { get; set; }
public double FalloffRange { get; set; }
public double AccuracyFalloffRange { get; set; }
public double Accuracy { get; set; }
public Enums.ModuleSizes Size { get; set; }
public Enums.TurretTypes Type { get; set; }
public int Icon { get; set; }
public double BeamSize { get; set; }
public double BaseCost { get; set; }
public string? Rarity { get; set; }
public Enums.Rarities Rarity { get; set; }
public Enums.DamageTypes DamageType()
{
return Enums.TurretDamageTypes[this.Type];
return Enums.TurretDamageTypes[Type];
}
public DamageStats Dps(int range = 0)
{
if (range > this.Range)
if (range > Range)
{
return new DamageStats(0, 0, 0, 0, 0, 0);
}
double baseAlpha = this.Damage;
double baseAlpha = Damage;
double shieldAlpha = 0;
double hullAlpha = 0;
double baseDps = baseAlpha / (this.Reload != 0 ? this.Reload : 1); // prevent divide by zero
double baseDps = baseAlpha / (Reload != 0 ? Reload : 1); // prevent divide by zero
double shieldDps = 0;
double hullDps = 0;
// all percentages are placeholders until david tells me what they're actually supposed to be
if (this.DamageType() == Enums.DamageTypes.Shield)
if (DamageType() == Enums.DamageTypes.Shield)
{
shieldAlpha = baseAlpha;
hullAlpha = baseAlpha * 0.5;
shieldDps = baseDps;
hullDps = baseDps * 0.5;
}
else if (this.DamageType() == Enums.DamageTypes.Hull)
else if (DamageType() == Enums.DamageTypes.Hull)
{
shieldAlpha = baseAlpha * 0.5;
hullAlpha = baseAlpha;