From d3d41d7c1fb729e67d8e65cf6308aa301f44a6bb Mon Sep 17 00:00:00 2001 From: swordshine Date: Fri, 6 Sep 2019 12:34:53 +0800 Subject: [PATCH] Add Adamant cards --- .../src/main/java/forge/game/CardTraitBase.java | 13 +++++++++++++ .../res/cardsfolder/upcoming/embereth_paladin.txt | 7 +++++++ 2 files changed, 20 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/embereth_paladin.txt diff --git a/forge-game/src/main/java/forge/game/CardTraitBase.java b/forge-game/src/main/java/forge/game/CardTraitBase.java index 7897017b187..a56db98f6f9 100644 --- a/forge-game/src/main/java/forge/game/CardTraitBase.java +++ b/forge-game/src/main/java/forge/game/CardTraitBase.java @@ -1,5 +1,6 @@ package forge.game; +import forge.card.MagicColor; import forge.card.mana.ManaAtom; import forge.game.ability.AbilityUtils; import forge.game.card.Card; @@ -16,6 +17,8 @@ import forge.util.Expressions; import java.util.*; +import org.apache.commons.lang3.StringUtils; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Maps; @@ -250,6 +253,16 @@ public abstract class CardTraitBase extends GameObject implements IHasCardView { if (params.containsKey("Blessing")) { if ("True".equalsIgnoreCase(params.get("Blessing")) != hostController.hasBlessing()) return false; } + + if (params.containsKey("Adamant")) { + if (hostCard.getCastSA() == null) { + return false; + } + final String payingMana = StringUtils.join(hostCard.getCastSA().getPayingMana()); + if (StringUtils.countMatches(payingMana, MagicColor.toShortString(params.get("Adamant"))) < 3) { + return false; + } + } if (params.containsKey("Presence")) { if (hostCard.getCastFrom() == null || hostCard.getCastSA() == null) diff --git a/forge-gui/res/cardsfolder/upcoming/embereth_paladin.txt b/forge-gui/res/cardsfolder/upcoming/embereth_paladin.txt new file mode 100644 index 00000000000..456f35744c0 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/embereth_paladin.txt @@ -0,0 +1,7 @@ +Name:Embereth Paladin +ManaCost:3 R +Types:Creature Human Knight +PT:4/1 +K:Haste +K:etbCounter:P1P1:1:Adamant$ Red:Adamant — If at least three red mana was spent to cast this spell, CARDNAME enters the battlefield with a +1/+1 counter on it. +Oracle:Haste\nAdamant — If at least three red mana was spent to cast this spell, Embereth Paladin enters the battlefield with a +1/+1 counter on it.