예제 #1
0
 public TosteAtaque() : base(new PetAttackFeatures()
 {
     nome                 = AttackNameId.tosteAtaque,
     tipo                 = PetTypeName.Fogo,
     carac                = AttackDiferentialId.colisaoComPow,
     custoPE              = 5,
     potenciaCorrente     = 34,
     potenciaMaxima       = 44,
     potenciaMinima       = 24,
     tempoDeReuso         = 8.5f,
     TempoNoDano          = 0.75f,
     velocidadeDeGolpe    = 24f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.75f,//74
     tempoDeMoveMax       = 1.6f,
     tempoDeDestroy       = 1.7f,
     custoDeStamina       = 60,
     somDoImpacto         = FayvitSounds.SoundEffectID.XP_Knock04,
     somDoGolpe           = FayvitSounds.SoundEffectID.rajadaDeAgua
 }
                             )
 {
     carac = new AeroImpactFeatures(
         ImpactParticles.impactoDeFogo,
         AttacksTrails.tosteAtaque,
         ToutchingFloor.impactoDeFogo,
         PrepareJump.preparaImpactoDeFogoAoChao,
         FinalAeroImpact.MaisAltoQueOAlvo,
         onPrepareSound: FayvitSounds.SoundEffectID.Shot3,
         onTouchGroundSound: FayvitSounds.SoundEffectID.Slash1
         );
 }
예제 #2
0
 public TempestadeDeFolhas() : base(new PetAttackFeatures()
 {
     nome                 = AttackNameId.tempestadeDeFolhas,
     tipo                 = PetTypeName.Planta,
     carac                = AttackDiferentialId.colisaoComPow,
     custoPE              = 5,
     potenciaCorrente     = 34,
     potenciaMaxima       = 44,
     potenciaMinima       = 24,
     tempoDeReuso         = 8.5f,
     TempoNoDano          = 0.75f,
     velocidadeDeGolpe    = 30f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.65f,//74
     tempoDeMoveMax       = 1.3f,
     tempoDeDestroy       = 1.45f,
     custoDeStamina       = 60,
     somDoImpacto         = FayvitSounds.SoundEffectID.XP_Knock04,
     somDoGolpe           = FayvitSounds.SoundEffectID.rajadaDeAgua
 }
                                    )
 {
     carac = new AeroImpactFeatures(
         ImpactParticles.impactoDeFolhas,
         AttacksTrails.tempestadeDeFolhas,
         ToutchingFloor.poeiraAoVento,
         PrepareJump.impactoBaixoDeFolhas,
         FinalAeroImpact.AvanceEPareAbaixo,
         onPrepareSound: FayvitSounds.SoundEffectID.Shot1,
         onTouchGroundSound: FayvitSounds.SoundEffectID.Slash1
         );
 }
예제 #3
0
 public HidroBomba() : base(new PetAttackFeatures()
 {
     nome                 = AttackNameId.hidroBomba,
     tipo                 = PetTypeName.Agua,
     carac                = AttackDiferentialId.colisaoComPow,
     custoPE              = 5,
     potenciaCorrente     = 34,
     potenciaMaxima       = 44,
     potenciaMinima       = 24,
     tempoDeReuso         = 8.5f,
     TempoNoDano          = 0.75f,
     velocidadeDeGolpe    = 20f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 33,
     tempoDeMoveMin       = 0.55f,//74
     tempoDeMoveMax       = 1.4f,
     tempoDeDestroy       = 1.5f,
     custoDeStamina       = 60,
     somDoImpacto         = FayvitSounds.SoundEffectID.XP_Knock04,
     somDoGolpe           = FayvitSounds.SoundEffectID.Evasion1
 }
                            )
 {
     carac = new AeroImpactFeatures(
         ImpactParticles.impactoDeAgua,
         AttacksTrails.hidroBomba,
         ToutchingFloor.aguaAoChao,
         PrepareJump.preparaImpactoDeAguaAoChao,
         FinalAeroImpact.MaisAltoQueOAlvo
         );
 }
예제 #4
0
 public Dentada() : base(new PetAttackFeatures()
 {
     nome                 = AttackNameId.dentada,
     tipo                 = PetTypeName.Normal,
     carac                = AttackDiferentialId.colisaoComPow,
     custoPE              = 0,
     potenciaCorrente     = 15,
     potenciaMaxima       = 20,
     potenciaMinima       = 10,
     tempoDeReuso         = 3.5f,
     TempoNoDano          = 0.5f,
     velocidadeDeGolpe    = 18f,
     distanciaDeRepulsao  = 65f,
     velocidadeDeRepulsao = 66,
     tempoDeMoveMin       = 0.75f,//74
     tempoDeMoveMax       = 1.4f,
     tempoDeDestroy       = 1.6f,
     custoDeStamina       = 45,
     somDoImpacto         = FayvitSounds.SoundEffectID.XP_Knock04,
     //somDoGolpe = FayvitSounds.SoundEffectID.rajadaDeAgua
 }
                         )
 {
     carac = new AeroImpactFeatures(
         ImpactParticles.impactoComum,
         AttacksTrails.colisorDentada,
         ToutchingFloor.poeiraAoVento,
         PrepareJump.impactoBaixo,
         FinalAeroImpact.AvanceEPareAbaixo,
         onPrepareSound: FayvitSounds.SoundEffectID.Shot1,
         onTouchGroundSound: FayvitSounds.SoundEffectID.Slash1
         );
 }
예제 #5
0
        public void ImpactoAtivo(
            GameObject G,
            PetAttackBase ativa,
            AeroImpactFeatures caracteristica,
            float colocarColisor = 0,
            GameObject focado    = null)
        {
            tempoDecorrido += Time.deltaTime;

            if (!procurouAlvo)
            {
                if (focado)
                {
                    alvoProcurado = focado.transform;
                }
                else
                {
                    alvoProcurado = FindBestTarget.Procure(G, new string[1] {
                        "Criature"
                    });                                                                     //CriaturesPerto.procureUmBomAlvo(G);
                }
                procurouAlvo = true;
                // Debug.Log(alvoProcurado + "  esse é o alvo");
                StandardImpactUpdate.AttackHelper(alvoProcurado, G.transform);
                if (alvoProcurado != null)
                {
                    ativa.DirDeREpulsao = (Vector3.ProjectOnPlane(alvoProcurado.position - G.transform.position, Vector3.up)).normalized;
                }

                MessageAgregator <MsgRequestAtkAnimation> .Publish(new MsgRequestAtkAnimation()
                {
                    gameObject = G,
                    nomeAnima  = ativa.Nome.ToString()
                });

                MessageAgregator <MsgRequest3dSound> .Publish(new MsgRequest3dSound()
                {
                    sender = G.transform,
                    sfxId  = ativa.SomDoGolpe
                });

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

                /* aproveitado da geração 1 de scripts atualizado no 2021*/
                ao               = G.AddComponent <OnFloorImpactParticles>();
                ao.aoChao        = caracteristica.toque.ToString();
                ao.onGroundSound = caracteristica.onTouchGroundSound;
                /* ******************* */
            }

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

                adview = true;
            }

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


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