Esempio n. 1
0
    // Use this for initialization
    void Start()
    {
        if (quem == "CriatureAtivo")
        {
            GameObject G = GameObject.Find("inimigo");
            if (G)
            {
                adversario = G.transform;
            }
        }
        else if (quem == "inimigo")
        {
            GameObject G = GameObject.Find("CriatureAtivo");
            if (G)
            {
                adversario = G.transform;
            }
        }

        if (adversario)
        {
            forwardInicial = adversario.forward;
            rightInicial   = adversario.right;
            animatorEnemy  = adversario.GetComponent <Animator>();
            if (final == 1)
            {
                controle = adversario.GetComponent <CharacterController>();
                umCdele  = adversario.GetComponent <umCriature>();
            }
        }
    }
Esempio n. 2
0
    void restauraPerfeicao()
    {
        umCriature umC = GetComponent <umCriature>();

        umC.X.cAtributos[0].Corrente = umC.X.cAtributos[0].Maximo;
        umC.X.cAtributos[1].Corrente = umC.X.cAtributos[1].Maximo;
    }
Esempio n. 3
0
    protected umCriature nomeieETransformEmCriature(GameObject InimigoX)
    {
        InimigoX.name = "inimigo";
        umCriature inimigoUCX = InimigoX.GetComponent <umCriature>();

        return(inimigoUCX);
    }
    protected void facaImpacto(GameObject emQ, bool colocaImpactos = false, bool destroiAqui = true, bool noTransform = false)
    {
        if (emQ.gameObject.tag == "eventoComGolpe")
        {
            eventoComGolpe eCG = emQ.GetComponent <eventoComGolpe>();
            acaoDeGolpe    aG2 = dono.GetComponent <acaoDeGolpe>();
            if (eCG && aG2)
            {
                eCG.disparaEvento(aG2.ativa.nomeID);
            }
        }

        GameObject impacto  = GameObject.Find("elementosDoJogo").GetComponent <elementosDoJogo>().retorna(noImpacto);
        GameObject impacto2 = null;

        if (!noTransform)
        {
            impacto2 = (GameObject)Instantiate(impacto, transform.position, Qparticles);
        }

        umCriature umC = emQ.transform.GetComponent <umCriature>();

        if (umC)
        {
            if (umC.criature().cAtributos[0].Corrente > 0)
            {
                if (dono.GetComponent <acaoDeGolpe>())
                {
                    acaoDeGolpe aG = dono.GetComponent <acaoDeGolpe>();
                    aG.tomaDanoUm(emQ.transform);

                    if (noTransform)
                    {
                        impacto2 = (GameObject)Instantiate(impacto, umC.transform.position, Qparticles);
                    }

                    if (colocaImpactos)
                    {
                        aG.impactos++;
                    }
                }
            }
        }

        if (impacto2)
        {
            Destroy(impacto2, 1.5f);
        }
        if (destroiAqui)
        {
            Destroy(gameObject);
        }
    }
Esempio n. 5
0
    //Transform Xuash;
//	float coolDown = 1f;
    // Use this for initialization
    void Start()
    {
        //Xuash = GameObject.Find ("Xuash").transform;

        umCriature umC = GetComponent <umCriature>();

        print(umC.nomeCriature);
        GameObject G = GameObject.Find("elementosDoJogo")
                       .GetComponent <elementosDoJogo>()
                       .retorna(umC.nomeCriature.ToString(), "criature");

        G = Instantiate(G,
                        new melhoraPos().novaPos(transform.position + transform.right),
                        Quaternion.identity) as GameObject;
    }
Esempio n. 6
0
    void encontroPadrao()
    {
        animacaoDeEncontro();
        adicionaCilindroEncontro();
        alteraPosDoCriature();
        alternanciaParaCriature();

        colocaOHeroiNaPOsicaoDeEncontro();

        impedeMovimentoDoCriature();

        luta = true;

        Inimigo = setaInimigo();
        //Inimigo.transform.position = emBuscaDeUmaBoaPosicao(Inimigo.transform.position,1 );

        inimigoUC = nomeieETransformEmCriature(Inimigo);

        colocaIAPadrao();

        passoDaAnimaInicial = 1;
    }
Esempio n. 7
0
    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();
        }
    }
Esempio n. 8
0
    // Use this for initialization
    void Start()
    {
        if(quem=="CriatureAtivo")
        {
            GameObject G = GameObject.Find("inimigo");
            if(G)
                adversario = G.transform;
        }else if(quem == "inimigo")
        {
            GameObject G = GameObject.Find("CriatureAtivo");
            if(G)
                adversario = G.transform;
        }

        if(adversario){
            forwardInicial = adversario.forward;
            rightInicial = adversario.right;
            animatorEnemy = adversario.GetComponent<Animator>();
            if(final==1){
                controle = adversario.GetComponent<CharacterController>();
                umCdele = adversario.GetComponent<umCriature>();
            }
        }
    }
