public nivelGolpe verificaNovoGolpe()
    {
        /*
         *      Essa linha e responsavel por atualizar a lista de golpes a media que golpes forem sendo
         *      criados e inseridos na lista
         *
         *      Uma coisa chata que ocorria e que, os Criatures durante o jogo tinham a lista de golpes
         *      de quando o jogo foi iniciado, ao atualizar o jogo, atualizando as listas de golpes
         *      inserindo novos golpes, as passagens de nivel nao tinham os
         *      golpes criados posteriormente
         *
         *      enquanto nao encontrar soluçao melhor, a melhor coisa e atualizar a lista cada vez que
         *      for necessario procurar novos golpes.
         */

        listaDeGolpes = new cCriature(nomeID).criature().listaDeGolpes;

        /*			-----------------------------------------------			*/


        nivelGolpe retorno = new nivelGolpe(-1, nomesGolpes.nulo, 0, 0);

        for (int i = 0; i < listaDeGolpes.Length; i++)
        {
            if (listaDeGolpes[i].nivel == mNivel.Nivel)
            {
                retorno = listaDeGolpes[i];
            }
        }
        return(retorno);
    }
Beispiel #2
0
 void aprendizadoDeGolpe(nivelGolpe novoGolpe)
 {
     golpeAprendido = new pegaUmGolpe(novoGolpe.nome).OGolpe();
     if (fim.vencedor.Golpes.Length < 4)
     {
         List <golpe> G = new List <golpe>();
         G.AddRange(fim.vencedor.Golpes);
         G.Add(new pegaUmGolpe(novoGolpe.nome).OGolpe());
         G[G.Count - 1].Basico   += (uint)novoGolpe.mod;
         G[G.Count - 1].Corrente += (uint)novoGolpe.mod;
         G[G.Count - 1].Maximo   += (uint)(2 * novoGolpe.mod);
         fim.vencedor.Golpes      = G.ToArray();
         fim.conteudo             = "aprendeuEsse";
         fim.aprendeuEsse         = G[G.Count - 1];
         Invoke("aprendeuGolpe", 0.15f);
         fim.entrando        = false;
         passoDaAnimaInicial = 0;
     }
     else
     {
         fim.conteudo     = "podeAprender";
         fim.aprendeuEsse = golpeAprendido;
         Invoke("podeAprenderEsse", 0.15f);
         fim.entrando        = false;
         passoDaAnimaInicial = 0;
     }
 }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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 nivelGolpe GolpeNaLista(nomesGolpes[] nomeDoGolpe)
    {
        listaDeGolpes = new cCriature(nomeID).criature().listaDeGolpes;

        /*			-----------------------------------------------			*/


        nivelGolpe retorno = new nivelGolpe(-1, nomesGolpes.nulo, 0, 0);

        for (int j = 0; j < nomeDoGolpe.Length; j++)
        {
            for (int i = 0; i < listaDeGolpes.Length; i++)
            {
                if (listaDeGolpes[i].nome == nomeDoGolpe[j])
                {
                    retorno = listaDeGolpes[i];
                }
            }
        }
        return(retorno);
    }
