コード例 #1
0
    //Enemy's Special Attack Functionality
    IEnumerator EnemySpecial(UnitWLevelling unit, BattleHUDWLevelling hud)
    {
        bool isDead = false;

        enemyUnit.unitCurrentMP -= 33;
        if (!enemyUnit.unitIsMagic)
        {
            isDead = unit.TakeRegDamage(enemyUnit, true);
        }
        else if (enemyUnit.unitIsMagic)
        {
            isDead = unit.TakeMagDamage(enemyUnit, true);
        }
        hud.HPFiddling(unit.unitCurrentHP);
        hud.MPFiddling(unit.unitCurrentMP);
        dialogueText.text = enemyUnit.unitName + " attacks " + unit.unitName + " for " + enemyUnit.unitAttack + "!";
        yield return(new WaitForSeconds(2f));



        if (isDead)
        {
            deadCheck += 1;
        }
    }
コード例 #2
0
    //Uses item if passed unit selected to use an item
    IEnumerator PartyUseItem(UnitWLevelling unit, BattleHUDWLevelling hud)
    {
        if (unit.unitCurrentMP >= 50)
        {
            unit.unitCurrentHP += 25;
            if (unit.unitCurrentHP > unit.unitMaxHP)
            {
                unit.unitCurrentHP = unit.unitMaxHP;
            }
            unit.unitCurrentMP -= 50;
            dialogueText.text   = unit.unitName + " healed self, at least, they had better have.";
        }
        else
        {
            dialogueText.text = unit.unitName + "'s attempt to heal failed.";
        }

        hud.HPFiddling(unit.unitCurrentHP);
        hud.MPFiddling(unit.unitCurrentMP);
        yield return(new WaitForSeconds(2f));

        Debug.Log(unit.unitName + " healed self");
    }
コード例 #3
0
    //Runs during attack phase if passed unit selected special attack
    IEnumerator PartySpecialAtk(UnitWLevelling unit)
    {
        bool isDead = false;

        if (unit.unitCurrentMP >= 33)
        {
            if (!unit.unitIsMagic && unit.unitClass != ClassSelect.HEALER)
            {
                isDead = enemyUnit.TakeRegDamage(unit, true);
                unit.gameObject.GetComponent <Animator>().SetBool("isHit", true);
                yield return(new WaitForSeconds(1f));

                StartCoroutine(HitParticleSystem(enemyPlatform));
                dialogueText.text = unit.unitName + " does " + (unit.unitAttack * 2) + " damage!";
            }
            else if (unit.unitIsMagic && unit.unitClass != ClassSelect.HEALER)
            {
                isDead = enemyUnit.TakeMagDamage(unit, true);
                unit.gameObject.GetComponent <Animator>().SetBool("isHit", true);
                yield return(new WaitForSeconds(1f));

                StartCoroutine(HitParticleSystem(enemyPlatform));
                dialogueText.text = unit.unitName + " does " + (unit.unitAttack * 2) + " damage!";
            }
            else if (unit.unitClass == ClassSelect.HEALER)
            {
                isDead = partyFourUnit.HealDamage(partyOneUnit, partyTwoUnit, partyThreeUnit);
                pOneHUD.HPFiddling(partyOneUnit.unitCurrentHP);
                pTwoHUD.HPFiddling(partyTwoUnit.unitCurrentHP);
                pThreeHUD.HPFiddling(partyThreeUnit.unitCurrentHP);
                pFourHUD.HPFiddling(partyFourUnit.unitCurrentHP);
                pFourHUD.MPFiddling(partyFourUnit.unitCurrentMP);

                dialogueText.text = unit.unitName + " does some light first aid!";
            }
        }
        else
        {
            dialogueText.text = unit.unitName + " doesn't have enough mana!";
        }
        if (unit.unitCurrentMP <= 0)
        {
            unit.unitCurrentMP = 0;
        }

        enemyHUD.HPFiddling(enemyUnit.unitCurrentHP);
        pOneHUD.HPFiddling(partyOneUnit.unitCurrentHP);
        pTwoHUD.HPFiddling(partyTwoUnit.unitCurrentHP);
        pThreeHUD.HPFiddling(partyThreeUnit.unitCurrentHP);
        pFourHUD.HPFiddling(partyFourUnit.unitCurrentHP);
        pOneHUD.MPFiddling(partyOneUnit.unitCurrentMP);
        pTwoHUD.MPFiddling(partyTwoUnit.unitCurrentMP);
        pThreeHUD.MPFiddling(partyThreeUnit.unitCurrentMP);
        pFourHUD.MPFiddling(partyFourUnit.unitCurrentMP);


        yield return(new WaitForSeconds(2f));

        if (isDead)
        {
            state = BattleStateWL.WON;
            StartCoroutine(BattleEnd());
        }
        Debug.Log(unit.unitName + " S-ATK COMP");
    }