public static boolean fogCanPlayAI(final AbilityFactory af, SpellAbility sa) {
        // AI should only activate this during Human's Declare Blockers phase
        if (AllZone.getPhase().isPlayerTurn(sa.getActivatingPlayer())) return false;
        if (!AllZone.getPhase().is(Constant.Phase.Combat_Declare_Blockers_InstantAbility)) return false;

        // Only cast when Stack is empty, so Human uses spells/abilities first
        if (AllZone.getStack().size() != 0) return false;

        // Don't cast it, if the effect is already in place
        if (AllZone.getGameInfo().isPreventCombatDamageThisTurn()) return false;

        Ability_Sub subAb = sa.getSubAbility();
        if (subAb != null)
            if (!subAb.chkAI_Drawback()) return false;

        // Cast it if life is in danger
        return CombatUtil.lifeInDanger(AllZone.getCombat());
    }