Exemple #1
0
 public LaminaDeFolhaG2() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.laminaDeFolha,
     tipo              = NomeTipos.Planta,
     carac             = caracGolpe.projetil,
     custoPE           = 1,
     potenciaCorrente  = 3,
     potenciaMaxima    = 7,
     potenciaMinima    = 1,
     tempoDeReuso      = 5,
     tempoDeMoveMax    = 1,
     tempoDeMoveMin    = 0.3f,
     tempoDeDestroy    = 2,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 18,
     podeNoAr          = true
 }
                                 )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoDeFolhas,
         tipo      = TipoDoProjetil.basico
     };
 }
Exemple #2
0
    public Sabre(nomesGolpes nome) : base(new ContainerDeCaracteristicasDeGolpe()
    {
        nome              = nome,
        tipo              = NomeTipos.Normal,
        carac             = caracGolpe.colisao,
        custoPE           = 0,
        potenciaCorrente  = 5,
        potenciaMaxima    = 11,
        potenciaMinima    = 2,
        tempoDeReuso      = 5,
        tempoDeMoveMax    = 0.65f,
        tempoDeMoveMin    = 0.25f,
        tempoDeDestroy    = 1,
        TempoNoDano       = 0.75f,
        velocidadeDeGolpe = 5
    }
                                          )
    {
        carac = new CaracteristicasDeProjetil()
        {
            noImpacto = NoImpacto.impactoComum,
            tipo      = TipoDoProjetil.basico
        };

        AnimaEmissor = false;
    }
Exemple #3
0
 public MbVingancaDaTerra() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.vingancaDaTerra,
     tipo              = nomeTipos.Terra,
     carac             = caracGolpe.projetil,
     custoPE           = 2,
     potenciaCorrente  = 4,
     potenciaMaxima    = 10,
     potenciaMinima    = 2,
     tempoDeReuso      = 7.5f,
     tempoDeMoveMax    = 1,
     tempoDeMoveMin    = 0.3f,
     tempoDeDestroy    = 2,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 18,
     podeNoAr          = true
 }
                                   )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoDeTerra,
         tipo      = TipoDoProjetil.rigido
     };
 }
Exemple #4
0
 public OlharEnfraquecedor() : base(
         new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.olharEnfraquecedor,
     tipo              = NomeTipos.Normal,
     carac             = caracGolpe.projetil,
     custoPE           = 4,
     potenciaCorrente  = 1,
     potenciaMaxima    = 8,
     potenciaMinima    = 1,
     tempoDeReuso      = 30f,
     tempoDeMoveMax    = 1,
     tempoDeMoveMin    = 0.3f,
     tempoDeDestroy    = 4,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 10,    //18
 }
         )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoComum,
         tipo      = TipoDoProjetil.statusExpansivel
     };
 }
    public static void AplicaProjetil(GameObject G, IGolpeBase ativa, CaracteristicasDeProjetil carac)
    {
        GolpePersonagem golpeP = GolpePersonagem.RetornaGolpePersonagem(G, ativa.Nome);

        if (golpeP.TempoDeInstancia > 0)
        {
            carac.posInicial = Emissor.UseOEmissor(G, ativa.Nome);
        }

        GameObject KY = AuxiliarDeInstancia.InstancieEDestrua(ativa.Nome, carac.posInicial, ativa.DirDeREpulsao, ativa.TempoDeDestroy);

        ColisorDeDanoBase proj = null;

        switch (carac.tipo)
        {
        case TipoDoProjetil.rigido:
            proj = KY.AddComponent <ColisorDeDanoRigido>();
            break;

        case TipoDoProjetil.basico:
            proj = KY.AddComponent <ColisorDeDano>();
            break;

        case TipoDoProjetil.statusExpansivel:
            proj = KY.AddComponent <ColisorDeStatusExpansivel>();
            break;

        case TipoDoProjetil.direcional:
            ColisorDeDanoDirecional projD = KY.AddComponent <ColisorDeDanoDirecional>();
            projD.alvo = (G.name == "CriatureAtivo")
                    ? ((GameController.g.InimigoAtivo != null)? GameController.g.InimigoAtivo.gameObject: null)
                    : GameController.g.Manager.CriatureAtivo.gameObject;
            proj = projD;
            break;
        }

        proj.velocidadeProjetil = ativa.VelocidadeDeGolpe;
        proj.noImpacto          = carac.noImpacto.ToString();
        proj.dono      = G;
        proj.esseGolpe = ativa;
    }
