示例#1
0
 public MbSobreSalto() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome                 = nomesGolpes.sobreSalto,
     tipo                 = NomeTipos.Normal,
     carac                = caracGolpe.colisao,
     custoPE              = 0,
     potenciaCorrente     = 4,
     potenciaMaxima       = 10,
     potenciaMinima       = 2,
     tempoDeReuso         = 6.5f,
     TempoNoDano          = 0.5f,
     velocidadeDeGolpe    = 28f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.75f,//74
     tempoDeMoveMax       = 1.6f,
     tempoDeDestroy       = 1.7f,
     colisorScale         = 2
 }
                              )
 {
     carac = new CaracteristicasDeImpactoComSalto(
         NoImpacto.impactoComum,
         Trails.umCuboETrail,
         ToqueAoChao.impactoAoChao,
         PreparaSalto.preparaImpactoAoChao,
         ImpactoAereoFinal.MaisAltoQueOAlvo
         );
 }
示例#2
0
 public MbAvalanche() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome                 = nomesGolpes.avalanche,
     tipo                 = nomeTipos.Pedra,
     carac                = caracGolpe.colisaoComPow,
     custoPE              = 3,
     potenciaCorrente     = 7,
     potenciaMaxima       = 14,
     potenciaMinima       = 3,
     tempoDeReuso         = 8.5f,
     TempoNoDano          = 0.75f,
     velocidadeDeGolpe    = 24f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.75f,//74
     tempoDeMoveMax       = 1.6f,
     tempoDeDestroy       = 1.7f
 }
                             )
 {
     carac = new CaracteristicasDeImpactoComSalto(
         NoImpacto.impactoDePedra,
         Trails.avalanche,
         ToqueAoChao.impactoDePedraAoChao,
         PreparaSalto.preparaImpactoAoChao,
         ImpactoAereoFinal.MaisAltoQueOAlvo
         );
 }
示例#3
0
 public MbDentada() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome                 = nomesGolpes.dentada,
     tipo                 = NomeTipos.Normal,
     carac                = caracGolpe.colisao,
     custoPE              = 0,
     potenciaCorrente     = 2,
     potenciaMaxima       = 8,
     potenciaMinima       = 1,
     tempoDeReuso         = 3.5f,
     TempoNoDano          = 0.5f,
     velocidadeDeGolpe    = 18f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 66,
     tempoDeMoveMin       = 0.75f,//74
     tempoDeMoveMax       = 1.4f,
     tempoDeDestroy       = 1.6f
 }
                           )
 {
     carac = new CaracteristicasDeImpactoComSalto(
         NoImpacto.impactoComum,
         Trails.dentada,
         ToqueAoChao.impactoAoChao,
         PreparaSalto.impactoBaixo,
         ImpactoAereoFinal.AvanceEPareAbaixo
         );
 }
示例#4
0
 public MbChuvaVenenosa() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome                 = nomesGolpes.chuvaVenenosa,
     tipo                 = nomeTipos.Veneno,
     carac                = caracGolpe.colisaoComPow,
     custoPE              = 3,
     potenciaCorrente     = 7,
     potenciaMaxima       = 14,
     potenciaMinima       = 3,
     tempoDeReuso         = 8.5f,
     TempoNoDano          = 0.5f,
     velocidadeDeGolpe    = 28f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.55f,//74
     tempoDeMoveMax       = 1.4f,
     tempoDeDestroy       = 1.6f
 }
                                 )
 {
     carac = new CaracteristicasDeImpactoComSalto(
         NoImpacto.impactoVenenoso,
         Trails.chuvaVenenosa,
         ToqueAoChao.poeiraAoVento,
         PreparaSalto.impulsoVenenoso,
         ImpactoAereoFinal.MaisAltoQueOAlvo,
         false
         )
     ;
 }
示例#5
0
 public MbTespestadeDeFolhas() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome                 = nomesGolpes.tempestadeDeFolhas,
     tipo                 = NomeTipos.Planta,
     carac                = caracGolpe.colisaoComPow,
     custoPE              = 3,
     potenciaCorrente     = 7,
     potenciaMaxima       = 14,
     potenciaMinima       = 3,
     tempoDeReuso         = 8.5f,
     TempoNoDano          = 0.75f,
     velocidadeDeGolpe    = 30f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.65f,//74
     tempoDeMoveMax       = 1.3f,
     tempoDeDestroy       = 1.45f
 }
                                      )
 {
     carac = new CaracteristicasDeImpactoComSalto(
         NoImpacto.impactoDeFolhas,
         Trails.tempestadeDeFolhas,
         ToqueAoChao.poeiraAoVento,
         PreparaSalto.impactoBaixoDeFolhas,
         ImpactoAereoFinal.AvanceEPareAbaixo,
         false
         )
     ;
 }
 public MbEspada() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome                 = nomesGolpes.espada,
     tipo                 = nomeTipos.Normal,
     carac                = caracGolpe.colisao,
     custoPE              = 0,
     potenciaCorrente     = 2,
     potenciaMaxima       = 8,
     potenciaMinima       = 1,
     tempoDeReuso         = 3.5f,
     TempoNoDano          = 0.5f,
     velocidadeDeGolpe    = 28f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.55f,//74
     tempoDeMoveMax       = 1.4f,
     tempoDeDestroy       = 1.6f
 }
                          )
 {
     carac = new CaracteristicasDeImpactoComSalto(
         NoImpacto.impactoComum,
         Trails.doisCubos,
         ToqueAoChao.impactoAoChao,
         PreparaSalto.preparaImpactoAoChao,
         ImpactoAereoFinal.MaisAltoQueOAlvo
         )
     ;
 }
示例#7
0
    public void ImpactoAtivo(GameObject G, IGolpeBase ativa, CaracteristicasDeImpactoComSalto caracteristica, float colocarColisor = 0)
    {
        tempoDecorrido += Time.deltaTime;

        if (!procurouAlvo)
        {
            alvoProcurado = CriaturesPerto.procureUmBomAlvo(G);
            procurouAlvo  = true;
            // Debug.Log(alvoProcurado + "  esse é o alvo");
            AtualizadorDeImpactos.ajudaAtaque(alvoProcurado, G.transform);
            if (alvoProcurado != null)
            {
                ativa.DirDeREpulsao = (Vector3.ProjectOnPlane(alvoProcurado.position - G.transform.position, Vector3.up)).normalized;
            }

            AnimadorCriature.AnimaAtaque(G, ativa.Nome.ToString());

            /* aproveitado da geração 1 de scripts*/
            ao        = G.AddComponent <impactoAoChao>();
            ao.aoChao = caracteristica.toque.ToString();
            /* ******************* */
        }

        if (!adview && tempoDecorrido > colocarColisor)
        {
            ColisorDeGolpe.AdicionaOColisor(G, ativa, caracteristica.deImpacto, tempoDecorrido + ativa.TempoDeMoveMin);

            adview = true;
        }

        if (caracteristica.final == ImpactoAereoFinal.MaisAltoQueOAlvo)
        {
            MaisAltoQueOAlvo(G, ativa);
        }
        else
        {
            AvanceEPareAbaixo(G, ativa);
        }


        if (tempoDecorrido > ativa.TempoDeMoveMax)
        {
            nav.enabled = estavaParada;
        }
    }