Example #1
0
    public static void outputPlayerParty(CharaParty chara_party)
    {
        for (int idx = 0; idx < chara_party.getPartyMemberMaxCount(); idx++)
        {
            CharaOnce chara_once = chara_party.getPartyMember((GlobalDefine.PartyCharaIndex)idx, CharaParty.CharaCondition.EXIST);
            if (chara_once != null)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "プレイヤー情報(" + ((GlobalDefine.PartyCharaIndex)idx).ToString() + ")"
                                         + " FixID:" + chara_once.m_CharaMasterDataParam.fix_id.ToString()
                                         + " DrawID:" + chara_once.m_CharaMasterDataParam.draw_id.ToString()
                                         + " LV:" + chara_once.m_CharaLevel.ToString()
                                         + " 属性:" + chara_once.m_CharaMasterDataParam.element.ToString()
                                         + " 種族1:" + chara_once.m_CharaMasterDataParam.kind.ToString()
                                         + " 種族2:" + chara_once.m_CharaMasterDataParam.sub_kind.ToString()
                                         + " [" + chara_once.m_CharaMasterDataParam.name.ToString() + "]"
                                         );
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "  "
                                         + " HP:" + chara_party.m_HPCurrent.getValue((GlobalDefine.PartyCharaIndex)idx).ToString() + "/" + chara_party.m_HPMax.getValue((GlobalDefine.PartyCharaIndex)idx).ToString()
                                         + " SkillTurn:" + chara_once.GetTrunToLimitBreak().ToString() + "/" + chara_once.GetMaxTurn().ToString()
                                         + " Hate:" + chara_party.m_Hate.getValue((GlobalDefine.PartyCharaIndex)idx).ToString()
                                         );

                // 状態変化
                StatusAilmentChara ailment = chara_party.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx);
                outputAilment(ailment);
            }
        }
    }
Example #2
0
    // Use this for initialization
    void Start()
    {
#if BUILD_TYPE_DEBUG
        BattleParam.m_IsUseDebugJsonMasterData = m_UseJsonMasterData;
#endif
        if (BattleSceneManager.Instance != null)
        {
            BattleSceneManager.Instance.setBattleScenePhase(BattleSceneManager.BattleScenePhase.NOT_BATTLE);
        }

        DebugBattleLog.setEnable(true);

        BattleSceneManager.Instance.PRIVATE_FIELD.CreateBattleGameObject();
    }
Example #3
0
    public static void outputAilmentChara(StatusAilmentChara chara_ailment, string text)
    {
        if (chara_ailment == null)
        {
            return;
        }

        string owner_chara_name = null;

        if (BattleParam.m_PlayerParty != null)
        {
            for (int idx = 0; idx < BattleParam.m_PlayerParty.getPartyMemberMaxCount(); idx++)
            {
                StatusAilmentChara work_ailment = BattleParam.m_PlayerParty.m_Ailments.getAilment((GlobalDefine.PartyCharaIndex)idx);
                if (work_ailment == chara_ailment)
                {
                    owner_chara_name = ((GlobalDefine.PartyCharaIndex)idx).ToString();
                    break;
                }
            }
        }

        if (owner_chara_name == null &&
            BattleParam.m_EnemyParam != null
            )
        {
            for (int idx = 0; idx < BattleParam.m_EnemyParam.Length; idx++)
            {
                if (BattleParam.m_EnemyParam[idx].m_StatusAilmentChara == chara_ailment)
                {
                    owner_chara_name = "敵" + idx.ToString();
                    break;
                }
            }
        }

        if (owner_chara_name == null)
        {
            owner_chara_name = "";
        }

        DebugBattleLog.writeText(DebugBattleLog.StrOpe + owner_chara_name + text);
    }
