Ejemplo n.º 1
0
    /// <summary>
    /// Función que se llama cuando se ataca a un ente mágico.
    /// </summary>
    /// <param name="criaturaAtacante">Criatura atacante.</param>
    /// <param name="magicaObjetivo">Magica objetivo.</param>
    public void AtacarMagica(Criatura criaturaAtacante, Magica magicaObjetivo)
    {
        JugadorPartida objetivo = ObtenerDueñoEnte(magicaObjetivo);

        controladorEnte.AtacarMagica(criaturaAtacante, magicaObjetivo);
        controladorJugador.QuitarVidaJugador(objetivo, criaturaAtacante.Ataque);
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Jugar una carta de la mano en el tablero mágica
    /// </summary>
    /// <param name="magicaJugada"></param>
    /// <param name="tablePos"></param>
    public void JugarMagicaMano(JugadorPartida jugador, CartaPartida magicaJugada, int tablePos)
    {
        RestarManaCarta(jugador, magicaJugada);
        Magica nuevaMagica = new Magica(jugador.Area, magicaJugada.AssetCarta);

        JugarCarta(jugador, magicaJugada, nuevaMagica, tablePos);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Activa el efecto de una mágica, en función de su tipo hará una cosa u otra.
    /// </summary>
    /// <param name="idMagica">Identifier magica.</param>
    /// <param name="idAtacante">Identifier atacante.</param>
    public void ActivarEfectoMagica(int idMagica, int idAtacante)
    {
        Criatura       criaturaAtacante = null;
        JugadorPartida jugador          = null;
        Magica         magica           = (Magica)Recursos.EntesCreadosEnElJuego[idMagica];

        if (idAtacante != -1)
        {
            criaturaAtacante = (Criatura)Recursos.EntesCreadosEnElJuego [idAtacante];
            AtacarMagica(criaturaAtacante, magica);
        }

        new ActivateEffectCommand(idMagica).AñadirAlaCola();
        magica.EfectoActivado = true;
        switch (magica.AssetCarta.Efecto)
        {
        case Efecto.Destructor:
            jugador = Controlador.Instance.ObtenerDueñoEnte(magica);
            DamageAllCreatures(Controlador.Instance.OtroJugador(jugador), 100);
            break;

        case Efecto.Espejo:
            DealDamageToTarget(criaturaAtacante, criaturaAtacante.AssetCarta.Ataque);
            break;

        case Efecto.Mana:
            jugador = Controlador.Instance.ObtenerDueñoEnte(magica);
            GiveManaBonus(jugador, Random.Range(1, 3));
            break;

        case Efecto.Vida:
            jugador = Controlador.Instance.ObtenerDueñoEnte(magica);
            GiveHealth(jugador, Random.Range(60, 181));
            break;

        default:
            break;
        }

        //MuerteEnte(magica.ID);
    }
Ejemplo n.º 4
0
 /// <summary>
 /// Permite atacar a una mágica.
 /// </summary>
 /// <param name="atacante">Atacante.</param>
 /// <param name="objetivo">Objetivo.</param>
 public void AtacarMagica(Criatura atacante, Magica objetivo)
 {
     atacante.AtaquesRestantesEnTurno--;
     new CreatureAttackCommand(objetivo.ID, atacante.ID, atacante.Ataque, objetivo.Defensa).AñadirAlaCola();
     //MuerteEnte(objetivo.ID);
 }
Ejemplo n.º 5
0
    /// <summary>
    /// Una magica tipo trampa es aquella que no puede activarse voluntariamente, de momento solo se compara con la de espejo.
    /// </summary>
    /// <returns><c>true</c>, if magica trampa was esed, <c>false</c> otherwise.</returns>
    /// <param name="ente">Ente.</param>
    public bool EsMagicaTrampa(Ente ente)
    {
        Magica magica = (Magica)ente;

        return(magica.AssetCarta.Efecto.Equals(Efecto.Espejo));
    }