mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Merge branch 'astral' into 'master'
MicroProse Astral cards!?! See merge request core-developers/forge!5465
This commit is contained in:
8
forge-gui/res/cardsfolder/a/aswan_jaguar.txt
Normal file
8
forge-gui/res/cardsfolder/a/aswan_jaguar.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Aswan Jaguar
|
||||
ManaCost:1 G G
|
||||
Types:Creature Cat
|
||||
PT:2/2
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChooseCT | TriggerDescription$ When CARDNAME comes into play, choose a random creature type from those in target opponent's deck.
|
||||
SVar:TrigChooseCT:DB$ ChooseType | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | IsCurse$ True | AtRandom$ True | Type$ CreatureInTargetedDeck
|
||||
A:AB$ Destroy | Cost$ G G T | ValidTgts$ Creature.ChosenType | NoRegen$ True | TgtPrompt$ Select target creature with the chosen type | SpellDescription$ Destroy target creature with the chosen type. It can't be regenerated.
|
||||
Oracle:When Aswan Jaguar comes into play, choose a random creature type from those in target opponent's deck.\n{G}{G}, {T}: Destroy target creature with the chosen type. It can't be regenerated.
|
||||
8
forge-gui/res/cardsfolder/c/call_from_the_grave.txt
Normal file
8
forge-gui/res/cardsfolder/c/call_from_the_grave.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Call from the Grave
|
||||
ManaCost:2 B
|
||||
Types:Sorcery
|
||||
A:SP$ ChangeZone | ChangeType$ Creature | ChangeNum$ 1 | Hidden$ True | Origin$ Graveyard | Destination$ Battlefield | AtRandom$ True | GainControl$ True | RememberChanged$ True | SubAbility$ DBDealDamage | StackDescription$ SpellDescription | SpellDescription$ Put a random creature from a random graveyard into play under your control. Call from the Grave deals to you an amount of damage equal to that creature's casting cost.
|
||||
SVar:DBDealDamage:DB$ DealDamage | NumDmg$ X | Defined$ You | SubAbility$ DBCleanup | StackDescription$ None
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Remembered$CardManaCost
|
||||
Oracle:Put a random creature from a random graveyard into play under your control. Call from the Grave deals to you an amount of damage equal to that creature's casting cost.
|
||||
56
forge-gui/res/cardsfolder/f/faerie_dragon.txt
Normal file
56
forge-gui/res/cardsfolder/f/faerie_dragon.txt
Normal file
@@ -0,0 +1,56 @@
|
||||
Name:Faerie Dragon
|
||||
ManaCost:2 G G
|
||||
Types:Creature Dragon
|
||||
PT:1/3
|
||||
K:Flying
|
||||
A:AB$ GenericChoice | Cost$ 1 G G | AtRandom$ True | ShowChoice$ Description | Choices$ Berserk,Twiddle,BloodLust,Green,White,Red,Damage3,Flying,P3P3,Banding,Black,Blue,NoRegen,LilSneak,M2M0,ToHand,Damage1,Nerf,Exile,Orcish | StackDescription$ SpellDescription | SpellDescription$ Perform a random action.
|
||||
SVar:Berserk:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | RememberChosen$ True | SubAbility$ DBPump1 | SpellDescription$ A creature chosen at random gains trample and gets +X/+0 until end of turn, where X is its power. At the beginning of the next end step, destroy that creature if it attacked this turn.
|
||||
SVar:DBPump1:DB$ Pump | Defined$ Remembered | KW$ Trample | NumAtt$ X1 | SubAbility$ DBDelayedTrigger1
|
||||
SVar:DBDelayedTrigger1:DB$ DelayedTrigger | RememberObjects$ Remembered | Mode$ Phase | Phase$ End of Turn | Execute$ TrigDestroy1 | SubAbility$ DBCleanup | TriggerDescription$ At the beginning of the next end step, destroy that creature if it attacked this turn.
|
||||
SVar:TrigDestroy1:DB$ Destroy | Defined$ DelayTriggerRemembered | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Card.attackedThisTurn
|
||||
SVar:X1:Remembered$CardPower
|
||||
SVar:DBCleanup:DB$ Cleanup | Log$ True | ClearRemembered$ True | ClearChosenCard$ True
|
||||
SVar:Twiddle:DB$ ChooseCard | Choices$ Artifact,Creature,Land | AtRandom$ True | SubAbility$ DBTapOrUntap2 | SpellDescription$ You may tap or untap an artifact, creature, or land chosen at random.
|
||||
SVar:DBTapOrUntap2:DB$ TapOrUntap | Defined$ ChosenCard | SubAbility$ DBCleanup
|
||||
SVar:BloodLust:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | RememberChosen$ True | SubAbility$ DBPump3 | SpellDescription$ If a creature chosen at random has toughness 5 or greater, it gets +4/-4 until end of turn. Otherwise, it gets +4/-X until end of turn, where X is its toughness minus 1.
|
||||
SVar:DBPump3:DB$ Pump | Defined$ Remembered | NumAtt$ 4 | NumDef$ -X3 | SubAbility$ DBCleanup
|
||||
SVar:X3:Count$Compare T3 GE4.4.T3
|
||||
SVar:T3:Remembered$CardToughness/Minus.1
|
||||
SVar:Green:DB$ ChooseCard | Choices$ Permanent | IncludeSpellsOnStack$ True | AtRandom$ True | LockInText$ True | SubAbility$ DBAnimateG | SpellDescription$ A spell or permanent chosen at random becomes green. (Mana symbols on that permanent remain unchanged.)
|
||||
SVar:DBAnimateG:DB$ Animate | Defined$ ChosenCard | Colors$ Green | OverwriteColors$ True | Duration$ Permanent | LockInText$ True | SubAbility$ DBCleanup
|
||||
SVar:White:DB$ ChooseCard | Choices$ Permanent | IncludeSpellsOnStack$ True | AtRandom$ True | LockInText$ True | SubAbility$ DBAnimateW | SpellDescription$ A spell or permanent chosen at random becomes white. (Mana symbols on that permanent remain unchanged.)
|
||||
SVar:DBAnimateW:DB$ Animate | Defined$ ChosenCard | Colors$ White | OverwriteColors$ True | Duration$ Permanent | LockInText$ True | SubAbility$ DBCleanup
|
||||
SVar:Red:DB$ ChooseCard | Choices$ Permanent | IncludeSpellsOnStack$ True | AtRandom$ True | LockInText$ True | SubAbility$ DBAnimateR | SpellDescription$ A spell or permanent chosen at random becomes red. (Mana symbols on that permanent remain unchanged.)
|
||||
SVar:DBAnimateR:DB$ Animate | Defined$ ChosenCard | Colors$ Red | OverwriteColors$ True | Duration$ Permanent | LockInText$ True | SubAbility$ DBCleanup
|
||||
SVar:Damage3:DB$ ChooseEntity | Random$ True | CardChoices$ Creature | PlayerChoices$ Player | RememberChosen$ True | SubAbility$ DBDamage3 | SpellDescription$ CARDNAME deals 3 damage to a creature or player chosen at random.
|
||||
SVar:DBDamage3:DB$ DealDamage | Defined$ Remembered | NumDmg$ 3 | SubAbility$ DBCleanup
|
||||
SVar:Flying:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBPump8 | SpellDescription$ A creature chosen at random gains flying until end of turn.
|
||||
SVar:DBPump8:DB$ Pump | Defined$ ChosenCard | KW$ Flying | SubAbility$ DBCleanup
|
||||
SVar:P3P3:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBPump9 | SpellDescription$ A creature chosen at random gets +3/+3 until end of turn.
|
||||
SVar:DBPump9:DB$ Pump | Defined$ ChosenCard | NumAtt$ 3 | NumDef$ 3 | SubAbility$ DBCleanup
|
||||
SVar:Banding:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBPump10 | SpellDescription$ A creature chosen at random gains banding until end of turn. (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding a player controls are blocking or being blocked by a creature, that player divides that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)
|
||||
SVar:DBPump10:DB$ Pump | Defined$ ChosenCard | KW$ Banding | SubAbility$ DBCleanup
|
||||
SVar:Black:DB$ ChooseCard | Choices$ Permanent | IncludeSpellsOnStack$ True | AtRandom$ True | LockInText$ True | SubAbility$ DBAnimateB | SpellDescription$ A spell or permanent chosen at random becomes black. (Mana symbols on that permanent remain unchanged.)
|
||||
SVar:DBAnimateB:DB$ Animate | Defined$ ChosenCard | Colors$ Black | OverwriteColors$ True | Duration$ Permanent | LockInText$ True | SubAbility$ DBCleanup
|
||||
SVar:Blue:DB$ ChooseCard | Choices$ Permanent | IncludeSpellsOnStack$ True | AtRandom$ True | LockInText$ True | SubAbility$ DBAnimateU | SpellDescription$ A spell or permanent chosen at random becomes blue. (Mana symbols on that permanent remain unchanged.)
|
||||
SVar:DBAnimateU:DB$ Animate | Defined$ ChosenCard | Colors$ Blue | OverwriteColors$ True | Duration$ Permanent | LockInText$ True | SubAbility$ DBCleanup
|
||||
SVar:NoRegen:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBPump13 | SpellDescription$ A creature chosen at random can't be regenerated this turn.
|
||||
SVar:DBPump13:DB$ Pump | Defined$ ChosenCard | KW$ HIDDEN CARDNAME can't be regenerated. | SubAbility$ DBCleanup
|
||||
SVar:LilSneak:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBPump14 | RememberChosen$ True | SpellDescription$ If a creature chosen at random has power 2 or less, it is unblockable this turn.
|
||||
SVar:DBPump14:DB$ Pump | ConditionDefined$ Remembered | ConditionPresent$ Card.powerLE2 | Defined$ Remembered | KW$ HIDDEN Unblockable | SubAbility$ DBCleanup
|
||||
SVar:M2M0:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBPump15 | SpellDescription$ A creature chosen at random gets -2/-0 until end of turn.
|
||||
SVar:DBPump15:DB$ Pump | Defined$ ChosenCard | NumAtt$ -2 | SubAbility$ DBCleanup
|
||||
SVar:ToHand:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBChangeZone16 | SpellDescription$ Return a creature chosen at random to its owner's hand.
|
||||
SVar:DBChangeZone16:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCleanup
|
||||
SVar:Damage1:DB$ ChooseEntity | Random$ True | CardChoices$ Creature | PlayerChoices$ Player | RememberChosen$ True | SubAbility$ DBDamage1 | SpellDescription$ CARDNAME deals 1 damage to a creature or player chosen at random.
|
||||
SVar:DBDamage1:DB$ DealDamage | Defined$ Remembered | NumDmg$ 1 | SubAbility$ DBCleanup
|
||||
SVar:Nerf:DB$ ChooseCard | Choices$ Creature.Other | AtRandom$ True | SubAbility$ DBAnimate18 | SpellDescription$ A creature other than CARDNAME chosen at random becomes 0/2 until end of turn.
|
||||
SVar:DBAnimate18:DB$ Animate | Defined$ ChosenCard | Power$ 0 | Toughness$ 2 | SubAbility$ DBCleanup
|
||||
SVar:Exile:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | SubAbility$ DBChangeZone19 | SpellDescription$ Exile a creature chosen at random. Its controller gains life equal to its power.
|
||||
SVar:DBChangeZone19:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SubAbility$ DBGainLife19
|
||||
SVar:DBGainLife19:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X19 | SubAbility$ DBCleanup
|
||||
SVar:X19:RememberedLKI$CardPower
|
||||
SVar:Orcish:DB$ ChooseCard | Choices$ Creature | Amount$ Random | AtRandom$ True | SubAbility$ DBPutCounter20 | SpellDescription$ Randomly distribute X -0/-1 counters among a random number of creatures chosen at random, where X is the number of creatures in play.
|
||||
SVar:DBPutCounter20:DB$ PutCounter | Defined$ ChosenCard | CounterType$ M0M1 | CounterNum$ X20 | DividedRandomly$ True | SubAbility$ DBCleanup
|
||||
SVar:X20:Count$Valid Creature
|
||||
Oracle:Flying\n{1}{G}{G}: Perform a random action.
|
||||
7
forge-gui/res/cardsfolder/g/gem_bazaar.txt
Normal file
7
forge-gui/res/cardsfolder/g/gem_bazaar.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Gem Bazaar
|
||||
ManaCost:no cost
|
||||
Types:Land
|
||||
K:ETBReplacement:Other:ChooseColor
|
||||
SVar:ChooseColor:DB$ ChooseColor | Random$ True | SpellDescription$ As CARDNAME enters the battlefield, choose a color at random.
|
||||
A:AB$ Mana | Cost$ T | Produced$ Chosen | SubAbility$ ChooseColor | SpellDescription$ Add one mana of the chosen color. Then choose a color at random.
|
||||
Oracle:As Gem Bazaar enters the battlefield, choose a color at random.\n{T}: Add one mana of the chosen color. Then choose a color at random.
|
||||
10
forge-gui/res/cardsfolder/g/goblin_polka_band.txt
Normal file
10
forge-gui/res/cardsfolder/g/goblin_polka_band.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Goblin Polka Band
|
||||
ManaCost:R R
|
||||
Types:Creature Goblin
|
||||
PT:1/1
|
||||
A:AB$ Tap | Announce$ TgtNum | AnnounceTitle$ any number of creatures to target | Cost$ X 2 T | XColor$ R | CostDesc$ {2}, {T}: | ValidTgts$ Creature.untapped | TargetMin$ TgtNum | TargetMax$ TgtNum | TargetsAtRandom$ True | RememberTargets$ True | SubAbility$ GoblinHangover | SpellDescription$ Tap any number of random target creatures. Goblins tapped in this way do not untap during their controllers' next untap phases. This ability costs {R} more to activate for each target.
|
||||
SVar:GoblinHangover:DB$ PumpAll | ValidCards$ Goblin.IsRemembered | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent
|
||||
SVar:TgtNum:Number$0
|
||||
SVar:X:SVar$TgtNum
|
||||
SVar:Y:Count$xPaid
|
||||
Oracle:{2}, {T}: Tap any number of random target creatures. Goblins tapped in this way do not untap during their controllers' next untap phases. This ability costs {R} more to activate for each target.
|
||||
7
forge-gui/res/cardsfolder/g/power_struggle.txt
Normal file
7
forge-gui/res/cardsfolder/g/power_struggle.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Power Struggle
|
||||
ManaCost:2 U U U
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerController$ TriggeredPlayer | TriggerDescription$ At the beginning of each player's upkeep, that player exchanges control of random target artifact, creature or land he or she controls, for control of random target permanent of the same type that a random opponent controls.
|
||||
SVar:TrigPump:DB$ Pump | TargetsWithDefinedController$ TriggeredPlayer | ValidTgts$ Artifact,Creature,Land | TargetsAtRandom$ True | SubAbility$ DBExchangeControl
|
||||
SVar:DBExchangeControl:DB$ ExchangeControl | Defined$ ParentTarget | ValidTgts$ Artifact,Creature,Land | TargetsWithDefinedController$ Player.OpponentOf TriggeredPlayer | TargetsWithSharedCardType$ ParentTarget | TargetsAtRandom$ True
|
||||
Oracle:At the beginning of each player's upkeep, that player exchanges control of random target artifact, creature or land he or she controls, for control of random target permanent of the same type that a random opponent controls.
|
||||
10
forge-gui/res/cardsfolder/n/necropolis_of_azar.txt
Normal file
10
forge-gui/res/cardsfolder/n/necropolis_of_azar.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Necropolis of Azar
|
||||
ManaCost:2 B B
|
||||
Types:Enchantment
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.nonBlack | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever a nonblack creature dies, put a husk counter on CARDNAME.
|
||||
SVar:TrigPutCounter:DB$ PutCounter | CounterType$ HUSK
|
||||
A:AB$ Token | Cost$ 5 SubCounter<1/HUSK> | TokenScript$ spawn_of_azar | TokenPower$ X | TokenToughness$ Y | SpellDescription$ Create an X/Y black Spawn creature token with swampwalk named Spawn of Azar, where X and Y are numbers chosen at random from 1 to 3.
|
||||
SVar:X:Count$Random.1.3
|
||||
SVar:Y:Count$Random.1.3
|
||||
DeckHas:Ability$Counters & Ability$Token
|
||||
Oracle:Whenever a nonblack creature dies, put a husk counter on Necropolis of Azar.\n{5}, Remove a husk counter from Necropolis of Azar: Create an X/Y black Spawn creature token with swampwalk named Spawn of Azar, where X and Y are numbers chosen at random from 1 to 3.
|
||||
6
forge-gui/res/cardsfolder/o/orcish_catapult.txt
Normal file
6
forge-gui/res/cardsfolder/o/orcish_catapult.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Name:Orcish Catapult
|
||||
ManaCost:X R R
|
||||
Types:Instant
|
||||
A:SP$ PutCounter | ValidTgts$ Creature | TargetsAtRandom$ True | CounterType$ M0M1 | CounterNum$ X | RandomNumTargets$ True | TargetMin$ 0 | TargetMax$ X | DividedRandomly$ True | SpellDescription$ Randomly distribute X -0/-1 counters among a random number of random target creatures.
|
||||
SVar:X:Count$xPaid
|
||||
Oracle:Randomly distribute X -0/-1 counters among a random number of random target creatures.
|
||||
9
forge-gui/res/cardsfolder/p/pandoras_box.txt
Normal file
9
forge-gui/res/cardsfolder/p/pandoras_box.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:Pandora's Box
|
||||
ManaCost:5
|
||||
Types:Artifact
|
||||
A:AB$ ChooseCard | Cost$ 3 T | Choices$ Creature | AtRandom$ True | AllCards$ True | SubAbility$ DBRepeatEach | StackDescription$ SpellDescription | SpellDescription$ Choose a creature card at random from all players' decklists. Each player flips a coin. Each player whose coin comes up heads creates a token that's a copy of that card.
|
||||
SVar:DBRepeatEach:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBFlip | SubAbility$ DBCleanup
|
||||
SVar:DBFlip:DB$ FlipACoin | Flipper$ Remembered | NoCall$ True | HeadsSubAbility$ DBCopyPermanent
|
||||
SVar:DBCopyPermanent:DB$ CopyPermanent | Defined$ ChosenCard | Controller$ Remembered
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True
|
||||
Oracle:{3}, {T}: Choose a creature card at random from all players' decklists. Each player flips a coin. Each player whose coin comes up heads creates a token that's a copy of that card.
|
||||
11
forge-gui/res/cardsfolder/p/prismatic_dragon.txt
Normal file
11
forge-gui/res/cardsfolder/p/prismatic_dragon.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Prismatic Dragon
|
||||
ManaCost:2 W W
|
||||
Types:Creature Dragon
|
||||
PT:2/3
|
||||
K:Flying
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChooseColor | TriggerDescription$ At the beginning of your upkeep, CARDNAME becomes a color chosen at random. (This effect lasts indefinitely.)
|
||||
SVar:TrigChooseColor:DB$ ChooseColor | Random$ True | SubAbility$ DBAnimate
|
||||
SVar:DBAnimate:DB$ Animate | Colors$ ChosenColor | OverwriteColors$ True | Duration$ Permanent | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearChosenColor$ True
|
||||
A:AB$ ChooseColor | Cost$ 2 | Random$ True | SubAbility$ DBAnimate | StackDescription$ SpellDescription | SpellDescription$ CARDNAME becomes a color chosen at random. (This effect lasts indefinitely.)
|
||||
Oracle:Flying\nAt the beginning of your upkeep, Prismatic Dragon becomes a color chosen at random. (This effect lasts indefinitely.)\n{2}: Prismatic Dragon becomes a color chosen at random. (This effect lasts indefinitely.)
|
||||
11
forge-gui/res/cardsfolder/r/rainbow_knights.txt
Normal file
11
forge-gui/res/cardsfolder/r/rainbow_knights.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Rainbow Knights
|
||||
ManaCost:W W
|
||||
Types:Creature Human Knight
|
||||
PT:2/1
|
||||
K:ETBReplacement:Other:ChooseColor
|
||||
SVar:ChooseColor:DB$ ChooseColor | Random$ True | SpellDescription$ As CARDNAME enters the battlefield, it gains protection from a color chosen at random. (This effect lasts indefinitely.)
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddKeyword$ Protection:Card.ChosenColor:Protection from chosenColor | Secondary$ True
|
||||
A:AB$ Pump | Cost$ 1 | KW$ First strike | SpellDescription$ CARDNAME gains first strike until end of turn.
|
||||
A:AB$ Pump | Cost$ W W | NumAtt$ X | StackDescription$ SpellDescription | SpellDescription$ CARDNAME gets +X/+0 until end of turn, where X is a number chosen randomly from 0 to 2. |
|
||||
SVar:X:Count$Random.0.2
|
||||
Oracle:As Rainbow Knights enters the battlefield, it gains protection from a color chosen at random. (This effect lasts indefinitely.)\n{1}: Rainbow Knights gains first strike until end of turn.\n{W}{W}: Rainbow Knights gets +X/+0 until end of turn, where X is a number chosen randomly from 0 to 2.
|
||||
47
forge-gui/res/cardsfolder/w/whimsy.txt
Normal file
47
forge-gui/res/cardsfolder/w/whimsy.txt
Normal file
@@ -0,0 +1,47 @@
|
||||
Name:Whimsy
|
||||
ManaCost:X U U
|
||||
Types:Sorcery
|
||||
A:SP$ Repeat | MaxRepeat$ X | RepeatSubAbility$ DBGenericChoice | StackDescription$ SpellDescription | SpellDescription$ Perform X random actions.
|
||||
SVar:DBGenericChoice:DB$ GenericChoice | ShowChoice$ Description | AtRandom$ True | Choices$ ToHand,Untap,Tap,Damage,Draw3,DestroyGain,DestroyAE,Gain3,Anoint,DestroyCL,Mill2,Wasp,Nevinyrral,Suleiman,Pandora,Discard,Fog,Sindbad
|
||||
SVar:ToHand:DB$ ChooseCard | Choices$ Permanent.unenchanted | AtRandom$ True | SubAbility$ DBChangeZone3 | SpellDescription$ Return a permanent that isn't enchanted chosen at random to its owner's hand.
|
||||
SVar:DBChangeZone3:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBCleanup
|
||||
SVar:Untap:DB$ ChooseCard | Choices$ Artifact.tapped,Creature.tapped,Land.tapped | AtRandom$ True | SubAbility$ DBUntap4 | SpellDescription$ Untap an artifact, creature or land chosen at random.
|
||||
SVar:DBUntap4:DB$ Untap | Defined$ ChosenCard | SubAbility$ DBCleanup
|
||||
SVar:Tap:DB$ ChooseCard | Choices$ Artifact.untapped,Creature.untapped,Land.untapped | AtRandom$ True | SubAbility$ DBTap5 | SpellDescription$ Tap an artifact, creature or land chosen at random.
|
||||
SVar:DBTap5:DB$ Tap | Defined$ ChosenCard | SubAbility$ DBCleanup
|
||||
SVar:Damage:DB$ ChooseEntity | Random$ True | CardChoices$ Creature | PlayerChoices$ Player | RememberChosen$ True | SubAbility$ DBDamage6 | SpellDescription$ CARDNAME deals 4 damage to a creature or player chosen at random.
|
||||
SVar:DBDamage6:DB$ DealDamage | Defined$ Remembered | NumDmg$ 4 | SubAbility$ DBCleanup
|
||||
SVar:Draw3:DB$ ChoosePlayer | Choices$ Player | Random$ True | SubAbility$ DBDraw7 | SpellDescription$ A player chosen at random draws three cards.
|
||||
SVar:DBDraw7:DB$ Draw | NumCards$ 3 | Defined$ ChosenPlayer | SubAbility$ DBCleanup
|
||||
SVar:DestroyGain:DB$ ChooseCard | Choices$ Artifact | AtRandom$ True | SubAbility$ DBDestroy8 | SpellDescription$ Destroy an artifact chosen at random. It can't be regenerated. That artifact's controller gains life equal to its converted mana cost.
|
||||
SVar:DBDestroy8:DB$ Destroy | Defined$ ChosenCard | NoRegen$ True | RememberDestroyed$ True | SubAbility$ DBGainLife8
|
||||
SVar:DBGainLife8:DB$ GainLife | Defined$ RememberedController | LifeAmount$ X8 | SubAbility$ DBCleanup
|
||||
SVar:X8:Remembered$CardManaCost
|
||||
SVar:DestroyAE:DB$ ChooseCard | Choices$ Artifact,Enchantment | AtRandom$ True | SubAbility$ DBDestroy9 | SpellDescription$ Destroy an artifact or enchantment chosen at random.
|
||||
SVar:DBDestroy9:DB$ Destroy | Defined$ ChosenCard | SubAbility$ DBCleanup
|
||||
SVar:Gain3:DB$ ChoosePlayer | Choices$ Player | Random$ True | SubAbility$ DBGainLife10 | SpellDescription$ A player chosen at random gains 3 life.
|
||||
SVar:DBGainLife10:DB$ GainLife | Defined$ ChosenPlayer | LifeAmount$ 3 | SubAbility$ DBCleanup
|
||||
SVar:Anoint:DB$ ChooseEntity | Random$ True | CardChoices$ Creature | PlayerChoices$ Player | RememberChosen$ True | SubAbility$ DBPreventDamage11 | SpellDescription$ Prevent the next 3 damage that would be dealt to a creature or player chosen at random this turn.
|
||||
SVar:DBPreventDamage11:DB$ PreventDamage | Defined$ Remembered | Amount$ 3 | SubAbility$ DBCleanup
|
||||
SVar:DestroyCL:DB$ ChooseCard | Choices$ Creature,Land | AtRandom$ True | SubAbility$ DBDestroy12 | SpellDescription$ Destroy a creature or land chosen at random. It can't be regenerated.
|
||||
SVar:DBDestroy12:DB$ Destroy | Defined$ ChosenCard | NoRegen$ True | SubAbility$ DBCleanup
|
||||
SVar:Mill2:DB$ ChoosePlayer | Choices$ Player | Random$ True | SubAbility$ DBMill13 | SpellDescription$ A player chosen at random mills two cards.
|
||||
SVar:DBMill13:DB$ Mill | Defined$ ChosenPlayer | NumCards$ 2 | SubAbility$ DBCleanup
|
||||
SVar:Wasp:DB$ Token | TokenScript$ wasp | LockInText$ True | SpellDescription$ Create a 1/1 colorless Insect artifact creature token with flying named Wasp.
|
||||
SVar:Nevinyrral:DB$ DestroyAll | ValidCards$ Artifact,Creature,Enchantment | SpellDescription$ Destroy all artifacts, creatures and enchantments.
|
||||
SVar:Suleiman:DB$ FlipACoin | WinSubAbility$ DBToken | LoseSubAbility$ DBDamage | LockInText$ True | SpellDescription$ Flip a coin. If you win the flip, create a 5/5 colorless Djinn artifact creature token with flying. If you lose the flip, CARDNAME deals 5 damage to you.
|
||||
SVar:DBToken:DB$ Token | LockInText$ True | TokenScript$ c_5_5_a_djinn_flying
|
||||
SVar:DBDamage:DB$ DealDamage | Defined$ You | NumDmg$ 5
|
||||
SVar:Pandora:DB$ ChooseCard | Choices$ Creature | AtRandom$ True | AllCards$ True | SubAbility$ DBRepeatEach17 | SpellDescription$ Choose a creature card at random from all players' decklists. Each player flips a coin. Each player whose coin comes up heads creates a token that's a copy of that card.
|
||||
SVar:DBRepeatEach17:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBFlip17 | SubAbility$ DBCleanup
|
||||
SVar:DBFlip17:DB$ FlipACoin | Flipper$ Remembered | NoCall$ True | HeadsSubAbility$ DBCopyPermanent17
|
||||
SVar:DBCopyPermanent17:DB$ CopyPermanent | Defined$ ChosenCard | Controller$ Remembered
|
||||
SVar:Discard:DB$ ChoosePlayer | Choices$ Player | Random$ True | SubAbility$ DBDiscard18 | SpellDescription$ A player chosen at random discards a card.
|
||||
SVar:DBDiscard18:DB$ Discard | Defined$ ChosenPlayer | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ DBCleanup
|
||||
SVar:Fog:DB$ Fog | SpellDescription$ Prevent all combat damage that would be dealt this turn.
|
||||
SVar:Sindbad:DB$ Draw | NumCards$ 1 | Reveal$ All | RememberDrawn$ True | SubAbility$ DBDiscard20 | SpellDescription$ Draw a card and reveal it. If it isn't a land card, discard it.
|
||||
SVar:DBDiscard20:DB$ Discard | Mode$ Defined | Defined$ You | DefinedCards$ Remembered | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | ConditionCompare$ EQ1 | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | Log$ True | ClearRemembered$ True | ClearChosenCard$ True | ClearChosenPlayer$ True
|
||||
SVar:X:Count$xPaid
|
||||
DeckHas:Ability$LifeGain & Ability$Token & Ability$Discard
|
||||
Oracle:Perform X random actions.
|
||||
19
forge-gui/res/editions/Astral Cards.txt
Normal file
19
forge-gui/res/editions/Astral Cards.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
[metadata]
|
||||
Code=PAST
|
||||
Date=1997-04-01
|
||||
Name=Astral Cards
|
||||
Type=Funny
|
||||
|
||||
[cards]
|
||||
1 C Aswan Jaguar @Pat Lewis
|
||||
2 C Call from the Grave @Quinton Hoover
|
||||
3 C Faerie Dragon @NéNé Thomas
|
||||
4 C Goblin Polka Band @Quinton Hoover
|
||||
5 C Necropolis of Azar @Rob Alexander
|
||||
6 C Orcish Catapult @Melissa A. Benson
|
||||
7 C Power Struggle @Mark Tedin
|
||||
8 C Prismatic Dragon @Amy Weber
|
||||
9 C Rainbow Knights @Douglas Shuler
|
||||
10 C Whimsy @Anson Maddocks
|
||||
11 C Pandora's Box @Amy Weber
|
||||
12 C Gem Bazaar @Liz Danforth
|
||||
@@ -1449,6 +1449,7 @@ lblTriggered=löst aus
|
||||
lblActivated=aktiviert
|
||||
lblLogPlayerActionObjectWitchTarget={0} {1} {2} mit Ziel {3}
|
||||
lblLogPlayerActionObject={0} {1} {2}
|
||||
lblLogRandomMode={0}''s random mode: {1}
|
||||
lblLogPlayerChosenModeForCard=[0} wählte {1} für {2}
|
||||
lblLogPlayerHasRestoredControlThemself={0} hat die eigene Kontrolle zurück
|
||||
lblLogPlayerControlledTargetPlayer={0} wird kontrolliert durch {1}
|
||||
@@ -1846,6 +1847,11 @@ lblChooseOpponent=Wähle einen Gegner
|
||||
lblReveals=zeigt offen vor
|
||||
lblWinsClash=gewinnt Fehde
|
||||
lblLosesClash=verliert Fehde
|
||||
#CleanUpEffect.java
|
||||
lblChosenCard={0}''s chosen card: {1}
|
||||
lblChosenMultiCard={0}''s chosen cards: {1}
|
||||
lblChosenPlayer={0}''s chosen player: {1}
|
||||
lblNoValidChoice={0} found no valid choices.
|
||||
#CloneEffect.java
|
||||
lblDoYouWantCopy=Möchtest du {0} kopieren?
|
||||
#ControlExchangeEffect.java
|
||||
@@ -2129,6 +2135,8 @@ lblGameplayResults=Spielergebnis
|
||||
lblResultIs=Ergebnis: {0}
|
||||
lblPlayerRandomChosenNumberIs=Zufällige Zahl von {0} bis {1}
|
||||
lblPlayerChoosesNumberIs={0} wählt Zahl: {1}
|
||||
lblRandomColorChosen=Randomly chosen color: {0}
|
||||
lblRandomTypeChosen=Randomly chosen type: {0}
|
||||
lblPlayerChooseValueOfEffectOfCard={0} wählt {1} als Effekt von {2}
|
||||
lblPlayerFlipComesUpValue={0}-Wurf zeigt {1}
|
||||
lblPlayerActionFlip={0} {1} den Wurf
|
||||
|
||||
@@ -1451,6 +1451,7 @@ lblTriggered=triggered
|
||||
lblActivated=activated
|
||||
lblLogPlayerActionObjectWitchTarget={0} {1} {2} targeting {3}
|
||||
lblLogPlayerActionObject={0} {1} {2}
|
||||
lblLogRandomMode={0}''s random mode: {1}
|
||||
lblLogPlayerChosenModeForCard={0} has chosen {1} for {2}.
|
||||
lblLogPlayerHasRestoredControlThemself={0} has restored control over themself
|
||||
lblLogPlayerControlledTargetPlayer={0} is controlled by {1}
|
||||
@@ -1847,6 +1848,11 @@ lblChooseOpponent=Choose a opponent
|
||||
lblReveals=reveals
|
||||
lblWinsClash=wins clash
|
||||
lblLosesClash=loses clash
|
||||
#CleanUpEffect.java
|
||||
lblChosenCard={0}''s chosen card: {1}
|
||||
lblChosenMultiCard={0}''s chosen cards: {1}
|
||||
lblChosenPlayer={0}''s chosen player: {1}
|
||||
lblNoValidChoice={0} found no valid choices.
|
||||
#CloneEffect.java
|
||||
lblDoYouWantCopy=Do you want to copy {0}?
|
||||
#ControlExchangeEffect.java
|
||||
@@ -2128,7 +2134,9 @@ lblGameplayResults=Gameplay Results
|
||||
lblResultIs=Result: {0}
|
||||
lblPlayerRandomChosenNumberIs=Randomly chosen number for {0} is {1}
|
||||
lblPlayerChoosesNumberIs={0} chooses number: {1}
|
||||
lblPlayerChooseValueOfEffectOfCard={0} choose {1} for effect of {2}
|
||||
lblRandomColorChosen=Randomly chosen color: {0}
|
||||
lblRandomTypeChosen=Randomly chosen type: {0}
|
||||
lblPlayerChooseValueOfEffectOfCard={0} chose {1} for effect of {2}
|
||||
lblPlayerFlipComesUpValue={0} flip comes up {1}
|
||||
lblPlayerActionFlip={0} {1} the flip
|
||||
lblPlayerChooseValue={0} choose {1}
|
||||
|
||||
@@ -1449,6 +1449,7 @@ lblTriggered=acciona
|
||||
lblActivated=activa
|
||||
lblLogPlayerActionObjectWitchTarget={0} {1} {2} con objetivo {3}
|
||||
lblLogPlayerActionObject={0} {1} {2}
|
||||
lblLogRandomMode={0}''s random mode: {1}
|
||||
lblLogPlayerChosenModeForCard={0} ha elegido {1} para {2}.
|
||||
lblLogPlayerHasRestoredControlThemself={0} ha restaurado el control sobre sí mismo
|
||||
lblLogPlayerControlledTargetPlayer={0} es controlado por {1}
|
||||
@@ -1845,6 +1846,11 @@ lblChooseOpponent=Elige un adversario
|
||||
lblReveals=muestra
|
||||
lblWinsClash=gana el enfrentamiento
|
||||
lblLosesClash=pierde el enfrentamiento
|
||||
#CleanUpEffect.java
|
||||
lblChosenCard={0}''s chosen card: {1}
|
||||
lblChosenMultiCard={0}''s chosen cards: {1}
|
||||
lblChosenPlayer={0}''s chosen player: {1}
|
||||
lblNoValidChoice={0} found no valid choices.
|
||||
#CloneEffect.java
|
||||
lblDoYouWantCopy=¿Quieres copiar {0}?
|
||||
#ControlExchangeEffect.java
|
||||
@@ -2128,6 +2134,8 @@ lblGameplayResults=Resultados del Juego
|
||||
lblResultIs=Resultado: {0}
|
||||
lblPlayerRandomChosenNumberIs=El número elegido aleatoriamente para {0} es {1}
|
||||
lblPlayerChoosesNumberIs={0} elige el número: {1}
|
||||
lblRandomColorChosen=Color aleatorio es {0}
|
||||
lblRandomTypeChosen=Tipo aleatorio es {0}
|
||||
lblPlayerChooseValueOfEffectOfCard={0} elige {1} para el efecto de {2}
|
||||
lblPlayerFlipComesUpValue=El lanzamiento de {0} sale {1}
|
||||
lblPlayerActionFlip={0} {1} el lanzamiento
|
||||
|
||||
@@ -1449,6 +1449,7 @@ lblTriggered=ha innescato
|
||||
lblActivated=ha attivato
|
||||
lblLogPlayerActionObjectWitchTarget={0} {1} {2} con bersaglio {3}
|
||||
lblLogPlayerActionObject={0} {1} {2}
|
||||
lblLogRandomMode={0}''s random mode: {1}
|
||||
lblLogPlayerChosenModeForCard={0} ha scelto {1} per {2}.
|
||||
lblLogPlayerHasRestoredControlThemself={0} ha ripreso il controllo di sé stesso
|
||||
lblLogPlayerControlledTargetPlayer={0} è controllato da {1}
|
||||
@@ -1844,6 +1845,11 @@ lblChooseOpponent=Scegli un avversario
|
||||
lblReveals=rivela
|
||||
lblWinsClash=vince lo scontro
|
||||
lblLosesClash=perde lo scontro
|
||||
#CleanUpEffect.java
|
||||
lblChosenCard={0}''s chosen card: {1}
|
||||
lblChosenMultiCard={0}''s chosen cards: {1}
|
||||
lblChosenPlayer={0}''s chosen player: {1}
|
||||
lblNoValidChoice={0} found no valid choices.
|
||||
#CloneEffect.java
|
||||
lblDoYouWantCopy=Vuoi copiare {0}?
|
||||
#ControlExchangeEffect.java
|
||||
@@ -2127,6 +2133,8 @@ lblGameplayResults=Risultati
|
||||
lblResultIs=Risultato: {0}
|
||||
lblPlayerRandomChosenNumberIs=Il numero scelto a caso per {0} è {1}
|
||||
lblPlayerChoosesNumberIs={0} sceglie il numero: {1}
|
||||
lblRandomColorChosen=Randomly chosen color: {0}
|
||||
lblRandomTypeChosen=Randomly chosen type: {0}
|
||||
lblPlayerChooseValueOfEffectOfCard={0} ha scelto{1} per effetto di {2}
|
||||
lblPlayerFlipComesUpValue=Al lancio di {0} è uscita {1}
|
||||
lblPlayerActionFlip={0} {1} il lancio
|
||||
|
||||
@@ -1450,6 +1450,7 @@ lblTriggered=が誘発された
|
||||
lblActivated=を起動した
|
||||
lblLogPlayerActionObjectWitchTarget={0}: {3}を対象に {2} {1}
|
||||
lblLogPlayerActionObject={0}: {2} {1}
|
||||
lblLogRandomMode={0}''s random mode: {1}
|
||||
lblLogPlayerChosenModeForCard={0}は {2}の {1}を選択しました。
|
||||
lblLogPlayerHasRestoredControlThemself={0}は自身の制御が戻りました
|
||||
lblLogPlayerControlledTargetPlayer={0}は {1}によって制御されます
|
||||
@@ -1844,6 +1845,11 @@ lblChooseOpponent=対戦相手1人を選ぶ
|
||||
lblReveals=公開する
|
||||
lblWinsClash=が激突に勝利した
|
||||
lblLosesClash=が激突に負けた
|
||||
#CleanUpEffect.java
|
||||
lblChosenCard={0}''s chosen card: {1}
|
||||
lblChosenMultiCard={0}''s chosen cards: {1}
|
||||
lblChosenPlayer={0}''s chosen player: {1}
|
||||
lblNoValidChoice={0} found no valid choices.
|
||||
#CloneEffect.java
|
||||
lblDoYouWantCopy={0}をコピーしますか?
|
||||
#ControlExchangeEffect.java
|
||||
@@ -2127,6 +2133,8 @@ lblGameplayResults=ゲームの結果
|
||||
lblResultIs=結果:{0}
|
||||
lblPlayerRandomChosenNumberIs={0}のランダムに選択された数値は{1}です
|
||||
lblPlayerChoosesNumberIs={0}が番号を選択:{1}
|
||||
lblRandomColorChosen=Randomly chosen color: {0}
|
||||
lblRandomTypeChosen=Randomly chosen type: {0}
|
||||
lblPlayerChooseValueOfEffectOfCard={0}は{2}の効果のために{1}を選択します
|
||||
lblPlayerFlipComesUpValue={0}コイン投げ:{1}
|
||||
lblPlayerActionFlip={0}のコイン投げ:{1}
|
||||
|
||||
@@ -1451,6 +1451,7 @@ lblTriggered=触发了
|
||||
lblActivated=起动了
|
||||
lblLogPlayerActionObjectWitchTarget={0}{1}{2}目标为{3}
|
||||
lblLogPlayerActionObject={0}{1}{2}
|
||||
lblLogRandomMode={0}''s random mode: {1}
|
||||
lblLogPlayerChosenModeForCard={0}为{2}选择了模式{1}。
|
||||
lblLogPlayerHasRestoredControlThemself={0}恢复了他的控制权
|
||||
lblLogPlayerControlledTargetPlayer={0}控制了{1}
|
||||
@@ -1848,6 +1849,11 @@ lblChooseOpponent=选择一个对手
|
||||
lblReveals=展示
|
||||
lblWinsClash=比点赢了
|
||||
lblLosesClash=比点输了
|
||||
#CleanUpEffect.java
|
||||
lblChosenCard={0}''s chosen card: {1}
|
||||
lblChosenMultiCard={0}''s chosen cards: {1}
|
||||
lblChosenPlayer={0}''s chosen player: {1}
|
||||
lblNoValidChoice={0} found no valid choices.
|
||||
#CloneEffect.java
|
||||
lblDoYouWantCopy=你想要复制{0}吗?
|
||||
#ControlExchangeEffect.java
|
||||
@@ -2129,6 +2135,8 @@ lblGameplayResults=游戏结果
|
||||
lblResultIs=结果为:{0}
|
||||
lblPlayerRandomChosenNumberIs={0}随机选择的数字为{1}
|
||||
lblPlayerChoosesNumberIs={0}选择的数字为:{1}
|
||||
lblRandomColorChosen=Randomly chosen color: {0}
|
||||
lblRandomTypeChosen=Randomly chosen type: {0}
|
||||
lblPlayerChooseValueOfEffectOfCard={0}选择{2}对{1}生效
|
||||
lblPlayerFlipComesUpValue={0}掷到了{1}
|
||||
lblPlayerActionFlip={0}{1}了骰子
|
||||
|
||||
7
forge-gui/res/tokenscripts/spawn_of_azar.txt
Normal file
7
forge-gui/res/tokenscripts/spawn_of_azar.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Spawn of Azar
|
||||
ManaCost:no cost
|
||||
Types:Creature Spawn
|
||||
Colors:black
|
||||
PT:*/*
|
||||
K:Swampwalk
|
||||
Oracle:Swampwalk
|
||||
@@ -193,7 +193,7 @@ public class HumanPlaySpellAbility {
|
||||
|
||||
// no worries here. The same thread must resolve, and by this moment ability will have been resolved already
|
||||
// Triggers haven't resolved yet ??
|
||||
if (mayChooseTargets) {
|
||||
if (mayChooseTargets && !ability.hasParam("TargetsAtRandom")) {
|
||||
ability.clearTargets();
|
||||
}
|
||||
if (manaTypeConversion || manaColorConversion || keywordColor) {
|
||||
|
||||
@@ -117,9 +117,20 @@ public class TargetSelection {
|
||||
|
||||
final boolean choiceResult;
|
||||
if (tgt.isRandomTarget() && numTargets == null) {
|
||||
final List<GameEntity> candidates = tgt.getAllCandidates(this.ability, true);
|
||||
final GameObject choice = Aggregates.random(candidates);
|
||||
return ability.getTargets().add(choice);
|
||||
List<GameEntity> candidates = tgt.getAllCandidates(this.ability, true);
|
||||
List<GameEntity> choices = new ArrayList<>();
|
||||
// currently, only cards that target randomly use a random number of targets
|
||||
int top = Math.min(candidates.size(), maxTargets); // prevents choosing more targets than possible
|
||||
int bot = minTargets > 0 ? minTargets : 1; // prevents randomly choosing zero targets
|
||||
int num = tgt.isRandomNumTargets() ? Aggregates.randomInt(bot, top) : minTargets;
|
||||
for (int i=0; i<num; i++) {
|
||||
final GameEntity choice = Aggregates.random(candidates);
|
||||
if (choice != null) {
|
||||
choices.add(choice);
|
||||
candidates.remove(choice);
|
||||
}
|
||||
}
|
||||
return ability.getTargets().addAll(choices);
|
||||
}
|
||||
else if (zones.size() == 1 && zones.get(0) == ZoneType.Stack) {
|
||||
// If Zone is Stack, the choices are handled slightly differently.
|
||||
|
||||
Reference in New Issue
Block a user