Exemplo n.º 1
0
        public static int GetResistance(DamageTypeData Data)
        {
            float dmg = 0;

            if (Data.Items.ContainsKey("All"))
            {
                foreach (var swing in Data.Items["All"].Items)
                {
                    if (swing.SwingType == (int)COEvent.EffectType.Attack)
                    {
                        String basedmg = swing.Damage.DamageString2;
                        int    intbasedmg;
                        if (!Int32.TryParse(basedmg, out intbasedmg))
                        {
                            intbasedmg = swing.Damage.Number;
                        }
                        dmg += intbasedmg;
                    }
                }
            }

            float resist = ((float)Data.Damage / dmg);

            return((int)((1 - resist) * 100));
        }
Exemplo n.º 2
0
   public static double GetSpecialHitPerc(DamageTypeData Data, string specialName)
 {
     if (Data.Hits < 1)
         return 0;
     
     double specials = Helper.GetSpecialHitCount(Data, specialName);
     specials /= Data.Hits;
     return specials * 100.0;
 }
Exemplo n.º 3
0
        public static double GetSpecialHitPerc(DamageTypeData Data, string specialName)
        {
            if (Data.Hits < 1)
            {
                return(0);
            }

            double specials = Helper.GetSpecialHitCount(Data, specialName);

            specials /= Data.Hits;
            return(specials * 100.0);
        }
Exemplo n.º 4
0
 public static string IsVehicle(DamageTypeData Data)
 {
     if (Data.Items.ContainsKey("All"))
     {
         foreach (var swing in Data.Items["All"].Items)
         {
             if (swing.AttackType.Contains("Mark"))
             {
                 return("Y");
             }
         }
     }
     return("N");
 }
Exemplo n.º 5
0
        public static int GetSpecialHitCount(DamageTypeData Data, string specialName)
        {
            int count = 0;

            if (Data.Items.ContainsKey("All"))
            {
                foreach (var swing in Data.Items["All"].Items)
                {
                    if (swing.Special.Contains(specialName))
                    {
                        ++count;
                    }
                }
            }

            return count;
        }
Exemplo n.º 6
0
        public static int GetSpecialHitCount(DamageTypeData Data, string specialName)
        {
            int count = 0;

            if (Data.Items.ContainsKey("All"))
            {
                foreach (var swing in Data.Items["All"].Items)
                {
                    if (swing.Special.Contains(specialName))
                    {
                        ++count;
                    }
                }
            }

            return(count);
        }
Exemplo n.º 7
0
        public static int GetBaseDamage(DamageTypeData Data)
        {
            int dmg = 0;

            if (Data.Items.ContainsKey("All"))
            {
                foreach (var swing in Data.Items["All"].Items)
                {
                    String basedmg = swing.Damage.DamageString2;
                    int    intbasedmg;
                    if (!Int32.TryParse(basedmg, out intbasedmg))
                    {
                        intbasedmg = 0;
                    }
                    dmg += intbasedmg;
                }
            }
            return(dmg);
        }
 private string GetSqlDataFlankPrec(DamageTypeData Data)
 {
     return GetDTFlankPrecValue(Data).ToString("0'%");
 }
 private string GetSqlDataFlankHits(DamageTypeData Data)
 {
     return GetDTFlankValue(Data).ToString();
 }
 private string GetSqlDataEffectiveness(DamageTypeData Data)
 {
     return GetDTEffectivenessValue(Data).ToString("P1");
 }
        private int GetDTFlankValue(DamageTypeData Data)
        {
            if (Data.Items.Count == 0) return 0;

            AttackType at = Data.Items["All"];
            return GetAAFlankValue(at);
        }
        private double GetDTFlankPrecValue(DamageTypeData Data)
        {
            if (Data.Hits == 0) return 0;

            double fv = (double)GetDTFlankValue(Data);
            fv *= 100.0;
            fv /= Data.Hits;

            return fv;
        }
        private double GetDTEffectivenessValue(DamageTypeData Data)
        {
            if (Data.Items.Count == 0) return Double.NaN;

            AttackType at = Data.Items["All"];
            return GetAAEffectiveness(at);
        }
