コード例 #1
0
        public bool Check_23(Mem_quest targetQuest)
        {
            if (this.missionDeck == null)
            {
                return(false);
            }
            if (this.missionResult == MissionResultKinds.FAILE)
            {
                return(false);
            }
            Dictionary <int, int> dictionary = base.isAddCounter(targetQuest.Rid, this.checkData);
            int num  = (this.missionId != 84) ? 0 : 1;
            int num2 = (this.missionId != 108) ? 0 : 1;

            if (dictionary.ContainsKey(4207))
            {
                dictionary.set_Item(4207, num);
            }
            if (dictionary.ContainsKey(4208))
            {
                dictionary.set_Item(4208, num2);
            }
            base.addCounter(dictionary);
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #2
0
        public bool Check_10(Mem_quest targetQuest)
        {
            if (missionDeck == null)
            {
                return(false);
            }
            if (missionResult == MissionResultKinds.FAILE)
            {
                return(false);
            }
            Dictionary <int, int> dictionary = isAddCounter(targetQuest.Rid, checkData);
            int value  = commonCounterEnableMission[47].Contains(missionId) ? 1 : 0;
            int value2 = commonCounterEnableMission[48].Contains(missionId) ? 1 : 0;

            if (dictionary.ContainsKey(4007))
            {
                dictionary[4007] = value;
            }
            if (dictionary.ContainsKey(4008))
            {
                dictionary[4008] = value2;
            }
            addCounter(dictionary);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #3
0
        public bool Check_11(Mem_quest targetQuest)
        {
            if (this.deckPracticeResult == null)
            {
                return(false);
            }
            if (this.deckPrackType != DeckPracticeType.Normal && this.deckPrackType != DeckPracticeType.Rai)
            {
                return(false);
            }
            Dictionary <int, int> dictionary = base.isAddCounter(targetQuest.Rid, this.checkData);
            int num  = (this.deckPrackType != DeckPracticeType.Normal) ? 0 : 1;
            int num2 = (this.deckPrackType != DeckPracticeType.Rai) ? 0 : 1;

            if (dictionary.ContainsKey(3001))
            {
                dictionary.set_Item(3001, num);
            }
            if (dictionary.ContainsKey(3003))
            {
                dictionary.set_Item(3003, num2);
            }
            base.addCounter(dictionary);
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #4
0
        public bool Check_22(Mem_quest targetQuest)
        {
            if (type != KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);
            Mem_ship flagShip             = getFlagShip(1);
            string   yomi = Mst_DataManager.Instance.Mst_ship[flagShip.Ship_id].Yomi;

            if (!yomi.Equals("しょうかく"))
            {
                return(false);
            }
            Dictionary <int, int> mstSlotItemNum_OrderId = flagShip.GetMstSlotItemNum_OrderId(new HashSet <int>
            {
                143
            });

            if (mstSlotItemNum_OrderId[143] == 0)
            {
                return(false);
            }
            int num = destroyItems.Count((Mst_slotitem x) => x.Id == 17);

            for (int i = 0; i < num; i++)
            {
                addCounterIncrementAll(counter);
            }
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #5
0
        public bool Check_23(Mem_quest targetQuest)
        {
            if (missionDeck == null)
            {
                return(false);
            }
            if (missionResult == MissionResultKinds.FAILE)
            {
                return(false);
            }
            Dictionary <int, int> dictionary = isAddCounter(targetQuest.Rid, checkData);
            int value  = (missionId == 84) ? 1 : 0;
            int value2 = (missionId == 108) ? 1 : 0;

            if (dictionary.ContainsKey(4207))
            {
                dictionary[4207] = value;
            }
            if (dictionary.ContainsKey(4208))
            {
                dictionary[4208] = value2;
            }
            addCounter(dictionary);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #6
0
        public Api_Result <List <User_QuestFmt> > QuestList()
        {
            if (Comm_UserDatas.Instance.User_quest.get_Count() == 0)
            {
                Comm_UserDatas.Instance.InitQuest(this, Enumerable.ToList <Mst_quest>(this.mst_quest.get_Values()));
            }
            if (Comm_UserDatas.Instance.User_turn.ReqQuestReset)
            {
                this.QuestReset();
                Comm_UserDatas.Instance.User_turn.DisableQuestReset();
            }
            this.SetEnableList();
            Api_Result <List <User_QuestFmt> > api_Result = new Api_Result <List <User_QuestFmt> >();
            IEnumerable <Mem_quest>            enumerable = Enumerable.Where <Mem_quest>(Enumerable.OrderBy <Mem_quest, int>(Comm_UserDatas.Instance.User_quest.get_Values(), (Mem_quest member) => member.Rid), (Mem_quest member) => member.State != QuestState.END && member.State != QuestState.NOT_DISP);

            api_Result.data = new List <User_QuestFmt>();
            int      num      = Comm_UserDatas.Instance.User_deck.get_Item(1).Ship[0];
            Mem_ship flagShip = Comm_UserDatas.Instance.User_ship.get_Item(num);

            using (IEnumerator <Mem_quest> enumerator = enumerable.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Mem_quest     current       = enumerator.get_Current();
                    Mst_quest     mstObj        = this.mst_quest.get_Item(current.Rid);
                    User_QuestFmt user_QuestFmt = new User_QuestFmt(current, mstObj);
                    this.slotModelChangeQuestNormalize(flagShip, current, mstObj, user_QuestFmt);
                    api_Result.data.Add(user_QuestFmt);
                }
            }
            return(api_Result);
        }
コード例 #7
0
        public bool Start(User_QuestFmt fmt)
        {
            Mem_quest value = null;

            if (!Comm_UserDatas.Instance.User_quest.TryGetValue(fmt.No, out value))
            {
                return(false);
            }
            if (value.State != QuestState.WAITING_START)
            {
                return(false);
            }
            value.StateChange(this, QuestState.RUNNING);
            fmt.State = value.State;
            if (fmt.Category == 1)
            {
                QuestHensei questHensei = new QuestHensei(fmt.No);
                List <int>  list        = questHensei.ExecuteCheck();
                if (list.Contains(fmt.No))
                {
                    fmt.State = QuestState.COMPLETE;
                }
            }
            return(true);
        }
コード例 #8
0
        public bool Check_26(Mem_quest targetQuest)
        {
            if (this.type != QuestKousyou.KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> counter = base.isAddCounter(targetQuest.Rid, this.checkData);
            Mem_ship      flagShip        = this.getFlagShip(1);
            Mem_ship      arg_3D_0        = flagShip;
            HashSet <int> hashSet         = new HashSet <int>();

            hashSet.Add(96);
            Dictionary <int, int> mstSlotItemNum_OrderId = arg_3D_0.GetMstSlotItemNum_OrderId(hashSet);

            if (mstSlotItemNum_OrderId.get_Item(96) == 0)
            {
                return(false);
            }
            int num = Enumerable.Count <Mst_slotitem>(this.destroyItems, (Mst_slotitem x) => x.Id == 21);

            for (int i = 0; i < num; i++)
            {
                base.addCounterIncrementAll(counter);
            }
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #9
0
        public bool Check_26(Mem_quest targetQuest)
        {
            if (type != KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);
            Mem_ship flagShip             = getFlagShip(1);
            Dictionary <int, int> mstSlotItemNum_OrderId = flagShip.GetMstSlotItemNum_OrderId(new HashSet <int>
            {
                96
            });

            if (mstSlotItemNum_OrderId[96] == 0)
            {
                return(false);
            }
            int num = destroyItems.Count((Mst_slotitem x) => x.Id == 21);

            for (int i = 0; i < num; i++)
            {
                addCounterIncrementAll(counter);
            }
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #10
0
        public bool Check_22(Mem_quest targetQuest)
        {
            if (this.type != QuestKousyou.KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> counter = base.isAddCounter(targetQuest.Rid, this.checkData);
            Mem_ship flagShip             = this.getFlagShip(1);
            string   yomi = Mst_DataManager.Instance.Mst_ship.get_Item(flagShip.Ship_id).Yomi;

            if (!yomi.Equals("しょうかく"))
            {
                return(false);
            }
            Mem_ship      arg_6D_0 = flagShip;
            HashSet <int> hashSet  = new HashSet <int>();

            hashSet.Add(143);
            Dictionary <int, int> mstSlotItemNum_OrderId = arg_6D_0.GetMstSlotItemNum_OrderId(hashSet);

            if (mstSlotItemNum_OrderId.get_Item(143) == 0)
            {
                return(false);
            }
            int num = Enumerable.Count <Mst_slotitem>(this.destroyItems, (Mst_slotitem x) => x.Id == 17);

            for (int i = 0; i < num; i++)
            {
                base.addCounterIncrementAll(counter);
            }
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #11
0
 public void InitQuest(IQuestOperator instance, List <Mst_quest> mst_quset)
 {
     if (User_quest.Count == 0 && instance != null)
     {
         User_quest = Mem_quest.GetData(mst_quset);
     }
 }
コード例 #12
0
        public bool Check_11(Mem_quest targetQuest)
        {
            if (deckPracticeResult == null)
            {
                return(false);
            }
            if (deckPrackType != DeckPracticeType.Normal && deckPrackType != DeckPracticeType.Rai)
            {
                return(false);
            }
            Dictionary <int, int> dictionary = isAddCounter(targetQuest.Rid, checkData);
            int value  = (deckPrackType == DeckPracticeType.Normal) ? 1 : 0;
            int value2 = (deckPrackType == DeckPracticeType.Rai) ? 1 : 0;

            if (dictionary.ContainsKey(3001))
            {
                dictionary[3001] = value;
            }
            if (dictionary.ContainsKey(3003))
            {
                dictionary[3003] = value2;
            }
            addCounter(dictionary);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #13
0
 public void InitQuest(IQuestOperator instance, List <Mst_quest> mst_quset)
 {
     if (this.User_quest.get_Count() != 0 || instance == null)
     {
         return;
     }
     this.User_quest = Mem_quest.GetData(mst_quset);
 }
コード例 #14
0
        public bool Check_28(Mem_quest targetQuest)
        {
            if (type != KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> dictionary = isAddCounter(targetQuest.Rid, checkData);
            Mem_ship flagShip = getFlagShip(1);
            Dictionary <int, List <int> > slotIndexFromId = flagShip.GetSlotIndexFromId(new HashSet <int>
            {
                79
            });

            if (slotIndexFromId[79].Count == 0)
            {
                return(false);
            }
            bool flag = false;

            foreach (int item in slotIndexFromId[79])
            {
                if (Comm_UserDatas.Instance.User_slot[flagShip.Slot[item]].IsMaxSkillLevel())
                {
                    flag = true;
                }
            }
            if (!flag)
            {
                return(false);
            }
            int num  = 0;
            int num2 = 0;

            foreach (Mst_slotitem destroyItem in destroyItems)
            {
                if (destroyItem.Id == 80)
                {
                    num++;
                }
                if (destroyItem.Id == 26)
                {
                    num2++;
                }
            }
            if (dictionary.ContainsKey(6811))
            {
                dictionary[6811] = num;
            }
            if (dictionary.ContainsKey(6812))
            {
                dictionary[6812] = num2;
            }
            addCounter(dictionary);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #15
0
        public bool Check_01(Mem_quest targetQuest)
        {
            if (type != KousyouKind.CreateShip)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);

            addCounterIncrementAll(counter);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #16
0
        public bool Check_04(Mem_quest targetQuest)
        {
            if (this.type != 2)
            {
                return(false);
            }
            Dictionary <int, int> counter = base.isAddCounter(targetQuest.Rid, this.checkData);

            base.addCounterIncrementAll(counter);
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #17
0
        public QuestHensei(int questId)
        {
            checkData = new List <Mem_quest>();
            Mem_quest mem_quest = Comm_UserDatas.Instance.User_quest[questId];

            if (mem_quest.State == QuestState.RUNNING)
            {
                checkData.Add(mem_quest);
            }
            Init();
        }
コード例 #18
0
        public bool Check_19(Mem_quest targetQuest)
        {
            if (this.type != QuestKousyou.KousyouKind.RemodelSlot)
            {
                return(false);
            }
            Dictionary <int, int> counter = base.isAddCounter(targetQuest.Rid, this.checkData);

            base.addCounterIncrementAll(counter);
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #19
0
        public bool Check_17(Mem_quest targetQuest)
        {
            if (battleResult == null)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);

            addCounterIncrementAll(counter);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #20
0
        private void QuestReset()
        {
            List <int>    reset_type         = null;
            HashSet <int> reset_counter_type = null;

            setResetType(out reset_type, out reset_counter_type);
            foreach (Mst_quest value4 in mst_quest.Values)
            {
                if (value4.Type != 1)
                {
                    Mem_quest value = null;
                    if (Comm_UserDatas.Instance.User_quest.TryGetValue(value4.Id, out value) && value.State != 0 && reset_type.Contains(value4.Type))
                    {
                        if (value4.Torigger == 0)
                        {
                            value.StateChange(this, QuestState.WAITING_START);
                        }
                        else
                        {
                            Mst_quest value2 = null;
                            if (!mst_quest.TryGetValue(value4.Torigger, out value2))
                            {
                                value.StateChange(this, QuestState.NOT_DISP);
                            }
                            else if (value2.Type != 1)
                            {
                                value.StateChange(this, QuestState.NOT_DISP);
                            }
                            else
                            {
                                value.StateChange(this, QuestState.WAITING_START);
                            }
                        }
                    }
                }
            }
            foreach (int item in reset_counter_type)
            {
                List <int> list = mst_quest_reset[item];
                foreach (int item2 in list)
                {
                    Mem_questcount value3 = null;
                    if (Comm_UserDatas.Instance.User_questcount.TryGetValue(item2, out value3))
                    {
                        value3.Reset(deleteFlag: true);
                    }
                }
            }
        }
コード例 #21
0
        private void SetEnableList()
        {
            if (mst_quest.Keys.Count() != Comm_UserDatas.Instance.User_quest.Keys.Count())
            {
                IEnumerable <int> enumerable = mst_quest.Keys.Except(Comm_UserDatas.Instance.User_quest.Keys);
                foreach (int item in enumerable)
                {
                    int       category  = mst_quest[item].Category;
                    Mem_quest mem_quest = new Mem_quest(item, category, QuestState.NOT_DISP);
                    Comm_UserDatas.Instance.User_quest.Add(mem_quest.Rid, mem_quest);
                }
            }
            int num = Comm_UserDatas.Instance.User_turn.GetDateTime().Day % 10;

            foreach (Mem_quest value3 in Comm_UserDatas.Instance.User_quest.Values)
            {
                if (mst_quest[value3.Rid].Type == 4 && num != 0 && num != 3 && num != 7)
                {
                    value3.StateChange(this, QuestState.NOT_DISP);
                }
                else if (mst_quest[value3.Rid].Type == 5 && num != 2 && num != 8)
                {
                    value3.StateChange(this, QuestState.NOT_DISP);
                }
                else if (value3.State == QuestState.NOT_DISP && specialToriggerCheck(mst_quest[value3.Rid]))
                {
                    if (mst_quest[value3.Rid].Sub_torigger != 0)
                    {
                        Mem_quest value = null;
                        if (!Comm_UserDatas.Instance.User_quest.TryGetValue(mst_quest[value3.Rid].Sub_torigger, out value) || value.State != QuestState.END)
                        {
                            continue;
                        }
                    }
                    Mem_quest value2 = null;
                    if (!Comm_UserDatas.Instance.User_quest.TryGetValue(mst_quest[value3.Rid].Torigger, out value2))
                    {
                        if (mst_quest[value3.Rid].Torigger == 0)
                        {
                            value3.StateChange(this, QuestState.WAITING_START);
                        }
                    }
                    else if (value2.State == QuestState.END)
                    {
                        value3.StateChange(this, QuestState.WAITING_START);
                    }
                }
            }
        }
コード例 #22
0
        public bool Check_03(Mem_quest targetQuest)
        {
            if (missionDeck == null)
            {
                return(false);
            }
            if (missionResult == MissionResultKinds.FAILE)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);

            addCounterIncrementAll(counter);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #23
0
        public bool Check_24(Mem_quest targetQuest)
        {
            if (this.type != QuestKousyou.KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> counter = base.isAddCounter(targetQuest.Rid, this.checkData);
            int count = this.destroyItems.get_Count();

            for (int i = 0; i < count; i++)
            {
                base.addCounterIncrementAll(counter);
            }
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #24
0
        public bool Check_24(Mem_quest targetQuest)
        {
            if (type != KousyouKind.DestroyItem)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);
            int count = destroyItems.Count;

            for (int i = 0; i < count; i++)
            {
                addCounterIncrementAll(counter);
            }
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #25
0
        public bool Debug_CompleteToRunningChange(int no)
        {
            Mem_quest value = null;

            if (!Comm_UserDatas.Instance.User_quest.TryGetValue(no, out value))
            {
                return(false);
            }
            if (value.State != QuestState.COMPLETE)
            {
                return(false);
            }
            value.StateChange(this, QuestState.RUNNING);
            return(true);
        }
コード例 #26
0
        public bool Check_03(Mem_quest targetQuest)
        {
            if (deckPracticeResult == null)
            {
                return(false);
            }
            if (deckPrackType != DeckPracticeType.Rai)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);

            addCounterIncrementAll(counter);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #27
0
        public bool Check_02(Mem_quest targetQuest)
        {
            if (this.deckPracticeResult == null)
            {
                return(false);
            }
            if (this.deckPrackType != DeckPracticeType.Hou)
            {
                return(false);
            }
            Dictionary <int, int> counter = base.isAddCounter(targetQuest.Rid, this.checkData);

            base.addCounterIncrementAll(counter);
            return(base.CheckClearCounter(targetQuest.Rid));
        }
コード例 #28
0
        public bool Check_04(Mem_quest targetQuest)
        {
            if (type != 1)
            {
                return(false);
            }
            if (!powerUpFlag)
            {
                return(false);
            }
            Dictionary <int, int> counter = isAddCounter(targetQuest.Rid, checkData);

            addCounterIncrementAll(counter);
            return(CheckClearCounter(targetQuest.Rid));
        }
コード例 #29
0
 public bool Check_19(Mem_quest targetQuest)
 {
     if (missionDeck == null)
     {
         return(false);
     }
     if (missionResult == MissionResultKinds.FAILE)
     {
         return(false);
     }
     if (missionId != 6)
     {
         return(false);
     }
     return(true);
 }
コード例 #30
0
        public bool Stop(User_QuestFmt fmt)
        {
            Mem_quest value = null;

            if (!Comm_UserDatas.Instance.User_quest.TryGetValue(fmt.No, out value))
            {
                return(false);
            }
            if (value.State != QuestState.RUNNING)
            {
                return(false);
            }
            value.StateChange(this, QuestState.WAITING_START);
            fmt.State = value.State;
            return(true);
        }