示例#1
0
        private void ShowWeaponUI()
        {
            GUILayout.BeginHorizontal();

            GUILayout.Label("Damage Output: ");
            GUILayout.Label(DamageOutput.ToString());

            GUILayout.EndHorizontal();
        }
示例#2
0
    private (double Heal, DamageOutput Damage) CalculateNumericEffects(Xml.Castable castable, Xml.ModifierEffect effect, Creature source)
    {
        double heal = 0;
        var    dmg  = new DamageOutput();

        if (effect == null)
        {
            return(heal, dmg);
        }
        if (effect.Heal != null)
        {
            heal = NumberCruncher.CalculateHeal(castable, effect, Target, source, Name);
        }
        if (effect.Damage != null)
        {
            dmg = NumberCruncher.CalculateDamage(castable, effect, Target, source, Name);
        }
        return(heal, dmg);
    }
 private static AmmoAnalysisViewModel CreateAmmoAnalysisViewModel(DamageOutput.WeaponEntry x, DamageOutput.WeaponEntry.AmmoEntry a)
 {
     const int METER_PER_KM = 1000;
     return new AmmoAnalysisViewModel
            {
                WeaponCount = x.WeaponCount,
                Alpha = a.Damage.AlphaDamage,
                Dps = a.Damage.DamagePerSecond,
                Weapon = x.WeaponType,
                Falloff = a.FalloffInKm,
                Optimal =
                    x.WeaponSystem == WeaponSystem.Missile || x.WeaponSystem == WeaponSystem.Bomb
                        ? a.VelocityInMeterPerSecond * TimeSpan.FromMilliseconds(a.FlightTimeInMilliseconds)
                                                           .TotalSeconds / METER_PER_KM
                        : a.OptimalInKm,
                Tracking = a.TrackingInRadPerSecond,
                AmmoType = a.Ammunition
            };
 }
示例#4
0
 public SimpleStatusEffect(double heal, DamageOutput damage)
 {
     Heal   = heal;
     Damage = damage;
 }