public void resolve() {
                    CardList artifacts = AllZoneUtil.getPlayerCardsInPlay(player);
                    artifacts = artifacts.filter(AllZoneUtil.artifacts);

                    if (player.isHuman()) {
                        AllZone.getInputControl().setInput(new Input() {
                            private static final long serialVersionUID = -1698502376924356936L;

                            public void showMessage() {
                                AllZone.getDisplay().showMessage("Yawgmoth Demon - Select one artifact to sacrifice or be dealt 2 damage");
                                ButtonUtil.enableOnlyCancel();
                            }

                            public void selectButtonCancel() {
                                tapAndDamage(player);
                                stop();
                            }

                            public void selectCard(Card artifact, PlayerZone zone) {
                                //probably need to restrict by controller also
                                if (artifact.isArtifact() && zone.is(Constant.Zone.Battlefield)
                                        && zone.getPlayer().isHuman()) {
                                    AllZone.getGameAction().sacrifice(artifact);
                                    stop();
                                }
                            }//selectCard()
                        });//Input
                    } else { //computer
                        Card target = CardFactoryUtil.AI_getCheapestPermanent(artifacts, c, false);
                        if (null == target) {
                            tapAndDamage(player);
                        } else AllZone.getGameAction().sacrifice(target);
                    }
                }