Exemple #6
0
 public GosmaDeInsetoG2() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.gosmaDeInseto,
     tipo              = nomeTipos.Inseto,
     carac             = caracGolpe.projetil,
     custoPE           = 1,
     potenciaCorrente  = 3,
     potenciaMaxima    = 7,
     potenciaMinima    = 1,
     tempoDeReuso      = 5,
     tempoDeMoveMax    = 1,
     tempoDeMoveMin    = 0.15f,
     tempoDeDestroy    = 2,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 10
 }
                                 )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoDeGosma,
         tipo      = TipoDoProjetil.basico
     };
 }
Exemple #7
0
 public MbPedregulho()
     : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome = nomesGolpes.pedregulho,
     tipo = NomeTipos.Pedra,
     carac = caracGolpe.projetil,
     custoPE = 2,
     potenciaCorrente = 4,
     potenciaMaxima = 10,
     potenciaMinima = 2,
     tempoDeReuso = 7.5f,
     tempoDeMoveMax = 1,
     tempoDeMoveMin = 0.3f,
     tempoDeDestroy = 2,
     TempoNoDano = 0.75f,
     velocidadeDeGolpe = 18
 })
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoDePedra,
         tipo = TipoDoProjetil.rigido
     };
 }
Exemple #8
0
 public PsicoseG2() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.psicose,
     tipo              = NomeTipos.Psiquico,
     carac             = caracGolpe.projetil,
     custoPE           = 1,
     potenciaCorrente  = 3,
     potenciaMaxima    = 7,
     potenciaMinima    = 1,
     tempoDeReuso      = 5,
     tempoDeMoveMax    = 1,
     tempoDeMoveMin    = 0.3f,
     tempoDeDestroy    = 2,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 18
 }
                           )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoComum,
         tipo      = TipoDoProjetil.direcional
     };
 }
Exemple #9
0
 public MbAnelDoOlhar() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.anelDoOlhar,
     tipo              = NomeTipos.Normal,
     carac             = caracGolpe.projetil,
     custoPE           = 2,
     potenciaCorrente  = 8,
     potenciaMaxima    = 16,
     potenciaMinima    = 4,
     tempoDeReuso      = 8.5f,
     tempoDeMoveMax    = 1,
     tempoDeMoveMin    = 0.3f,
     tempoDeDestroy    = 2,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 18
 }
                               )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoComum,
         tipo      = TipoDoProjetil.rigido
     };
 }
Exemple #10
0
 public TurboDeAguaG2() : base(new ContainerDeCaracteristicasDeGolpe()
 {
     nome              = nomesGolpes.turboDeAgua,
     tipo              = nomeTipos.Agua,
     carac             = caracGolpe.projetil,
     custoPE           = 2,
     potenciaCorrente  = 4,
     potenciaMaxima    = 10,
     potenciaMinima    = 2,
     tempoDeReuso      = 7.5f,
     tempoDeMoveMax    = 1.25f,
     tempoDeMoveMin    = 0f,
     tempoDeDestroy    = 2,
     TempoNoDano       = 0.75f,
     velocidadeDeGolpe = 15
 }
                               )
 {
     carac = new CaracteristicasDeProjetil()
     {
         noImpacto = NoImpacto.impactoDeAgua,
         tipo      = TipoDoProjetil.rigido
     };
 }