* @param noPrevention a boolean.
     * @return a int.
     */
    public int getEnoughDamageToKill(int maxDamage, Card source, boolean isCombat, boolean noPrevention) {
        int killDamage = getKillDamage();

        if (hasKeyword("Indestructible") || getShield() > 0) {
            if (!(source.hasKeyword("Wither") || source.hasKeyword("Infect")))
                return maxDamage + 1;
        } else if (source.hasKeyword("Deathtouch")) {
            for (int i = 1; i <= maxDamage; i++) {
                if (noPrevention) {
                    if (staticReplaceDamage(i, source, isCombat) > 0)
                        return i;
                } else if (predictDamage(i, source, isCombat) > 0)
                    return i;
            }
        }

        for (int i = 1; i <= maxDamage; i++) {
            if (noPrevention) {
                if (staticReplaceDamage(i, source, isCombat) >= killDamage)
                    return i;
            } else {
                if (predictDamage(i, source, isCombat) >= killDamage)
                    return i;
            }
        }

        return maxDamage + 1;
    }