- Added Mana-Charged Dragon

- Update scripts for some RepeatEach cards
This commit is contained in:
swordshine
2014-03-12 13:06:34 +00:00
parent c056a98347
commit 61830aabe5
14 changed files with 33 additions and 19 deletions

1
.gitattributes vendored
View File

@@ -7534,6 +7534,7 @@ forge-gui/res/cardsfolder/m/man_o_war.txt svneol=native#text/plain
forge-gui/res/cardsfolder/m/mana_bloom.txt -text
forge-gui/res/cardsfolder/m/mana_breach.txt svneol=native#text/plain
forge-gui/res/cardsfolder/m/mana_chains.txt -text
forge-gui/res/cardsfolder/m/mana_charged_dragon.txt -text
forge-gui/res/cardsfolder/m/mana_clash.txt -text
forge-gui/res/cardsfolder/m/mana_crypt.txt svneol=native#text/plain
forge-gui/res/cardsfolder/m/mana_cylix.txt svneol=native#text/plain

View File

@@ -2,7 +2,7 @@ Name:Cleansing
ManaCost:W W W
Types:Sorcery
A:SP$ RepeatEach | Cost$ W W W | RepeatSubAbility$ DBSac | RepeatCards$ Land | SpellDescription$ For each land, destroy that land unless any player pays 1 life.
SVar:DBSac:DB$ Destroy | UnlessCost$ PayLife<1> | UnlessPayer$ Player | UnlessAI$ DefinedRememberedController | Defined$ Remembered
SVar:DBSac:DB$ Destroy | UnlessCost$ PayLife<1> | UnlessPayer$ Player | UnlessAI$ DefinedRememberedController | Defined$ Remembered | StackDescription$ Destroy {c:Remembered}
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/cleansing.jpg
Oracle:For each land, destroy that land unless any player pays 1 life.

View File

@@ -2,6 +2,6 @@ Name:Cut the Tethers
ManaCost:2 U U
Types:Sorcery
A:SP$ RepeatEach | Cost$ 2 U U | RepeatSubAbility$ DBReturn | RepeatCards$ Creature.Spirit | SpellDescription$ For each Spirit, return it to its owner's hand unless that player pays {3}.
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | UnlessCost$ 3 | UnlessPayer$ RememberedController
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Battlefield | Destination$ Hand | UnlessCost$ 3 | UnlessPayer$ RememberedController | ShowCurrentCard$ Remembered
SVar:Picture:http://www.wizards.com/global/images/magic/general/cut_the_tethers.jpg
Oracle:For each Spirit, return it to its owner's hand unless that player pays {3}.

View File

@@ -5,7 +5,7 @@ S:Mode$ Continuous | Affected$ Creature | AddHiddenKeyword$ CARDNAME doesn't unt
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each player's upkeep, that player may choose any number of tapped nongreen creatures he or she controls and pay {2} for each creature chosen this way. If the player does, untap those creatures.
SVar:TrigChoose:DB$ ChooseCard | Defined$ TriggeredPlayer | Amount$ X | References$ X | Choices$ Creature.tapped+nonGreen | TargetControls$ True | ChoiceTitle$ Choose any number of tapped nongreen creatures you control | ChoiceZone$ Battlefield | SubAbility$ DBUntap
SVar:DBUntap:DB$ RepeatEach | DefinedCards$ ChosenCard | RepeatSubAbility$ UntapEach
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | ShowCurrentCard$ Remembered
SVar:X:Count$Valid Creature.tapped+nonGreen+ActivePlayerCtrl
SVar:RemRandomDeck:True
SVar:NonStackingEffect:True

View File

@@ -2,7 +2,7 @@ Name:Heroism
ManaCost:2 W
Types:Enchantment
A:AB$ RepeatEach | Cost$ Sac<1/Creature.White/White Creature> | RepeatCards$ Creature.attacking+Red | RepeatSubAbility$ DBPump | SpellDescription$ For each attacking red creature, prevent all combat damage that would be dealt by that creature this turn unless its controller pays {2}{R}.
SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ HIDDEN Prevent all combat damage that would be dealt by CARDNAME. | UnlessCost$ 2 R | UnlessPayer$ RememberedController
SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ HIDDEN Prevent all combat damage that would be dealt by CARDNAME. | UnlessCost$ 2 R | UnlessPayer$ RememberedController | ShowCurrentCard$ Remembered
SVar:RemRandomDeck:True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/heroism.jpg

