@Override
                        public void selectCard(Card c, PlayerZone zone) {
                            if (zone.is(Constant.Zone.Hand) && c.isArtifact() && !revealed.contains(c)) {
                                revealed.add(c);

                                //in case no more cards in hand to reveal
                                if (revealed.size() == AllZoneUtil.getPlayerHand(card.getController()).size()) done();
                                else
                                    showMessage();
                            }
                        }