예제 #1
0
        private void getPracticeUpInfo_To_Kouku(PracticeDeckResultFmt fmt)
        {
            int    level = this.mem_ship.get_Item(0).Level;
            double num   = Math.Sqrt((double)this.mem_ship.get_Item(0).Level);
            bool   flag  = Mst_DataManager.Instance.Mst_stype.get_Item(this.mem_ship.get_Item(0).Stype).IsTrainingShip();

            fmt.PracticeResult.GetMemberExp = 0;
            int num2 = (!flag) ? 0 : 1;

            fmt.PracticeResult.GetShipExp = new Dictionary <int, int>();
            fmt.PowerUpData = new Dictionary <int, PowUpInfo>();
            double difficultShipExpKeisu        = this.getDifficultShipExpKeisu();
            double shipExpCommonKeisu           = this.getShipExpCommonKeisu();
            Dictionary <int, Mst_ship> mst_ship = Mst_DataManager.Instance.Mst_ship;

            using (List <Mem_ship> .Enumerator enumerator = this.mem_ship.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Mem_ship current = enumerator.get_Current();
                    fmt.PracticeResult.GetShipExp.Add(current.Rid, 0);
                    fmt.PowerUpData.Add(current.Rid, default(PowUpInfo));
                    Mst_ship mst_ship2 = mst_ship.get_Item(current.Ship_id);
                    if (mst_ship2.Stype != 13)
                    {
                        if (mst_ship2.Stype == 14)
                        {
                            List <Mst_slotitem> mstSlotItems = current.GetMstSlotItems();
                            bool flag2 = false;
                            for (int i = 0; i < mstSlotItems.get_Count(); i++)
                            {
                                SlotitemCategory slotitem_type = Mst_DataManager.Instance.Mst_equip_category.get_Item(mstSlotItems.get_Item(i).Type3).Slotitem_type;
                                if (slotitem_type == SlotitemCategory.Kanjouki || slotitem_type == SlotitemCategory.Suijouki)
                                {
                                    flag2 = true;
                                    break;
                                }
                            }
                            if (!flag2)
                            {
                                continue;
                            }
                        }
                        double num3 = Math.Sqrt((double)current.Level);
                        double max  = (double)(14 + num2 * 7);
                        double num4 = 10.0 + Utils.GetRandDouble(0.0, max, 1.0, 1) + Utils.GetRandDouble(0.0, num, 1.0, 1) + num / 2.0 + num3;
                        num4 = num4 * difficultShipExpKeisu * shipExpCommonKeisu;
                        fmt.PracticeResult.GetShipExp.set_Item(current.Rid, (int)num4);
                        Ship_GrowValues battleBaseParam = current.GetBattleBaseParam();
                        PowUpInfo       powUpInfo       = default(PowUpInfo);
                        double          max2            = 1.5 + (double)num2 * 0.2 + (num + num3) / 20.0;
                        powUpInfo.Taiku = (int)Utils.GetRandDouble(0.0, max2, 1.0, 1);
                        if (battleBaseParam.Taiku + powUpInfo.Taiku > mst_ship2.Tyku_max)
                        {
                            int num5 = mst_ship2.Tyku_max - mst_ship2.Tyku;
                            powUpInfo.Taiku = num5 - current.Kyouka.get_Item(Mem_ship.enumKyoukaIdx.Tyku);
                        }
                        if (this.motherBGroup.Contains(current.Stype))
                        {
                            double max3 = 1.2 + (num + num3) / 20.0;
                            powUpInfo.Karyoku = (int)Utils.GetRandDouble(0.0, max3, 1.0, 1);
                            if (battleBaseParam.Houg + powUpInfo.Karyoku > mst_ship2.Houg_max)
                            {
                                int num6 = mst_ship2.Houg_max - mst_ship2.Houg;
                                powUpInfo.Karyoku = num6 - current.Kyouka.get_Item(Mem_ship.enumKyoukaIdx.Houg);
                            }
                        }
                        fmt.PowerUpData.set_Item(current.Rid, powUpInfo);
                    }
                }
            }
        }