Esempio n. 9
0
    void andaCriature4()
    {
        if (criature == null)
        {
            criature = GetComponent <umCriature> ();
        }

        if (
            (Time.time - H.tempoDoUltimoUsoDeItem < H.intervaloParaUsarItem
             ||
             temGolpeEmRecarga(criature.X))
            &&
            !hudRecarga
            )
        {
            hudRecarga    = Camera.main.gameObject.AddComponent <HUDRecarga>();
            hudRecarga.H1 = H;
        }


        if (Input.GetButtonDown("paraCriature") && heroi.emLuta == false)
        {
            alternancia a = GetComponent <alternancia>();
            a.retornaAoHeroi();
        }


        criatureVerificaTrocaGolpe(criature.X);

        criatureScroll();


        //bool grounded = noChao(.distanciaFundamentadora );

        // Forward vector relative to the camera along the x-z plane
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");

        int temMedo = statusTemporarioBase.contemStatus(tipoStatus.amedrontado, criature.X);

        if (temMedo > -1)
        {
            Vector2 embaralhamento = embaralhaDeMedo(criature.X, temMedo, h, v);
            h = embaralhamento.x;
            v = embaralhamento.y;
        }

        Vector3 forward = direcaoInduzida(h, v);

        forward.y = 0;
        forward   = forward.normalized;

        // Right vector relative to the camera
        // Always orthogonal to the forward vector
        Vector3 right = new Vector3(forward.z, 0, -forward.x);


        Vector3 direcaoAlvo = (h * right + v * forward);
        float   targetSpeed = Mathf.Min(direcaoAlvo.magnitude, 1.0f);

        targetSpeed *= criature.X.velocidadeAndando;
        if (Input.GetButtonDown("Jump") && noChao(criature.X.distanciaFundamentadora))
        {
            ultimoYFundamentado = transform.position.y;
            pulo = true;
            controle.Move(Vector3.up * (criature.X.distanciaFundamentadora + 0.05f));
        }

        if (noChao(criature.X.distanciaFundamentadora))
        {
            pulo = false;
            if (Input.GetButtonDown("acao")
                ||
                Input.GetButtonDown("acaoAlt")
                )
            {
                Criature daki = criature.X;
                if (daki.Golpes[daki.golpeEscolhido].CustoPE <= daki.cAtributos[1].Corrente)
                {
                    aplicaGolpe(daki);
                }
                else
                {
                    usaItemEmLuta.mensagemDuranteALuta(bancoDeTextos.falacoes[heroi.lingua]["encontros"][4]);
                }
            }
            maisUmAtualizaSuavemente(v, h, criature.X, direcaoAlvo);

            direcaoMovimento = direcaoMovimento * 3 * targetSpeed + Vector3.down * criature.X.gravidade;
            //	+ criature.X.apliqueGravidade(Vector3.zero, direcaoMovimento );
            if (statusTemporarioBase.contemStatus(tipoStatus.paralisado, criature.X) > -1)
            {
                direcaoMovimento /= 10;
            }
            controle.Move((direcaoMovimento) * Time.deltaTime);
        }
        else
        {
            if (statusTemporarioBase.contemStatus(tipoStatus.paralisado, criature.X) > -1)
            {
                direcaoAlvo /= 10;
            }
            verificaPulo(direcaoAlvo, criature.X);
        }
        if (noChao(criature.X.distanciaFundamentadora))
        {
            if (Mathf.Abs(v) > 0.3f || Mathf.Abs(h) > 0.3f)
            {
                transform.rotation = Quaternion.LookRotation(new Vector3(direcaoMovimento.x, 0, direcaoMovimento.z));
            }
        }
        else
        {
            Vector3 xzMove = direcaoMovimento * Time.deltaTime;
            xzMove.y = 0;
            if (xzMove.sqrMagnitude > 0.001f)
            {
                transform.rotation = Quaternion.LookRotation(xzMove);
            }
        }

        animator.SetBool("noChao", noChao(criature.X.distanciaFundamentadora));
        animator.SetBool("pulo", pulo);
        animator.SetFloat("velocidade", Mathf.Abs(v) + Mathf.Abs(h));
    }
