コード例 #1
0
        private DayBattleProductionFmt RaigPosture(int index)
        {
            DayBattleProductionFmt dayBattleProductionFmt = new DayBattleProductionFmt();

            dayBattleProductionFmt.productionKind = BattleCommand.Raigeki;
            dayBattleProductionFmt.FSPP           = this.Fspp;
            dayBattleProductionFmt.RSPP           = this.Rspp;
            dayBattleProductionFmt.BoxNo          = index + 1;
            double   max      = Math.Sqrt((double)this.userBaseData.ShipData.get_Item(0).Level / 3.0);
            int      num      = 10 + (int)Utils.GetRandDouble(0.0, max, 1.0, 1);
            Mem_ship mem_ship = this.userBaseData.ShipData.get_Item(0);

            if (mem_ship.Lov >= 100)
            {
                double max2       = Math.Sqrt((double)mem_ship.Lov) / 3.0;
                double randDouble = Utils.GetRandDouble(0.0, max2, 0.1, 1);
                int    num2       = (int)(randDouble + 0.5);
                num += num2;
            }
            if (this.highSpeedFlag)
            {
                num += 3;
            }
            this.Tspp += num;
            dayBattleProductionFmt.TSPP = this.Tspp;
            return(dayBattleProductionFmt);
        }
コード例 #2
0
        private DayBattleProductionFmt Kaihi(int index)
        {
            Mem_ship mem_ship = userBaseData.ShipData[0];
            double   num      = -4.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 20), 1.0, 1);
            double   num2     = -6.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 15), 1.0, 1);
            double   num3     = 5.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 10), 1.0, 1);

            num3  = ((!highSpeedFlag) ? (num3 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 25), 1.0, 1)) : (num3 + 1.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 20), 1.0, 1)));
            Fspp += (int)num;
            Tspp += (int)num2;
            Rspp += (int)num3;
            DayBattleProductionFmt dayBattleProductionFmt = new DayBattleProductionFmt();

            dayBattleProductionFmt.productionKind = BattleCommand.Kaihi;
            dayBattleProductionFmt.FSPP           = Fspp;
            dayBattleProductionFmt.RSPP           = Rspp;
            dayBattleProductionFmt.TSPP           = Tspp;
            dayBattleProductionFmt.BoxNo          = index + 1;
            return(dayBattleProductionFmt);
        }
コード例 #3
0
        private DayBattleProductionFmt Totsugeki(int index)
        {
            Mem_ship mem_ship = userBaseData.ShipData[0];
            double   num      = 3.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 5), 1.0, 1);
            double   num2     = 5.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 3), 1.0, 1);
            double   num3     = -7.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 8), 1.0, 1);

            if (highSpeedFlag)
            {
                num  = num + 2.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 8), 1.0, 1);
                num2 = num2 + 1.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 7), 1.0, 1);
            }
            else
            {
                num   = num + 1.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 12), 1.0, 1);
                num2 += Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 15), 1.0, 1);
            }
            Mem_ship mem_ship2 = userBaseData.ShipData[0];

            if (mem_ship2.Lov >= 100)
            {
                double randDouble = Utils.GetRandDouble(0.0, Math.Sqrt((double)mem_ship.Lov / 4.0), 0.1, 1);
                int    num4       = (int)(randDouble + 0.5);
                num += (double)num4;
                double randDouble2 = Utils.GetRandDouble(0.0, Math.Sqrt((double)mem_ship.Lov / 8.0), 0.1, 1);
                int    num5        = (int)(randDouble2 + 0.5);
                num2 += (double)num5;
            }
            Fspp += (int)num;
            Tspp += (int)num2;
            Rspp += (int)num3;
            DayBattleProductionFmt dayBattleProductionFmt = new DayBattleProductionFmt();

            dayBattleProductionFmt.productionKind = BattleCommand.Totugeki;
            dayBattleProductionFmt.FSPP           = Fspp;
            dayBattleProductionFmt.RSPP           = Rspp;
            dayBattleProductionFmt.TSPP           = Tspp;
            dayBattleProductionFmt.BoxNo          = index + 1;
            return(dayBattleProductionFmt);
        }
コード例 #4
0
        private DayBattleProductionFmt Tousha(int index)
        {
            List <Mst_slotitem> source = userBaseData.SlotData[0];
            double num  = 2.0;
            double num2 = 0.0;
            double num3 = -2.0;

            if (source.Any((Mst_slotitem x) => (x.Api_mapbattle_type3 == 12 || x.Api_mapbattle_type3 == 13) && x.Tyku == 0))
            {
                num = num + 2.0 + Utils.GetRandDouble(0.0, Math.Sqrt(userBaseData.ShipData[0].Level / 10), 1.0, 1);
            }
            List <List <Mst_slotitem> > source2 = userBaseData.SlotData.Skip(1).ToList();

            foreach (var item in source2.Select((List <Mst_slotitem> obj, int ship_idx) => new
            {
                obj,
                ship_idx
            }))
            {
                Mem_ship mem_ship = userBaseData.ShipData[item.ship_idx + 1];
                if (mem_ship.IsFight())
                {
                    num = num + 1.0 + Utils.GetRandDouble(0.0, Math.Sqrt(mem_ship.Level / 30), 1.0, 1);
                }
            }
            Fspp += (int)num;
            Tspp += (int)num2;
            Rspp += (int)num3;
            DayBattleProductionFmt dayBattleProductionFmt = new DayBattleProductionFmt();

            dayBattleProductionFmt.productionKind = BattleCommand.Tousha;
            dayBattleProductionFmt.FSPP           = Fspp;
            dayBattleProductionFmt.RSPP           = Rspp;
            dayBattleProductionFmt.TSPP           = Tspp;
            dayBattleProductionFmt.BoxNo          = index + 1;
            return(dayBattleProductionFmt);
        }
