- CounterEffect: Renamed "RememberTargets" (we have another "RememberTargets" in AbilityUtils)

- Added Fold into AEther, Hinder, and Swift Silence
This commit is contained in:
swordshine
2013-04-02 00:48:12 +00:00
parent 49f288197d
commit 3714ccc14a
7 changed files with 45 additions and 5 deletions

3
.gitattributes vendored
View File

@@ -3790,6 +3790,7 @@ res/cardsfolder/f/fog_bank.txt svneol=native#text/plain
res/cardsfolder/f/fog_elemental.txt svneol=native#text/plain
res/cardsfolder/f/fog_of_gnats.txt svneol=native#text/plain
res/cardsfolder/f/foil.txt -text
res/cardsfolder/f/fold_into_aether.txt -text
res/cardsfolder/f/folk_medicine.txt svneol=native#text/plain
res/cardsfolder/f/folk_of_an_havva.txt svneol=native#text/plain
res/cardsfolder/f/folk_of_the_pines.txt svneol=native#text/plain
@@ -4902,6 +4903,7 @@ res/cardsfolder/h/higure_the_still_wind_avatar.txt -text
res/cardsfolder/h/hikari_twilight_guardian.txt -text
res/cardsfolder/h/hill_giant.txt svneol=native#text/plain
res/cardsfolder/h/hillcomber_giant.txt svneol=native#text/plain
res/cardsfolder/h/hinder.txt -text
res/cardsfolder/h/hindering_light.txt svneol=native#text/plain
res/cardsfolder/h/hindering_touch.txt svneol=native#text/plain
res/cardsfolder/h/hindervines.txt -text
@@ -10567,6 +10569,7 @@ res/cardsfolder/s/swell_of_courage.txt svneol=native#text/plain
res/cardsfolder/s/swelter.txt svneol=native#text/plain
res/cardsfolder/s/swift_justice.txt -text
res/cardsfolder/s/swift_maneuver.txt svneol=native#text/plain
res/cardsfolder/s/swift_silence.txt -text
res/cardsfolder/s/swiftfoot_boots.txt svneol=native#text/plain
res/cardsfolder/s/swirling_sandstorm.txt svneol=native#text/plain
res/cardsfolder/s/swirling_spriggan.txt -text

View File

@@ -0,0 +1,9 @@
Name:Fold into AEther
ManaCost:2 U U
Types:Instant
A:SP$ Counter | Cost$ 2 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | RememberCountered$ True | SubAbility$ DBChangeZone | SpellDescription$ Counter target spell. If that spell is countered this way, its controller may put a creature card from his or her hand onto the battlefield.
SVar:DBChangeZone:DB$ ChangeZone | ChangeType$ Creature | Origin$ Hand | Destination$ Battlefield | ChangeNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/fold_into_aether.jpg
Oracle:Counter target spell. If that spell is countered this way, its controller may put a creature card from his or her hand onto the battlefield.
SetInfo:5DN Uncommon

View File

@@ -0,0 +1,7 @@
Name:Hinder
ManaCost:1 U U
Types:Instant
A:SP$ Counter | Cost$ 1 U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | DestinationChoice$ BottomOfLibrary,TopOfLibrary | SpellDescription$ Counter target spell. If that spell is countered this way, put that card on the top or bottom of its owner's library instead of into that player's graveyard.
SVar:Picture:http://www.wizards.com/global/images/magic/general/hinder.jpg
Oracle:Counter target spell. If that spell is countered this way, put that card on the top or bottom of its owner's library instead of into that player's graveyard.
SetInfo:CHK Uncommon

View File