Esempio n. 10
0
    // Update is called once per frame
    void Update()
    {
        Transform X;

        tempoDeAnima += Time.deltaTime;

        if (oQEnvia)
        {
            if (GameObject.Find("inimigo"))
            {
                X = GameObject.Find("inimigo").transform;
            }
            else
            {
                X = null;
            }
        }
        else
        {
            if (GameObject.Find("CriatureAtivo"))
            {
                X = GameObject.Find("CriatureAtivo").transform;
            }
            else
            {
                X = null;
            }
        }

        if (tempoDeAnima > 1.2f && faseDaAnima == 1)
        {
            if (oQEnvia != null)
            {
                instancia = oQEnvia.transform
                            .Find("metarig/hips/spine/chest/shoulder_L/upper_arm_L/forearm_L/hand_L/palm_02_L")
                            .transform.position;
            }
            else
            {
                instancia = GameObject.FindWithTag("Player")
                            .transform.Find("esqueletodoCorean/hips/spine/chest/shoulder_L/upper_arm_L/forearm_L/hand_L/palm_02_L")
                            .transform.position;
            }

            GameObject luz  = elementos.retorna("particulaLuvaDeGuarde");
            Object     luz2 = Instantiate(luz, instancia, Quaternion.identity);
            faseDaAnima  = 2;
            tempoDeAnima = 0;
            luz2.name    = "luz";
        }
        else if (faseDaAnima == 2)
        {
            faseDaAnima = 3;
            GameObject raio = elementos.retorna("raioDeLuvaDeGuarde");
            raio = Instantiate(raio, instancia, Quaternion.LookRotation(
                                   posCriature - instancia
                                   )) as GameObject;
            raio.name = "raio";
            ParticleSystem P = raio.GetComponent <ParticleSystem>();
            P.startSpeed *= (posCriature - instancia).magnitude * 2;
        }
        else if (faseDaAnima == 3 && tempoDeAnima > 0.5f)
        {
            GameObject X1 = elementos.criature(oInstanciado.ToString());

            //Vector3 lrot = new Vector3((posH-posCriature).x,0, (posH-posCriature).z);
            posCriature = new melhoraPos().novaPos(posCriature, X1.transform.lossyScale.y);



            X1 = Instantiate(X1, posCriature, Quaternion.identity) as GameObject;          //.LookRotation(posH-posCriature) );



            if (oQEnvia != null)
            {
                X1.name = "inimigo";
            }
            else
            {
                X1.name = "CriatureAtivo";

                if (!X1.GetComponent <umCriature>())
                {
                    umCriature uC = X1.AddComponent <umCriature>();
                    uC.nomeCriature = GameObject.FindGameObjectWithTag("Player")
                                      .GetComponent <heroi>().criaturesAtivos[0].nomeID;
                    //uC.X.colocaStatus(uC.gameObject);
                }

                if (!X1.GetComponent <alternancia>())
                {
                    X1.AddComponent <alternancia>();
                }

                if (!X1.GetComponent <UnityEngine.AI.NavMeshAgent>())
                {
                    UnityEngine.AI.NavMeshAgent N = X1.AddComponent <UnityEngine.AI.NavMeshAgent>();
                    N.stoppingDistance = N.radius < 1?7:5 * N.radius;
                    N.baseOffset       = 0;
                    N.speed            = N.radius < 1?9:0;
                }

                if (!X1.GetComponent <sigaOLider>())
                {
                    X1.AddComponent <sigaOLider>();
                }
            }



            X = X1.transform;

            X.localScale = new Vector3(0.01f, 0.01f, 0.01f);

            particulasSaiDaLuva(X);
            faseDaAnima  = 4;
            tempoDeAnima = 0;
        }
        else if (faseDaAnima == 4 && X.localScale.sqrMagnitude < 2.5)
        {
//			new auxDeInstancia(X.transform,GameObject.FindWithTag("Player").GetComponent<CharacterController>());
            X.localScale = Vector3.Lerp(X.localScale, new Vector3(1, 1, 1), 4 * Time.deltaTime);
            X.position   = posCriature;
        }
        else if (faseDaAnima == 4 && X.localScale.sqrMagnitude >= 2.5)
        {
            faseDaAnima  = 5;
            tempoDeAnima = 0;
            X.localScale = new Vector3(1, 1, 1);
        }
        else if (faseDaAnima == 5 && tempoDeAnima < 0.25f)
        {
            Destroy(GameObject.Find("volte1"));
            ParticleSystem P = GameObject.Find("raio").GetComponent <ParticleSystem>();
            P.startSpeed    = Mathf.Lerp(P.startSpeed, 0, 10 * Time.deltaTime);
            P.startLifetime = Mathf.Lerp(P.startLifetime, 0, 10 * Time.deltaTime);        //*=(posCriature - instancia).magnitude*2;
        }
        else if (faseDaAnima == 5 && tempoDeAnima > 0.15f)
        {
            Destroy(GameObject.Find("raio"));
            Destroy(GameObject.Find("luz"));

            Destroy(this);
        }
    }
