public void faseMonstro(int index)
    {
        audioFaseMonstro.PlayDelayed(index + 2);
        int vidaPlayer    = jogador.getVida();
        int ataqueMonstro = inimigo.getAtaqueMonstro();
        int resultado     = vidaPlayer - ataqueMonstro;

        inimigo.getAudioAtaqueMonster().PlayDelayed(index + 4);

        if (resultado > 0)
        {
            qntAtaqueMonstro.PlayDelayed(index + 6);
            Debug.Log("Monstro atacou com " + ataqueMonstro + " de ataque");
            sourceNumbers = addAudioSourceNumbers(listNumbers.getAudioNumbers(ataqueMonstro));
            sourceNumbers.PlayDelayed(index + 8);
            jogador.setVida(resultado);
            audioFaseJogador.PlayDelayed(index + 10); // fase do jogador
            ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
            return;
        }
        else
        {
            audioJogadorMorreu.PlayDelayed(index + 6); // jogador morreu
            Debug.Log("Jogador morreu");
            if (audioJogadorMorreu.isPlaying)
            {
                GameController.changeState(GAME_STATE.IN_DEAD);
            }
        }
    }
Exemple #2
0
    public void faseBoss(int index)
    {
        int vidaPlayer    = jogador.getVida();
        int ataqueMonstro = enemy.getAtaqueBoss();
        int resultado     = vidaPlayer - ataqueMonstro;

        enemy.getAudioAtaqueBoss().PlayDelayed(index + 1); // ataque do boss
        if (resultado > 0)
        {
            qntAtaqueMonstro.PlayDelayed(index + 3);
            Debug.Log("Monstro atacou com " + ataqueMonstro + " de ataque");
            sourceNumbers = addAudioSourceNumbers(listNumbers.getAudioNumbers(ataqueMonstro));
            sourceNumbers.PlayDelayed(index + 5);
            jogador.setVida(resultado);
            audioFaseJogador.PlayDelayed(index + 7);
            Debug.Log("Fase do jogador");
            ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
            return;
        }
        else
        {
            qntAtaqueMonstro.PlayDelayed(index + 3);
            Debug.Log("Monstro atacou com " + ataqueMonstro + " de ataque");
            sourceNumbers = addAudioSourceNumbers(listNumbers.getAudioNumbers(ataqueMonstro));
            sourceNumbers.PlayDelayed(index + 5);
            audioJogadorMorreu.PlayDelayed(index + 7);
            Debug.Log("jogador morreu");
            if (audioJogadorMorreu.isPlaying)
            {
                GameController.changeState(GAME_STATE.IN_DEAD);
            }
        }
    }
    public void fight(int highAttack)
    {
        Debug.Log("Monstro: " + inimigo.getNomeMonstro());
        ValidaTeclas.changeStateButton(BUTTON_STATE.IN_ATAQUE);
        int ataquePlayer = Random.Range((jogador.getAtaque() / 2), jogador.getAtaque()) + highAttack; //ataque do jogador vai variar entre a metade do seu ataque e o valor total do ataque
        int vidaMonstro  = inimigo.getVidaMonstro();
        int resultado    = ataquePlayer - vidaMonstro;

        qntAtaquePlayer.PlayDelayed(2);
        Debug.Log("Seu ataque foi de " + ataquePlayer);
        sourceNumbers = addAudioSourceNumbers(listNumbers.getAudioNumbers(ataquePlayer));
        sourceNumbers.PlayDelayed(3);

        if (resultado >= 0)
        {
            monsterDead(5);
        }
        else
        {
            inimigo.setVidaMonstro(vidaMonstro - ataquePlayer);
            monstroVivo.PlayDelayed(5); // monstro esta vivo
            Debug.Log("Vida nova do Monstro: " + inimigo.getVidaMonstro());
            faseMonstro(6);
        }
    }
    public void useItemBoss(ItemBase item)
    {
        ValidaTeclas.changeStateButton(BUTTON_STATE.IN_USARITEM);
        int efeito    = item.getEfeito();
        int vidaAtual = jogador.getVida();
        int aux       = efeito + vidaAtual;

        if (GameController.getCurrentState() == GAME_STATE.IN_BOSS)
        {
            inventory.gameObject.SetActive(!inventory.gameObject.activeSelf);
            if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
            {
                if (aux > jogador.getMaxVida())
                {
                    jogador.setVida(jogador.getMaxVida());
                }
                else if (aux < jogador.getMaxVida())
                {
                    jogador.setVida(efeito + jogador.getVida());
                }
                Debug.Log("usou pocao");
                BTController.selecionaItemBattleBoss(item, 0); //faseBoss(3);
            }
            else
            {
                int ataquePlayer = Random.Range((jogador.getAtaque() / 2), jogador.getAtaque());
                int efeitoMagia  = item.getEfeito();
                Debug.Log("Ataque com magiaBoss: " + efeitoMagia);
                BTController.selecionaItemBattleBoss(item, efeitoMagia);
            }
        }
        if (GameController.getCurrentState() == GAME_STATE.IN_INVENTORY)
        {
            inventory.gameObject.SetActive(!inventory.gameObject.activeSelf);
            GameController.changeState(GAME_STATE.IN_EXPLORATION);
            if (item.getCurrentState() != TYPE_ITEM.IN_MAGIC)
            {
                if (aux > jogador.getMaxVida())
                {
                    jogador.setVida(jogador.getMaxVida());
                }
                else if (aux < jogador.getMaxVida())
                {
                    jogador.setVida(efeito + jogador.getVida());
                }
                Debug.Log("usou pocao");
            }
        }
    }
    public void monsterDead(int index)
    {
        monstroMorreu.PlayDelayed(index); // monstro morreu
        GameController.changeState(GAME_STATE.IN_EXPLORATION);
        jogador.setXP(jogador.getXP() + inimigo.getXPMonstro());
        jogador.setMoeda(jogador.getMoeda() + inimigo.getMoeda());
        ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);

        if (jogador.getXP() >= 100)
        {
            Debug.Log("Atualizando status jogador");
            int nivelAtual = jogador.getNivel();
            atualizaStatusJogador(nivelAtual + 1);
        }
        return;
    }
