Example #1
0
 private void resetBattleRequest()
 {
     m_QuestBuild          = null;
     m_EnemyPartyIndex     = 0;
     m_NextChainPartyIndex = 0;
     m_NextChainTurnOffset = 0;
 }
    public int checkBoosBattleCount()
    {
        int ret = 1;

        ServerDataDefine.PacketStructQuest2Build build = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild;
        int boss_index = build.boss[1];

        while (build.list_battle[boss_index].chain != 0)
        {
            ++ret;
            boss_index = build.list_battle[boss_index].chain;
        }

        return(ret);
    }
Example #3
0
    public static bool BattleInitialize(BattleReq cBattleReq, SceneModeContinuousBattle continuous_battle)
    {
        initBattleParam(continuous_battle);

        m_BattleRequest = cBattleReq;
        if (cBattleReq != null)
        {
            m_QuestBuild = cBattleReq.m_QuestBuild;
        }
        else
        {
            m_QuestBuild = null;
        }

        m_EnemyToPlayerTarget = GlobalDefine.PartyCharaIndex.ERROR;
        return(BattleSceneManager.Instance.PRIVATE_FIELD.BattleInitialize());
    }
Example #4
0
 /// <summary>
 /// 変数の内容を初期化(クエスト終了時に初期化しておく)
 /// </summary>
 public static void clearValues()
 {
     m_QuestAreaID    = 0;
     m_QuestMissionID = 0;
     m_PlayerParty    = null;
     m_MasterDataCache.clearCachePlayerAll();
     m_MasterDataCache.clearCacheEnemyAll();
     m_QuestFloor  = 0;
     m_AcquireKey  = false;
     m_LBSCharaIdx = GlobalDefine.PartyCharaIndex.ERROR;
     m_SkillRequestLimitBreak.clearRequest();
     m_QuestTotalTurn              = 0;
     m_BattleRequest               = null;
     m_QuestBuild                  = null;
     m_EnemyParam                  = null;
     m_TargetEnemyCurrent          = InGameDefine.SELECT_NONE;
     m_TargetEnemyWindow           = InGameDefine.SELECT_NONE;
     m_PlayScoreInfo               = null;
     m_AchievementTotalingInBattle = null;
     m_IsKobetsuHP                 = true;
     m_BattleRound                 = 0;
     m_QuestRandSeed               = 0;
     for (int idx = 0; idx < m_PartyMemberHands.Length; idx++)
     {
         m_PartyMemberHands[idx] = 0;
     }
     for (int idx = 0; idx < m_FieldSkillCounts.Length; idx++)
     {
         m_FieldSkillCounts[idx] = 0;
     }
     for (int skill_idx = 0; skill_idx < m_FormedSkillCounts.GetLength(0); skill_idx++)
     {
         for (int member_idx = 0; member_idx < m_FormedSkillCounts.GetLength(1); member_idx++)
         {
             m_FormedSkillCounts[skill_idx, member_idx] = 0;
         }
     }
     m_EnemyToPlayerTarget = GlobalDefine.PartyCharaIndex.ERROR;
     m_AutoPlayState       = AutoPlayState.OFF;
     m_IsUsedAutoPlay      = false;
 }
