public static boolean fogDoTriggerAI(AbilityFactory af, SpellAbility sa, boolean mandatory) {
        if (!ComputerUtil.canPayCost(sa) && !mandatory)    // If there is a cost payment it's usually not mandatory
            return false;

        boolean chance;
        if (AllZone.getPhase().isPlayerTurn(sa.getActivatingPlayer().getOpponent()))
            chance = AllZone.getPhase().isBefore(Constant.Phase.Combat_FirstStrikeDamage);
        else
            chance = AllZone.getPhase().isAfter(Constant.Phase.Combat_Damage);

        // check SubAbilities DoTrigger?
        Ability_Sub abSub = sa.getSubAbility();
        if (abSub != null) {
            return chance && abSub.doTrigger(mandatory);
        }

        return chance;
    }