View File

@@ -5,7 +5,7 @@ S:Mode$ Continuous | Affected$ Creature.Blue | AddHiddenKeyword$ CARDNAME doesn'
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each player's upkeep, that player may choose any number of tapped blue creatures he or she controls and pay {4} for each creature chosen this way. If the player does, untap those creatures.
SVar:TrigChoose:DB$ ChooseCard | Defined$ TriggeredPlayer | Amount$ X | References$ X | Choices$ Creature.tapped+Blue | TargetControls$ True | ChoiceTitle$ Choose any number of tapped blue creatures you control | ChoiceZone$ Battlefield | SubAbility$ DBUntap
SVar:DBUntap:DB$ RepeatEach | DefinedCards$ ChosenCard | RepeatSubAbility$ UntapEach
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ 4 | UnlessPayer$ RememberedController | UnlessSwitched$ True
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ 4 | UnlessPayer$ RememberedController | UnlessSwitched$ True | ShowCurrentCard$ Remembered
SVar:X:Count$Valid Creature.tapped+Blue+ActivePlayerCtrl
SVar:RemRandomDeck:True
SVar:NonStackingEffect:True

View File

@@ -0,0 +1,17 @@
Name:Mana-Charged Dragon
ManaCost:4 R R
Types:Creature Dragon
PT:5/5
K:Flying
K:Trample
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigJoinForces | TriggerDescription$ Join forces - Whenever CARDNAME attacks or blocks, each player starting with you may pay any amount of mana. CARDNAME gets +X/+0 until end of turn, where X is the total amount of mana paid this way.
T:Mode$ Blocks | ValidCard$ Card.Self | Execute$ TrigJoinForces | Secondary$ True | TriggerDescription$ Join forces - Whenever CARDNAME attacks or blocks, each player starting with you may pay any amount of mana. CARDNAME gets +X/+0 until end of turn, where X is the total amount of mana paid this way.
SVar:TrigJoinForces:AB$ RepeatEach | Cost$ 0 | RepeatPlayers$ Player | StartingWithActivator$ True | RepeatSubAbility$ DBPay | SubAbility$ DBPump
SVar:DBPay:DB$ ChooseNumber | Defined$ Player.IsRemembered | ChooseAnyNumber$ True | ListTitle$ Pay Any Mana |SubAbility$ DBStore
SVar:DBStore:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ CountSVar | Expression$ JoinForcesAmount/Plus.X | UnlessCost$ X | UnlessPayer$ Player.IsRemembered | UnlessSwitched$ True | UnlessAI$ OnlyOwn | References$ X,JoinForcesAmount
SVar:DBPump:DB$ Pump | Defined$ Self | NumAtt$ JoinForcesAmount | SubAbility$ DBReset | References$ JoinForcesAmount
SVar:DBReset:DB$ StoreSVar | SVar$ JoinForcesAmount | Type$ Number | Expression$ 0 | References$ JoinForcesAmount
SVar:X:Count$ChosenNumber
SVar:JoinForcesAmount:Number$0
SVar:Picture:http://www.wizards.com/global/images/magic/general/mana_charged_dragon.jpg
Oracle:Flying, trample\nJoin forces - Whenever Mana-Charged Dragon attacks or blocks, each player starting with you may pay any amount of mana. Mana-Charged Dragon gets +X/+0 until end of turn, where X is the total amount of mana paid this way.

View File

@@ -5,7 +5,7 @@ S:Mode$ Continuous | Affected$ Creature.withoutFlying | AddHiddenKeyword$ CARDNA
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each player's upkeep, that player may choose any number of tapped creatures without flying he or she controls and pay {2} for each creature chosen this way. If the player does, untap those creatures.
SVar:TrigChoose:DB$ ChooseCard | Defined$ TriggeredPlayer | Amount$ X | References$ X | Choices$ Creature.tapped+withoutFlying | TargetControls$ True | ChoiceTitle$ Choose any number of tapped nongreen creatures you control | ChoiceZone$ Battlefield | SubAbility$ DBUntap
SVar:DBUntap:DB$ RepeatEach | DefinedCards$ ChosenCard | RepeatSubAbility$ UntapEach
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | ShowCurrentCard$ Remembered
SVar:X:Count$Valid Creature.tapped+withoutFlying+ActivePlayerCtrl
SVar:RemRandomDeck:True
SVar:NonStackingEffect:True

