public void aplicaGolpe(Criature daki) { golpe G = daki.Golpes[daki.golpeEscolhido]; System.GC.Collect(); Resources.UnloadUnusedAssets(); /* print(G.UltimoUso+" : "+ Time.time+" : "+heroi.tempoNoJogo+" : "+G.TempoReuso); print(G.UltimoUso < Time.time - G.TempoReuso); */ if(G.UltimoUso < Time.time - G.TempoReuso){ daki.cAtributos[1].Corrente-=daki.Golpes[daki.golpeEscolhido].CustoPE; G.UltimoUso = Time.time; acaoDeGolpe acao = gameObject.AddComponent<acaoDeGolpe> (); acao.ativa = G; //acao.emissor = emissor; }else if(gameObject.GetComponent<movimentoBasico>()) { mensagemEmLuta mL = GetComponent<mensagemEmLuta>(); if(mL) mL.fechador(); mL = gameObject.AddComponent<mensagemEmLuta>(); mL.mensagem = string.Format(textos[1],mostradorDeTempo(G.UltimoUso-(Time.time-G.TempoReuso))); } }
public static void aplicaDano(Criature X,int dano) { if(X.cAtributos[0].Corrente-dano>0) X.cAtributos[0].Corrente -= (uint)dano; else X.cAtributos[0].Corrente = 0; }
public static Vector3 useOEmissor(Criature Y, golpe G, Transform T) { float maisEmissao = 0; float acimaDoChao = 0; if (Y.distanciaEmissora != null) { if (Y.distanciaEmissora.ContainsKey(G.nomeID)) { maisEmissao = Y.distanciaEmissora[G.nomeID]; } } if (Y.acimaDoChao != null) { if (Y.acimaDoChao.ContainsKey(G.nomeID)) { acimaDoChao = Y.acimaDoChao[G.nomeID]; } } Vector3 posInicial = T.Find(Y.emissor).position + T.forward * (G.DistanciaDeEmissao + maisEmissao) + Vector3.up * acimaDoChao; return(posInicial); }
public static void statusAoGerente(GameObject G, int i) { Criature C = G.GetComponent <umCriature>().X; GameObject gerente = GameObject.Find("elementosDoJogo"); foreach (statusTemporario sT in C.statusTemporarios) { switch (sT.esseStatus) { case tipoStatus.envenenado: envenenadoFora eF = gerente.AddComponent <envenenadoFora>(); eF.oAfetado = C; eF.forcaDoDano = sT.forcaDoDano; eF.tempoAteOProximoApply = sT.tempoAteOProximoApply * 2; break; case tipoStatus.amedrontado: amedrontado a = G.GetComponent <amedrontado>(); a.atualizaTempoParaTroca(); sT.tempoAteOProximoApply = a.tempoAteOProximoApply; break; case tipoStatus.paralisado: paralisado p = G.GetComponent <paralisado>(); p.atualizaTempoParaTroca(); sT.tempoAteOProximoApply = p.tempoAteOProximoApply; break; } } }
public void aplicaGolpe(Criature daki) { golpe G = daki.Golpes[daki.golpeEscolhido]; System.GC.Collect(); Resources.UnloadUnusedAssets(); /* * print(G.UltimoUso+" : "+ Time.time+" : "+heroi.tempoNoJogo+" : "+G.TempoReuso); * * print(G.UltimoUso < Time.time - G.TempoReuso); */ if (G.UltimoUso < Time.time - G.TempoReuso) { daki.cAtributos[1].Corrente -= daki.Golpes[daki.golpeEscolhido].CustoPE; G.UltimoUso = Time.time; acaoDeGolpe acao = gameObject.AddComponent <acaoDeGolpe> (); acao.ativa = G; //acao.emissor = emissor; } else if (gameObject.GetComponent <movimentoBasico>()) { mensagemEmLuta mL = GetComponent <mensagemEmLuta>(); if (mL) { mL.fechador(); } mL = gameObject.AddComponent <mensagemEmLuta>(); mL.mensagem = string.Format(textos[1], mostradorDeTempo(G.UltimoUso - (Time.time - G.TempoReuso))); } }
void perfeicao(int quem) { Criature C = H.criaturesAtivos[quem]; atributos[] aH = C.cAtributos; if ((aH[0].Corrente < aH[0].Maximo || aH[1].Corrente < aH[1].Maximo) && aH[0].Corrente > 0 ) { estadoPerfeito(C, quem); } else if (H.criaturesAtivos[quem].cAtributos[0].Corrente > 0) { acaoAtual = "eleNaoPrecisa"; } else { acaoAtual = "naoUsar"; mensCorrente = string.Format(textos[2], H.criaturesAtivos[quem].Nome); proxAcao = "naoUsarQuemAberta"; } }
private void descarteGolpe() { mens.entrando = false; passoDaAnimaInicial = 0; Criature X = fim.vencedor; nomesGolpes nomeGolpe = golpeAprendido.nomeID; if (menu.escolha != 4) { mens.mensagem = X.Nome + textinhos[2] + X.Golpes[menu.escolha].Nome; X.Golpes[menu.escolha] = new pegaUmGolpe(nomeGolpe).OGolpe(); X.Golpes[menu.escolha].Basico += (uint)X.verificaNovoGolpe().mod; X.Golpes[menu.escolha].Corrente += (uint)X.verificaNovoGolpe().mod; X.Golpes[menu.escolha].Maximo += (uint)(2 * X.verificaNovoGolpe().mod); Invoke("volteMens", 0.15f); } else { mens.mensagem = X.Nome + textinhos[3] + new pegaUmGolpe(nomeGolpe).OGolpe().Nome; Invoke("preparaVoltaPasseio", 0.15f); } menu.fechaJanela(); }
void criatureVerificaTrocaGolpe(Criature X) { if (Input.GetButtonDown("trocaGolpe") && !variaveisChave.shift["TrocaGolpes"]) { int aux = X.golpeEscolhido; if (aux < X.Golpes.Length - 1) { X.golpeEscolhido++; } else { X.golpeEscolhido = 0; } if (!Camera.main.GetComponent <HUDGolpes>()) { HUDGolpes HUD = GameObject.FindGameObjectWithTag("MainCamera").AddComponent <HUDGolpes>(); HUD.zeraTempo(); } else { Camera.main.GetComponent <HUDGolpes>().zeraTempo(); } } }
public override void Start(movimentoBasico mB, IA_inimigo IA, Transform T, Animator A, acaoDeGolpe aG) { base.Start(mB, IA, T, A, aG); Y = aG.GetComponent <umCriature>().criature(); acaoDeGolpeRegenerate.impactoBasico(nomeID.ToString(), mB, IA, T, A); }
public static void aplicaStatus(Transform T,Criature X,golpe ativa,Criature Y) { int numStatus; switch(ativa.nomeID) { case nomesGolpes.agulhaVenenosa: case nomesGolpes.ondaVenenosa: case nomesGolpes.chuvaVenenosa: if(recebeStatus(X,ativa,Y)) { envenenado e; numStatus = statusTemporarioBase.contemStatus(tipoStatus.envenenado,X); if(numStatus==-1) { e = T.gameObject.AddComponent<envenenado>(); e.forcaDoDano = 2; }else { e = T.GetComponent<envenenado>(); e.forcaDoDano++; e.tempoAteOProximoApply*=(14f/15f); X.statusTemporarios[numStatus].forcaDoDano++; X.statusTemporarios[numStatus].tempoAteOProximoApply*=(14f/15f); } } break; case nomesGolpes.olharMal: amedrontado a; numStatus = statusTemporarioBase.contemStatus(tipoStatus.amedrontado,X); if(numStatus == -1) { a = T.gameObject.AddComponent<amedrontado>(); a.tempoAteOProximoApply = 37; a.oAfetado = X; }else { a = T.GetComponent<amedrontado>(); a.tempoAteOProximoApply += 36; } break; case nomesGolpes.olharParalisante: print("aqyui"); paralisado p; numStatus = statusTemporarioBase.contemStatus(tipoStatus.paralisado,X); if(numStatus == -1) { p = T.gameObject.AddComponent<paralisado>(); p.tempoAteOProximoApply = 30; p.oAfetado = X; }else { p = T.GetComponent<paralisado>(); p.tempoAteOProximoApply += 25; } break; } }
public static float verifiqueAtrasoDeAnimacao(Criature Y, nomesGolpes nomeID) { float atraso = 0; if (Y.tempoDeInstancia.ContainsKey(nomeID)) { atraso = Y.tempoDeInstancia[nomeID]; } return(atraso); }
public static void estadoPerfeito(Criature C,int quem) { atributos[] aH = C.cAtributos; aH[0].Corrente = aH[0].Maximo; aH[1].Corrente = aH[1].Maximo; statusTemporarioBase.limpaStatus(C,quem); if(quem==0) statusTemporarioBase.retiraComponenteStatus(tipoStatus.todos,GameObject.Find("CriatureAtivo")); else statusTemporarioBase.retiraStatusDoGerente(C); }
bool temGolpeEmRecarga(Criature C) { bool retorno = false; for (int i = 0; i < C.Golpes.Length; i++)//G.UltimoUso < Time.time - G.TempoReuso if (Time.time - C.Golpes[i].UltimoUso < C.Golpes[i].TempoReuso && C.Golpes[i].TempoReuso > 2) { retorno = true; // print(C.Golpes[i].nomeID); } return retorno; }
protected void mostraOSelecionado(GameObject G, Criature C, int escolha = 1) { vidaEmLuta w = G.AddComponent <vidaEmLuta>(); w.negativo = true; w.doMenu = C; w.nomeVida = "escolha" + escolha.ToString(); w.posX = 0.74f; w.posY = 0.01f; w.n = (int)escolha + 3; }
public void aoCriature() { if (!GetComponent <cameraPrincipal> ()) { //umCriature criature = GetComponent<umCriature>(); GameObject heroiX = GameObject.FindGameObjectWithTag("Player"); heroiX.AddComponent <gravidadeGambiarra>(); Criature X = heroiX.GetComponent <heroi>().criaturesAtivos[0]; movimentoBasico mB = heroiX.GetComponent <movimentoBasico> (); mB.enabled = false; heroiX.GetComponent <cameraPrincipal> ().enabled = false; cameraPrincipal cameraP = gameObject.AddComponent <cameraPrincipal> (); //print(criature+" : "+criature.X+" : "+criature.X.alturaCamera); cameraP.altura = X.alturaCamera; cameraP.distancia = X.distanciaCamera; cameraP.yMinLimit = -20; // cameraP.velocidadeMaxAngular = X.velocidadeMaxAngular; if (GetComponent <sigaOLider> ()) { GetComponent <sigaOLider> ().enabled = false; } if (GetComponent <UnityEngine.AI.NavMeshAgent> ()) { GetComponent <UnityEngine.AI.NavMeshAgent> ().enabled = false; } gameObject.AddComponent <movimentoBasico> (); menuInTravel2 mIT2 = Camera.main.GetComponent <menuInTravel2>(); if (mIT2) { mIT2.enabled = false; } if (!heroi.emLuta && !variaveisChave.shift["TrocaGolpes"]) { vidaEmLuta v = GameObject.Find("Terrain").AddComponent <vidaEmLuta> (); v.minhaLuta = true; v.doMenu = GetComponent <umCriature>().X; v.nomeVida = "meuCriature"; v.n = 2; v.posX = 0.74f; v.posY = 0.78f; } } }
public void remendoDeBug() { C = GetComponent <umCriature>().X; // print("nivel IA: "+C.mNivel.Nivel); defineAlvo(); C.golpeEscolhido = proximoGolpe(); for (int i = 0; i < C.Golpes.Length; i++) { roletaDeGolpes += C.Golpes[i].taxaDeUso; } }
public void remendoDeBug() { C = GetComponent<umCriature>().X; // print("nivel IA: "+C.mNivel.Nivel); defineAlvo(); C.golpeEscolhido = proximoGolpe(); for(int i=0;i<C.Golpes.Length;i++) { roletaDeGolpes += C.Golpes[i].taxaDeUso; } }
Vector2 embaralhaDeMedo(Criature C, int indiceDoMedo, float h, float v) { Vector2 r = new Vector3(h, v); switch ((int)C.statusTemporarios[indiceDoMedo].forcaDoDano) { case 0: r.x = -h; r.y = -v; break; case 1: case 9: r.x = v; r.y = h; break; case 2: case 7: case 8: r.x = -v; r.y = h; break; case 3: case 10: r.x = v; r.y = -h; break; case 4: r.x = -v; r.y = -h; break; case 5: r.x = -h; r.y = v; break; case 6: r.x = h; r.y = -v; break; default: Debug.LogWarning("Nenhuma das opçoes de embaralhamento foram selecionadas"); break; } return(r); }
void recebePontosDaVitoria() { Criature vencedor = X.GetComponent <umCriature> ().criature(); uint derrotadoM = inimigoUC.criature().cAtributos[0].Maximo; heroi H = oHeroi.GetComponent <heroi> (); vencedor.mNivel.XP += (uint)Mathf.Round((float)((double)derrotadoM / (double)2)); if (vencedor.mNivel.verificaPassaNivel(vencedor.cAtributos)) { passoDePassarDeNivel(); } H.cristais += derrotadoM; }
// Use this for initialization void Start() { controle = GetComponent<CharacterController>(); heroi H = GameObject.FindGameObjectWithTag ("Player").GetComponent<heroi> (); if(GetComponent<sigaOLider>()){ X = H.criaturesAtivos [0]; nomeCriature = X.nomeID; statusTemporarioBase.colocaStatus(gameObject,X.statusTemporarios); statusTemporarioBase.retiraStatusDoGerente(X); } else X = new cCriature (nomeCriature,nivelCriature).criature(); }
void Start() { skin = elementosDoJogo.el.skin; destaque = elementosDoJogo.el.destaque; coisas = GameObject.Find("elementosDoJogo").GetComponent <elementosDoJogo>(); criatureAtivo = GameObject.Find("CriatureAtivo"); criature = criatureAtivo.GetComponent <umCriature>().criature(); posX = 0.28f; posY = 0.78f; aCaixa = 0.15f; lCaixa = 0.45f; posYrr = 2 * Screen.height; }
public void aprendeuGolpeForaDoEncontro(Criature C, nivelGolpe novoGolpe) { if (!fim) { fim = gameObject.AddComponent <apresentaFim>(); fim.vencedor = C; fim.derrotado = C; fim.fecharML = false; } aprendendoGolpeFora = true; aprendizadoDeGolpe(novoGolpe); }
public static Vector3 ataqueEmissor( movimentoBasico mB, IA_inimigo IA, Transform T, out Vector3 posInicial, Animator A, golpe G, Criature Y) { acaoDeGolpeRegenerate.paraliseNoTempo(mB, IA); Vector3 forwardInicial = T.forward; posInicial = useOEmissor(Y, G, T); acaoDeGolpeRegenerate.anime("emissor", A); return(forwardInicial); }
public void aprendeuGolpeForaDoEncontro(Criature C,nivelGolpe novoGolpe) { if(!fim) { fim = gameObject.AddComponent<apresentaFim>(); fim.vencedor = C; fim.derrotado = C; fim.fecharML = false; } aprendendoGolpeFora = true; aprendizadoDeGolpe(novoGolpe); }
public static void estadoPerfeito(Criature C, int quem) { atributos[] aH = C.cAtributos; aH[0].Corrente = aH[0].Maximo; aH[1].Corrente = aH[1].Maximo; statusTemporarioBase.limpaStatus(C, quem); if (quem == 0) { statusTemporarioBase.retiraComponenteStatus(tipoStatus.todos, GameObject.Find("CriatureAtivo")); } else { statusTemporarioBase.retiraStatusDoGerente(C); } }
public static int contemStatus(tipoStatus esseStatus, Criature X) { int retorno = -1; if (X.statusTemporarios.Count > 0) { foreach (statusTemporario sT in X.statusTemporarios) { if (sT.esseStatus == esseStatus) { retorno = X.statusTemporarios.IndexOf(sT); } } } return(retorno); }
public static void retiraStatusTemporario(int quem, tipoStatus nomeStatus, heroi H) { Criature C = H.criaturesAtivos[quem]; if (quem == 0) { statusTemporarioBase.retiraComponenteStatus( nomeStatus, GameObject.Find("CriatureAtivo")); } else { statusTemporarioBase.retiraStatusDoGerente(C, tipoStatus.envenenado); } statusTemporarioBase.tiraStatus(nomeStatus, C.statusTemporarios); }
public static int contemStatus(tipoStatus esseStatus,Criature X) { int retorno = -1; if(X.statusTemporarios.Count>0) { foreach(statusTemporario sT in X.statusTemporarios ) { if(sT.esseStatus == esseStatus) { retorno = X.statusTemporarios.IndexOf(sT); } } } return retorno; }
// Use this for initialization void Start() { controle = GetComponent <CharacterController>(); heroi H = GameObject.FindGameObjectWithTag("Player").GetComponent <heroi> (); if (GetComponent <sigaOLider>()) { X = H.criaturesAtivos [0]; nomeCriature = X.nomeID; statusTemporarioBase.colocaStatus(gameObject, X.statusTemporarios); statusTemporarioBase.retiraStatusDoGerente(X); } else { X = new cCriature(nomeCriature, nivelCriature).criature(); } }
void trocaCriatures() { uint indice1 = retornaMenu("organizaCriatures").escolha; uint indice2 = retornaMenu("segundaOrganizaçao").escolha; // print (indice2+" : "+indice1); indice2 = (indice1 <= indice2) ? indice2 + 1: indice2; // print (indice2+" : "+indice1); if ((indice1 == 0 && H.criaturesAtivos [(int)indice2].cAtributos[0].Corrente > 0) || ((indice2 == 0 && H.criaturesAtivos [(int)indice1].cAtributos[0].Corrente > 0)) || (indice1 != 0 && indice2 != 0)) { Criature aux = H.criaturesAtivos[(int)indice1]; H.criaturesAtivos [(int)indice1] = H.criaturesAtivos [(int)indice2]; H.criaturesAtivos [(int)indice2] = aux; if (indice1 == 0 || indice2 == 0) { animaTroca(); } else { retornaParaOrganizacao(); } } else { Criature daMens; if (indice1 == 0) { daMens = H.criaturesAtivos[(int)indice2]; } else { daMens = H.criaturesAtivos[(int)indice1]; } mensS = gameObject.AddComponent <mensagemBasica>(); mensS.posY = 0.68f; mensS.skin = skin; mensS.mensagem = tMIT2["mitSoltos"][1] + daMens.Nome + tMIT2["mitSoltos"][2]; nomeMenu = "mensagemOrganizacaoFail"; } }
// Use this for initialization void Start() { controle = GetComponent<CharacterController>(); animator = GetComponent<Animator>(); C = dono.GetComponent<umCriature>().X; if(dono.name=="inimigo") { IA = dono.GetComponent<IA_inimigo>(); mB = GameObject.Find("CriatureAtivo").GetComponent<movimentoBasico>(); }else { GameObject G = GameObject.Find("inimigo"); if(G) IA = G.GetComponent<IA_inimigo>(); mB = dono.GetComponent<movimentoBasico>(); } noImpacto = "impactoDeGosma"; }
public static void limpaStatus(Criature X,int i) { // List<statusTemporario> sT = X.statusTemporarios; statusTemporarioBase[] sTs; if(i==0) { GameObject G = GameObject.Find("CriatureAtivo"); /* foreach(statusTemporario st in sT) { switch(st.esseStatus) { case tipoStatus.envenenado: envenenado e = G.GetComponent<envenenado> (); if(e) e.destrua(); break; } }*/ sTs = G.GetComponents<statusTemporarioBase>(); foreach(statusTemporarioBase sTb in sTs) { sTb.destrua (); } }else { sTs = GameObject.Find("elementosDoJogo").GetComponents<statusTemporarioBase>(); foreach(statusTemporarioBase sTb in sTs) { if(sTb.oAfetado == X) { Destroy(sTb); } } } X.statusTemporarios.Clear(); }
public static void limpaStatus(Criature X, int i) { // List<statusTemporario> sT = X.statusTemporarios; statusTemporarioBase[] sTs; if (i == 0) { GameObject G = GameObject.Find("CriatureAtivo"); /* * foreach(statusTemporario st in sT) * { * switch(st.esseStatus) * { * case tipoStatus.envenenado: * * envenenado e = G.GetComponent<envenenado> (); * if(e) * e.destrua(); * break; * } * }*/ sTs = G.GetComponents <statusTemporarioBase>(); foreach (statusTemporarioBase sTb in sTs) { sTb.destrua(); } } else { sTs = GameObject.Find("elementosDoJogo").GetComponents <statusTemporarioBase>(); foreach (statusTemporarioBase sTb in sTs) { if (sTb.oAfetado == X) { Destroy(sTb); } } } X.statusTemporarios.Clear(); }
public void finalisaAprendeGolpe() { int quem = (int)retornaMenu("perguntaQuem").escolha; Criature C = H.criaturesAtivos[quem]; nomesGolpes[] nomeDoGolpeDesseItem = golpeDesseItem(); if (C.NosMeusGolpes(nomeDoGolpeDesseItem)) { acaoAtual = "animandoNovoGolpe"; } else { retornaMenusEscondidos(); acaoAtual = "naoUsar"; mensCorrente = string.Format(textos[7], C.Nome, item.nomeEmLinguas(nomeItem)); proxAcao = "naoUsarQuemAberta"; } }
public static void retiraStatusDoGerente(Criature C, tipoStatus tipo = tipoStatus.todos) { statusTemporarioBase[] sTs = GameObject.Find("elementosDoJogo").GetComponents <statusTemporarioBase>(); foreach (statusTemporarioBase sT in sTs) { if (sT.oAfetado == C) { if (tipo == tipoStatus.todos) { Destroy(sT); } else if (tipo == sT.esseStatus) { Destroy(sT); } } } }
protected void morreuEmLuta() { contadorDeTempo += Time.deltaTime; if (contadorDeTempo > 0.25f) { Criature X1 = X.GetComponent <umCriature>().criature(); dead = X.GetComponent <morteEmLuta>(); if (!dead) { dead = X.AddComponent <morteEmLuta>(); } X.AddComponent <gravidadeGambiarra>(); //dead.Inimigo = Inimigo; dead.Ia = IA; //dead.criature = X; dead.oMOrto = X1; passoAposAMorte(); } }
// Use this for initialization void Start() { controle = GetComponent <CharacterController>(); animator = GetComponent <Animator>(); C = dono.GetComponent <umCriature>().X; if (dono.name == "inimigo") { IA = dono.GetComponent <IA_inimigo>(); mB = GameObject.Find("CriatureAtivo").GetComponent <movimentoBasico>(); } else { GameObject G = GameObject.Find("inimigo"); if (G) { IA = G.GetComponent <IA_inimigo>(); } mB = dono.GetComponent <movimentoBasico>(); } noImpacto = "impactoDeGosma"; }
public static colisor pegueOColisor(nomesGolpes nomeColisor, Criature XX) { colisor C = new colisor(); /* * Quando e feito um saveGame o Criature e salvo em essencia como esta no script, * isso inclui os colisores, * se algum golpe for inserido apos esse save e um novo colisor for inserido * o novo colisor nao aparece no jogo salvo * * Para corrigir isso inseri essa linha que questiona a existencia do colisor */ if (XX.colisores.ContainsKey(nomeColisor)) { C = XX.colisores[nomeColisor]; } else { Criature XXX = new cCriature(XX.nomeID).criature(); /* * Essa linha verifica a existencia do colisor no script desse Criature, * se existir insere no criature que lançou o golpe * se nao existir da uma mensagem de atençao */ if (XXX.colisores.ContainsKey(nomeColisor)) { XX.colisores.Add(nomeColisor, XXX.colisores[nomeColisor]); } else { Debug.LogWarning("O Colisor com o nome \"" + nomeColisor + "\" nao foi encontrado para " + XX.Nome); return(new colisor("erroColisor")); } } return(C); }
public static void ColocaAddView( Vector3 posInicial, Vector3 forwardInicial, Criature Y, golpe G, Transform T, string tipo, float tempoDeAtraso, acaoDeGolpe aG, string nomeProjetil, float velocidade, string impacto = "impactoComum", float tempoDeGolpe = 10, float tempoDeScript = 2) { if (tempoDeAtraso > 0) { useOEmissor(Y, G, T); } GameObject KY = aG.instancieEDestrua(posInicial, forwardInicial, nomeProjetil, tempoDeGolpe, tempoDeScript); Iprojetil proj = null; switch (tipo) { case "rigido": proj = KY.AddComponent <projetilRigido>(); break; case "basico": proj = KY.AddComponent <projetil>(); break; case "status": proj = KY.AddComponent <projetilStatusExpansivel>(); break; case "direcional": projetilDirecional projD = KY.AddComponent <projetilDirecional>(); projD.alvo = (aG.gameObject.name == "inimigo")?GameObject.Find("CriatureAtivo"):GameObject.Find("inimigo"); proj = projD; break; } proj.velocidadeProjetil = velocidade; proj.noImpacto = impacto; proj.dono = aG.gameObject; }
protected void verifiqueVida() { Criature M = inimigoUC.criature(); if (!meuCriatureUC) { meuCriatureUC = X.GetComponent <umCriature> (); } Criature X1 = meuCriatureUC.criature(); contadorDeTempo = 0; if (M.cAtributos[0].Corrente <= 0 && X1.cAtributos[0].Corrente > 0) { umaVitoria(); } if (X1.cAtributos[0].Corrente <= 0) { umaDerrota(); } }
public static void retiraStatusDoGerente(Criature C,tipoStatus tipo = tipoStatus.todos) { statusTemporarioBase[] sTs = GameObject.Find("elementosDoJogo").GetComponents<statusTemporarioBase>(); foreach(statusTemporarioBase sT in sTs) { if(sT.oAfetado == C) { if(tipo == tipoStatus.todos) Destroy(sT); else if(tipo == sT.esseStatus) Destroy(sT); } } }
protected void mostraOSelecionado(GameObject G,Criature C,int escolha = 1) { vidaEmLuta w = G.AddComponent<vidaEmLuta>(); w.negativo = true; w.doMenu = C; w.nomeVida = "escolha"+escolha.ToString(); w.posX = 0.74f; w.posY = 0.01f; w.n = (int)escolha+3; }
public void defineAlvo() { alvo = GameObject.Find("CriatureAtivo").transform; criatureAlvo = alvo.GetComponent<umCriature>().criature(); }
// Use this for initialization void Start() { if(GetComponent<umCriature>()) umC = GetComponent<umCriature>(); if(umC) Y = umC.criature(); animator = GetComponent<Animator> (); nomeParaCancelamento = ativa.nomeID; elementos = GameObject.Find ("elementosDoJogo").GetComponent<elementosDoJogo> (); switch(ativa.nomeID) { case nomesGolpes.rajadaDeAgua: ataqueRajadaDeAgua(); break; case nomesGolpes.gosmaAcida: case nomesGolpes.ondaVenenosa: case nomesGolpes.furacaoDeFolhas: case nomesGolpes.turboDeAgua: case nomesGolpes.rajadaDeFogo: case nomesGolpes.ventania: case nomesGolpes.ventosCortantes: case nomesGolpes.eletricidade: case nomesGolpes.eletricidadeConcentrada: case nomesGolpes.gosmaDeInseto: case nomesGolpes.agulhaVenenosa: case nomesGolpes.laminaDeFolha: case nomesGolpes.cascalho: case nomesGolpes.pedregulho: case nomesGolpes.rajadaDeTerra: case nomesGolpes.vingancaDaTerra: case nomesGolpes.psicose: case nomesGolpes.bolaPsiquica: case nomesGolpes.anelDoOlhar: case nomesGolpes.olharMal: case nomesGolpes.olharParalisante: case nomesGolpes.rajadaDeGas: case nomesGolpes.bombaDeGas: case nomesGolpes.sabreDeAsa: case nomesGolpes.sabreDeBastao: case nomesGolpes.sabreDeEspada: case nomesGolpes.sabreDeNadadeira: ataqueEmissor(); break; case nomesGolpes.multiplicar: case nomesGolpes.garra: case nomesGolpes.tapa: case nomesGolpes.chute: case nomesGolpes.chicoteDeMao: case nomesGolpes.espada: case nomesGolpes.chicoteDeCalda: case nomesGolpes.dentada: case nomesGolpes.bico: case nomesGolpes.cabecada: case nomesGolpes.sobreSalto: case nomesGolpes.hidroBomba: case nomesGolpes.tosteAtaque: case nomesGolpes.tempestadeDeFolhas: case nomesGolpes.tempestadeEletrica: case nomesGolpes.chifre: case nomesGolpes.avalanche: case nomesGolpes.bastao: impactoBasico(ativa.nomeID.ToString()); break; case nomesGolpes.sobreVoo: instanciaVentoDano(); impactoBasico(ativa.nomeID.ToString()); break; case nomesGolpes.bolaDeFogo: ataqueBolaDeFogo(); break; case nomesGolpes.energiaDeGarras: paralisaTudo(); break; case nomesGolpes.cortinaDeTerra: case nomesGolpes.cortinaDeFumaca: case nomesGolpes.teletransporte: desapareceAntesDoHit(); break; case nomesGolpes.chuvaVenenosa: posInicial = transform.position; Destroy(Instantiate(elementos.retorna("impulsoVenenoso"),transform.position,Quaternion.identity),3); impactoBasico("chuvaVenenosa"); break; default: Destroy(this); break; } }
public void calculaDano(Transform T,Criature Y) { if(Y == null) { Y = new Criature(); } Criature X = T.GetComponent<umCriature>().criature(); //golpe golpeDeDano = resgataGolpe(ativa, Y); int dano; float multiplicador = 1; for (uint i=0;i<X.contraTipos.Length;i++) { if(ativa.Tipo.ToString() == X.contraTipos[i].Nome) { multiplicador*=X.contraTipos[i].Mod; } } // print (multiplicador+" : tipo"+ativa.Tipo+ " : nome X"+X.Nome); int pod = (ativa.CaracGolpe != caracGolpe.colisao ) ? Mathf.RoundToInt (Y.cAtributos [2].Basico + (Y.cAtributos [2].Corrente - Y.cAtributos [2].Basico) * Random.Range(0.85f,1)) : Mathf.RoundToInt (Y.cAtributos [3].Basico + (Y.cAtributos [3].Corrente - Y.cAtributos [3].Basico) * Random.Range(0.85f,1)) ; // print(Y.cAtributos [2].Basico+" : "+ (Y.cAtributos [2].Corrente - Y.cAtributos [2].Basico).ToString()+" : "+pod); // print(Y.cAtributos [3].Basico+" : "+ (Y.cAtributos [3].Corrente - Y.cAtributos [3].Basico).ToString()+" : "+pod); dano = Mathf.Abs(Mathf.RoundToInt( multiplicador * (ativa.Corrente+ativa.mod+ pod))); // print(dano+" : "+multiplicador+" : "+ativa.Corrente+" : "+ativa.mod); int defesa = Mathf.RoundToInt(X.cAtributos[4].Corrente*Random.value); // print(defesa); if(defesa<0.75f*dano) dano-=defesa; else dano = (int)(0.25f*dano)>0?(int)(0.25f*dano):1; if(dano>ativa.Maximo && multiplicador<=1) dano = (int)ativa.Maximo; if(elementos==null) elementos = GameObject.Find ("elementosDoJogo").GetComponent<elementosDoJogo> (); mostraDano(elementos,T,dano); aplicaDano(X,dano); if(X.cAtributos[0].Corrente > 0 ) aplicaStatus(T,X,ativa,Y); }
void OnGUI() { /* if(criatureAtivo!=null){ if(criature != null)//.Golpes;) { G = criature.Golpes; }else{ criature = criatureAtivo.GetComponent<umCriature>().criature(); if(criature.Golpes!= null) G = criature.Golpes }*/ if(criatureAtivo!=null){ if(criature!= null)//.Golpes;) { //criature = criatureAtivo.GetComponent<umCriature>().criature(); G = criature.Golpes; }else G = null; if(G!=null){ deslizar(); Rect R = new Rect(posXrr,posYrr,lCr,aCr+0.06f*Screen.height); GUILayout.BeginArea(R); //GUI.Box(new Rect(0,0,lCr,aCr),"",skin.box); GUI.Box(new Rect(0,aCr,lCr,0.06f*Screen.height),"",skin.box); tempStyle = new GUIStyle(skin.label); tempStyle.alignment = TextAnchor.MiddleCenter; GUI.Label(new Rect(0,aCr,lCr,0.06f*Screen.height),G[criature.golpeEscolhido].Nome,tempStyle); float ladoQuadrado = Mathf.Min(0.1f*Screen.width,aCr-0.02f*Screen.height); for(int i=0;i<4;i++) { R = new Rect( 0.01f*Screen.width+0.11f*Screen.width*i, 0.01f*Screen.height, ladoQuadrado, ladoQuadrado); GUI.Box(R,"",(criature.golpeEscolhido != i )? skin.box : destaque.box); if(G.Length>i){ if(G[i].UltimoUso > Time.time - G[i].TempoReuso) { tempStyle = new GUIStyle((criature.golpeEscolhido != i )? skin.box : destaque.box); tempStyle.fontSize = 12; R = new Rect( 0.01f*Screen.width+0.11f*Screen.width*i, 0.01f*Screen.height+1.05f*ladoQuadrado, ladoQuadrado, 0.03f*Screen.height ); GUI.Box(R, (comandos.mostradorDeTempo(-Time.time+G[i].UltimoUso+G[i].TempoReuso)) ,tempStyle); } tempStyle = new GUIStyle((criature.golpeEscolhido != i )? skin.box : destaque.box); texturaSacana = coisas.retornaMini(G[i].Nome,"golpe"); tempStyle.normal.background = texturaSacana; tempStyle.hover.background = texturaSacana; tempStyle.active .background = texturaSacana; R = new Rect( 0.02f*Screen.width+0.11f*Screen.width*i, 0.02f*Screen.height, ladoQuadrado - 0.02f*Screen.width, ladoQuadrado - 0.02f*Screen.width); GUI.Box(R,"",tempStyle); } } GUILayout.EndArea(); } }else posYrr = 2*Screen.height; criatureAtivo = GameObject.Find("CriatureAtivo"); criature = criatureAtivo.GetComponent<umCriature>().criature(); }
public void calculaDano_PokemonCalc(Transform T,Criature Y) { if(Y == null) { Y = new Criature(); } Criature X = T.GetComponent<umCriature>().criature(); float efetividade = 1; for (uint i=0;i<X.contraTipos.Length;i++) { if(ativa.Tipo.ToString() == X.contraTipos[i].Nome) { efetividade*=X.contraTipos[i].Mod; } } int variacao = Random.Range(85,101); int nivel = (int)Y.mNivel.Nivel; int ataque = (ativa.CaracGolpe != caracGolpe.colisao ) ? (int)Y.cAtributos[2].Corrente : (int)Y.cAtributos[3].Corrente; float poderDoAtaque = ativa.Corrente+ativa.mod; int defesa = (int)X.cAtributos[4].Corrente; float danoX = (0.01f*efetividade*variacao*((0.2f*nivel+1)*ataque*poderDoAtaque/(25*defesa))); int dano = (int)danoX; print(defesa+" : "+efetividade+" : "+variacao+" : "+ataque+" : "+poderDoAtaque+" : "+" eu "+danoX); if(elementos==null) elementos = GameObject.Find ("elementosDoJogo").GetComponent<elementosDoJogo> (); GameObject visaoDeDano = elementos.retorna("visaoDeDano"); visaoDeDano = (GameObject)Instantiate(visaoDeDano,T.position,Quaternion.identity); visaoDeDano.GetComponent<danoAparecendo>().dano = dano; if(X.cAtributos[0].Corrente-dano>0) X.cAtributos[0].Corrente -= (uint)dano; else X.cAtributos[0].Corrente = 0; }
static bool recebeStatus(Criature X/*O que recebe o Status*/,golpe ativa,Criature Y) { bool retorno = false; switch(ativa.nomeID) { case nomesGolpes.agulhaVenenosa: case nomesGolpes.ondaVenenosa: case nomesGolpes.chuvaVenenosa: float ff = ativa.Corrente* Mathf.Max(1, Random.Range(0.75f,1f)*Y.cAtributos[(int)nomesAtributos.Poder].Corrente- Random.Range(0,0.75f)*X.cAtributos[(int)nomesAtributos.Defesa].Corrente); if(X.contraTipos[(int)nomeTipos.Veneno].Mod*ff+Random.Range(0,100)>80) retorno = true; break; } return retorno; }
bool temGolpeEmRecarga(Criature C) { bool retorno = false; for(int i = 0;i<C.Golpes.Length;i++)//G.UltimoUso < Time.time - G.TempoReuso if(Time.time-C.Golpes[i].UltimoUso<C.Golpes[i].TempoReuso && C.Golpes [i].TempoReuso>2) { retorno = true; // print(C.Golpes[i].nomeID); } return retorno; }
Vector2 embaralhaDeMedo(Criature C,int indiceDoMedo,float h,float v) { Vector2 r = new Vector3(h,v); switch((int)C.statusTemporarios[indiceDoMedo].forcaDoDano) { case 0: r.x = -h; r.y = -v; break; case 1: case 9: r.x = v; r.y = h; break; case 2: case 7: case 8: r.x = -v; r.y = h; break; case 3: case 10: r.x = v; r.y = -h; break; case 4: r.x = -v; r.y = -h; break; case 5: r.x = -h; r.y = v; break; case 6: r.x = h; r.y = -v; break; default: Debug.LogWarning("Nenhuma das opçoes de embaralhamento foram selecionadas"); break; } return r; }
void Start() { skin = elementosDoJogo.el.skin; destaque = elementosDoJogo.el.destaque; coisas = GameObject.Find("elementosDoJogo").GetComponent<elementosDoJogo>(); criatureAtivo = GameObject.Find("CriatureAtivo"); criature = criatureAtivo.GetComponent<umCriature>().criature(); posX = 0.28f; posY = 0.78f; aCaixa = 0.15f; lCaixa = 0.45f; posYrr = 2*Screen.height; }
void criatureVerificaTrocaGolpe(Criature X) { if(Input.GetButtonDown("trocaGolpe")&&!variaveisChave.shift["TrocaGolpes"]) { int aux = X.golpeEscolhido; if(aux < X.Golpes.Length-1 ) X.golpeEscolhido++; else X.golpeEscolhido = 0; if(!Camera.main.GetComponent<HUDGolpes>()) { HUDGolpes HUD = GameObject.FindGameObjectWithTag("MainCamera") .AddComponent<HUDGolpes>(); HUD.zeraTempo(); }else Camera.main.GetComponent<HUDGolpes>().zeraTempo(); } }
public cCriature(nomesCriatures nome,uint nivel=1) { switch(nome) { case nomesCriatures.Xuash: X = new Xuash(nivel); break; case nomesCriatures.Florest: X = new Florest(nivel); break; case nomesCriatures.Marak: X = new Marak(nivel); break; case nomesCriatures.PolyCharm: X = new PolyCharm(nivel); break; case nomesCriatures.FelixCat: X = new FelixCat(nivel); break; case nomesCriatures.Babaucu: X = new Babaucu(nivel); break; case nomesCriatures.Arpia: X = new Arpia(nivel); break; case nomesCriatures.Iruin: X = new Iruin(nivel); break; case nomesCriatures.Steal: X = new Steal(nivel); break; case nomesCriatures.Escorpion: X = new Escorpion(nivel); break; case nomesCriatures.Escorpirey: X = new Escorpirey(nivel); break; case nomesCriatures.Aladegg: X = new Aladegg(nivel); break; case nomesCriatures.Onarac: X = new Onarac(nivel); break; case nomesCriatures.Wisks: X = new Wisks(nivel); break; case nomesCriatures.Serpente: X = new Serpente(nivel); break; case nomesCriatures.Nessei: X = new Nessei(nivel); break; case nomesCriatures.Rabitler: X = new Rabitler(nivel); break; case nomesCriatures.Rocketler: X = new Rocketler(nivel); break; case nomesCriatures.Cabecu: X = new Cabecu(nivel); break; case nomesCriatures.Vampire: X = new Vampire(nivel); break; case nomesCriatures.Fajin: X = new Fajin(nivel); break; case nomesCriatures.Flam: X = new Flam(nivel); break; case nomesCriatures.Croc: X = new Croc(nivel); break; case nomesCriatures.Oderc: X = new Oderc(nivel); break; case nomesCriatures.Abutre: X = new Abutre(nivel); break; case nomesCriatures.Urkan: X = new Urkan(nivel); break; case nomesCriatures.Baratarab: X = new Baratarab(nivel); break; case nomesCriatures.DogMour: X = new DogMour(nivel); break; case nomesCriatures.Izicuolo: X = new Izicuolo(nivel); break; } if(X!=null) X.nomeID = nome; float sum = 0; for(int i=0;i<5;i++) sum+=X.cAtributos[i].Taxa; if(sum!=1) { Debug.LogWarning("O Criature "+X.nomeID+" nao tem a soma das taxas igual a 1"); } }