public double GetFormationParamF2(FormationDatas.GetFormationKinds kind, BattleFormationKinds1 attacker, BattleFormationKinds1 defencer)
 {
     if (kind == FormationDatas.GetFormationKinds.HOUGEKI)
     {
         if (attacker == BattleFormationKinds1.FukuJuu && defencer == BattleFormationKinds1.TanOu)
         {
             return(1.2);
         }
         if (attacker == BattleFormationKinds1.Teikei && defencer == BattleFormationKinds1.TanJuu)
         {
             return(1.2);
         }
         if (attacker == BattleFormationKinds1.TanOu && defencer == BattleFormationKinds1.Teikei)
         {
             return(1.2);
         }
     }
     else if (kind == FormationDatas.GetFormationKinds.SUBMARINE)
     {
         if (attacker == BattleFormationKinds1.FukuJuu && defencer == BattleFormationKinds1.TanOu)
         {
             return(1.2);
         }
         if (attacker == BattleFormationKinds1.Teikei && defencer == BattleFormationKinds1.TanJuu)
         {
             return(1.2);
         }
         if (attacker == BattleFormationKinds1.TanOu && defencer == BattleFormationKinds1.Teikei)
         {
             return(1.2);
         }
     }
     return(this.paramF2.get_Item(kind).get_Item(attacker));
 }
Exemplo n.º 2
0
        protected int getBattleAvo_Midnight(FormationDatas.GetFormationKinds battleState, Mem_ship targetShip, bool haveSearchLight)
        {
            int    battleAvo = getBattleAvo(battleState, targetShip);
            double num       = (targetShip.Stype != 5 && targetShip.Stype != 6) ? ((double)battleAvo) : ((double)battleAvo + 5.0);

            if (haveSearchLight)
            {
                num *= 0.2;
            }
            return((int)num);
        }
