From 6c3f1e5f2fca4e3fd2732b94854e370636abdb6f Mon Sep 17 00:00:00 2001 From: Adam Pantel <> Date: Wed, 17 Feb 2021 09:33:32 -0500 Subject: [PATCH] Vazal the Compleat --- forge-core/src/main/java/forge/deck/DeckFormat.java | 5 +++-- forge-game/src/main/java/forge/game/card/Card.java | 3 ++- forge-game/src/main/java/forge/game/keyword/Keyword.java | 1 + forge-gui/res/cardsfolder/v/vazal_the_compleat.txt | 9 +++++++++ 4 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 forge-gui/res/cardsfolder/v/vazal_the_compleat.txt diff --git a/forge-core/src/main/java/forge/deck/DeckFormat.java b/forge-core/src/main/java/forge/deck/DeckFormat.java index e369fccc075..96e4634daaa 100644 --- a/forge-core/src/main/java/forge/deck/DeckFormat.java +++ b/forge-core/src/main/java/forge/deck/DeckFormat.java @@ -375,9 +375,10 @@ public enum DeckFormat { public static Integer canHaveSpecificNumberInDeck(final IPaperCard card) { // Ideally, this would be parsed during card parsing and set this value - if (Iterables.contains(card.getRules().getMainPart().getKeywords(), - "A deck can have up to seven cards named CARDNAME.")) { + if (card.getRules().hasKeyword("A deck can have up to seven cards named CARDNAME.")) { return 7; + } else if (card.getRules().hasKeyword("Megalegendary")) { + return 1; } return null; diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 672f1e5de83..25b1be74ccf 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -1964,7 +1964,8 @@ public class Card extends GameEntity implements Comparable, IHasSVars { || keyword.equals("Foretell") // for the ones without cost || keyword.equals("Hideaway") || keyword.equals("Ascend") || keyword.equals("Totem armor") || keyword.equals("Battle cry") - || keyword.equals("Devoid") || keyword.equals("Riot")){ + || keyword.equals("Devoid") || keyword.equals("Riot") + || keyword.equals("Megalegendary")){ sbLong.append(keyword).append(" (").append(inst.getReminderText()).append(")"); } else if (keyword.startsWith("Partner:")) { final String[] k = keyword.split(":"); diff --git a/forge-game/src/main/java/forge/game/keyword/Keyword.java b/forge-game/src/main/java/forge/game/keyword/Keyword.java index 54219bed08b..098d6736917 100644 --- a/forge-game/src/main/java/forge/game/keyword/Keyword.java +++ b/forge-game/src/main/java/forge/game/keyword/Keyword.java @@ -92,6 +92,7 @@ public enum Keyword { LIFELINK("Lifelink", SimpleKeyword.class, true, "Damage dealt by this creature also causes its controller to gain that much life."), LIVING_WEAPON("Living weapon", SimpleKeyword.class, true, "When this Equipment enters the battlefield, create a 0/0 black Germ creature token, then attach this to it."), MADNESS("Madness", KeywordWithCost.class, false, "If you discard this card, discard it into exile. When you do, cast it for %s or put it into your graveyard."), + MEGALEGENDARY("Megalegendary", SimpleKeyword.class, true, "Your deck can have only one copy of this card."), MELEE("Melee", SimpleKeyword.class, false, "Whenever this creature attacks, it gets +1/+1 until end of turn for each opponent you attacked this combat."), MENTOR("Mentor", SimpleKeyword.class, false, "Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power."), MENACE("Menace", SimpleKeyword.class, true, "This creature can't be blocked except by two or more creatures."), diff --git a/forge-gui/res/cardsfolder/v/vazal_the_compleat.txt b/forge-gui/res/cardsfolder/v/vazal_the_compleat.txt new file mode 100644 index 00000000000..33a100fc6e4 --- /dev/null +++ b/forge-gui/res/cardsfolder/v/vazal_the_compleat.txt @@ -0,0 +1,9 @@ +Name:Vazal, the Compleat +ManaCost:3 G G G +Types:Legendary Artifact Creature Phyrexian +PT:7/7 +K:Megalegendary +K:Vigilance +K:Trample +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Permanent.Other | Description$ CARDNAME has all activated abilities of each other permanent on the battlefield. +Oracle:Vigilance, Trample\nVazal, the Compleat has all activated abilities of each other permanent on the battlefield. \ No newline at end of file