Beispiel #6
0
    private void elePassouDeNivel()
    {
        if (fim)
        {
            switch (fim.conteudo)
            {
            case "pontinhos":
                if (botoesPrincipais())
                {
                    fim.entrando = false;
                    Invoke("fimPassouDeNivel", 0.15f);
                    fim.conteudo        = "deNivel";
                    passoDaAnimaInicial = 0;
                }
                break;

            case "deNivel":
                if (botoesPrincipais())
                {
                    nivelGolpe novoGolpe = fim.vencedor.verificaNovoGolpe();
                    if (novoGolpe.nivel == fim.vencedor.mNivel.Nivel
                        &&
                        novoGolpe.nome != nomesGolpes.nulo)
                    {
                        aprendizadoDeGolpe(novoGolpe);
                    }
                    else
                    {
                        fim.fechaJanela();

                        if (!aprendendoGolpeFora)
                        {
                            OPassoDepoisDaVitoria();
                        }
                        else
                        {
                            voltaParaUsandoItem();
                        }
                    }
                }
                break;

            case "aprendeuEsse":
                if (botoesPrincipais())
                {
                    fim.fechaJanela();

                    if (!aprendendoGolpeFora)
                    {
                        OPassoDepoisDaVitoria();
                    }
                    else
                    {
                        voltaParaUsandoItem();
                    }
                }
                break;

            case "podeAprender":
                if (botoesPrincipais())
                {
                    fim.entrando        = false;
                    passoDaAnimaInicial = 11;
                    menu = gameObject.AddComponent <Menu>();

                    string[] opcoes = new string[5];
                    for (int i = 0; i < 4; i++)
                    {
                        opcoes[i] = fim.vencedor.Golpes[i].Nome;
                    }

                    opcoes[4]     = textinhos[0];
                    menu.opcoes   = opcoes;
                    menu.posXalvo = 0.7f;
                    menu.posYalvo = 0.1f;
                    menu.aMenu    = 0.1f * opcoes.Length;
                    menu.lMenu    = 0.2f;
                    menu.skin     = fim.skin;
                    menu.Nome     = "responde";
                    menu.destaque = elementosDoJogo.el.destaque;

                    mens          = gameObject.AddComponent <mensagemBasica>();
                    mens.posX     = 0.01f;
                    mens.posY     = 0.68f;
                    mens.mensagem = "Qual golpe " + fim.vencedor.Nome + textinhos[1] +
                                    golpeAprendido + "</color>";
                    mens.skin = fim.skin;
                }
                break;
            }

            /*
             * if(fim.conteudo=="pontinhos")
             * {
             *      if(botoesPrincipais())
             *      {
             *              fim.entrando = false;
             *              Invoke("fimPassouDeNivel",0.15f);
             *              fim.conteudo = "deNivel";
             *              passoDaAnimaInicial = 0;
             *      }
             * }else if(fim.conteudo == "deNivel")
             * {
             *      if(botoesPrincipais())
             *      {
             *
             *
             *              nivelGolpe novoGolpe = fim.vencedor.verificaNovoGolpe();
             *              if(novoGolpe.nivel == fim.vencedor.mNivel.Nivel
             *                 &&
             *                 novoGolpe.nome!="")
             *              {
             *                      if(fim.vencedor.Golpes.Length< 4)
             *                      {
             *                              List<golpe> G = new List<golpe>();
             *                              G.AddRange(fim.vencedor.Golpes);
             *                              G.Add(new pegaUmGolpe(novoGolpe.nome).OGolpe());
             *                              fim.vencedor.Golpes = G.ToArray();
             *                              fim.conteudo = "aprendeuEsse";
             *                              fim.aprendeuEsse = G[G.Count-1];
             *                              Invoke("aprendeuGolpe",0.15f);
             *                              fim.entrando = false;
             *                              passoDaAnimaInicial = 0;
             *                      }else
             *                      {
             *
             *                              fim.conteudo = "podeAprender";
             *                              fim.aprendeuEsse = new pegaUmGolpe(novoGolpe.nome).OGolpe();
             *                              Invoke("podeAprenderEsse",0.15f);
             *                              fim.entrando = false;
             *                              passoDaAnimaInicial = 0;
             *                      }
             *              }else
             *              {
             *                      fim.fechaJanela();
             *                      passoDaAnimaInicial = 6;
             *              }
             *      }
             * }else if(fim.conteudo == "aprendeuEsse")
             * {
             *      if(botoesPrincipais())
             *      {
             *              fim.fechaJanela();
             *              passoDaAnimaInicial = 6;
             *      }
             * }else if(fim.conteudo){}*/
        }
    }