@@ -1,7 +1,7 @@
Name:Spelljack
ManaCost:3 U U U
Types:Instant
A:SP$ Counter | Cost$ 3 U U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | RememberTargets$ True | ForgetOtherTargets$ True | Destination$ Exile | SubAbility$ DBEffect | SpellDescription$ Counter target spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. You may play it without paying its mana cost for as long as it remains exiled. (If it has X in its mana cost, X is 0.)
A:SP$ Counter | Cost$ 3 U U U | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | RememberCountered$ True | ForgetOtherTargets$ True | Destination$ Exile | SubAbility$ DBEffect | SpellDescription$ Counter target spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. You may play it without paying its mana cost for as long as it remains exiled. (If it has X in its mana cost, X is 0.)
SVar:DBEffect:DB$ Effect | Name$ Spelljack Effect | RememberObjects$ Remembered | StaticAbilities$ PlayOpp,PlayYou | Duration$ Permanent | Triggers$ TrigCleanup | SVars$ DBCleanup | References$ PlayOpp,PlayYou,TrigCleanup,DBCleanup
SVar:PlayOpp:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered+OppOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played by your opponent without paying its mana cost | Description$ You may play cards exiled with Spelljack.
SVar:PlayYou:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered+YouOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played without paying its mana cost

View File

@@ -0,0 +1,11 @@
Name:Swift Silence
ManaCost:2 W U U
Types:Instant
A:SP$ Counter | Cost$ 2 W U U | AllType$ Spell | AllValid$ Card.Other | RememberCountered$ True | SubAbility$ DBDraw | SpellDescription$ Counter all other spells. Draw a card for each spell countered this way.
SVar:DBDraw:DB$ Draw | NumCards$ X | References$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/swift_silence.jpg
Oracle:Counter all other spells. Draw a card for each spell countered this way.
SetInfo:DIS Rare

View File

@@ -2,7 +2,7 @@ Name:Trickbind
ManaCost:1 U
Types:Instant
K:Split second
A:SP$ Counter | Cost$ 1 U | TargetType$ Activated,Triggered | TgtPrompt$ Select target Activated or Triggered Ability | RememberTargets$ True | ValidTgts$ Card | SubAbility$ DBEffect | SpellDescription$ Counter target activated or triggered ability. If a permanent's ability is countered this way, activated abilities of that permanent can't be activated this turn. (Mana abilities can't be targeted.)
A:SP$ Counter | Cost$ 1 U | TargetType$ Activated,Triggered | TgtPrompt$ Select target Activated or Triggered Ability | RememberCountered$ True | ValidTgts$ Card | SubAbility$ DBEffect | SpellDescription$ Counter target activated or triggered ability. If a permanent's ability is countered this way, activated abilities of that permanent can't be activated this turn. (Mana abilities can't be targeted.)
SVar:DBEffect:DB$ Effect | Name$ Trickbind Effect | StaticAbilities$ STCantBeActivated | RememberObjects$ Remembered | SubAbility$ DBCleanup | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ1
SVar:STCantBeActivated:Mode$ CantBeActivated | EffectZone$ Command | ValidCard$ Permanent.IsRemembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

View File

@@ -8,10 +8,12 @@ import forge.Card;
import forge.Singletons;
import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.player.AIPlayer;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.SpellPermanent;
import forge.card.trigger.TriggerType;
import forge.gui.GuiChoose;
public class CounterEffect extends SpellAbilityEffect {
@Override
@@ -107,8 +109,8 @@ public class CounterEffect extends SpellAbilityEffect {
Singletons.getModel().getGame().getAction().destroy(tgtSACard);
}
if (sa.hasParam("RememberTargets")) {
if (sa.getParam("RememberTargets").equals("True")) {
if (sa.hasParam("RememberCountered")) {
if (sa.getParam("RememberCountered").equals("True")) {
sa.getSourceCard().addRemembered(tgtSACard);
}
}
@@ -133,7 +135,15 @@ public class CounterEffect extends SpellAbilityEffect {
Singletons.getModel().getGame().getStack().remove(si);
String destination = srcSA.hasParam("Destination") ? srcSA.getParam("Destination") : "Graveyard";
if (srcSA.hasParam("DestinationChoice")) {//Hinder
final String[] pos = srcSA.getParam("DestinationChoice").split(",");
if (srcSA.getActivatingPlayer() instanceof AIPlayer) {
destination = pos[0];
} else {
final String prompt = "Select a destination to remove";
destination = GuiChoose.one(prompt, pos);
}
}
if (tgtSA.isAbility()) {
// For Ability-targeted counterspells - do not move it anywhere,
// even if Destination$ is specified.