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); } } }
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; }
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); } }
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); } } }
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); } } }