コード例 #5
0
        private DayBattleProductionFmt Ridatsu(int index)
        {
            this.escapeNum++;
            Dictionary <int, Mst_ship> mst_ship = Mst_DataManager.Instance.Mst_ship;
            bool flag = false;

            using (List <Mem_ship> .Enumerator enumerator = this.userBaseData.ShipData.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Mem_ship current = enumerator.get_Current();
                    if (current.IsFight())
                    {
                        if (mst_ship.get_Item(current.Ship_id).Soku != 10)
                        {
                            flag = false;
                            break;
                        }
                        flag = true;
                    }
                }
            }
            DayBattleProductionFmt dayBattleProductionFmt = new DayBattleProductionFmt();

            dayBattleProductionFmt.productionKind = BattleCommand.Ridatu;
            dayBattleProductionFmt.FSPP           = this.Fspp;
            dayBattleProductionFmt.RSPP           = this.Rspp;
            dayBattleProductionFmt.TSPP           = this.Tspp;
            dayBattleProductionFmt.BoxNo          = index + 1;
            if (index == 0)
            {
                this.IsEscape = false;
                return(dayBattleProductionFmt);
            }
            int num = (int)Utils.GetRandDouble(1.0, 100.0, 1.0, 1);

            if (flag && this.escapeNum >= 2 && num <= 80)
            {
                dayBattleProductionFmt.Withdrawal = true;
                this.IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (flag && this.escapeNum == 1 && num <= 50)
            {
                dayBattleProductionFmt.Withdrawal = true;
                this.IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (!flag && this.escapeNum >= 2 && num <= 60)
            {
                dayBattleProductionFmt.Withdrawal = true;
                this.IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (!flag && this.escapeNum == 1 && num <= 35)
            {
                dayBattleProductionFmt.Withdrawal = true;
                this.IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (index >= 3)
            {
                dayBattleProductionFmt.Withdrawal = true;
                this.IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (index == 2 && num <= 65)
            {
                dayBattleProductionFmt.Withdrawal = true;
                this.IsEscape = true;
                return(dayBattleProductionFmt);
            }
            this.IsEscape = false;
            return(dayBattleProductionFmt);
        }
コード例 #6
0
 public EffectModel(DayBattleProductionFmt fmt)
 {
     this._fmt    = fmt;
     this._data_f = new List <DamageModelBase>();
     this._data_e = new List <DamageModelBase>();
 }
コード例 #7
0
 public __EffectModel__(DayBattleProductionFmt fmt) : base(fmt)
 {
 }
コード例 #8
0
        private DayBattleProductionFmt Ridatsu(int index)
        {
            escapeNum++;
            Dictionary <int, Mst_ship> mst_ship = Mst_DataManager.Instance.Mst_ship;
            bool flag = false;

            foreach (Mem_ship shipDatum in userBaseData.ShipData)
            {
                if (shipDatum.IsFight())
                {
                    if (mst_ship[shipDatum.Ship_id].Soku != 10)
                    {
                        flag = false;
                        break;
                    }
                    flag = true;
                }
            }
            DayBattleProductionFmt dayBattleProductionFmt = new DayBattleProductionFmt();

            dayBattleProductionFmt.productionKind = BattleCommand.Ridatu;
            dayBattleProductionFmt.FSPP           = Fspp;
            dayBattleProductionFmt.RSPP           = Rspp;
            dayBattleProductionFmt.TSPP           = Tspp;
            dayBattleProductionFmt.BoxNo          = index + 1;
            if (index == 0)
            {
                IsEscape = false;
                return(dayBattleProductionFmt);
            }
            int num = (int)Utils.GetRandDouble(1.0, 100.0, 1.0, 1);

            if (flag && escapeNum >= 2 && num <= 80)
            {
                dayBattleProductionFmt.Withdrawal = true;
                IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (flag && escapeNum == 1 && num <= 50)
            {
                dayBattleProductionFmt.Withdrawal = true;
                IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (!flag && escapeNum >= 2 && num <= 60)
            {
                dayBattleProductionFmt.Withdrawal = true;
                IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (!flag && escapeNum == 1 && num <= 35)
            {
                dayBattleProductionFmt.Withdrawal = true;
                IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (index >= 3)
            {
                dayBattleProductionFmt.Withdrawal = true;
                IsEscape = true;
                return(dayBattleProductionFmt);
            }
            if (index == 2 && num <= 65)
            {
                dayBattleProductionFmt.Withdrawal = true;
                IsEscape = true;
                return(dayBattleProductionFmt);
            }
            IsEscape = false;
            return(dayBattleProductionFmt);
        }