public void HacerDMG(HandleAction accion)
    {
        HeroeBase   heroe;
        EnemigoBase enemigo;
        int         daño   = 0;
        AtaqueBase  ataque = accion.ataque;

        float modificadorFuerza       = 0.5f;
        float modificadorInteligencia = 0.5f;

        if (accion.atacanteGameObj.CompareTag("Player"))
        {
            heroe   = accion.atacanteGameObj.GetComponent <HeroeStateMachine>().heroe;
            enemigo = accion.objetivoGameObj.GetComponent <EnemigoStateMachine>().enemigo;

            if (accion.ataque.tipoAtaque.Equals(AtaqueBase.TipoAtaque.FISICO))
            {
                daño = Mathf.RoundToInt((((heroe.fuerza * modificadorFuerza) + accion.ataque.damage) - (enemigo.resistenciaF)));
            }
            else if (accion.ataque.tipoAtaque.Equals(AtaqueBase.TipoAtaque.MAGICO))
            {
                daño = Mathf.RoundToInt((((heroe.inteligencia * modificadorInteligencia) + accion.ataque.damage) - (enemigo.resistenciaM)) * calcularModificador(ataque, enemigo));
            }

            if (daño < 0)
            {
                daño = 0;
            }

            accion.damage = daño;
            accion.objetivoGameObj.GetComponent <EnemigoStateMachine>().enemigo.vidaActual -= accion.damage;

            if (accion.objetivoGameObj.GetComponent <EnemigoStateMachine>().enemigo.vidaActual < 0)
            {
                accion.objetivoGameObj.GetComponent <EnemigoStateMachine>().enemigo.vidaActual = 0;
            }

            accion.objetivoGameObj.GetComponent <EnemigoStateMachine>().AnimacionRecibirDMG();
            statHandler.ActualizarInfo();
        }
        else if (accion.atacanteGameObj.CompareTag("Enemigo"))
        {
            enemigo = accion.atacanteGameObj.GetComponent <EnemigoStateMachine>().enemigo;
            heroe   = accion.objetivoGameObj.GetComponent <HeroeStateMachine>().heroe;

            if (accion.ataque.tipoAtaque.Equals(AtaqueBase.TipoAtaque.FISICO))
            {
                daño = Mathf.RoundToInt((((enemigo.fuerza * modificadorFuerza) + accion.ataque.damage) - (heroe.resistenciaF)));
            }
            else if (accion.ataque.tipoAtaque.Equals(AtaqueBase.TipoAtaque.MAGICO))
            {
                daño = Mathf.RoundToInt((((enemigo.inteligencia * modificadorInteligencia) + accion.ataque.damage) - (heroe.resistenciaM)));
            }

            if (daño < 0)
            {
                daño = 0;
            }

            accion.damage = daño;
            accion.objetivoGameObj.GetComponent <HeroeStateMachine>().heroe.vidaActual -= accion.damage;

            if (accion.objetivoGameObj.GetComponent <HeroeStateMachine>().heroe.vidaActual < 0)
            {
                accion.objetivoGameObj.GetComponent <HeroeStateMachine>().heroe.vidaActual = 0;
            }

            accion.objetivoGameObj.GetComponent <HeroeStateMachine>().AnimacionRecibirDMG();
        }

        SpawnDMG(daño, accion.objetivoGameObj, "daño");
        sistemaMenus.sistemaBreak.IncrementarBarra(daño * 0.015f);
    }