Example #4
0
    public static void outputEnemyParty(BattleEnemy[] enemy_party)
    {
        for (int idx_enemy = 0; idx_enemy < enemy_party.Length; idx_enemy++)
        {
            BattleEnemy battle_enemy = enemy_party[idx_enemy];
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "敵情報(" + idx_enemy.ToString() + ")"
                                     + " EnemyFixID:" + battle_enemy.getMasterDataParamEnemy().fix_id.ToString()
                                     + " CharaFixID:" + battle_enemy.getMasterDataParamChara().fix_id.ToString()
                                     + " 属性:" + battle_enemy.getMasterDataParamChara().element.ToString()
                                     + " 種族1:" + battle_enemy.getMasterDataParamChara().kind.ToString()
                                     + " 種族2:" + battle_enemy.getMasterDataParamChara().sub_kind.ToString()
                                     + " [" + battle_enemy.getMasterDataParamChara().name + "]"
                                     );

            uint[] enemy_abilitys = battle_enemy.getEnemyAbilitys();
            for (int idx_ability = 0; idx_ability < enemy_abilitys.Length; idx_ability++)
            {
                uint ability_fix_id = enemy_abilitys[idx_ability];
                if (ability_fix_id != 0)
                {
                    string ability_name = "";
                    MasterDataEnemyAbility ability_master = BattleParam.m_MasterDataCache.useEnemyAbility(ability_fix_id);
                    if (ability_master != null)
                    {
                        ability_name = ability_master.name;
                    }
                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + "     特性" + (idx_ability + 1).ToString()
                                             + "(FixId:" + ability_fix_id.ToString() + "):"
                                             + ability_name
                                             );
                }
            }

            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "  "
                                     + " HP:" + battle_enemy.m_EnemyHP.ToString() + "/" + battle_enemy.m_EnemyHPMax.ToString()
                                     + " SkillTurn:" + battle_enemy.m_EnemyTurn.ToString() + "/" + battle_enemy.m_EnemyTurnMax.ToString()
                                     );

            // 状態変化
            StatusAilmentChara ailment = battle_enemy.m_StatusAilmentChara;
            outputAilment(ailment);
        }
    }
Example #5
0
    public static void outputAilment(StatusAilmentChara chara_ailment)
    {
        for (int idx = 0; idx < chara_ailment.cAilment.Length; idx++)
        {
            StatusAilment ailment = chara_ailment.cAilment[idx];
            if (ailment != null &&
                ailment.bUsed
                )
            {
                MasterDataStatusAilmentParam ailment_master = BattleParam.m_MasterDataCache.useAilmentParam((uint)ailment.nMasterDataStatusAilmentID);

                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "  状態変化"
                                         + " FixID:" + ailment.nMasterDataStatusAilmentID.ToString()
                                         + " 効果種類:" + ailment.nType.ToString()
                                         + " 残ターン数:" + ailment.nLife
                                         + " 発動者ATK:" + ailment.nBaseAtk
                                         + " 受動者HP:" + ailment.nBaseHPMax
                                         + ((ailment_master != null) ? " 効果値(割合):" + ailment_master.Get_VALUE_RATE() : "")
                                         + ((ailment_master != null) ? " 効果値(固定):" + ailment_master.Get_VALUE_FIX() : "")
                                         + " [" + ((ailment_master != null) ? ailment_master.name : "") + "]"
                                         );
            }
        }
    }
Example #6
0
 public void OnPushButtonDebugLogClear()
 {
     DebugBattleLog.clearLog();
 }
Example #7
0
 public void OnPushButtonDebugLog()
 {
     // クリップボードへコピー
     DebugBattleLog.exportLog();
 }
