public boolean addCard(Card c) {

                        boolean isXNonCreature = false;
                        if (c.getSpellAbility().length > 0) {
                            if (c.getSpellAbility()[0].isXCost())
                                isXNonCreature = true;
                        }

                        return !c.isLand()
                                && !c.isCreature()
                                && (CardUtil.getConvertedManaCost(c.getManaCost()) >= 4 || isXNonCreature);
                    }