private boolean pumpTriggerAI(AbilityFactory af, SpellAbility sa, boolean mandatory) {
        if (!ComputerUtil.canPayCost(sa))
            return false;

        Card source = sa.getSourceCard();

        int defense;
        if (numDefense.contains("X") && source.getSVar("X").equals("Count$xPaid")) {
            // Set PayX here to maximum value.
            int xPay = ComputerUtil.determineLeftoverMana(sa);
            source.setSVar("PayX", Integer.toString(xPay));
            defense = xPay;
        } else
            defense = getNumDefense(sa);

        int attack;
        if (numAttack.contains("X") && source.getSVar("X").equals("Count$xPaid")) {
            // Set PayX here to maximum value.
            String toPay = source.getSVar("PayX");

            if (toPay.equals("")) {
                int xPay = ComputerUtil.determineLeftoverMana(sa);
                source.setSVar("PayX", Integer.toString(xPay));
                attack = xPay;
            } else
                attack = Integer.parseInt(toPay);
        } else
            attack = getNumAttack(sa);

        if (sa.getTarget() == null) {
            if (mandatory)
                return true;
        } else {
            return pumpTgtAI(sa, defense, attack, mandatory);
        }

        return true;
    }//pumpTriggerAI