Example #8
0
    /// <summary>
    /// ヒーロースキルのスキルアクティビティを取得
    /// </summary>
    /// <returns></returns>
    public BattleSkillActivity getHeroSkillActivity()
    {
        //--------------------------------
        //	追加効果の有無
        //--------------------------------
        uint hero_skill_id = HERO_SKILL_ATK_ONLY_ID;

        if (BattleSceneUtil.checkChancePercentSkill(getAdditionalEffectPercent()))
        {
            hero_skill_id = HERO_SKILL_ID;
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "主人公スキル追加効果:あり(追加効果発動確率:" + getAdditionalEffectPercent().ToString() + "%)");
        }
        else
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "主人公スキル追加効果:なし(追加効果発動確率:" + getAdditionalEffectPercent().ToString() + "%)");
        }

        MasterDataSkillLimitBreak param = BattleParam.m_MasterDataCache.useSkillLimitBreak(hero_skill_id);

        if (param == null)
        {
            return(null);
        }

        //--------------------------------
        //	スキル発動情報
        //--------------------------------
        BattleSkillActivity activity = new BattleSkillActivity();

        activity.m_SkillParamOwnerNum = GlobalDefine.PartyCharaIndex.HERO;
        activity.m_SkillParamFieldID  = InGameDefine.SELECT_NONE;
        activity.m_SkillParamSkillID  = hero_skill_id;
        activity.m_Effect             = param.skill_effect;
        activity.m_Type      = param.skill_type;
        activity.m_Element   = param.skill_elem;
        activity.m_SkillType = ESKILLTYPE.eLIMITBREAK;
        activity.m_Category_SkillCategory_PROPERTY = param.skill_cate;
        activity.m_SkillParamTarget = null;


        activity.m_skill_power         = param.skill_power;
        activity.m_skill_power_fix     = param.skill_power_fix;
        activity.m_skill_power_hp_rate = param.skill_power_hp_rate;

        activity.m_skill_absorb       = param.skill_absorb;
        activity.m_skill_kickback     = param.skill_kickback;
        activity.m_skill_kickback_fix = param.skill_kickback_fix;

        activity.m_skill_chk_atk_affinity = param.skill_chk_atk_affinity;
        activity.m_skill_chk_atk_leader   = param.skill_chk_atk_leader;
        activity.m_skill_chk_atk_passive  = param.skill_chk_atk_passive;
        activity.m_skill_chk_atk_ailment  = param.skill_chk_atk_ailment;
        activity.m_skill_chk_atk_combo    = MasterDataDefineLabel.BoolType.DISABLE;         // コンボレートはのらない

        activity.m_skill_chk_def_defence = param.skill_chk_def_defence;
        activity.m_skill_chk_def_ailment = param.skill_chk_def_ailment;
        activity.m_skill_chk_def_barrier = param.skill_chk_def_barrier;

        activity.m_statusAilment_target = param.status_ailment_target;
        activity.m_statusAilment        = new int[] { param.status_ailment1,
                                                      param.status_ailment2,
                                                      param.status_ailment3,
                                                      param.status_ailment4 };

        activity._setParam(param);

        return(activity);
    }