Exemplo n.º 3
0
        protected int getBattleAvo(FormationDatas.GetFormationKinds battleState, Mem_ship targetShip)
        {
            double num = (double)targetShip.Kaihi + Math.Sqrt(targetShip.GetBattleBaseParam().Luck * 2);
            BattleFormationKinds1 formation;

            if (!targetShip.IsEnemy())
            {
                formation = F_Data.Formation;
                BattleFormationKinds2 battleFormation = F_Data.BattleFormation;
                BattleFormationKinds1 formation2      = E_Data.Formation;
            }
            else
            {
                formation = E_Data.Formation;
                BattleFormationKinds2 battleFormation2 = E_Data.BattleFormation;
                BattleFormationKinds1 formation3       = F_Data.Formation;
            }
            num *= formationData.GetFormationParamF3(battleState, formation);
            double num2 = (int)num;

            if (num2 >= 65.0)
            {
                double num3 = 55.0 + Math.Sqrt(num2 - 65.0) * 2.0;
                num2 = (int)num3;
            }
            else if (num2 >= 40.0)
            {
                double num4 = 40.0 + Math.Sqrt(num2 - 40.0) * 3.0;
                num2 = (int)num4;
            }
            num2 += getAvoHosei(targetShip);
            if (!targetShip.IsEnemy() && commandParams != null)
            {
                double num5 = (double)commandParams.Rspp / 100.0;
                double num6 = num2 * num5;
                num2 += num6;
            }
            int    num7 = 100;
            double num8 = Mst_DataManager.Instance.Mst_ship[targetShip.Ship_id].Fuel_max;

            if (num8 != 0.0)
            {
                num7 = (int)((double)targetShip.Fuel / num8 * 100.0);
            }
            if (num7 < 75)
            {
                num2 -= (double)(75 - num7);
            }
            return((int)num2);
        }
        private void setParamater()
        {
            Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds1, double> > dictionary  = new Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds1, double> >();
            Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds1, double> > dictionary2 = new Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds1, double> >();
            Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds1, double> > dictionary3 = new Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds1, double> >();
            Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds2, double> > dictionary4 = new Dictionary <FormationDatas.GetFormationKinds, Dictionary <BattleFormationKinds2, double> >();

            using (IEnumerator enumerator = Enum.GetValues(typeof(FormationDatas.GetFormationKinds)).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    object current = enumerator.get_Current();
                    FormationDatas.GetFormationKinds getFormationKinds = (FormationDatas.GetFormationKinds)((int)current);
                    dictionary.Add(getFormationKinds, new Dictionary <BattleFormationKinds1, double>());
                    dictionary2.Add(getFormationKinds, new Dictionary <BattleFormationKinds1, double>());
                    dictionary3.Add(getFormationKinds, new Dictionary <BattleFormationKinds1, double>());
                    dictionary4.Add(getFormationKinds, new Dictionary <BattleFormationKinds2, double>());
                    using (IEnumerator enumerator2 = Enum.GetValues(typeof(BattleFormationKinds1)).GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            object current2 = enumerator2.get_Current();
                            BattleFormationKinds1 battleFormationKinds = (BattleFormationKinds1)((int)current2);
                            dictionary.get_Item(getFormationKinds).Add(battleFormationKinds, 1.0);
                            dictionary2.get_Item(getFormationKinds).Add(battleFormationKinds, 1.0);
                            dictionary3.get_Item(getFormationKinds).Add(battleFormationKinds, 1.0);
                        }
                    }
                    using (IEnumerator enumerator3 = Enum.GetValues(typeof(BattleFormationKinds2)).GetEnumerator())
                    {
                        while (enumerator3.MoveNext())
                        {
                            object current3 = enumerator3.get_Current();
                            BattleFormationKinds2 battleFormationKinds2 = (BattleFormationKinds2)((int)current3);
                            dictionary4.get_Item(getFormationKinds).Add(battleFormationKinds2, 1.0);
                        }
                    }
                }
            }
            dictionary.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.FukuJuu, 0.8);
            dictionary.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.Rinkei, 0.7);
            dictionary.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.Teikei, 0.6);
            dictionary.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.TanOu, 0.6);
            dictionary.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.FukuJuu, 0.8);
            dictionary.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.Rinkei, 0.7);
            dictionary.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.Teikei, 0.6);
            dictionary.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.TanOu, 0.6);
            dictionary.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.FukuJuu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.Rinkei, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.Teikei, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.TanOu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.FukuJuu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.Rinkei, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.Teikei, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.TanOu, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.TanJuu, 0.6);
            dictionary.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.FukuJuu, 0.8);
            dictionary.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.Rinkei, 1.2);
            dictionary.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.Teikei, 1.0);
            dictionary.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.TanOu, 1.3);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.FukuJuu, 1.2);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.Rinkei, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.Teikei, 1.2);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.TanOu, 1.2);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.FukuJuu, 0.8);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.Rinkei, 0.4);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.Teikei, 0.6);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.TanOu, 0.3);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.FukuJuu, 0.9);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.Rinkei, 0.7);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.Teikei, 0.8);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.TanOu, 0.8);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.FukuJuu, 0.9);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.Rinkei, 0.7);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.Teikei, 0.8);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.TanOu, 0.8);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.FukuJuu, 1.2);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.Rinkei, 1.0);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.Teikei, 1.2);
            dictionary2.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.TanOu, 1.2);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.FukuJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.Rinkei, 1.1);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.Teikei, 1.2);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds1.TanOu, 1.3);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.FukuJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.Rinkei, 1.1);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.Teikei, 1.3);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds1.TanOu, 1.4);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.FukuJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.Rinkei, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.Teikei, 1.1);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.MIDNIGHT).set_Item(BattleFormationKinds1.TanOu, 1.2);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.FukuJuu, 1.2);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.Rinkei, 1.6);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.Teikei, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.AIR).set_Item(BattleFormationKinds1.TanOu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.TanJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.FukuJuu, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.Rinkei, 1.0);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.Teikei, 1.3);
            dictionary3.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds1.TanOu, 1.1);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds2.T_Enemy, 0.6);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds2.T_Own, 1.2);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds2.Hankou, 0.8);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.HOUGEKI).set_Item(BattleFormationKinds2.Doukou, 1.0);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds2.T_Enemy, 0.6);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds2.T_Own, 1.2);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds2.Hankou, 0.8);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.RAIGEKI).set_Item(BattleFormationKinds2.Doukou, 1.0);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds2.T_Enemy, 0.6);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds2.T_Own, 1.2);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds2.Hankou, 0.8);
            dictionary4.get_Item(FormationDatas.GetFormationKinds.SUBMARINE).set_Item(BattleFormationKinds2.Doukou, 1.0);
            this.paramF1 = dictionary;
            this.paramF2 = dictionary2;
            this.paramF3 = dictionary3;
            this.paramBattleFormattion = dictionary4;
        }
 public double GetFormationParamBattle(FormationDatas.GetFormationKinds kind, BattleFormationKinds2 formation)
 {
     return(this.paramBattleFormattion.get_Item(kind).get_Item(formation));
 }
 public double GetFormationParamF3(FormationDatas.GetFormationKinds kind, BattleFormationKinds1 attacker)
 {
     return(this.paramF3.get_Item(kind).get_Item(attacker));
 }