if (target.canChoose(source.getControllerId(), game) && target.choose(Outcome.DestroyPermanent, source.getControllerId(), source.getSourceId(), game)) {
Permanent targetedArtifact = game.getPermanent(target.getFirstTarget());
if (targetedArtifact != null) {
Card artifact = game.getCard(targetedArtifact.getId());
Player controller = game.getPlayer(targetedArtifact.getControllerId());
targetedArtifact.destroy(id, game, true);
if (controller.getGraveyard().contains(artifact.getId())) {
int alliesControlled = game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game);
controller.damage(alliesControlled, id, game, false, true);
return true;
}