protected void EscolhiEmQuemUsar( int indice, bool vaiUsar, bool tipoCerto, TipoQuantitativo tipoQ, int valor, int corrente, int maximo, nomeTipos recuperaDoTipo) { CharacterManager manager = GameController.g.Manager; CriatureBase C = manager.Dados.CriaturesAtivos[indice]; Atributos A = C.CaracCriature.meusAtributos; if (vaiUsar && tipoCerto) { RetirarUmItem(manager, this, 1, FluxoDeRetorno.menuHeroi); ItemQuantitativo.AplicacaoDoItemComMenu(manager, C, tipoQ, valor); } else if (!tipoCerto) { MensDeUsoDeItem.MensNaoTemOTipo(recuperaDoTipo.ToString()); } else if (corrente >= maximo) { MensDeUsoDeItem.MensDeNaoPrecisaDesseItem(C.NomeEmLinguas); } else if (corrente <= 0) { MensDeUsoDeItem.MensDeMorto(C.NomeEmLinguas); } }
static void CalculaDano(CreatureManager doAtacado, GameObject atacante, IGolpeBase golpe) { float multiplicador = 1; for (int i = 0; i < doAtacado.MeuCriatureBase.CaracCriature.contraTipos.Length; i++) { if (golpe.Tipo.ToString() == doAtacado.MeuCriatureBase.CaracCriature.contraTipos[i].Nome) { multiplicador *= doAtacado.MeuCriatureBase.CaracCriature.contraTipos[i].Mod; } } CriatureBase cDoAtacante = atacante.GetComponent <CreatureManager>().MeuCriatureBase; Atributos A = cDoAtacante.CaracCriature.meusAtributos; int potenciaDoAtacante = (golpe.Caracteristica == caracGolpe.colisao) ? Mathf.RoundToInt(A.Ataque.Minimo + (A.Ataque.Corrente - A.Ataque.Minimo) * Random.Range(0.85f, 1)) : Mathf.RoundToInt(A.Poder.Minimo + (A.Poder.Corrente - A.Poder.Minimo) * Random.Range(0.85f, 1)); GolpePersonagem golpePersonagem = cDoAtacante.GerenteDeGolpes.ProcuraGolpeNaLista(cDoAtacante.NomeID, golpe.Nome); CalculoC(multiplicador, golpe, golpePersonagem, potenciaDoAtacante, doAtacado, cDoAtacante); }
public AnimaPoseDeCaptura(CriatureBase oCapturado) { this.oCapturado = oCapturado; animator = GameController.g.Manager.GetComponent <Animator>(); DadosDoPersonagem dados = GameController.g.Manager.Dados; if (dados.CriaturesAtivos.Count < dados.maxCarregaveis) { dados.CriaturesAtivos.Add(oCapturado); foiParaArmagedom = false; } else { dados.CriaturesArmagedados.Add(oCapturado); /* * linhas para encher a vida e retirar status quando o Criature for para o Armagedom */ // statusTemporarioBase.limpaStatus(oCapturado, -1); Atributos A = oCapturado.CaracCriature.meusAtributos; A.PV.Corrente = A.PV.Maximo; A.PE.Corrente = A.PE.Maximo; /**************************************************/ foiParaArmagedom = true; } animator.SetBool("travar", true); animator.SetBool("chama", false); animator.Play("capturou"); }
public override void IniciaUsoDeHeroi(GameObject dono) { CriatureBase C = GameController.g.Manager.CriatureAtivo.MeuCriatureBase; IniciaUsoDesseItem(dono, ItemQuantitativo.UsaItemDeEnergia(C), C.CaracCriature.TemOTipo(recuperaDoTipo), recuperaDoTipo); }
void EscolhidoDoArmagedom(int indice) { GameController g = GameController.g; DadosDoPersonagem dados = g.Manager.Dados; HudManager hudM = g.HudM; if (dados.CriaturesAtivos.Count < dados.maxCarregaveis) { CriatureBase C = dados.CriaturesArmagedados[indice]; hudM.UmaMensagem.ConstroiPainelUmaMensagem(VoltarDoEntraArmagedado, string.Format(frasesDeArmagedom[3], C.NomeEmLinguas, C.CaracCriature.mNivel.Nivel) ); dados.CriaturesArmagedados.Remove(C); dados.CriaturesAtivos.Add(C); } else { CriatureBase C = dados.CriaturesArmagedados[indice]; indiceDoSubstituido = indice; hudM.UmaMensagem.ConstroiPainelUmaMensagem(MostraOsQueSaem, string.Format(frasesDeArmagedom[4], C.NomeEmLinguas, C.CaracCriature.mNivel.Nivel) ); GameController.g.HudM.EntraCriaturesArmagedados.FinalizarHud(); } }
void SubstituiArmagedado(int indice) { GameController g = GameController.g; DadosDoPersonagem dados = g.Manager.Dados; CriatureBase temp = dados.CriaturesArmagedados[indiceDoSubstituido]; dados.CriaturesArmagedados[indiceDoSubstituido] = dados.CriaturesAtivos[indice]; dados.CriaturesAtivos[indice] = temp; tempString = string.Format(frasesDeArmagedom[6], temp.NomeEmLinguas, temp.CaracCriature.mNivel.Nivel, dados.CriaturesArmagedados[indiceDoSubstituido].NomeEmLinguas, dados.CriaturesArmagedados[indiceDoSubstituido].CaracCriature.mNivel.Nivel ); if (indice == 0) { dados.CriatureSai = 0; g.HudM.EntraCriaturesArmagedados.FinalizarHud(); PainelMensCriature.p.EsconderMensagem(); replace = new ReplaceManager(g.Manager, g.Manager.CriatureAtivo.transform, FluxoDeRetorno.armagedom); fase = fasesDoArmagedom.fazendoUmaTroca; } else { g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(VoltarDoEntraArmagedado, tempString); } }
public static void EnergiaEVidaCheia(CriatureBase C) { Atributos A = C.CaracCriature.meusAtributos; A.PV.Corrente = A.PV.Maximo; A.PE.Corrente = A.PE.Maximo; }
public static bool Dispara(CriatureBase meuCriatureBase, GameObject gameObject) { Atributos A = meuCriatureBase.CaracCriature.meusAtributos; GerenciadorDeGolpes ggg = meuCriatureBase.GerenteDeGolpes; IGolpeBase gg = ggg.meusGolpes[ggg.golpeEscolhido]; if (gg.UltimoUso + gg.TempoDeReuso < Time.time && A.PE.Corrente >= gg.CustoPE) { AplicadorDeGolpe aplG = gameObject.AddComponent <AplicadorDeGolpe>(); A.PE.Corrente -= gg.CustoPE; gg.UltimoUso = Time.time; aplG.esseGolpe = gg; if (!GameController.g.estaEmLuta) { GameController.g.HudM.AtualizaHudHeroi(meuCriatureBase); } return(true); } else { return(false); } }
public void SetarCriature(CriatureBase C, System.Action <int> ao) { cliqueDoPersonagem += ao; Atributos A = C.CaracCriature.meusAtributos; imgDoCriature.texture = elementosDoJogo.el.RetornaMini(C.NomeID); nomeCriature.text = C.NomeEmLinguas; txtNivelNum.text = C.CaracCriature.mNivel.Nivel.ToString(); txtPVnum.text = A.PV.Corrente + " / " + A.PV.Maximo; txtPEnum.text = A.PE.Corrente + " / " + A.PE.Maximo; txtListaDeStatus.text = ""; if (A.PV.Corrente <= 0) { Text[] txtS = GetComponentsInChildren <Text>(); for (int i = 1; i < txtS.Length - 2; i++) { txtS[i].color = Color.gray; } txtS[0].color = new Color(1, 1, 0.75f); txtListaDeStatus.text = "derrotado"; } else { txtListaDeStatus.text = "preparado"; } }
public override void AcaoDoItemConsumivel(CriatureBase C) { List <CriatureBase> meusC = GameController.g.Manager.Dados.CriaturesAtivos; StatusTemporarioBase[] meusStatus = GameController.g.ContStatus.StatusDoHeroi.ToArray(); StatusTemporarioBase sTb = null; for (int i = 0; i < meusStatus.Length; i++) { Debug.Log(meusC.IndexOf(meusStatus[i].OAfetado) + " :" + meusC.IndexOf(C) + " : " + meusStatus[i].Dados.Tipo + " : " + qualStatusRemover); if (meusC.IndexOf(meusStatus[i].OAfetado) == meusC.IndexOf(C) && meusStatus[i].Dados.Tipo == qualStatusRemover) { sTb = meusStatus[i]; } } if (sTb != null) { sTb.RetiraComponenteStatus(); } else { Debug.Log("Status foi alcançado como nulo"); } }
public void TodosCriaturesPerfeitos() { for (int i = 0; i < CriaturesAtivos.Count; i++) { CriatureBase.EnergiaEVidaCheia(CriaturesAtivos[i]); } }
public override void AcaoDoItemConsumivel(CriatureBase C) { ItemQuantitativo.RecuperaPV(C.CaracCriature.meusAtributos, valorDeRecuperacao); if (!GameController.g.estaEmLuta) { GameController.g.Salvador.SalvarAgora(); } }
void BugDaListaVazia() { CriatureBase C = meuCriature.MeuCriatureBase; C.GerenteDeGolpes.meusGolpes.AddRange( C.GolpesAtivos( C.CaracCriature.mNivel.Nivel, C.GerenteDeGolpes.listaDeGolpes.ToArray())); }
public override void AcaoDoItemConsumivel(CriatureBase C) { AplicaEfeito(C); if (!GameController.g.estaEmLuta) { GameController.g.Salvador.SalvarAgora(); } }
public static GolpePersonagem RetornaGolpePersonagem(GameObject G, nomesGolpes nomeDoGolpe) { CriatureBase criatureBase = G.GetComponent <CreatureManager>().MeuCriatureBase; GerenciadorDeGolpes gg = criatureBase.GerenteDeGolpes; GolpePersonagem gP = gg.ProcuraGolpeNaLista(criatureBase.NomeID, nomeDoGolpe); return(gP); }
bool VerificaPodeUsarStatus(CriatureBase C) { Atributos A = C.CaracCriature.meusAtributos; int temStatus = StatusTemporarioBase.ContemStatus(qualStatusRemover, C); bool vivo = A.PV.Corrente > 0; return(vivo && temStatus > -1); }
public PassouDeNivelEmLuta(CriatureBase oNivelado) { this.oNivelado = oNivelado; PainelMensCriature.p.AtivarNovaMens( string.Format(bancoDeTextos.RetornaFraseDoIdioma(ChaveDeTexto.passouDeNivel), oNivelado.NomeEmLinguas, oNivelado.CaracCriature.mNivel.Nivel) , 20); }
System.Collections.IEnumerator MensComAtraso(CriatureBase C) { yield return(new WaitForSeconds(1f)); GameController.g.HudM.UmaMensagem.ConstroiPainelUmaMensagem(Finaliza, string.Format( textoDaMensInicial[1], C.NomeEmLinguas, C.G_XP.Nivel)); }
protected override void AplicaEfeito(CriatureBase C) { AtributoInstrinsico A = C.CaracCriature.meusAtributos.Poder; A = ContaDeSubida(A); C.CaracCriature.meusAtributos.Poder = A; EntraNoModoFinalizacao(C); }
protected override void AplicaEfeito(CriatureBase C) { AtributoConsumivel A = C.CaracCriature.meusAtributos.PV; A = ContaDeSubida(A); C.CaracCriature.meusAtributos.PV = A; EntraNoModoFinalizacao(C); }
public static CreatureManager RetornaInimigoEmCampo(CriatureBase C) { CreatureManager retorno = ColocaCriatureEmCampo(C.NomeID.ToString()); retorno.MeuCriatureBase = new CriatureBase(C.NomeID, C.CaracCriature.mNivel.Nivel); InsereIaAgressiva(retorno); return(retorno); }
public static GameObject InstanciaCriature(Transform transform, CriatureBase criature) { GameObject CA = elementosDoJogo.el.retorna(criature.NomeID.ToString(), "criature"); CA = MonoBehaviour.Instantiate(CA, transform.position - 3 * transform.forward, Quaternion.identity) as GameObject; UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(CA, UnityEngine.SceneManagement.SceneManager.GetSceneByName("comunsDeFase") ); return(CA); }
protected override void EscolhiEmQuemUsar(int indice) { CriatureBase C = GameController.g.Manager.Dados.CriaturesAtivos[indice]; Atributos A = C.CaracCriature.meusAtributos; EscolhiEmQuemUsar(indice, ItemQuantitativo.PrecisaDePerfeicao(C), true, -1, A.PV.Corrente, A.PV.Maximo, NomeTipos.nulo); }
void AtualizaDadosDaHud(HudVida essaHud, CriatureBase C) { Atributos A = C.CaracCriature.meusAtributos; essaHud.PV.text = A.PV.Corrente + " \t/\t " + A.PV.Maximo; essaHud.PE.text = A.PE.Corrente + " \t/\t " + A.PE.Maximo; essaHud.nomeCriature.text = C.NomeID.ToString(); essaHud.nivel.text = C.G_XP.Nivel.ToString(); essaHud.barraDeVida.fillAmount = (float)A.PV.Corrente / A.PV.Maximo; essaHud.barraDeEnergia.fillAmount = (float)A.PE.Corrente / A.PE.Maximo; }
protected virtual void iniciaApresentaInimigo() { CriatureBase C = inimigo.MeuCriatureBase; PainelMensCriature.p.AtivarNovaMens( string.Format( bancoDeTextos.falacoesComChave[heroi.linguaChave][ChaveDeTexto.apresentaInimigo][0], C.NomeID, C.G_XP.Nivel, C.CaracCriature.meusAtributos.PV.Corrente, C.CaracCriature.meusAtributos.PE.Corrente), 30 ); }
protected override void EscolhiEmQuemUsar(int indice) { CriatureBase C = GameController.g.Manager.Dados.CriaturesAtivos[indice]; Atributos A = C.CaracCriature.meusAtributos; EscolhiEmQuemUsar(indice, ItemQuantitativo.UsaItemDeRecuperacao(C), true, TipoQuantitativo.PV, valorDeRecuperacao, A.PV.Corrente, A.PV.Maximo, nomeTipos.nulo); }
public static bool UsaItemDeRecuperacao(CriatureBase meuCriature) { Atributos A = meuCriature.CaracCriature.meusAtributos; if (A.PV.Corrente < A.PV.Maximo && A.PV.Corrente > 0) { return(true); } else { return(false); } }
protected override void EscolhiEmQuemUsar(int indice) { CriatureBase C = GameController.g.Manager.Dados.CriaturesAtivos[indice]; Atributos A = C.CaracCriature.meusAtributos; EscolhiEmQuemUsar(indice, ItemQuantitativo.UsaItemDeEnergia(C), C.CaracCriature.TemOTipo(recuperaDoTipo), valorDeRecuperacao, A.PE.Corrente, A.PE.Maximo, recuperaDoTipo ); }
protected virtual void EntraNoModoFinalizacao(CriatureBase C) { Estado = EstadoDeUsoDeItem.emEspera; if (GameController.g.HudM.MenuDePause.EmPause) { Finaliza(); } else { GameController.g.StartCoroutine(MensComAtraso(C)); } }
protected virtual void iniciaApresentaInimigo() { CriatureBase C = inimigo.MeuCriatureBase; string textoBase = treinador ?string.Format(BancoDeTextos.falacoesComChave[BancoDeTextos.linguaChave][ChaveDeTexto.apresentaInimigo][1], nomeTreinador) + BancoDeTextos.falacoesComChave[BancoDeTextos.linguaChave][ChaveDeTexto.apresentaInimigo][2] : BancoDeTextos.falacoesComChave[BancoDeTextos.linguaChave][ChaveDeTexto.apresentaInimigo][0]; GameController.g.HudM.Painel.AtivarNovaMens( string.Format( textoBase, C.NomeID, C.G_XP.Nivel, C.CaracCriature.meusAtributos.PV.Corrente, C.CaracCriature.meusAtributos.PE.Corrente), 30 ); }