Example #5
0
    private bool createBattleRequest()
    {
        if (m_QuestBuild != null)
        {
            if (m_NextChainPartyIndex != 0)
            {
                //敵進化あり
                BattleParam.m_BattleRequest = new BattleReq();
                ServerDataDefine.PacketStructQuest2BuildBattle battle_param = InGameUtil.GetQuest2BuildBattle(m_QuestBuild, m_NextChainPartyIndex);

                BattleParam.m_BattleRequest.SetupBattleReq(0,
                                                           false,
                                                           m_NextChainTurnOffset,
                                                           false,
                                                           true,
                                                           m_QuestBuild,
                                                           battle_param);

                m_NextChainPartyIndex = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain;
                m_NextChainTurnOffset = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain_turn_offset;
            }
            else
            {
                m_QuestBuild = null;
                m_EnemyPartyIndex++;
            }
        }

        if (m_QuestBuild == null && m_EnemyPartyIndex < m_EnemyPartyIDs.Length)
        {
            TemplateList <ServerDataDefine.PacketStructQuest2BuildBattle> acQuestBuildBattle = new TemplateList <ServerDataDefine.PacketStructQuest2BuildBattle>();
            TemplateList <ServerDataDefine.PacketStructQuest2BuildDrop>   acQuestBuildDrop   = new TemplateList <ServerDataDefine.PacketStructQuest2BuildDrop>();
            acQuestBuildBattle.Alloc(64);

            MasterDataEnemyGroup enemy_group = BattleParam.m_MasterDataCache.useEnemyGroup((uint)m_EnemyPartyIDs[m_EnemyPartyIndex]);

            int battle_id = CreateQuestBuildBattle(0, ref acQuestBuildBattle, ref acQuestBuildDrop, enemy_group);

            // 敵情報.
            m_QuestBuild             = new ServerDataDefine.PacketStructQuest2Build();
            m_QuestBuild.list_drop   = acQuestBuildDrop.ToArray();
            m_QuestBuild.list_battle = acQuestBuildBattle.ToArray();

            // ヘイト情報付加
            for (int idx = 0; idx < m_QuestBuild.list_battle.Length; idx++)
            {
                ServerDataDefine.PacketStructQuest2BuildBattle battle_build = m_QuestBuild.list_battle[idx];
                if (battle_build != null)
                {
                    battle_build.hate = new ServerDataDefine.PacketStructQuest2Hate();
                    battle_build.hate.hate_initial       = 1000;
                    battle_build.hate.hate_given_damage1 = 1000;
                    battle_build.hate.hate_given_damage2 = 800;
                    battle_build.hate.hate_given_damage3 = 600;
                    battle_build.hate.hate_given_damage4 = 400;
                    battle_build.hate.hate_given_damage5 = 200;
                    battle_build.hate.hate_heal1         = 500;
                    battle_build.hate.hate_heal2         = 400;
                    battle_build.hate.hate_heal3         = 300;
                    battle_build.hate.hate_heal4         = 200;
                    battle_build.hate.hate_heal5         = 100;
                    battle_build.hate.hate_rate_fire     = 100;
                    battle_build.hate.hate_rate_water    = 100;
                    battle_build.hate.hate_rate_wind     = 100;
                    battle_build.hate.hate_rate_light    = 100;
                    battle_build.hate.hate_rate_dark     = 100;
                    battle_build.hate.hate_rate_naught   = 100;

                    battle_build.hate.hate_rate_race1  = 100;
                    battle_build.hate.hate_rate_race2  = 100;
                    battle_build.hate.hate_rate_race3  = 100;
                    battle_build.hate.hate_rate_race4  = 100;
                    battle_build.hate.hate_rate_race5  = 100;
                    battle_build.hate.hate_rate_race6  = 100;
                    battle_build.hate.hate_rate_race7  = 100;
                    battle_build.hate.hate_rate_race8  = 100;
                    battle_build.hate.hate_rate_race9  = 100;
                    battle_build.hate.hate_rate_race10 = 100;
                }
            }

            ServerDataDefine.PacketStructQuest2BuildBattle battle_param = InGameUtil.GetQuest2BuildBattle(m_QuestBuild, battle_id);

            BattleParam.m_BattleRequest = new BattleReq();
            BattleParam.m_BattleRequest.SetupBattleReq(0,
                                                       false,
                                                       0,
                                                       false,
                                                       false,
                                                       m_QuestBuild,
                                                       battle_param);

            m_NextChainPartyIndex = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain;
            m_NextChainTurnOffset = BattleParam.m_BattleRequest.m_QuestBuildBattle.chain_turn_offset;
        }

        return(m_QuestBuild != null);
    }
Example #6
0
    public static void QuestInitialize(SceneModeContinuousBattle continuous_battle)
    {
        if (SceneGoesParam.HasInstance &&
            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build != null &&
            SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild != null)
        {
            m_QuestBuild = SceneGoesParam.Instance.m_SceneGoesParamToQuest2Build.m_QuestBuild;
        }

        loadBattlePrefab();

        m_AchievementTotalingInBattle = new AchievementTotalingInBattle();
        m_AchievementTotalingInBattle.initQuset();

        initBattleParam(continuous_battle);

        for (int idx = 0; idx < m_PlayerParty.getPartyMemberMaxCount(); idx++)
        {
            CharaOnce chara_once = m_PlayerParty.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST);
            if (chara_once != null)
            {
                chara_once.m_PartyCharaIndex = (GlobalDefine.PartyCharaIndex)idx;
            }
        }

        // プレイスコア
        m_PlayScoreInfo = new ServerDataDefine.PlayScoreInfo();
#if false //v5.1.0ではプレイスコアの機能を無効にする
        {
            // クエストスコア補正値
            int quest_base_score      = 0;
            int quest_play_score_rate = 0;

            MasterDataQuest2 master_data_quest = MasterDataUtil.GetQuest2ParamFromID(continuous_battle.m_QuestMissionID);

            // プレイスコア計算対象クエストかどうかを調べる
            if (master_data_quest != null)
            {
                uint quest_score_fix_id = master_data_quest.quest_score_id;
                MasterDataRenewQuestScore master_data_quest_score = MasterFinder <MasterDataRenewQuestScore> .Instance.Find((int)quest_score_fix_id);

                if (master_data_quest_score != null)
                {
                    quest_base_score      = master_data_quest_score.base_score;
                    quest_play_score_rate = master_data_quest_score.play_score_rate;
                }

                if (quest_play_score_rate > 0)
                {
                    if (master_data_quest.consume_type == 1)
                    {
                        if (master_data_quest.consume_value > 0)
                        {
                            m_PlayScoreInfo.setPlayScoreQuestFlag(true);
                        }
                    }
                }
            }

            // 中断復帰していない時だけ有効(なので中断復帰用のローカル保存もしていない)
            if (getRestoreData() == null &&
                m_PlayScoreInfo.isPlayScoreQuest()
                )
            {
                // プレイスコア設定値取得
                MasterDataPlayScore[] master_data_play_score_array = MasterFinder <MasterDataPlayScore> .Instance.GetAll();

                if (master_data_play_score_array.IsNullOrEmpty() == false &&
                    quest_base_score > 0 &&
                    quest_play_score_rate > 0
                    )
                {
                    m_PlayScoreInfo.init(master_data_play_score_array, quest_base_score, quest_play_score_rate);
                }
            }
        }
#endif

        BattleParam.m_MasterDataCache.CachePlayerMasterData(BattleParam.m_PlayerParty);
        BattleSceneManager.Instance.setShowHandAreaAlways(true);

        BattleSceneManager.Instance.PRIVATE_FIELD.QuestInitialize();

        return;
    }