Example #9
0
    //----------------------------------------------------------------------------
    /*!
		@brief	キャラ情報セットアップ:マスターデータ指定
		@param	MasterDataParamChara	cMasterData		キャラマスター
		@param	int						nLevel			キャラレベル
		@param	int						lbsLv			リミットブレイクスキルレベル
		@param	int						nPlusPow		プラス値:攻撃
		@param	int						nPlusHP			プラス値:体力
		@param	int						nLOLevel		プラス値:限界突破値
		@note
	*/
    //----------------------------------------------------------------------------
    public bool CharaSetupFromParam(MasterDataParamChara cMasterData, int nLevel, int lbsLv, int nPlusPow, int nPlusHP, int nLOLevel)
    {
        m_CharaMasterDataParam = cMasterData;
        m_bHasCharaMasterDataParam = (null != m_CharaMasterDataParam);

        if (m_CharaMasterDataParam == null)
        {
            Debug.LogError("CharaSetup Error! - InstanceNone!! ");
            return false;
        }

        // @change Developer 2015/09/03 ver300
        #region ==== 通常処理 ====
        int nPlusValuePow = 0;
        int nPlusValueHP = 0;

        m_CharaLevel = nLevel;
        m_CharaLBSLv = lbsLv;

        float fLimitOverHP = 0;
        float fLimitOverATK = 0;

        #region ==== スキルレベルまるめ処理 ====
        MasterDataSkillLimitBreak cSkillLimitBreak = BattleParam.m_MasterDataCache.useSkillLimitBreak(cMasterData.skill_limitbreak);
        if (cSkillLimitBreak != null)
        {
            if (lbsLv > cSkillLimitBreak.level_max)
            {
                m_CharaLBSLv = cSkillLimitBreak.level_max;
            }
        }
        #endregion

        #region ==== リミットオーバーまるめ処理 ====
        MasterDataLimitOver _masterMainLO = MasterFinder<MasterDataLimitOver>.Instance.Find((int)cMasterData.limit_over_type);
        if (_masterMainLO != null)
        {
            if (nLOLevel > _masterMainLO.limit_over_max)
            {
                nLOLevel = _masterMainLO.limit_over_max;
            }
        }
        #endregion

        m_CharaPow = CharaUtil.GetStatusValue(m_CharaMasterDataParam, nLevel, CharaUtil.VALUE.POW);
        m_CharaDef = CharaUtil.GetStatusValue(m_CharaMasterDataParam, nLevel, CharaUtil.VALUE.DEF);
        m_CharaHP = CharaUtil.GetStatusValue(m_CharaMasterDataParam, nLevel, CharaUtil.VALUE.HP);
        m_CharaLimitBreak = 0;
        m_CharaPlusPow = nPlusPow;
        m_CharaPlusDef = 0;
        m_CharaPlusHP = nPlusHP;
        m_CharaLimitOver = nLOLevel;
        m_CharaCharm = CharaLimitOver.GetParamCharm((uint)nLOLevel, cMasterData.limit_over_type);
        // レベルMAXなら限界突破の値を追加

        float fLimitOverAddHp = CharaLimitOver.GetParam((uint)nLOLevel, cMasterData.limit_over_type, (int)CharaLimitOver.EGET.ePARAM_HP);
        float fLimitOverAddAtk = CharaLimitOver.GetParam((uint)nLOLevel, cMasterData.limit_over_type, (int)CharaLimitOver.EGET.ePARAM_ATK);


        fLimitOverHP = m_CharaHP * (fLimitOverAddHp / 100);
        fLimitOverATK = m_CharaPow * (fLimitOverAddAtk / 100);

        // プラス値を算出
        nPlusValuePow = m_CharaPlusPow * GlobalDefine.PLUS_RATE_POW;
        nPlusValueHP = m_CharaPlusHP * GlobalDefine.PLUS_RATE_HP;
        #endregion

        // @add Developer 2015/09/03 ver300
        #region ==== リンクシステム処理 ====
        int nElemValuePow = 0;
        int nElemValueHP = 0;
        int nRaceValuePow = 0;
        int nRaceValueHP = 0;
        int nLinkPlusValuePow = 0;
        int nLinkPlusValueHP = 0;
        double nLinkCharm = 0;
        // リンク中の場合
        //MasterDataParamChara cLinkCharaMaster = BattleParam.m_MasterDataCache.useCharaParam(m_LinkParam.m_CharaID);
        MasterDataParamChara cLinkCharaMaster = m_LinkParam.m_cCharaMasterDataParam;
        if (cLinkCharaMaster != null)
        {
            float fWork = 0.0f;

            // 属性ボーナスを加算
            nElemValuePow = CharaLinkUtil.GetLinkUnitBonusElement(cLinkCharaMaster, m_LinkParam.m_CharaLv, (uint)m_LinkParam.m_CharaLOLevel, CharaUtil.VALUE.POW);
            nElemValueHP = CharaLinkUtil.GetLinkUnitBonusElement(cLinkCharaMaster, m_LinkParam.m_CharaLv, (uint)m_LinkParam.m_CharaLOLevel, CharaUtil.VALUE.HP);

            // 種族ボーナス:攻撃力の+%値を算出
            fWork = CharaLinkUtil.GetLinkUnitBonusRace(cLinkCharaMaster, cLinkCharaMaster.kind, CharaUtil.VALUE.POW);           // %値取得(メイン)
            fWork += CharaLinkUtil.GetLinkUnitBonusRace(cLinkCharaMaster, cLinkCharaMaster.sub_kind, CharaUtil.VALUE.POW);          // %値取得(サブ)
            fWork = InGameUtilBattle.GetDBRevisionValue(fWork);                                                                 // 数値変換
            nRaceValuePow = (int)InGameUtilBattle.AvoidErrorMultiple((float)m_CharaPow, fWork);                                         // 増加量

            // 種族ボーナス:体力の実値を取得
            nRaceValueHP = (int)CharaLinkUtil.GetLinkUnitBonusRace(cLinkCharaMaster, cLinkCharaMaster.kind, CharaUtil.VALUE.HP);        // 実値取得(メイン)
            nRaceValueHP += (int)CharaLinkUtil.GetLinkUnitBonusRace(cLinkCharaMaster, cLinkCharaMaster.sub_kind, CharaUtil.VALUE.HP);       // 実値取得(サブ)

            // +値の算出
            nLinkPlusValuePow = CharaLinkUtil.GetLinkUnitBonusPlus(m_LinkParam.m_CharaPlusPow, CharaUtil.VALUE.POW);
            nLinkPlusValueHP = CharaLinkUtil.GetLinkUnitBonusPlus(m_LinkParam.m_CharaPlusHP, CharaUtil.VALUE.HP);
            nLinkCharm = CharaLimitOver.GetParamCharm((uint)m_LinkParam.m_CharaLOLevel, cLinkCharaMaster.limit_over_type);
        }
        else
        {
            // リンク用変数の初期化
            m_LinkParam.Setup();
        }
        #endregion

#if BUILD_TYPE_DEBUG
        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "キャラ基本情報"
            + "[" + cMasterData.name + "]"
            + " FixID:" + cMasterData.fix_id
            + " DrawID:" + cMasterData.draw_id
            + " LV:" + m_CharaLevel.ToString()
            + " SkillLV:" + m_CharaLBSLv.ToString()
            + " LimOverLv:" + m_CharaLimitOver.ToString()
            + " PlusPow:" + m_CharaPlusPow.ToString()
            + " PlusHp:" + m_CharaPlusHP.ToString()
            + " 属性:" + cMasterData.element.ToString()
            + " 種族1:" + cMasterData.kind.ToString()
            + " 種族2:" + cMasterData.sub_kind.ToString()
        );

        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "  HP(" + (m_CharaHP + nPlusValueHP + nElemValueHP + nRaceValueHP + nLinkPlusValueHP + (int)fLimitOverHP).ToString() + ")"
            + " = LV(" + m_CharaHP.ToString() + ")"
            + " + PlusHP(" + nPlusValueHP.ToString() + ")"
            + " + LinkElem(" + nElemValueHP.ToString() + ")"
            + " + LinkRace(" + nRaceValueHP.ToString() + ")"
            + " + LinkPlus(" + nLinkPlusValueHP.ToString() + ")"
            + " + LimitOver(" + ((int)fLimitOverHP).ToString() + ")"
            );
        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "  POW(" + (m_CharaPow + nPlusValuePow + nElemValuePow + nRaceValuePow + nLinkPlusValuePow + (int)fLimitOverATK).ToString() + ")"
            + " = LV(" + m_CharaPow.ToString() + ")"
            + " + PlusPow(" + nPlusValuePow.ToString() + ")"
            + " + LinkElem(" + nElemValuePow.ToString() + ")"
            + " + LinkRace(" + nRaceValuePow.ToString() + ")"
            + " + LinkPlus(" + nLinkPlusValuePow.ToString() + ")"
            + " + LimitOver(" + ((int)fLimitOverATK).ToString() + ")"
            );

        const int ADD_SKILL_COUNT_LIMIT = 50;	// スキル連結数の上限

        if (cMasterData.skill_leader != 0)
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "   リーダースキル(fixid:" + cMasterData.skill_leader.ToString(), false);
            MasterDataSkillLeader master_data = BattleParam.m_MasterDataCache.useSkillLeader(cMasterData.skill_leader);
            if (master_data == null)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
            }
            else
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
            }
        }

        if (cMasterData.skill_limitbreak != 0)
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "   リミブレスキル(fixid:" + cMasterData.skill_limitbreak.ToString(), false);
            MasterDataSkillLimitBreak master_data = BattleParam.m_MasterDataCache.useSkillLimitBreak(cMasterData.skill_limitbreak);
            if (master_data == null)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
            }
            else
            {
                int loop_limit = ADD_SKILL_COUNT_LIMIT;
                int add_fix_id = master_data.add_fix_id;
                while (add_fix_id != 0)
                {
                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + "+" + add_fix_id.ToString(), false);
                    MasterDataSkillLimitBreak add_master_data = BattleParam.m_MasterDataCache.useSkillLimitBreak((uint)add_fix_id);
                    if (add_master_data == null)
                    {
                        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
                        break;
                    }

                    add_fix_id = add_master_data.add_fix_id;
                    loop_limit--;
                    if (loop_limit <= 0)
                    {
                        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(無限ループ))");
                    }
                }

                DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
            }
        }

        if (cMasterData.skill_active0 != 0)
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "   ノーマルスキル1(fixid:" + cMasterData.skill_active0.ToString(), false);
            MasterDataSkillActive master_data = BattleParam.m_MasterDataCache.useSkillActive(cMasterData.skill_active0);
            if (master_data == null)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
            }
            else
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
            }
        }

        if (cMasterData.skill_active1 != 0)
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "   ノーマルスキル2(fixid:" + cMasterData.skill_active1.ToString(), false);
            MasterDataSkillActive master_data = BattleParam.m_MasterDataCache.useSkillActive(cMasterData.skill_active1);
            if (master_data == null)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
            }
            else
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
            }
        }

        if (cMasterData.skill_passive != 0)
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "   パッシブスキル(fixid:" + cMasterData.skill_passive.ToString(), false);
            MasterDataSkillPassive master_data = BattleParam.m_MasterDataCache.useSkillPassive(cMasterData.skill_passive);
            if (master_data == null)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
            }
            else
            {
                int loop_limit = ADD_SKILL_COUNT_LIMIT;
                int add_fix_id = master_data.add_fix_id;
                while (add_fix_id != 0)
                {
                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + "+" + add_fix_id.ToString(), false);
                    MasterDataSkillPassive add_master_data = BattleParam.m_MasterDataCache.useSkillPassive((uint)add_fix_id);
                    if (add_master_data == null)
                    {
                        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
                        break;
                    }

                    add_fix_id = add_master_data.add_fix_id;
                    loop_limit--;
                    if (loop_limit <= 0)
                    {
                        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(無限ループ))");
                    }
                }

                DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
            }
        }

        if (cLinkCharaMaster != null)
        {
            DebugBattleLog.writeText(DebugBattleLog.StrOpe + " リンクキャラ"
                + "[" + cLinkCharaMaster.name + "]"
                + " FixID:" + cLinkCharaMaster.fix_id
                + " DrawID:" + cLinkCharaMaster.draw_id
                + " LV:" + m_LinkParam.m_CharaLv.ToString()
                + " LimOverLv:" + m_LinkParam.m_CharaLOLevel.ToString()
                + " PlusPow:" + m_LinkParam.m_CharaPlusPow.ToString()
                + " PlusHp:" + m_LinkParam.m_CharaPlusHP.ToString()
                + " LinkPoint:" + m_LinkParam.m_CharaLinkPoint.ToString()
            );

            if (cLinkCharaMaster.link_skill_active != 0)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "    リンクスキル(fixid:" + cLinkCharaMaster.link_skill_active.ToString(), false);
                MasterDataSkillActive master_data = BattleParam.m_MasterDataCache.useSkillActive(cLinkCharaMaster.link_skill_active);
                if (master_data == null)
                {
                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
                }
                else
                {
                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
                }
            }

            if (cLinkCharaMaster.link_skill_passive != 0)
            {
                DebugBattleLog.writeText(DebugBattleLog.StrOpe + "    リンクパッシブスキル(fixid:" + cLinkCharaMaster.link_skill_passive.ToString(), false);
                MasterDataSkillPassive master_data = BattleParam.m_MasterDataCache.useSkillPassive(cLinkCharaMaster.link_skill_passive);
                if (master_data == null)
                {
                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
                }
                else
                {
                    int loop_limit = ADD_SKILL_COUNT_LIMIT;
                    int add_fix_id = master_data.add_fix_id;
                    while (add_fix_id != 0)
                    {
                        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "+" + add_fix_id.ToString(), false);
                        MasterDataSkillPassive add_master_data = BattleParam.m_MasterDataCache.useSkillPassive((uint)add_fix_id);
                        if (add_master_data == null)
                        {
                            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(存在しないfix_id))");
                            break;
                        }

                        add_fix_id = add_master_data.add_fix_id;
                        loop_limit--;
                        if (loop_limit <= 0)
                        {
                            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "ERROR!(無限ループ))");
                        }
                    }

                    DebugBattleLog.writeText(DebugBattleLog.StrOpe + ")[" + master_data.name + "]" + master_data.detail);
                }
            }
        }