Exemplo n.º 14
0
        private double GetSpecialHitMissPerc(DamageTypeData Data, string specialName)
        {
            int hits = GetSpecialHitCount(Data, specialName);
            if (hits < 1)
                return 0;

            double specials = GetSpecialHitMiss(Data, specialName);
            specials /= hits;
            return specials * 100.0;
        }
Exemplo n.º 15
0
        private long GetSpecialHitData(DamageTypeData Data, string specialName)
        {
            long total = 0;

            if (Data.Items.ContainsKey(ALL))
            {
                foreach (var swing in Data.Items[ALL].Items)
                {
                    if (swing.Special.Contains(specialName))
                    {
                        total += swing.Damage;
                    }
                }
            }

            return total;
        }
Exemplo n.º 16
0
 public static string IsVehicle(DamageTypeData Data)
 {
     if (Data.Items.ContainsKey("All"))
     {
         foreach (var swing in Data.Items["All"].Items)
         {
             if (swing.AttackType.Contains("Mark")) return "Y";
         }
     }
     return "N";
 }
Exemplo n.º 17
0
        public static int GetResistance(DamageTypeData Data)
        {
            float dmg = 0;

            if (Data.Items.ContainsKey("All"))
            {
                foreach (var swing in Data.Items["All"].Items)
                {
                    if (swing.SwingType == (int)COEvent.EffectType.Attack)
                    {
                        String basedmg = swing.Damage.DamageString2;
                        int intbasedmg;
                        if (!Int32.TryParse(basedmg, out intbasedmg))
                        {
                            intbasedmg = swing.Damage.Number;
                        }
                        dmg += intbasedmg;
                    }
                }
            }

            float resist = ((float)Data.Damage / dmg);
            return (int)((1 - resist) * 100);
        }
Exemplo n.º 18
0
        public static int GetBaseDamage(DamageTypeData Data)
        {
            int dmg = 0;

            if (Data.Items.ContainsKey("All"))
            {
                foreach (var swing in Data.Items["All"].Items)
                {
                    String basedmg = swing.Damage.DamageString2;
                    int intbasedmg;
                    if (!Int32.TryParse(basedmg, out intbasedmg))
                    {
                        intbasedmg = 0;
                    }
                    dmg += intbasedmg;
                }
            }
            return dmg;
        }
Exemplo n.º 19
0
        private int GetSpecialHitMiss(DamageTypeData Data, string specialName)
        {
            int count = 0;

            if (Data.Items.ContainsKey(ALL)) {
                foreach (var swing in Data.Items[ALL].Items)
                {
                    if (swing.Special.Contains(specialName) && (swing.Damage == 0))
                    {
                        ++count;
                    }
                }
            }

            return count;
        }
 private string GetCellDataFlankHits(DamageTypeData Data)
 {
     return GetDTFlankValue(Data).ToString(GetIntCommas());
 }
Exemplo n.º 21
0
        private double GetSpecialHitPerc(DamageTypeData Data, string specialName)
        {
            if (Data.Hits < 1)
                return 0;

            double specials = GetSpecialHitCount(Data, specialName);
            specials /= Data.Hits;
            return specials * 100.0;
        }
        private string GetDamageTypeGrouping(DamageTypeData Data)
        {
            string grouping = string.Empty;

            int swingTypeIndex = 0;
            if (Data.Outgoing)
            {
                grouping += "attacker=" + Data.Parent.Name;
                foreach (KeyValuePair<int, List<string>> links in CombatantData.SwingTypeToDamageTypeDataLinksOutgoing)
                {
                    foreach (string damageTypeLabel in links.Value)
                    {
                        if (Data.Type == damageTypeLabel)
                        {
                            grouping += String.Format("&swingtype{0}={1}", swingTypeIndex++ == 0 ? string.Empty : swingTypeIndex.ToString(), links.Key);
                        }
                    }
                }
            }
            else
            {
                grouping += "victim=" + Data.Parent.Name;
                foreach (KeyValuePair<int, List<string>> links in CombatantData.SwingTypeToDamageTypeDataLinksIncoming)
                {
                    foreach (string damageTypeLabel in links.Value)
                    {
                        if (Data.Type == damageTypeLabel)
                        {
                            grouping += String.Format("&swingtype{0}={1}", swingTypeIndex++ == 0 ? string.Empty : swingTypeIndex.ToString(), links.Key);
                        }
                    }
                }
            }

            return grouping;
        }