From 44e967bfcb83150fbcba3d2135b76b69e4d32467 Mon Sep 17 00:00:00 2001 From: swordshine Date: Fri, 24 May 2013 04:31:50 +0000 Subject: [PATCH] - Added Reins of Power --- .gitattributes | 1 + res/cardsfolder/b/blood_reckoning.txt | 2 +- res/cardsfolder/r/reins_of_power.txt | 12 ++++++++++++ .../card/ability/effects/ControlGainEffect.java | 10 ++++++++++ .../forge/card/ability/effects/RepeatEachEffect.java | 2 +- 5 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 res/cardsfolder/r/reins_of_power.txt diff --git a/.gitattributes b/.gitattributes index 3e0f8b139e9..1ba71229621 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8664,6 +8664,7 @@ res/cardsfolder/r/reign_of_terror.txt -text res/cardsfolder/r/reincarnation.txt -text res/cardsfolder/r/reinforced_bulwark.txt svneol=native#text/plain res/cardsfolder/r/reinforcements.txt svneol=native#text/plain +res/cardsfolder/r/reins_of_power.txt -text res/cardsfolder/r/reins_of_the_vinesteed.txt -text res/cardsfolder/r/reiterate.txt svneol=native#text/plain res/cardsfolder/r/reito_lantern.txt svneol=native#text/plain diff --git a/res/cardsfolder/b/blood_reckoning.txt b/res/cardsfolder/b/blood_reckoning.txt index 6abbfa862d7..3e07b0b2a18 100644 --- a/res/cardsfolder/b/blood_reckoning.txt +++ b/res/cardsfolder/b/blood_reckoning.txt @@ -2,7 +2,7 @@ Name:Blood Reckoning ManaCost:3 B Types:Enchantment T:Mode$ Attacks | ValidCard$ Creature.YouDontCtrl | Attacked$ You,Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigLoseLife | TriggerDescription$ Whenever a creature attacks you or a planeswalker you control, that creature's controller loses 1 life. -SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredAttackerController | LifeAmount$ 1 | SpellDescription$ Whenever a creature attacks you, its controller loses 1 life. +SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredAttackerController | LifeAmount$ 1 SVar:Picture:http://www.wizards.com/global/images/magic/general/blood_reckoning.jpg Oracle:Whenever a creature attacks you or a planeswalker you control, that creature's controller loses 1 life. SetInfo:M13 Uncommon \ No newline at end of file diff --git a/res/cardsfolder/r/reins_of_power.txt b/res/cardsfolder/r/reins_of_power.txt new file mode 100644 index 00000000000..53c604204f4 --- /dev/null +++ b/res/cardsfolder/r/reins_of_power.txt @@ -0,0 +1,12 @@ +Name:Reins of Power +ManaCost:2 U U +Types:Instant +A:SP$ UntapAll | Cost$ 2 U U | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | ValidCards$ Creature | RememberTargets$ True | RememberUntapped$ True | SubAbility$ DBUnTapYours | SpellDescription$ Untap all creatures you control and all creatures target opponent controls. You and that opponent each gain control of all creatures the other controls until end of turn. Those creatures gain haste until end of turn. +SVar:DBUnTapYours:DB$ UntapAll | ValidCards$ Creature.YouCtrl | RememberUntapped$ True | SubAbility$ DBGainCtrl +SVar:DBGainCtrl:DB$ GainControl | AllValid$ Creature.IsRemembered+RememberedPlayerCtrl | AddKWs$ Haste | NewController$ You | LoseControl$ EOT | ForgetControlled$ True | StackDescription$ None | SubAbility$ DBGainCtrlOpp +SVar:DBGainCtrlOpp:DB$ GainControl | AllValid$ Creature.IsRemembered+YouCtrl | AddKWs$ Haste | NewController$ Player.IsRemembered | LoseControl$ EOT | StackDescription$ None | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:Picture:http://www.wizards.com/global/images/magic/general/reins_of_power.jpg +Oracle:Untap all creatures you control and all creatures target opponent controls. You and that opponent each gain control of all creatures the other controls until end of turn. Those creatures gain haste until end of turn. +SetInfo:COM Rare +SetInfo:STH Rare \ No newline at end of file diff --git a/src/main/java/forge/card/ability/effects/ControlGainEffect.java b/src/main/java/forge/card/ability/effects/ControlGainEffect.java index fceb02778aa..0fc2360cb91 100644 --- a/src/main/java/forge/card/ability/effects/ControlGainEffect.java +++ b/src/main/java/forge/card/ability/effects/ControlGainEffect.java @@ -80,6 +80,8 @@ public class ControlGainEffect extends SpellAbilityEffect { final boolean bUntap = sa.hasParam("Untap"); final boolean bTapOnLose = sa.hasParam("TapOnLose"); final boolean bNoRegen = sa.hasParam("NoRegen"); + final boolean remember = sa.hasParam("RememberControlled"); + final boolean forget = sa.hasParam("ForgetControlled"); final List destroyOn = sa.hasParam("DestroyTgt") ? Arrays.asList(sa.getParam("DestroyTgt").split(",")) : null; final List kws = sa.hasParam("AddKWs") ? Arrays.asList(sa.getParam("AddKWs").split(" & ")) : null; final List lose = sa.hasParam("LoseControl") ? Arrays.asList(sa.getParam("LoseControl").split(",")) : null; @@ -142,6 +144,14 @@ public class ControlGainEffect extends SpellAbilityEffect { } } + if (remember && !sa.getSourceCard().getRemembered().contains(tgtC)) { + sa.getSourceCard().addRemembered(tgtC); + } + + if (forget && sa.getSourceCard().getRemembered().contains(tgtC)) { + sa.getSourceCard().removeRemembered(tgtC); + } + if (lose != null) { if (lose.contains("LeavesPlay")) { sa.getSourceCard().addLeavesPlayCommand(this.getLoseControlCommand(tgtC, tStamp, bTapOnLose, source, kws)); diff --git a/src/main/java/forge/card/ability/effects/RepeatEachEffect.java b/src/main/java/forge/card/ability/effects/RepeatEachEffect.java index e08f3477ed2..a442b84bb02 100644 --- a/src/main/java/forge/card/ability/effects/RepeatEachEffect.java +++ b/src/main/java/forge/card/ability/effects/RepeatEachEffect.java @@ -92,7 +92,7 @@ public class RepeatEachEffect extends SpellAbilityEffect { if (sa.hasParam("RepeatCounters")) { Card target = sa.getTargetCard(); if (target == null) { - target = AbilityUtils.getDefinedCards(sa.getSourceCard(), sa.getParam("Defined"), sa).get(0); + target = AbilityUtils.getDefinedCards(source, sa.getParam("Defined"), sa).get(0); } Set types = new HashSet(target.getCounters().keySet()); for (CounterType type : types) {