From 3b3f724c61180c1032a3faa0ceaefdbd01af80dd Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 6 Sep 2020 19:58:09 -0400 Subject: [PATCH] added hint for Nighthawk Scavenger (#7050) --- .../src/mage/cards/n/NighthawkScavenger.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/Mage.Sets/src/mage/cards/n/NighthawkScavenger.java b/Mage.Sets/src/mage/cards/n/NighthawkScavenger.java index 745ab6870ad..51a02a34d22 100644 --- a/Mage.Sets/src/mage/cards/n/NighthawkScavenger.java +++ b/Mage.Sets/src/mage/cards/n/NighthawkScavenger.java @@ -7,6 +7,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.Effect; import mage.abilities.effects.common.continuous.SetPowerSourceEffect; +import mage.abilities.hint.Hint; import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.LifelinkAbility; @@ -94,3 +95,30 @@ enum NighthawkScavengerValue implements DynamicValue { return ""; } } + +enum NighthawkScavengerHint implements Hint { + instance; + + @Override + public String getText(Game game, Ability ability) { + String types = game + .getOpponents(ability.getControllerId()) + .stream() + .map(game::getPlayer) + .filter(Objects::nonNull) + .map(Player::getGraveyard) + .map(graveyard -> graveyard.getCards(game)) + .flatMap(Collection::stream) + .map(MageObject::getCardType) + .flatMap(Collection::stream) + .map(CardType::toString) + .reduce((s1, s2) -> s1 + ", " + s2) + .orElse("None"); + return "Card types in opponents' graveyards: " + types; + } + + @Override + public NighthawkScavengerHint copy() { + return instance; + } +}