diff --git a/.gitattributes b/.gitattributes index a4a200d506e..e2acbee0e34 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17170,6 +17170,7 @@ forge-gui/res/cardsfolder/upcoming/kindred_charge.txt -text forge-gui/res/cardsfolder/upcoming/kindred_discovery.txt -text forge-gui/res/cardsfolder/upcoming/kindred_summons.txt -text forge-gui/res/cardsfolder/upcoming/licia_sanguine_tribune.txt -text +forge-gui/res/cardsfolder/upcoming/mairsil_the_pretender.txt -text forge-gui/res/cardsfolder/upcoming/mathas_fiend_seeker.txt -text forge-gui/res/cardsfolder/upcoming/mirror_of_the_forebears.txt -text forge-gui/res/cardsfolder/upcoming/nazahn_revered_bladesmith.txt -text diff --git a/forge-game/src/main/java/forge/game/card/CounterType.java b/forge-game/src/main/java/forge/game/card/CounterType.java index 4be5334f4d3..ae0f128791d 100644 --- a/forge-game/src/main/java/forge/game/card/CounterType.java +++ b/forge-game/src/main/java/forge/game/card/CounterType.java @@ -53,6 +53,8 @@ public enum CounterType { BRICK("BRICK", 226, 192, 164), + CAGE("CAGE", 155, 155, 155), + CARRION("CRRON", 255, 163, 222), CHARGE("CHARG", 246, 192, 0), diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java index 60a50342cba..ec72edc01b3 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java @@ -363,6 +363,10 @@ public final class StaticAbilityContinuous { for (SpellAbility sa : c.getSpellAbilities()) { if (sa instanceof AbilityActivated) { SpellAbility newSA = ((AbilityActivated) sa).getCopy(); + if (params.containsKey("GainsAbilitiesOncePerTurn")) { + newSA.setRestrictions(sa.getRestrictions()); + newSA.getRestrictions().setLimitToCheck("1"); + } newSA.setOriginalHost(c); newSA.setIntrinsic(false); newSA.setTemporary(true); diff --git a/forge-gui/res/cardsfolder/upcoming/mairsil_the_pretender.txt b/forge-gui/res/cardsfolder/upcoming/mairsil_the_pretender.txt new file mode 100644 index 00000000000..5ed7f531edf --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/mairsil_the_pretender.txt @@ -0,0 +1,12 @@ +Name:Mairsil, the Pretender +ManaCost:1 U B R +Types:Legendary Creature Human Wizard +PT:4/4 +S:Mode$ Continuous | Affected$ Card.Self | EffectZone$ Battlefield | GainsAbilitiesOf$ Card.YouOwn+inZoneExile+counters_GE1_CAGE | GainsAbilitiesOfZones$ Exile | GainsAbilitiesOncePerTurn$ True | Description$ CARDNAME has all activated abilities of all cards you own in exile with cage counters on them. You may activate each of these abilities only once each turn. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may exile an artifact or creature card from your hand or graveyard and put a cage counter on it. +SVar:TrigExile:DB$ ChangeZone | Origin$ Hand,Graveyard | Destination$ Exile | ChangeType$ Creature.YouCtrl,Artifact.YouCtrl | SubAbility$ DBCounter | RememberChanged$ True | ChangeNum$ 1 +SVar:DBCounter:DB$PutCounter | CounterType$ CAGE | CounterNum$ 1 | Defined$ Remembered | SubAbility$ DBCleanup +T:Mode$ ChangesZone | Origin$ Battlefield | ValidCard$ Card.Self | Destination$ Any | Execute$ DBCleanup | Static$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:Picture:http://www.wizards.com/global/images/magic/general/mairsil_the_pretender.jpg +Oracle:When Mairsil, the Pretender enters the battlefield, you may exile an artifact or creature card from your hand or graveyard and put a cage counter on it.\nMairsil, the Pretender has all activated abilities of all cards you own in exile with cage counters on them. You may activate each of these abilities only once each turn.