From 4804dbc6378dc376713d9a1c3db96c63ac41b1da Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Fri, 14 Jun 2024 05:56:05 +0200 Subject: [PATCH] Keyword: Protection from each color (#5424) --- .../main/java/forge/game/ability/effects/DebuffEffect.java | 6 +++--- forge-game/src/main/java/forge/game/card/Card.java | 2 +- .../src/main/java/forge/game/card/CardFactoryUtil.java | 2 +- forge-gui/res/cardsfolder/a/akromas_will.txt | 4 ++-- forge-gui/res/cardsfolder/e/etched_champion.txt | 4 ++-- forge-gui/res/cardsfolder/f/favor_of_the_mighty.txt | 4 ++-- forge-gui/res/cardsfolder/i/iridescent_angel.txt | 4 ++-- forge-gui/res/cardsfolder/p/pristine_angel.txt | 4 ++-- forge-gui/res/cardsfolder/s/spectra_ward.txt | 4 ++-- forge-gui/res/cardsfolder/upcoming/eldritch_immunity.txt | 2 +- 10 files changed, 18 insertions(+), 18 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java index 2fcd0db9323..186774e5cc5 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DebuffEffect.java @@ -120,8 +120,8 @@ public class DebuffEffect extends SpellAbilityEffect { ProtectionFromColor = true; } if (ProtectionFromColor) { - // Split "Protection from all colors" into extra Protection from - String allColors = "Protection from all colors"; + // Split "Protection from each color" into extra Protection from + String allColors = "Protection from each color"; if (tgtC.hasKeyword(allColors)) { final List allColorsProtect = Lists.newArrayList(); @@ -134,7 +134,7 @@ public class DebuffEffect extends SpellAbilityEffect { } // Extra for Spectra Ward - allColors = "Protection:Card.nonColorless:all colors:Aura"; + allColors = "Protection:Card.nonColorless:each color:Aura"; if (tgtC.hasKeyword(allColors)) { final List allColorsProtect = Lists.newArrayList(); 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 2708ae57fe5..0c18fecdc23 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -6735,7 +6735,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { pW = true; protectKey += "W"; } - } else if (kw.contains("all colors")) { + } else if (kw.contains("each color")) { protectKey += "allcolors:"; } else if (kw.equals("Protection from everything")) { protectKey += "everything:"; diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 0be50093c44..350dc1c4a1a 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -676,7 +676,7 @@ public class CardFactoryUtil { validSource = "Green" + (damage ? "Source" : ""); } else if (protectType.equals("colorless")) { validSource = "Colorless" + (damage ? "Source" : ""); - } else if (protectType.equals("all colors")) { + } else if (protectType.equals("each color")) { validSource = "nonColorless" + (damage ? "Source" : ""); } else if (protectType.equals("everything")) { return ""; diff --git a/forge-gui/res/cardsfolder/a/akromas_will.txt b/forge-gui/res/cardsfolder/a/akromas_will.txt index 48b1b161ad8..ac6a179964b 100644 --- a/forge-gui/res/cardsfolder/a/akromas_will.txt +++ b/forge-gui/res/cardsfolder/a/akromas_will.txt @@ -3,6 +3,6 @@ ManaCost:3 W Types:Instant A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ Count$Compare Y GE1.2.1 | Choices$ DBFly,DBLife | AdditionalDescription$ . If you control a commander as you cast this spell, you may choose both. SVar:DBFly:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Flying & Vigilance & Double Strike | SpellDescription$ Creatures you control gain flying, vigilance, and double strike until end of turn. -SVar:DBLife:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Lifelink & Indestructible & Protection from all colors | SpellDescription$ Creatures you control gain lifelink, indestructible, and protection from all colors until end of turn. +SVar:DBLife:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Lifelink & Indestructible & Protection from each color | SpellDescription$ Creatures you control gain lifelink, indestructible, and protection from each color until end of turn. SVar:Y:Count$Valid Card.IsCommander+YouCtrl -Oracle:Choose one. If you control a commander as you cast this spell, you may choose both.\n• Creatures you control gain flying, vigilance, and double strike until end of turn.\n• Creatures you control gain lifelink, indestructible, and protection from all colors until end of turn. +Oracle:Choose one. If you control a commander as you cast this spell, you may choose both.\n• Creatures you control gain flying, vigilance, and double strike until end of turn.\n• Creatures you control gain lifelink, indestructible, and protection from each color until end of turn. diff --git a/forge-gui/res/cardsfolder/e/etched_champion.txt b/forge-gui/res/cardsfolder/e/etched_champion.txt index 3e1daccdd3a..9cea535fd79 100644 --- a/forge-gui/res/cardsfolder/e/etched_champion.txt +++ b/forge-gui/res/cardsfolder/e/etched_champion.txt @@ -2,6 +2,6 @@ Name:Etched Champion ManaCost:3 Types:Artifact Creature Soldier PT:2/2 -S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Protection from all colors | Condition$ Metalcraft | Description$ Metalcraft — CARDNAME has protection from all colors as long as you control three or more artifacts. +S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Protection from each color | Condition$ Metalcraft | Description$ Metalcraft — CARDNAME has protection from each color as long as you control three or more artifacts. SVar:BuffedBy:Artifact -Oracle:Metalcraft — Etched Champion has protection from all colors as long as you control three or more artifacts. +Oracle:Metalcraft — Etched Champion has protection from each color as long as you control three or more artifacts. diff --git a/forge-gui/res/cardsfolder/f/favor_of_the_mighty.txt b/forge-gui/res/cardsfolder/f/favor_of_the_mighty.txt index 5bdb521e075..03d2ec779e8 100644 --- a/forge-gui/res/cardsfolder/f/favor_of_the_mighty.txt +++ b/forge-gui/res/cardsfolder/f/favor_of_the_mighty.txt @@ -1,7 +1,7 @@ Name:Favor of the Mighty ManaCost:1 W Types:Kindred Enchantment Giant -S:Mode$ Continuous | Affected$ Creature.greatestCMC_Creature | AddKeyword$ Protection from all colors | Description$ Each creature with the highest mana value has protection from all colors. +S:Mode$ Continuous | Affected$ Creature.greatestCMC_Creature | AddKeyword$ Protection from each color | Description$ Each creature with the highest mana value has protection from each color. SVar:NonStackingEffect:True AI:RemoveDeck:Random -Oracle:Each creature with the highest mana value has protection from all colors. +Oracle:Each creature with the highest mana value has protection from each color. diff --git a/forge-gui/res/cardsfolder/i/iridescent_angel.txt b/forge-gui/res/cardsfolder/i/iridescent_angel.txt index 55a94d6c4a3..3bca152367f 100644 --- a/forge-gui/res/cardsfolder/i/iridescent_angel.txt +++ b/forge-gui/res/cardsfolder/i/iridescent_angel.txt @@ -3,5 +3,5 @@ ManaCost:5 W U Types:Creature Angel PT:4/4 K:Flying -K:Protection from all colors -Oracle:Flying, protection from all colors +K:Protection from each color +Oracle:Flying, protection from each color diff --git a/forge-gui/res/cardsfolder/p/pristine_angel.txt b/forge-gui/res/cardsfolder/p/pristine_angel.txt index 81810d64ba0..c9b27fe9148 100644 --- a/forge-gui/res/cardsfolder/p/pristine_angel.txt +++ b/forge-gui/res/cardsfolder/p/pristine_angel.txt @@ -3,7 +3,7 @@ ManaCost:4 W W Types:Creature Angel PT:4/4 K:Flying -S:Mode$ Continuous | Affected$ Card.Self+untapped | AddKeyword$ Protection:Artifact & Protection from all colors | Description$ As long as CARDNAME is untapped, it has protection from artifacts and from all colors. +S:Mode$ Continuous | Affected$ Card.Self+untapped | AddKeyword$ Protection:Artifact & Protection from each color | Description$ As long as CARDNAME is untapped, it has protection from artifacts and from each color. T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigUntap | TriggerDescription$ Whenever you cast a spell, you may untap CARDNAME. SVar:TrigUntap:DB$ Untap | Defined$ Self -Oracle:Flying\nAs long as Pristine Angel is untapped, it has protection from artifacts and from all colors.\nWhenever you cast a spell, you may untap Pristine Angel. +Oracle:Flying\nAs long as Pristine Angel is untapped, it has protection from artifacts and from each color.\nWhenever you cast a spell, you may untap Pristine Angel. diff --git a/forge-gui/res/cardsfolder/s/spectra_ward.txt b/forge-gui/res/cardsfolder/s/spectra_ward.txt index c6d81cbfce0..22d49a03de7 100644 --- a/forge-gui/res/cardsfolder/s/spectra_ward.txt +++ b/forge-gui/res/cardsfolder/s/spectra_ward.txt @@ -3,5 +3,5 @@ ManaCost:3 W W Types:Enchantment Aura K:Enchant creature A:SP$ Attach | Cost$ 3 W W | ValidTgts$ Creature | AILogic$ Pump -S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Protection:Card.nonColorless:all colors:Aura | Description$ Enchanted creature gets +2/+2 and has protection from all colors. This effect doesn't remove auras. -Oracle:Enchant creature\nEnchanted creature gets +2/+2 and has protection from all colors. This effect doesn't remove Auras. (It can't be blocked, targeted, or dealt damage by anything that's white, blue, black, red, or green.) +S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ 2 | AddKeyword$ Protection:Card.nonColorless:each color:Aura | Description$ Enchanted creature gets +2/+2 and has protection from each color. This effect doesn't remove auras. +Oracle:Enchant creature\nEnchanted creature gets +2/+2 and has protection from each color. This effect doesn't remove Auras. (It can't be blocked, targeted, or dealt damage by anything that's white, blue, black, red, or green.) diff --git a/forge-gui/res/cardsfolder/upcoming/eldritch_immunity.txt b/forge-gui/res/cardsfolder/upcoming/eldritch_immunity.txt index 0cb22f10fe3..ac63dd2316d 100644 --- a/forge-gui/res/cardsfolder/upcoming/eldritch_immunity.txt +++ b/forge-gui/res/cardsfolder/upcoming/eldritch_immunity.txt @@ -1,6 +1,6 @@ Name:Eldritch Immunity ManaCost:C Types:Kindred Instant Eldrazi -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Protection from all colors | SpellDescription$ Target creature you control gains protection from each color until end of turn. +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Protection from each color | SpellDescription$ Target creature you control gains protection from each color until end of turn. K:Overload:4 C Oracle:Target creature you control gains protection from each color until end of turn.\nOverload {4}{C}