View File

@@ -3,7 +3,7 @@ ManaCost:1 R
Types:Instant
A:SP$ RevealHand | Cost$ 1 R | RememberRevealed$ True | ValidTgts$ Player | TgtPrompt$ Select target Player | SubAbility$ DBRepeatDiscard | SpellDescription$ Target player reveals his or her hand. For each blue instant card revealed this way, that player discards that card unless he or she pays 4 life.
SVar:DBRepeatDiscard:DB$ RepeatEach | UseImprinted$ True | RepeatCards$ Card.IsRemembered+Instant+Blue | Zone$ Hand | RepeatSubAbility$ DBDiscard | SubAbility$ DBCleanup
SVar:DBDiscard:DB$ Discard | DefinedCards$ Imprinted | Mode$ Defined | UnlessCost$ PayLife<4> | UnlessPayer$ Targeted
SVar:DBDiscard:DB$ Discard | DefinedCards$ Imprinted | Mode$ Defined | UnlessCost$ PayLife<4> | UnlessPayer$ Targeted | StackDescription$ Discard {c:Imprinted}
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sirocco.jpg

View File

@@ -3,7 +3,7 @@ ManaCost:2 B B
Types:Sorcery
A:SP$ DestroyAll | Cost$ 2 B B | ValidCards$ Plains | RememberDestroyed$ True | SubAbility$ DBPay | SpellDescription$ Destroy all Plains. For each land destroyed this way, Stench of Evil deals 1 damage to that land's controller unless he or she pays {2}.
SVar:DBPay:DB$ RepeatEach | DefinedCards$ Remembered | UseImprinted$ True| RepeatSubAbility$ DBDmg | SubAbility$ DBCleanup
SVar:DBDmg:DB$ DealDamage | NumDmg$ 1 | Defined$ ImprintedController | UnlessCost$ 2 | UnlessPayer$ ImprintedController
SVar:DBDmg:DB$ DealDamage | NumDmg$ 1 | Defined$ ImprintedController | UnlessCost$ 2 | UnlessPayer$ ImprintedController | ShowCurrentCard$ Imprinted
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/stench_of_evil.jpg

View File

@@ -5,7 +5,7 @@ S:Mode$ Continuous | Affected$ Creature.Blue | AddHiddenKeyword$ CARDNAME doesn'
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigChoose | TriggerDescription$ At the beginning of each player's upkeep, that player may choose any number of tapped blue creatures he or she controls and pay {U} for each creature chosen this way. If the player does, untap those creatures.
SVar:TrigChoose:DB$ ChooseCard | Defined$ TriggeredPlayer | Amount$ X | References$ X | Choices$ Creature.tapped+Blue | TargetControls$ True | ChoiceTitle$ Choose any number of tapped nongreen creatures you control | ChoiceZone$ Battlefield | SubAbility$ DBUntap
SVar:DBUntap:DB$ RepeatEach | DefinedCards$ ChosenCard | RepeatSubAbility$ UntapEach
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ U | UnlessPayer$ RememberedController | UnlessSwitched$ True
SVar:UntapEach:DB$ Untap | Defined$ Remembered | UnlessCost$ U | UnlessPayer$ RememberedController | UnlessSwitched$ True | ShowCurrentCard$ Remembered
SVar:X:Count$Valid Creature.tapped+Blue+ActivePlayerCtrl
SVar:RemRandomDeck:True
SVar:NonStackingEffect:True

View File