Exemple #6
0
 public void bossDead(int index)
 {
     monstroMorreu.PlayDelayed(index);
     Debug.Log("monstro morreu");
     GameController.changeState(GAME_STATE.IN_EXPLORATION);
     jogador.setXP(jogador.getXP() + enemy.getXPBoss());
     //abilitaAreas();
     ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
     slotVazio = inventory.selectSlot();
     inventory.addItemSlot(dropItem(), slotVazio);
     if (jogador.getXP() >= 100)
     {
         Debug.Log("Atualizando status jogador");
         int nivelAtual = jogador.getNivel();
         atualizaStatusJogador(nivelAtual + 1);
     }
     return;
 }
    public void fugir()
    {
        ValidaTeclas.changeStateButton(BUTTON_STATE.IN_FUGIR);
        int sorte = Random.Range(jogador.getSorte(), (jogador.getNivel() * 5));

        if (sorte > inimigo.getSorteMonstro())
        {
            audioJogadorFugiu.Play(); // jogador fugiu
            GameController.changeState(GAME_STATE.IN_EXPLORATION);
            ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
            return;
        }
        else
        {
            audioJogadorNaofugiu.Play(); // jogador não fugiu
            ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
            faseMonstro(1);
        }
    }
Exemple #8
0
    public void selecionaItemBattleBoss(ItemBase item, int efeito)
    {
        ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
        if (getAreaBossEnable(bossArea1))
        {
            if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
            {
                bossArea1.faseBoss(3);
            }
            else
            {
                bossArea1.fightBoss(efeito);
            }
        }

        if (getAreaBossEnable(bossArea2))
        {
            if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
            {
                bossArea2.faseBoss(3);
            }
            else
            {
                bossArea2.fightBoss(efeito);
            }
        }

        if (getAreaBossEnable(bossArea3))
        {
            if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
            {
                bossArea3.faseBoss(3);
            }
            else
            {
                bossArea3.fightBoss(efeito);
            }
        }
    }
Exemple #9
0
 public void selecionaItemBattleMonster(ItemBase item, int efeito)
 {
     ValidaTeclas.changeStateButton(BUTTON_STATE.IN_DEFFAULT);
     if (getAreaEnable(areaMonster1))
     {
         if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
         {
             areaMonster1.faseMonstro(3);
         }
         else
         {
             areaMonster1.fight(efeito);
         }
     }
     if (getAreaEnable(areaMonster2))
     {
         if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
         {
             areaMonster2.faseMonstro(3);
         }
         else
         {
             areaMonster2.fight(efeito);
         }
     }
     if (getAreaEnable(areaMonster3))
     {
         if (item.getCurrentState() == TYPE_ITEM.IN_POCAO)
         {
             areaMonster3.faseMonstro(3);
         }
         else
         {
             areaMonster3.fight(efeito);
         }
     }
 }