예제 #1
0
 // --------------------------------------------------------------------------------
 // stmpCheck
 // スタンプチェック
 // --------------------------------------------------------------------------------
 bool stmpCheck(int _year, int _month, int _day, strData _ls)
 {
     if ((_year != _ls.year) ||
         (_month != _ls.month) ||
         (_day != _ls.day))
     {
         return(false);
     }
     return(true);
 }
예제 #2
0
    // --------------------------------------------------------------------------------
    // DateAdjsut
    // 日付調整
    // --------------------------------------------------------------------------------
    bool DateAdjust(DateTime Prev, strData _ls)
    {
        DateTime datadt = new DateTime(_ls.year, _ls.month, _ls.day, 0, 0, 0);

        if (datadt < Prev)
        {
            return(true);
        }
        return(false);
    }
예제 #3
0
    //  スキルの効果の取得
    public void SkillInfluence(int skillID)
    {
        PC = Resources.Load("ExcelData/player_chara") as player_charaList;
        PS = Resources.Load("ExcelData/playerSkill") as player_skillList;

        EC = Resources.Load("ExcelData/enemy_chara") as enemy_charaList;
        ES = Resources.Load("ExcelData/enemySkill") as enemy_skillList;

        GameObject AttackObj = battleManager.GetComponent <BattleScene>().GetAttackObj();

        //  前の行動で敵が死亡してたら標的を変える
        if (battleManager.GetComponent <BattleScene>().GetReceiveObj(1) == null &&
            battleManager.GetComponent <BattleScene>().GetReceiveObj(2) == null &&
            battleManager.GetComponent <BattleScene>().GetReceiveObj(3) == null)
        {
            // プレイヤーが敵に向かって行動する時用
            if (playerProof)
            {
                if (PS.sheets[0].list[skillID].target.StartsWith("E"))
                {
                    battleManager.GetComponent <command>().changeTarget(playerProof, PS.sheets[0].list[skillID].target);
                    ReceiveChara1 = battleManager.GetComponent <BattleScene>().GetReceiveObj(1);
                }
            }
            //  敵が敵に向かって行動する時用
            else
            {
                if (ES.sheets[0].list[skillID].target.StartsWith("E"))
                {
                    battleManager.GetComponent <command>().changeTarget(playerProof, ES.sheets[0].list[skillID].target);
                    ReceiveChara1 = battleManager.GetComponent <BattleScene>().GetReceiveObj(1);
                }
            }
        }

        //  前の行動でプレイヤーが死亡してたら標的を変える
        if ((battleManager.GetComponent <BattleScene>().GetReceiveObj(1) && battleManager.GetComponent <BattleScene>().GetReceiveObj(1).GetComponent <Status>().GetState() == STATE.ST_DEAD) ||
            (battleManager.GetComponent <BattleScene>().GetReceiveObj(2) && battleManager.GetComponent <BattleScene>().GetReceiveObj(2).GetComponent <Status>().GetState() == STATE.ST_DEAD) ||
            (battleManager.GetComponent <BattleScene>().GetReceiveObj(3) && battleManager.GetComponent <BattleScene>().GetReceiveObj(3).GetComponent <Status>().GetState() == STATE.ST_DEAD))
        {
            // プレイヤーがプレイヤーに向かって行動する時用
            if (playerProof)
            {
                if (PS.sheets[0].list[skillID].target.StartsWith("P"))
                {
                    if (PS.sheets[0].list[skillID].target.Contains("1"))
                    {
                        if (battleManager.GetComponent <command>().GetPlayerChild(0).GetComponent <Status>().GetState() != Status.STATE.ST_DEAD)
                        {
                            battleManager.GetComponent <BattleScene>().SetReceiveObj(battleManager.GetComponent <command>().GetPlayerChild(0));
                        }
                        else if (battleManager.GetComponent <command>().GetPlayerChild(1).GetComponent <Status>().GetState() != Status.STATE.ST_DEAD)
                        {
                            battleManager.GetComponent <BattleScene>().SetReceiveObj(battleManager.GetComponent <command>().GetPlayerChild(1));
                        }
                        else if (battleManager.GetComponent <command>().GetPlayerChild(1).GetComponent <Status>().GetState() != Status.STATE.ST_DEAD)
                        {
                            battleManager.GetComponent <BattleScene>().SetReceiveObj(battleManager.GetComponent <command>().GetPlayerChild(2));
                        }
                        ReceiveChara1 = battleManager.GetComponent <BattleScene>().GetReceiveObj(1);
                    }

                    //  3人に対する行動
                    else
                    {
                        NonTarget3();
                    }
                }
            }
            //  敵がプレイヤーに向かって行動する時用
            else
            {
                if (ES.sheets[0].list[skillID].target.StartsWith("P"))
                {
                    if (ES.sheets[0].list[skillID].target.Contains("1"))
                    {
                        if (battleManager.GetComponent <command>().GetPlayerChild(0).GetComponent <Status>().GetState() != Status.STATE.ST_DEAD)
                        {
                            battleManager.GetComponent <BattleScene>().SetReceiveObj(battleManager.GetComponent <command>().GetPlayerChild(0));
                        }
                        else if (battleManager.GetComponent <command>().GetPlayerChild(1).GetComponent <Status>().GetState() != Status.STATE.ST_DEAD)
                        {
                            battleManager.GetComponent <BattleScene>().SetReceiveObj(battleManager.GetComponent <command>().GetPlayerChild(1));
                        }
                        else if (battleManager.GetComponent <command>().GetPlayerChild(1).GetComponent <Status>().GetState() != Status.STATE.ST_DEAD)
                        {
                            battleManager.GetComponent <BattleScene>().SetReceiveObj(battleManager.GetComponent <command>().GetPlayerChild(2));
                        }
                        ReceiveChara1 = battleManager.GetComponent <BattleScene>().GetReceiveObj(1);
                    }
                    else
                    {
                        NonTarget3();
                    }
                }
            }
        }

        GameObject UseObj = AttackObj;

        if (playerProof)
        {
            battleManager.GetComponent <command>().SetActiveSkillText(PS.sheets[0].list[skillID].skillName);
            animName = PS.sheets[0].list[skillID].effectName;
            if (int.Parse(Regex.Replace(PS.sheets[0].list[skillID].target, @"[^0-9]", "")) == 3)
            {
                targetFlag = true;
            }
        }
        else
        {
            battleManager.GetComponent <command>().SetActiveSkillText(ES.sheets[0].list[skillID].skillName);
            animName = ES.sheets[0].list[skillID].effectName;
            if (int.Parse(Regex.Replace(ES.sheets[0].list[skillID].target, @"[^0-9]", "")) == 3)
            {
                targetFlag = true;
            }
        }

        string charaStatus;
        string useStatus;
        string useStatus2;
        double magnification;
        int    STime;

        //  ステータスを弄るキャラ
        charaStatus = PS.sheets[0].list[skillID].useChara;
        //  使用するステータス
        useStatus  = PS.sheets[0].list[skillID].influence1;
        useStatus2 = PS.sheets[0].list[skillID].influence2;
        //  技の倍率
        magnification = PS.sheets[0].list[skillID].power;
        //  HPに影響を与える技かどうか
        HPCtlFlag = (int)PS.sheets[0].list[skillID].hpCtl;
        //  物理攻撃か魔法攻撃か
        AttackType = (int)PS.sheets[0].list[skillID].attackType;
        //  持続時間
        STime = (int)PS.sheets[0].list[skillID].period;

        //  行動するのが敵の場合は敵のステータスに変更
        if (!playerProof)
        {
            charaStatus   = ES.sheets[0].list[skillID].useChara;
            useStatus     = ES.sheets[0].list[skillID].influence1;
            useStatus2    = ES.sheets[0].list[skillID].influence2;
            magnification = ES.sheets[0].list[skillID].power;
            HPCtlFlag     = (int)ES.sheets[0].list[skillID].hpCtl;
            AttackType    = (int)ES.sheets[0].list[skillID].attackType;
            STime         = (int)ES.sheets[0].list[skillID].period;
        }

        DeleteBuff(AttackObj);
        DeleteBuff(ReceiveChara1);
        DeleteBuff(ReceiveChara2);
        DeleteBuff(ReceiveChara3);

        HealPercent = 0;

        if (charaStatus == "Attack")
        {
            UseObj = AttackObj;
        }
        else if (charaStatus == "Receive")
        {
            UseObj = ReceiveChara1;
        }
        else
        {
        }

        for (int count = 0; count < 3; count++)
        {
            strData str1 = new strData();
            switch (useStatus)
            {
            case ("HP"):
                HealPercent = magnification;
                break;

            case ("ATK"):
                str1.ATK  = (int)Math.Round(UseObj.GetComponent <Status>().GetATK() * magnification);
                str1.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str1);
                break;

            case ("DEF"):
                str1.DEF  = (int)Math.Round(UseObj.GetComponent <Status>().GetDEF() * magnification);
                str1.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str1);
                break;

            case ("SPD"):
                str1.SPD  = (int)Math.Round(UseObj.GetComponent <Status>().GetSPD() * magnification);
                str1.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str1);
                break;

            case ("MAT"):
                str1.MAT  = (int)Math.Round(UseObj.GetComponent <Status>().GetMAT() * magnification);
                str1.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str1);
                break;

            case ("MDF"):
                str1.MDF  = (int)Math.Round(UseObj.GetComponent <Status>().GetMDF() * magnification);
                str1.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str1);
                break;

            case ("LUK"):
                str1.LUK  = (int)Math.Round(UseObj.GetComponent <Status>().GetLUK() * magnification);
                str1.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str1);
                break;

            default:
                break;
            }

            strData str2 = new strData();
            switch (useStatus2)
            {
            case ("HP"):
                HealPercent = magnification;
                break;

            case ("ATK"):
                str2.ATK  = (int)Math.Round(UseObj.GetComponent <Status>().GetATK() * magnification);
                str2.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str2);
                break;

            case ("DEF"):
                str2.DEF  = (int)Math.Round(UseObj.GetComponent <Status>().GetDEF() * magnification);
                str2.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str2);
                break;

            case ("SPD"):
                str2.SPD  = (int)Math.Round(UseObj.GetComponent <Status>().GetSPD() * magnification);
                str2.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str2);
                break;

            case ("MAT"):
                str2.MAT  = (int)Math.Round(UseObj.GetComponent <Status>().GetMAT() * magnification);
                str2.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str2);
                break;

            case ("MDF"):
                str2.MDF  = (int)Math.Round(UseObj.GetComponent <Status>().GetMDF() * magnification);
                str2.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str2);
                break;

            case ("LUK"):
                str2.LUK  = (int)Math.Round(UseObj.GetComponent <Status>().GetLUK() * magnification);
                str2.TIME = STime + TURN;
                UseObj.GetComponent <Status>().changeStatus.Add(str2);
                break;

            default:
                break;
            }

            if (charaStatus == "Attack")
            {
                break;
            }

            if (count == 0)
            {
                UseObj = ReceiveChara2;
            }
            else if (count == 1)
            {
                UseObj = ReceiveChara3;
            }
            else
            {
            }

            if (!UseObj)
            {
                break;
            }
        }
    }