#endif //BUILD_TYPE_DEBUG


        // 攻撃力、体力の増加値を加算
        m_CharaPow += nPlusValuePow + nElemValuePow + nRaceValuePow + nLinkPlusValuePow + (int)fLimitOverATK;
        m_CharaHP += nPlusValueHP + nElemValueHP + nRaceValueHP + nLinkPlusValueHP + (int)fLimitOverHP;
        m_CharaCharm += nLinkCharm;

        if (m_CharaPow > GlobalDefine.VALUE_MAX_POW)
        {
            m_CharaPow = GlobalDefine.VALUE_MAX_POW;
        }

        if (m_CharaHP > GlobalDefine.VALUE_MAX_HP)
        {
            m_CharaHP = GlobalDefine.VALUE_MAX_HP;
        }

        return true;
    }
Example #10
0
    /// <summary>
    /// 敵にしゃべらせる
    /// </summary>
    /// <param name="enemyIndex"></param>
    /// <param name="enemyActionParam"></param>
    public void talk(int enemyIndex, MasterDataEnemyActionParam enemyActionParam)
    {
        if (enemyActionParam == null)
        {
            return;
        }

        //----------------------------------------
        //	エラーチェック
        //----------------------------------------
        if (enemyIndex < 0 ||
            enemyIndex >= BattleParam.m_EnemyParam.Length)
        {
            return;
        }

        string message = enemyActionParam.skill_name;

        if (message != null && message != "")
        {
            if (m_BossTalkArea != null && m_BossTalkAreaFrame != null && m_BossTalkAreaMessage != null)
            {
                TextMeshPro text_mesh = m_BossTalkAreaMessage.GetComponent <TextMeshPro>();
                text_mesh.text = message;

                // 行数を調べる
                int line_count  = 1;
                int start_index = 0;
                while (true)
                {
                    int idx = message.IndexOf('\n', start_index);
                    if (idx >= 0)
                    {
                        line_count++;
                        start_index = idx + 1;
                    }
                    else
                    {
                        break;
                    }
                }

                // 表示行数に合わせて下地のサイズを広げる
                const float FRAME_LINE_HEIGHT       = 0.66f;                    // 文字一行分の高さ
                const float FRAME_BORDER_HEIGHT     = 1.0f - FRAME_LINE_HEIGHT; // 下地枠の高さ
                float       talk_area_frame_y_scale = FRAME_BORDER_HEIGHT + FRAME_LINE_HEIGHT * line_count;
                m_BossTalkAreaFrame.transform.localScale = new Vector3(14.0f, talk_area_frame_y_scale, 1.0f);

                // 表示時間設定
                m_BossTalkTimer = enemyActionParam.wait_time / 1000.0f; // 表示時間(ミリ秒を秒へ変換)
                if (m_BossTalkTimer > 0.0f)
                {
                    if (m_BossTalkTimer < 0.3f)
                    {
                        // 短すぎる時間は設定ミスの可能性があるので一瞬だけ見えるようにする(何も見えないとバグに気付けない)
                        m_BossTalkTimer = 0.3f;
                    }
                }
                else
                {
                    const float TALK_TIME_DEFAULT = 1.5f;   // デフォルトの表示時間(1.5秒)
                    m_BossTalkTimer = TALK_TIME_DEFAULT;
                }

                m_BossTalkArea.SetActive(true);
            }

            playAnimation(enemyIndex, AnimationType.TALK);

            DebugBattleLog.writeText(DebugBattleLog.StrOpe + "敵行動:セリフ「" + message + "」");
        }
    }