Beispiel #7
0
    void verificaUsoComQuem()
    {
        int quem = (int)retornaMenu("perguntaQuem").escolha;

        switch (nomeItem)
        {
        case nomeIDitem.maca:
            acaoAtual = "usandoMaca";
            restaura(10, quem);
            break;

        case nomeIDitem.burguer:
            acaoAtual = "usandoMaca";
            restaura(40, quem);
            break;

        case nomeIDitem.pergaminhoDePerfeicao:
            acaoAtual = "usandoPerfeicao";
            perfeicao(quem);
            break;

        case nomeIDitem.antidoto:
        case nomeIDitem.amuletoDaCoragem:
        case nomeIDitem.tonico:
            if (statusTemporarioBase.contemStatus(tipoStatus.envenenado, H.criaturesAtivos[quem]) > -1)
            {
                retiraStatusTemporario(quem, tipoStatus.envenenado, H);
                acaoAtual = "animandoAntidoto";
            }
            else
            {
                acaoAtual = "eleNaoPrecisa";
            }
            break;

        case nomeIDitem.gasolina:
        case nomeIDitem.regador:
        case nomeIDitem.aguaTonica:
        case nomeIDitem.pilha:
        case nomeIDitem.estrela:
        case nomeIDitem.quartzo:
        case nomeIDitem.adubo:
        case nomeIDitem.seiva:
        case nomeIDitem.inseticida:
        case nomeIDitem.aura:
        case nomeIDitem.repolhoComOvo:
        case nomeIDitem.geloSeco:
        case nomeIDitem.ventilador:
            esseUsaIsso e = verifiqueEsseUsaIsso(nomeItem, quem);

            if (e.eleUsa)
            {
                acaoAtual = "usandoMaisPE";
                restaura(40, quem, 1);
            }
            else
            {
                acaoAtual    = "naoUsar";
                mensCorrente = textos[3] + e.oTipo + textos[4];
                proxAcao     = "naoUsarQuemAberta";
            }
            break;

        case nomeIDitem.pergDeRajadaDeAgua:
        case nomeIDitem.pergSabre:

            Criature      C = H.criaturesAtivos[quem];
            nomesGolpes[] nomeDoGolpeDesseItem = golpeDesseItem();
            nivelGolpe    nG = C.GolpeNaLista(nomeDoGolpeDesseItem);

            if (nG.nome != nomesGolpes.nulo)
            {
                if (!C.NosMeusGolpes(nomeDoGolpeDesseItem))
                {
                    escondeTodosMenus();
                    acaoAtual = "";
                    encontros E = GameObject.Find("Terrain").GetComponent <encontros>();

                    E.aprendeuGolpeForaDoEncontro(C, nG);
                }
                else
                {
                    acaoAtual    = "naoUsar";
                    mensCorrente = string.Format(textos[5], C.Nome,
                                                 item.nomeEmLinguas(nomeItem),
                                                 new pegaUmGolpe(nG.nome).OGolpe().Nome);
                    proxAcao = "naoUsarQuemAberta";
                }
            }
            else
            {
                acaoAtual    = "naoUsar";
                mensCorrente = string.Format(textos[6], C.Nome, new pegaUmGolpe(nG.nome).OGolpe().Nome);
                proxAcao     = "naoUsarQuemAberta";
            }

            break;
        }
    }
Beispiel #8
0
    protected golpe[] golpesAtivos(uint nivel,nivelGolpe[] listaGolpes)
    {
        List<nivelGolpe> L = new List<nivelGolpe> ();
        int i = 0;
        //int N = -1;
        while(i<listaGolpes.Length)
        {
            if(listaGolpes[i].nivel<=nivel && listaGolpes[i].nivel>-1){
                if(L.Count<4)
                    L.Add(listaGolpes[i]);
                else
                {
                    L[0] = L[1];
                    L[1] = L[2];
                    L[2] = L[3];
                    L[3] = listaGolpes[i];
                }
            }
            i++;
        }

        golpe[] Y = new golpe[L.Count];
        for(i = 0;i<L.Count;i++)
        {
            Y[i] = new pegaUmGolpe(L[i].nome).OGolpe();
            Y[i].taxaDeUso = L[i].taxaDeUso;
            Y[i].mod = L[i].mod;
        }

        return Y;
    }
Beispiel #9
0
    public nivelGolpe verificaNovoGolpe()
    {
        /*
            Essa linha e responsavel por atualizar a lista de golpes a media que golpes forem sendo
            criados e inseridos na lista

            Uma coisa chata que ocorria e que, os Criatures durante o jogo tinham a lista de golpes
            de quando o jogo foi iniciado, ao atualizar o jogo, atualizando as listas de golpes
            inserindo novos golpes, as passagens de nivel nao tinham os
            golpes criados posteriormente

            enquanto nao encontrar soluçao melhor, a melhor coisa e atualizar a lista cada vez que
            for necessario procurar novos golpes.
         */

        listaDeGolpes = new cCriature(nomeID).criature().listaDeGolpes;

        /*			-----------------------------------------------			*/

        nivelGolpe retorno = new nivelGolpe(-1,nomesGolpes.nulo,0,0);
        for(int i=0;i<listaDeGolpes.Length;i++)
        {
            if(listaDeGolpes[i].nivel == mNivel.Nivel){
                retorno = listaDeGolpes[i];
            }
        }
        return retorno;
    }
