CardList getCreature() {
                CardList list = AllZoneUtil.getPlayerCardsInPlay(AllZone.getComputerPlayer());
                list = list.filter(new CardListFilter() {
                    public boolean addCard(Card c) {
                        return c.isCreature()
                                && (CombatUtil.canAttack(c) || (CombatUtil.canAttackNextTurn(c) && AllZone.getPhase().is(Constant.Phase.Main2)))
                                && CardFactoryUtil.canTarget(sourceCard, c)
                                && (c.getNetDefense() + Tough > 0 || sourceCard.getName().equals("Skullclamp"));
                    }
                });

                // Is there at least 1 Loxodon Punisher and/or Goblin Gaveleer to target
                CardList equipMagnetList = list;
                equipMagnetList = equipMagnetList.getEquipMagnets();

                if (!equipMagnetList.isEmpty() && Tough >= 0) {
                    return equipMagnetList;
                }

                // This equipment is keyword only
                if (Power == 0 && Tough == 0) {
                    list = list.filter(new CardListFilter() {
                        public boolean addCard(Card c) {
                            ArrayList<String> extKeywords = new ArrayList<String>(Arrays.asList(extrinsicKeywords));
                            for (String s : extKeywords) {

                                // We want to give a new keyword
                                if (!c.hasKeyword(s))
                                    return true;
                            }
                            //no new keywords:
                            return false;
                        }
                    });
                }

                return list;
            }