Esempio n. 11
0
    void andaCriature4()
    {
        if(criature == null)
            criature = GetComponent<umCriature> ();

        if(
            (Time.time - H.tempoDoUltimoUsoDeItem<H.intervaloParaUsarItem
            ||
            temGolpeEmRecarga(criature.X))
            &&
            !hudRecarga
            )
        {
            hudRecarga = Camera.main.gameObject.AddComponent<HUDRecarga>();
            hudRecarga.H1 = H;
        }

        if(Input.GetButtonDown("paraCriature")&&heroi.emLuta==false)
        {
            alternancia a = GetComponent<alternancia>();
            a.retornaAoHeroi();
        }

        criatureVerificaTrocaGolpe(criature.X);

        criatureScroll();

        //bool grounded = noChao(.distanciaFundamentadora );

        // Forward vector relative to the camera along the x-z plane
        float h = Input.GetAxis ("Horizontal");
        float v = Input.GetAxis ("Vertical");

        int temMedo = statusTemporarioBase.contemStatus (tipoStatus.amedrontado,criature.X);
        if(temMedo >-1)
        {
            Vector2 embaralhamento = embaralhaDeMedo(criature.X,temMedo,h,v);
            h = embaralhamento.x;
            v = embaralhamento.y;
        }

        Vector3 forward= direcaoInduzida(h,v);

        forward.y = 0;
        forward = forward.normalized;

        // Right vector relative to the camera
        // Always orthogonal to the forward vector
        Vector3 right= new Vector3(forward.z, 0, -forward.x);

        Vector3 direcaoAlvo = (h * right + v * forward);
        float targetSpeed= Mathf.Min(direcaoAlvo.magnitude, 1.0f);
        targetSpeed *= criature.X.velocidadeAndando;
        if(Input.GetButtonDown("Jump") && noChao(criature.X.distanciaFundamentadora ))
        {
            ultimoYFundamentado = transform.position.y;
            pulo = true;
            controle.Move(Vector3.up*(criature.X.distanciaFundamentadora+0.05f ));

        }

        if (noChao (criature.X.distanciaFundamentadora))
        {
            pulo = false;
            if (Input.GetButtonDown ("acao")
                ||
                Input.GetButtonDown ("acaoAlt")
                ) {

                Criature daki = criature.X;
                if(daki.Golpes[daki.golpeEscolhido].CustoPE<=daki.cAtributos[1].Corrente){
                    aplicaGolpe(daki);
                }else
                {
                    usaItemEmLuta. mensagemDuranteALuta( bancoDeTextos.falacoes[heroi.lingua]["encontros"][4]);
                }
            }
            maisUmAtualizaSuavemente(v,h,criature.X,direcaoAlvo);

            direcaoMovimento = direcaoMovimento * 3*targetSpeed+ Vector3.down * criature.X.gravidade;
            //	+ criature.X.apliqueGravidade(Vector3.zero, direcaoMovimento );
            if(statusTemporarioBase.contemStatus(tipoStatus.paralisado,criature.X)>-1)
                direcaoMovimento/=10;
            controle.Move ((direcaoMovimento) * Time.deltaTime);
        }else
        {
            if(statusTemporarioBase.contemStatus(tipoStatus.paralisado,criature.X)>-1)
                direcaoAlvo/=10;
            verificaPulo(direcaoAlvo,criature.X);
        }
        if (noChao(criature.X.distanciaFundamentadora))
        {
            if(Mathf.Abs(v)>0.3f||Mathf.Abs(h)>0.3f)
                transform.rotation = Quaternion.LookRotation(new Vector3(direcaoMovimento.x,0,direcaoMovimento.z));

        }
        else
        {
            Vector3 xzMove= direcaoMovimento*Time.deltaTime;
            xzMove.y = 0;
            if (xzMove.sqrMagnitude > 0.001f)
            {
                transform.rotation = Quaternion.LookRotation(xzMove);

            }
        }

        animator.SetBool("noChao",noChao(criature.X.distanciaFundamentadora));
        animator.SetBool("pulo",pulo);
        animator.SetFloat("velocidade",Mathf.Abs(v)+Mathf.Abs(h));
    }
Esempio n. 12
0
    // 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;
        }
    }
 // Use this for initialization
 void Start()
 {
     umC = GetComponent <umCriature>();
 }
Esempio n. 14
0
    void encontroPadrao()
    {
        animacaoDeEncontro();
        adicionaCilindroEncontro();
        alteraPosDoCriature();
        alternanciaParaCriature();

        colocaOHeroiNaPOsicaoDeEncontro();

        impedeMovimentoDoCriature();

        luta = true;

        Inimigo = setaInimigo();
        //Inimigo.transform.position = emBuscaDeUmaBoaPosicao(Inimigo.transform.position,1 );

        inimigoUC =  nomeieETransformEmCriature(Inimigo);

        colocaIAPadrao();

        passoDaAnimaInicial = 1;
    }
Esempio n. 15
0
    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();
    }