@@ -2,7 +2,7 @@ Name:Tidal Flats
ManaCost:U
Types:Enchantment
A:AB$ RepeatEach | Cost$ U U | RepeatCards$ Creature.attacking+withoutFlying | RepeatSubAbility$ PumpOthers | SpellDescription$ For each attacking creature without flying, its controller may pay {1}. If he or she doesn't, creatures you control blocking that creature gain first strike until end of turn.
SVar:PumpOthers:DB$PumpAll | ValidCards$ Creature.blockingRemembered+YouCtrl | KW$ First Strike | UnlessCost$ 1 | UnlessPayer$ RememberedController
SVar:PumpOthers:DB$PumpAll | ValidCards$ Creature.blockingRemembered+YouCtrl | KW$ First Strike | UnlessCost$ 1 | UnlessPayer$ RememberedController | ShowCurrentCard$ Remembered
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/tidal_flats.jpg
Oracle:{U}{U}: For each attacking creature without flying, its controller may pay {1}. If he or she doesn't, creatures you control blocking that creature gain first strike until end of turn.

View File

@@ -4,8 +4,8 @@ Types:Instant
Text:Cast CARDNAME only during combat before blockers are declared.\r\nX can't be greater than the number of snow lands you control.\r\n
A:SP$ RepeatEach | Cost$ X U | TargetMin$ 0 | TargetMax$ MaxTgts | References$ X,MaxTgts | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | ActivationPhases$ BeginCombat->Declare Attackers | IsCurse$ True | DefinedCards$ Targeted | RepeatSubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Choose X target attacking creatures. For each of those creatures, its controller may pay {1} or {2}. If that player doesn't, destroy that creature at end of combat. If that player pays only {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat.
SVar:DBChoose:DB$ GenericChoice | Defined$ RememberedController | Choices$ Pay2,Pay1 | AILogic$ PayUnlessCost | SubAbility$ DBEffect
SVar:Pay2:DB$ Cleanup | ClearRemembered$ True | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | SpellDescription$ You may pay {2} to avoid negative effects
SVar:Pay1:DB$ Pump | Defined$ Remembered | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME. | UntilEndOfCombat$ True | UnlessCost$ 1 | UnlessPayer$ RememberedController | UnlessSwitched$ True | UnlessResolveSubs$ WhenPaid | SubAbility$ DBCleanup | SpellDescription$ You may pay {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat.
SVar:Pay2:DB$ Cleanup | ClearRemembered$ True | UnlessCost$ 2 | UnlessPayer$ RememberedController | UnlessSwitched$ True | SpellDescription$ You may pay {2} to avoid negative effects | ShowCurrentCard$ Remembered
SVar:Pay1:DB$ Pump | Defined$ Remembered | KW$ HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME. | UntilEndOfCombat$ True | UnlessCost$ 1 | UnlessPayer$ RememberedController | UnlessSwitched$ True | UnlessResolveSubs$ WhenPaid | SubAbility$ DBCleanup | ShowCurrentCard$ Remembered | SpellDescription$ You may pay {1}, prevent all combat damage that would be dealt to and dealt by that creature this combat.
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:DBEffect:DB$ Effect | RememberObjects$ Remembered | Triggers$ TrigEOC,OutOfSight | SVars$ TrigDestroy,ExileSelf | References$ TrigDestroy,ExileSelf | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:TrigEOC:Mode$ Phase | TriggerZones$ Command | Phase$ EndCombat | Execute$ TrigDestroy | TriggerDescription$ Destroy that creature at end of combat.

View File

@@ -1,6 +1,7 @@
package forge.gui.player;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import forge.FThreads;
import forge.card.MagicColor;
@@ -238,13 +239,8 @@ public class HumanPlay {
public static boolean payCostDuringAbilityResolve(final Player p, final Card source, final Cost cost, SpellAbility sourceAbility, String prompt) {
// Only human player pays this way
Card current = null; // Used in spells with RepeatEach effect to distinguish cards, Cut the Tethers
if (!source.getRemembered().isEmpty()) {
if (source.getRemembered().get(0) instanceof Card) {
current = (Card) source.getRemembered().get(0);
}
}
if (!source.getImprinted().isEmpty()) {
current = source.getImprinted().get(0);
if (sourceAbility.hasParam("ShowCurrentCard")) {
current = Iterables.getFirst(AbilityUtils.getDefinedCards(source, sourceAbility.getParam("ShowCurrentCard"), sourceAbility), null);
}
final List<CostPart> parts = cost.getCostParts();