Example #11
0
    public static void outputCard(BattleScene._BattleCardManager battle_card_manager)
    {
        // 場札
        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "場札");
        DebugBattleLog.writeText(DebugBattleLog.StrOpe +
                                 "  0左[" + battle_card_manager.m_FieldAreas.getFieldArea(0).getCardElement(0).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(0).getCardElement(1).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(0).getCardElement(2).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(0).getCardElement(3).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(0).getCardElement(4).ToString() + "]"
                                 + (BattleSceneManager.Instance.PRIVATE_FIELD.m_abBoostField[0] ? "(BOOST)" : "")
                                 );
        DebugBattleLog.writeText(DebugBattleLog.StrOpe +
                                 "  1 [" + battle_card_manager.m_FieldAreas.getFieldArea(1).getCardElement(0).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(1).getCardElement(1).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(1).getCardElement(2).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(1).getCardElement(3).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(1).getCardElement(4).ToString() + "]"
                                 + (BattleSceneManager.Instance.PRIVATE_FIELD.m_abBoostField[1] ? "(BOOST)" : "")
                                 );
        DebugBattleLog.writeText(DebugBattleLog.StrOpe +
                                 "  2中[" + battle_card_manager.m_FieldAreas.getFieldArea(2).getCardElement(0).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(2).getCardElement(1).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(2).getCardElement(2).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(2).getCardElement(3).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(2).getCardElement(4).ToString() + "]"
                                 + (BattleSceneManager.Instance.PRIVATE_FIELD.m_abBoostField[2] ? "(BOOST)" : "")
                                 );
        DebugBattleLog.writeText(DebugBattleLog.StrOpe +
                                 "  3 [" + battle_card_manager.m_FieldAreas.getFieldArea(3).getCardElement(0).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(3).getCardElement(1).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(3).getCardElement(2).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(3).getCardElement(3).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(3).getCardElement(4).ToString() + "]"
                                 + (BattleSceneManager.Instance.PRIVATE_FIELD.m_abBoostField[3] ? "(BOOST)" : "")
                                 );
        DebugBattleLog.writeText(DebugBattleLog.StrOpe +
                                 "  4右[" + battle_card_manager.m_FieldAreas.getFieldArea(4).getCardElement(0).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(4).getCardElement(1).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(4).getCardElement(2).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(4).getCardElement(3).ToString()
                                 + " ," + battle_card_manager.m_FieldAreas.getFieldArea(4).getCardElement(4).ToString() + "]"
                                 + (BattleSceneManager.Instance.PRIVATE_FIELD.m_abBoostField[4] ? "(BOOST)" : "")
                                 );

        // 手札
        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "手札"
                                 + " [" + battle_card_manager.m_HandArea.getCardElement(0).ToString() + "]"
                                 + " [" + battle_card_manager.m_HandArea.getCardElement(1).ToString() + "]"
                                 + " [" + battle_card_manager.m_HandArea.getCardElement(2).ToString() + "]"
                                 + " [" + battle_card_manager.m_HandArea.getCardElement(3).ToString() + "]"
                                 + " [" + battle_card_manager.m_HandArea.getCardElement(4).ToString() + "]"
                                 );

        // 次手札
        DebugBattleLog.writeText(DebugBattleLog.StrOpe + "次札"
                                 + " [" + battle_card_manager.m_NextArea.getCardElement(0).ToString() + "]"
                                 + " [" + battle_card_manager.m_NextArea.getCardElement(1).ToString() + "]"
                                 + " [" + battle_card_manager.m_NextArea.getCardElement(2).ToString() + "]"
                                 + " [" + battle_card_manager.m_NextArea.getCardElement(3).ToString() + "]"
                                 + " [" + battle_card_manager.m_NextArea.getCardElement(4).ToString() + "]"
                                 );
    }