Beispiel #10
0
    public nivelGolpe GolpeNaLista(nomesGolpes[] nomeDoGolpe)
    {
        listaDeGolpes = new cCriature(nomeID).criature().listaDeGolpes;

        /*			-----------------------------------------------			*/

        nivelGolpe retorno = new nivelGolpe(-1,nomesGolpes.nulo,0,0);
        for(int j=0;j<nomeDoGolpe.Length;j++)
            for(int i=0;i<listaDeGolpes.Length;i++)
            {
                if(listaDeGolpes[i].nome == nomeDoGolpe[j]){
                    retorno = listaDeGolpes[i];
                }
            }
        return retorno;
    }
Beispiel #11
0
    void aprendizadoDeGolpe(nivelGolpe novoGolpe)
    {
        golpeAprendido = new pegaUmGolpe(novoGolpe.nome).OGolpe();
        if(fim.vencedor.Golpes.Length< 4)
        {
            List<golpe> G = new List<golpe>();
            G.AddRange(fim.vencedor.Golpes);
            G.Add(new pegaUmGolpe(novoGolpe.nome).OGolpe());
            G[G.Count-1].Basico += (uint)novoGolpe.mod;
            G[G.Count-1].Corrente += (uint)novoGolpe.mod;
            G[G.Count-1].Maximo += (uint)(2*novoGolpe.mod);
            fim.vencedor.Golpes = G.ToArray();
            fim.conteudo = "aprendeuEsse";
            fim.aprendeuEsse = G[G.Count-1];
            Invoke("aprendeuGolpe",0.15f);
            fim.entrando = false;
            passoDaAnimaInicial = 0;
        }else
        {

            fim.conteudo = "podeAprender";
            fim.aprendeuEsse = golpeAprendido;
            Invoke("podeAprenderEsse",0.15f);
            fim.entrando = false;
            passoDaAnimaInicial = 0;
        }
    }
    private void elePassouDeNivel()
    {
        if (fim)
        {
            switch (fim.conteudo)
            {
            case "pontinhos":
                if (botoesPrincipais())
                {
                    fim.entrando = false;
                    Invoke("fimPassouDeNivel", 0.15f);
                    fim.conteudo        = "deNivel";
                    passoDaAnimaInicial = 0;
                }
                break;

            case "deNivel":
                if (botoesPrincipais())
                {
                    nivelGolpe novoGolpe = fim.vencedor.verificaNovoGolpe();
                    if (novoGolpe.nivel == fim.vencedor.mNivel.Nivel
                        &&
                        novoGolpe.nome != nomesGolpes.nulo)
                    {
                        aprendizadoDeGolpe(novoGolpe);
                    }
                    else
                    {
                        fim.fechaJanela();

                        if (!aprendendoGolpeFora)
                        {
                            OPassoDepoisDaVitoria();
                        }
                        else
                        {
                            voltaParaUsandoItem();
                        }
                    }
                }
                break;

            case "aprendeuEsse":
                if (botoesPrincipais())
                {
                    fim.fechaJanela();

                    if (!aprendendoGolpeFora)
                    {
                        OPassoDepoisDaVitoria();
                    }
                    else
                    {
                        voltaParaUsandoItem();
                    }
                }
                break;

            case "podeAprender":
                if (botoesPrincipais())
                {
                    fim.entrando        = false;
                    passoDaAnimaInicial = 11;
                    menu = gameObject.AddComponent <Menu>();

                    string[] opcoes = new string[5];
                    for (int i = 0; i < 4; i++)
                    {
                        opcoes[i] = golpe.nomeEmLinguas(fim.vencedor.Golpes[i]);
                    }

                    opcoes[4]     = textinhos[0];
                    menu.opcoes   = opcoes;
                    menu.posXalvo = 0.7f;
                    menu.posYalvo = 0.1f;
                    menu.aMenu    = 0.1f * opcoes.Length;
                    menu.lMenu    = 0.2f;
                    menu.skin     = fim.skin;
                    menu.Nome     = "responde";
                    menu.destaque = elementosDoJogo.el.destaque;

                    mens          = gameObject.AddComponent <mensagemBasica>();
                    mens.posX     = 0.01f;
                    mens.posY     = 0.68f;
                    mens.mensagem = string.Format(textinhos[1], fim.vencedor.Nome,
                                                  golpe.nomeEmLinguas(golpeAprendido));
                    mens.skin = fim.skin;
                }
                break;
            }
        }
    }