mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
from trunk
This commit is contained in:
12
.gitattributes
vendored
12
.gitattributes
vendored
@@ -7308,6 +7308,7 @@ res/cardsfolder/o/oakgnarl_warrior.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/oasis.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/oath_of_druids.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/oath_of_ghouls.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/oath_of_lieges.txt -text
|
||||
res/cardsfolder/o/oath_of_lim_dul.txt -text
|
||||
res/cardsfolder/o/oathsworn_giant.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/ob_nixilis_the_fallen.txt svneol=native#text/plain
|
||||
@@ -7374,6 +7375,7 @@ res/cardsfolder/o/omen_of_fire.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/omnath_locus_of_mana.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/omnibian.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/omniscience.txt -text
|
||||
res/cardsfolder/o/onakke_catacomb.txt -text
|
||||
res/cardsfolder/o/ondu_cleric.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/ondu_giant.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/one_dozen_eyes.txt svneol=native#text/plain
|
||||
@@ -7474,6 +7476,7 @@ res/cardsfolder/o/orims_touch.txt -text svneol=unset#text/plain
|
||||
res/cardsfolder/o/oriss_samite_guardian.txt -text
|
||||
res/cardsfolder/o/ornate_kanzashi.txt -text
|
||||
res/cardsfolder/o/ornithopter.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/orochi_colony.txt -text
|
||||
res/cardsfolder/o/orochi_eggwatcher_shidako_broodmistress.txt -text
|
||||
res/cardsfolder/o/orochi_hatchery.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/orochi_leafcaller.txt svneol=native#text/plain
|
||||
@@ -7492,6 +7495,7 @@ res/cardsfolder/o/orzhova_the_church_of_deals.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/osai_vultures.txt -text svneol=unset#text/plain
|
||||
res/cardsfolder/o/ostiary_thrull.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/ostracize.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/otaria.txt -text
|
||||
res/cardsfolder/o/otarian_juggernaut.txt svneol=native#text/plain
|
||||
res/cardsfolder/o/otherworld_atlas.txt -text
|
||||
res/cardsfolder/o/otherworldly_journey.txt svneol=native#text/plain
|
||||
@@ -9425,6 +9429,7 @@ res/cardsfolder/s/shinka_gatekeeper.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/shinka_the_bloodsoaked_keep.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/shirei_shizos_caretaker.txt -text
|
||||
res/cardsfolder/s/shisato_whispering_hunter.txt -text
|
||||
res/cardsfolder/s/shiv.txt -text
|
||||
res/cardsfolder/s/shivan_dragon.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/shivan_emissary.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/shivan_gorge.txt svneol=native#text/plain
|
||||
@@ -9677,6 +9682,7 @@ res/cardsfolder/s/sky_spirit.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/sky_swallower.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/sky_weaver.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/skyblinder_staff.txt -text
|
||||
res/cardsfolder/s/skybreen.txt -text
|
||||
res/cardsfolder/s/skyclaw_thrash.txt -text
|
||||
res/cardsfolder/s/skycloud_egg.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/skycloud_expanse.txt svneol=native#text/plain
|
||||
@@ -9825,6 +9831,7 @@ res/cardsfolder/s/soar.txt -text
|
||||
res/cardsfolder/s/soaring_hope.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/soaring_seacliff.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/soilshaper.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/sokenzan.txt -text
|
||||
res/cardsfolder/s/sokenzan_bruiser.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/sokenzan_renegade.txt -text svneol=unset#text/plain
|
||||
res/cardsfolder/s/sokenzan_spellblade.txt -text
|
||||
@@ -10394,6 +10401,7 @@ res/cardsfolder/s/strongarm_thug.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/stronghold_assassin.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/stronghold_biologist.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/stronghold_discipline.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/stronghold_furnace.txt -text
|
||||
res/cardsfolder/s/stronghold_machinist.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/stronghold_overseer.txt svneol=native#text/plain
|
||||
res/cardsfolder/s/stronghold_rats.txt svneol=native#text/plain
|
||||
@@ -10698,6 +10706,7 @@ res/cardsfolder/t/tavern_swindler.txt -text
|
||||
res/cardsfolder/t/tawnos.txt -text
|
||||
res/cardsfolder/t/tawnoss_wand.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tawnoss_weaponry.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tazeem.txt -text
|
||||
res/cardsfolder/t/teardrop_kami.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tears_of_rage.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tectonic_break.txt svneol=native#text/plain
|
||||
@@ -10741,6 +10750,7 @@ res/cardsfolder/t/telimtors_darts.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/telimtors_edict.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/teller_of_tales.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/telling_time.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tember_city.txt -text
|
||||
res/cardsfolder/t/tempered_steel.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tempest_drake.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/tempest_of_light.txt svneol=native#text/plain
|
||||
@@ -10825,6 +10835,8 @@ res/cardsfolder/t/thawing_glaciers.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/the_abyss.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/the_aether_flues.txt -text
|
||||
res/cardsfolder/t/the_brute.txt svneol=native#text/plain
|
||||
res/cardsfolder/t/the_dark_barony.txt -text
|
||||
res/cardsfolder/t/the_eon_fog.txt -text
|
||||
res/cardsfolder/t/the_fallen.txt -text
|
||||
res/cardsfolder/t/the_fourth_sphere.txt -text
|
||||
res/cardsfolder/t/the_great_forest.txt -text
|
||||
|
||||
@@ -86,6 +86,14 @@ New Planes
|
||||
|
||||
Bant
|
||||
Turri Island
|
||||
Onakke Catacomb
|
||||
Orochi Colony
|
||||
Otaria
|
||||
Shiv
|
||||
Skybreen
|
||||
Sokenzan
|
||||
Stronghold Furnace
|
||||
Tazeem
|
||||
|
||||
|
||||
------------
|
||||
|
||||
@@ -2,7 +2,7 @@ Name:Armistice
|
||||
ManaCost:2 W
|
||||
Types:Enchantment
|
||||
A:AB$ Draw | Cost$ 3 W W | NumCards$ 1 | SpellDescription$ You draw a card and target opponent gains 3 life. | SubAbility$ DBGainLife
|
||||
SVar:DBGainLife:DB$GainLife | Defined$ Opponent | LifeAmount$ 3
|
||||
SVar:DBGainLife:DB$ GainLife | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to gain life | LifeAmount$ 3
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/armistice.jpg
|
||||
Oracle:{3}{W}{W}: You draw a card and target opponent gains 3 life.
|
||||
SetInfo:MMQ Rare
|
||||
@@ -2,7 +2,7 @@ Name:Bargain
|
||||
ManaCost:2 W
|
||||
Types:Sorcery
|
||||
A:SP$ GainLife | Cost$ 2 W | LifeAmount$ 7 | SubAbility$ DBDraw | SpellDescription$ Target opponent draws a card. You gain 7 life.
|
||||
SVar:DBDraw:DB$Draw | Defined$ Opponent | NumCards$ 1
|
||||
SVar:DBDraw:DB$ Draw | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to draw a card | NumCards$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/bargain.jpg
|
||||
Oracle:Target opponent draws a card.\nYou gain 7 life.
|
||||
SetInfo:PO2 Uncommon
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
Name:Batwing Brume
|
||||
ManaCost:1 WB
|
||||
Types:Instant
|
||||
A:SP$ Fog | Cost$ 1 WB | ConditionManaSpent$ W | SubAbility$ DBLoseLifeYou | SpellDescription$ Prevent all combat damage that would be dealt this turn if W was spent to cast CARDNAME. Each player loses 1 life for each attacking creature he or she controls if B was spent to cast CARDNAME. (Do both if WB was spent.)
|
||||
SVar:DBLoseLifeYou:DB$ LoseLife | LifeAmount$ X | Defined$ You | ConditionManaSpent$ B | SubAbility$ DBLoseLifeOpp | References$ X
|
||||
SVar:DBLoseLifeOpp:DB$ LoseLife | LifeAmount$ Y | Defined$ Opponent | ConditionManaSpent$ B | References$ Y
|
||||
SVar:X:Count$Valid Creature.YouCtrl+attacking
|
||||
SVar:Y:Count$Valid Creature.YouDontCtrl+attacking
|
||||
A:SP$ Fog | Cost$ 1 WB | ConditionManaSpent$ W | SubAbility$ BatwingRepeat | SpellDescription$ Prevent all combat damage that would be dealt this turn if W was spent to cast CARDNAME. Each player loses 1 life for each attacking creature he or she controls if B was spent to cast CARDNAME. (Do both if WB was spent.)
|
||||
SVar:BatwingRepeat:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ BatwingLoseLife
|
||||
SVar:BatwingLoseLife:DB$ LoseLife | LifeAmount$ X | Defined$ Remembered | ConditionManaSpent$ B | SubAbility$ DBLoseLifeOpp | References$ X
|
||||
SVar:X:PlayerCountRemembered$Valid Creature.YouCtrl+attacking
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/batwing_brume.jpg
|
||||
Oracle:Prevent all combat damage that would be dealt this turn if {W} was spent to cast Batwing Brume. Each player loses 1 life for each attacking creature he or she controls if {B} was spent to cast Batwing Brume. (Do both if {W}{B} was spent.)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
Name:Bereavement
|
||||
ManaCost:1 B
|
||||
Types:Enchantment
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigYouDiscard | TriggerDescription$ Whenever a green creature is put into a graveyard from the battlefield,
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigOppDiscard | TriggerDescription$ its controller discards a card.
|
||||
SVar:TrigYouDiscard:AB$Discard | Cost$ 0 | Defined$ You | Mode$ TgtChoose | NumCards$ 1
|
||||
SVar:TrigOppDiscard:AB$Discard | Cost$ 0 | Defined$ Opponent | Mode$ TgtChoose | NumCards$ 1
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.Green | TriggerZones$ Battlefield | Execute$ BereavementDiscard | TriggerDescription$ Whenever a green creature is put into a graveyard from the battlefield, its controller discards a card.
|
||||
SVar:BereavementDiscard:AB$ Discard | Cost$ 0 | Defined$ TriggeredCardController | Mode$ TgtChoose | NumCards$ 1
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/bereavement.jpg
|
||||
Oracle:Whenever a green creature dies, its controller discards a card.
|
||||
|
||||
@@ -2,8 +2,8 @@ Name:Blood Oath
|
||||
ManaCost:3 R
|
||||
Types:Instant
|
||||
A:SP$ ChooseType | Cost$ 3 R | Defined$ You | Type$ Card | SubAbility$ DBReveal | SpellDescription$ Choose a card type. Target opponent reveals his or her hand. Blood Oath deals 3 damage to that player for each card of the chosen type revealed this way.
|
||||
SVar:DBReveal:DB$ RevealHand | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent | SubAbility$ DBDamage
|
||||
SVar:DBDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ X | References$ X,Y
|
||||
SVar:DBReveal:DB$ RevealHand | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to reveal their hand | SubAbility$ DBDamage
|
||||
SVar:DBDamage:DB$ DealDamage | Defined$ Targeted | NumDmg$ X | References$ X,Y
|
||||
SVar:X:SVar$Y/Times.3
|
||||
SVar:Y:Remembered$Valid Card.ChosenType
|
||||
SVar:RemAIDeck:True
|
||||
|
||||
@@ -2,8 +2,8 @@ Name:Brink of Madness
|
||||
ManaCost:2 B B
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.YouCtrl | PresentZone$ Hand | PresentCompare$ EQ0 | TriggerZones$ Battlefield | Execute$ TrigSacDiscard | TriggerDescription$ At the beginning of your upkeep, if you have no cards in hand, sacrifice CARDNAME and target opponent discards his or her hand.
|
||||
SVar:TrigSacDiscard:AB$Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBDiscard
|
||||
SVar:DBDiscard:DB$Discard | Defined$ Opponent | Mode$ Hand
|
||||
SVar:TrigSacDiscard:AB$ Sacrifice | Cost$ 0 | Defined$ Self | SubAbility$ DBDiscard
|
||||
SVar:DBDiscard:DB$ Discard | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to discard their hand | Mode$ Hand
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/brink_of_madness.jpg
|
||||
Oracle:At the beginning of your upkeep, if you have no cards in hand, sacrifice Brink of Madness and target opponent discards his or her hand.
|
||||
SetInfo:ULG Rare
|
||||
@@ -1,7 +1,7 @@
|
||||
Name:Knowledge Exploitation
|
||||
ManaCost:5 U U
|
||||
Types:Tribal Instant Rogue
|
||||
A:SP$ ChangeZone | Cost$ 5 U U | Origin$ Library | Destination$ Library | ChangeType$ Instant,Sorcery | ChangeNum$ 1 | RememberChanged$ True | Reveal$ True | Shuffle$ False | DefinedPlayer$ Targeted | Chooser$ You | Mandatory$ True | SubAbility$ DBPlay | SpellDescription$ Search target opponent's library for an instant or sorcery card. You may cast that card without paying its mana cost. Then that player shuffles his or her library.
|
||||
A:SP$ ChangeZone | Cost$ 5 U U | ValidTgts$ Opponent | Origin$ Library | Destination$ Library | ChangeType$ Instant,Sorcery | ChangeNum$ 1 | RememberChanged$ True | Reveal$ True | Shuffle$ False | DefinedPlayer$ Targeted | Chooser$ You | Mandatory$ True | SubAbility$ DBPlay | SpellDescription$ Search target opponent's library for an instant or sorcery card. You may cast that card without paying its mana cost. Then that player shuffles his or her library.
|
||||
A:SP$ ChangeZone | Cost$ 3 U | Activation$ Prowl | ValidTgts$ Opponent | Origin$ Library | Destination$ Library | ChangeType$ Instant,Sorcery | ChangeNum$ 1 | RememberChanged$ True | Reveal$ True | Shuffle$ False | PrecostDesc$ Prowl 3 U | DefinedPlayer$ Targeted | Chooser$ You | Mandatory$ True | SubAbility$ DBPlay | SpellDescription$ (You may cast this for its prowl cost if you dealt combat damage to a player this turn with a Rogue.)
|
||||
SVar:DBPlay:DB$ Play | Defined$ Remembered | Controller$ You | WithoutManaCost$ True | Optional$ True | SubAbility$ DBShuffle
|
||||
SVar:DBShuffle:DB$ Shuffle | Defined$ RememberedController | SubAbility$ DBCleanup
|
||||
|
||||
@@ -5,6 +5,7 @@ HandLifeModifier:+1/-2
|
||||
A:AB$ ChooseType | ActivationZone$ Command | Cost$ X | Defined$ You | Type$ Creature | AILogic$ MostProminentComputerControls | SubAbility$ DBAnimate | SpellDescription$ Choose a creature type. Until end of turn, creatures you control of the chosen type become X/X and gain all creature types.
|
||||
SVar:DBAnimate:DB$ AnimateAll | Power$ X | Toughness$ X | References$ X | Types$ AllCreatureTypes | ValidCards$ Creature.YouCtrl+ChosenType
|
||||
SVar:X:Count$xPaid
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.cardforge.org/fpics/vgd-lq/mirror_entity_avatar.jpg
|
||||
Oracle:Hand +1, life -2\n{X}: Choose a creature type. Until end of turn, creatures you control of the chosen type become X/X and gain all creature types.
|
||||
SetInfo:VAN Special
|
||||
8
res/cardsfolder/o/oath_of_lieges.txt
Normal file
8
res/cardsfolder/o/oath_of_lieges.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Oath of Lieges
|
||||
ManaCost:1 W
|
||||
Types:Enchantment
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ LiegesSearch | TriggerZones$ Battlefield | TriggerController$ TriggeredPlayer | TriggerDescription$ At the beginning of each player's upkeep, that player chooses target player who controls more lands than he or she does and is his or her opponent. The first player may search his or her library for a basic land card, put that card onto the battlefield, then shuffle his or her library.
|
||||
SVar:LiegesSearch:DB$ ChangeZone | ValidTgts$ Opponent.withMoreLandsThanYou | TgtPrompt$ Choose target opponent who controls more land than you | DefinedPlayer$ TriggeredPlayer | Chooser$ TriggeredPlayer | Origin$ Library | Destination$ Battlefield | ChangeType$ Land.Basic | ChangeNum$ 1 | Optional$ True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/oath_of_lieges.jpg
|
||||
Oracle:At the beginning of each player's upkeep, that player chooses target player who controls more lands than he or she does and is his or her opponent. The first player may search his or her library for a basic land card, put that card onto the battlefield, then shuffle his or her library.
|
||||
SetInfo:EXO Rare
|
||||
9
res/cardsfolder/o/onakke_catacomb.txt
Normal file
9
res/cardsfolder/o/onakke_catacomb.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:Onakke Catacomb
|
||||
ManaCost:no cost
|
||||
Types:Plane Shandalar
|
||||
S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature | SetColor$ Black | AddKeyword$ Deathtouch | Description$ All creatures are black and have deathtouch.
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, creatures you control get +1/+0 and gain first strike until end of turn.
|
||||
SVar:RolledChaos:AB$ PumpAll | Cost$ 0 | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | KW$ First Strike
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/onakke_catacomb.jpg
|
||||
Oracle:All creatures are black and have deathtouch.\nWhenever you roll {C}, creatures you control get +1/+0 and gain first strike until end of turn.
|
||||
SetInfo:PC2 Common
|
||||
10
res/cardsfolder/o/orochi_colony.txt
Normal file
10
res/cardsfolder/o/orochi_colony.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Orochi Colony
|
||||
ManaCost:no cost
|
||||
Types:Plane Kamigawa
|
||||
T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigRamp | TriggerZones$ Command | TriggerDescription$ Whenever a creature you control deals combat damage to a player, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.
|
||||
SVar:TrigRamp:AB$ ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.Basic | ChangeNum$ 1
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, target creature is unblockable this turn.
|
||||
SVar:RolledChaos:AB$ Pump | Cost$ 0 | ValidTgts$ Creature | KW$ HIDDEN Unblockable
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/orochi_colony.jpg
|
||||
Oracle:Whenever a creature you control deals combat damage to a player, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.\nWhenever you roll {C}, target creature is unblockable this turn.
|
||||
SetInfo:PC2 Common
|
||||
9
res/cardsfolder/o/otaria.txt
Normal file
9
res/cardsfolder/o/otaria.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:Otaria
|
||||
ManaCost:no cost
|
||||
Types:Plane Dominaria
|
||||
S:Mode$ Continuous | Affected$ Instant,Sorcery | EffectZone$ Command | AffectedZone$ Graveyard | AddKeyword$ Flashback | Description$ Instant and sorcery cards in graveyards have flashback. The flashback cost is equal to the card's mana cost. (Its owner may cast the card from his or her graveyard for its mana cost. Then he or she exiles it.)
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, take an extra turn after this one.
|
||||
SVar:RolledChaos:AB$ AddTurn | Cost$ 0 | NumTurns$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/otaria.jpg
|
||||
Oracle:Instant and sorcery cards in graveyards have flashback. The flashback cost is equal to the card's mana cost. (Its owner may cast the card from his or her graveyard for its mana cost. Then he or she exiles it.)\nWhenever you roll {C}, take an extra turn after this one.
|
||||
SetInfo:HOP Common
|
||||
@@ -3,7 +3,7 @@ ManaCost:2 U U
|
||||
Types:Creature Bird Soldier Horror
|
||||
PT:3/3
|
||||
K:Flying
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ CARDNAME is black. | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target blue creature."
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | SetColor$ Black | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target blue creature."
|
||||
SVar:Destroy:AB$ Destroy | Cost$ 2 B T | ValidTgts$ Creature.Blue | TgtPrompt$ Select target blue creature | SpellDescription$ Destroy target blue creature.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/possessed_aven.jpg
|
||||
Oracle:Flying\nThreshold - As long as seven or more cards are in your graveyard, Possessed Aven gets +1/+1, is black, and has "{2}{B}, {T}: Destroy target blue creature."
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:2 R R
|
||||
Types:Creature Human Barbarian Horror
|
||||
PT:3/3
|
||||
K:First Strike
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ CARDNAME is black. | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target red creature."
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | SetColor$ Black | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target red creature."
|
||||
SVar:Destroy:AB$ Destroy | Cost$ 2 B T | ValidTgts$ Creature.Red | TgtPrompt$ Select target red creature | SpellDescription$ Destroy target red creature.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/possessed_barbarian.jpg
|
||||
Oracle:First strike\nThreshold - As long as seven or more cards are in your graveyard, Possessed Barbarian gets +1/+1, is black, and has "{2}{B}, {T}: Destroy target red creature."
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:2 G G
|
||||
Types:Creature Centaur Horror
|
||||
PT:3/3
|
||||
K:Trample
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ CARDNAME is black. | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target green creature."
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | SetColor$ Black | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target green creature."
|
||||
SVar:Destroy:AB$ Destroy | Cost$ 2 B T | ValidTgts$ Creature.Green | TgtPrompt$ Select target green creature | SpellDescription$ Destroy target green creature.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/possessed_centaur.jpg
|
||||
Oracle:Trample\nThreshold - As long as seven or more cards are in your graveyard, Possessed Centaur gets +1/+1, is black, and has "{2}{B}, {T}: Destroy target green creature."
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:2 W W
|
||||
Types:Creature Human Nomad Horror
|
||||
PT:3/3
|
||||
K:Vigilance
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ CARDNAME is black. | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target white creature."
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 1 | AddToughness$ 1 | SetColor$ Black | AddAbility$ Destroy | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +1/+1, is black, and has "2 B, tap: Destroy target white creature."
|
||||
SVar:Destroy:AB$ Destroy | Cost$ 2 B T | ValidTgts$ Creature.White | TgtPrompt$ Select target white creature | SpellDescription$ Destroy target white creature.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/possessed_nomad.jpg
|
||||
Oracle:Vigilance\nThreshold - As long as seven or more cards are in your graveyard, Possessed Nomad gets +1/+1, is black, and has "{2}{B}, {T}: Destroy target white creature."
|
||||
|
||||
10
res/cardsfolder/s/shiv.txt
Normal file
10
res/cardsfolder/s/shiv.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Shiv
|
||||
ManaCost:no cost
|
||||
Types:Plane Dominaria
|
||||
S:Mode$ Continuous | Affected$ Creature | EffectZone$ Command | AddAbility$ Pump | Description$ All creatures have "R: This creature gets +1/+0 until end of turn."
|
||||
SVar:Pump:AB$ Pump | Cost$ R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn.
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, put a 5/5 red Dragon creature token with flying onto the battlefield.
|
||||
SVar:RolledChaos:AB$ Token | Cost$ 0 | TokenOwner$ You | TokenAmount$ 1 | TokenName$ Dragon | TokenTypes$ Creature,Dragon | TokenColors$ Red | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/shiv.jpg
|
||||
Oracle:All creatures have "{R}: This creature gets +1/+0 until end of turn."\nWhenever you roll {C}, put a 5/5 red Dragon creature token with flying onto the battlefield.
|
||||
SetInfo:HOP Common
|
||||
@@ -3,7 +3,7 @@ ManaCost:4 U U U
|
||||
Types:Creature Serpent
|
||||
PT:4/4
|
||||
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, defending player may pay 4. If he or she doesn't, CARDNAME is unblockable this turn.
|
||||
SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | KW$ HIDDEN Unblockable | UnlessCost$ 4 | UnlessPayer$ DefendingPlayer | SpellDescription$ Target creature is unblockable this turn.
|
||||
SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | KW$ HIDDEN Unblockable | UnlessCost$ 4 | UnlessPayer$ DefendingPlayer
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/shrouded_serpent.jpg
|
||||
Oracle:Whenever Shrouded Serpent attacks, defending player may pay {4}. If he or she doesn't, Shrouded Serpent is unblockable this turn.
|
||||
|
||||
11
res/cardsfolder/s/skybreen.txt
Normal file
11
res/cardsfolder/s/skybreen.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Skybreen
|
||||
ManaCost:no cost
|
||||
Types:Plane Kaldheim
|
||||
K:Players play with the top card of their libraries revealed.
|
||||
S:Mode$ CantBeCast | EffectZone$ Command | ValidCard$ Card.sharesCardTypeWith EachTopLibrary | Description$ Spells that share a card type with the top card of a library can't be cast.
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, target player loses life equal to the number of cards in his or her hand.
|
||||
SVar:RolledChaos:AB$ LoseLife | Cost$ 0 | ValidTgts$ Player | LifeAmount$ Y | References$ Y
|
||||
SVar:Y:TargetedPlayer$CardsInHand
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/skybreen.jpg
|
||||
Oracle:Players play with the top card of their libraries revealed.\nSpells that share a card type with the top card of a library can't be cast.\nWhenever you roll {C}, target player loses life equal to the number of cards in his or her hand.
|
||||
SetInfo:HOP Common
|
||||
10
res/cardsfolder/s/sokenzan.txt
Normal file
10
res/cardsfolder/s/sokenzan.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Sokenzan
|
||||
ManaCost:no cost
|
||||
Types:Plane Kamigawa
|
||||
S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Haste | Description$ All creatures get +1/+1 and have haste.
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase.
|
||||
SVar:RolledChaos:AB$ UntapAll | Cost$ 0 | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat
|
||||
SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/sokenzan.jpg
|
||||
Oracle:All creatures get +1/+1 and have haste.\nWhenever you roll {C}, untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase.
|
||||
SetInfo:HOP Common
|
||||
13
res/cardsfolder/s/stronghold_furnace.txt
Normal file
13
res/cardsfolder/s/stronghold_furnace.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Name:Stronghold Furnace
|
||||
ManaCost:no cost
|
||||
Types:Plane Rath
|
||||
R:Event$ DamageDone | ActiveZones$ Command | ValidSource$ Card | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwice | IsCombat$ False | Description$ If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead.
|
||||
R:Event$ DamageDone | ActiveZones$ Command | ValidSource$ Card | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwiceCombat | IsCombat$ True | Secondary$ True | Description$ If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead.
|
||||
SVar:DmgTwice:AB$ DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ Y | References$ Y
|
||||
SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ Y | References$ Y
|
||||
SVar:Y:ReplaceCount$DamageAmount/Twice
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, CARDNAME deals 1 damage to target creature or player.
|
||||
SVar:RolledChaos:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/stronghold_furnace.jpg
|
||||
Oracle:If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead.\nWhenever you roll {C}, Stronghold Furnace deals 1 damage to target creature or player.
|
||||
SetInfo:HOP Common
|
||||
@@ -1,8 +1,8 @@
|
||||
Name:Syphon Flesh
|
||||
ManaCost:4 B
|
||||
Types:Sorcery
|
||||
A:SP$ Sacrifice | Cost$ 4 B | Defined$ Opponent | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ Each other player sacrifices a creature. You put a 2/2 black Zombie creature token onto the battlefield for each creature sacrificed this way.
|
||||
SVar:DBToken:DB$Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X | SubAbility$ DBCleanup
|
||||
A:SP$ Sacrifice | Cost$ 4 B | Defined$ Player.Other | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ Each other player sacrifices a creature. You put a 2/2 black Zombie creature token onto the battlefield for each creature sacrificed this way.
|
||||
SVar:DBToken:DB$ Token | TokenImage$ B 2 2 Zombie | TokenName$ Zombie | TokenColors$ Black | TokenTypes$ Creature,Zombie | TokenPower$ 2 | TokenToughness$ 2 | TokenOwner$ You | TokenAmount$ X | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:Remembered$Amount
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/syphon_flesh.jpg
|
||||
|
||||
10
res/cardsfolder/t/tazeem.txt
Normal file
10
res/cardsfolder/t/tazeem.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Tazeem
|
||||
ManaCost:no cost
|
||||
Types:Plane Zendikar
|
||||
S:Mode$ Continuous | Affected$ Creature | EffectZone$ Command | AddHiddenKeyword$ CARDNAME can't block. | Description$ Creatures can't block.
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, draw a card for each land you control.
|
||||
SVar:RolledChaos:AB$ Draw | Cost$ 0 | NumCards$ Y | Defined$ You
|
||||
SVar:Y:Count$Valid Land.YouCtrl
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/tazeem.jpg
|
||||
Oracle:Creatures can't block.\nWhenever you roll {C}, draw a card for each land you control.
|
||||
SetInfo:HOP Special
|
||||
10
res/cardsfolder/t/tember_city.txt
Normal file
10
res/cardsfolder/t/tember_city.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Tember City
|
||||
ManaCost:no cost
|
||||
Types:Plane Kinshala
|
||||
T:Mode$ TapsForMana | ValidCard$ Land | Execute$ TrigDmg | TriggerZones$ Command | TriggerDescription$ Whenever a player taps a land for mana, CARDNAME deals 1 damage to that player.
|
||||
SVar:TrigDmg:AB$ DealDamage | Cost$ 0 | Defined$ TriggeredCardController | NumDmg$ 1
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, each other player sacrifices a nonland permanent.
|
||||
SVar:RolledChaos:AB$ Sacrifice | Cost$ 0 | Defined$ Player.Other | SacValid$ Permanent.nonLand
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/tember_city.jpg
|
||||
Oracle:Whenever a player taps a land for mana, Tember City deals 1 damage to that player.\nWhenever you roll {C}, each other player sacrifices a nonland permanent.
|
||||
SetInfo:HOP Common
|
||||
10
res/cardsfolder/t/the_dark_barony.txt
Normal file
10
res/cardsfolder/t/the_dark_barony.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:The Dark Barony
|
||||
ManaCost:no cost
|
||||
Types:Plane Ulgrotha
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Card.nonBlack | TriggerZones$ Command | Execute$ TrigLoseLife | TriggerDescription$ Whenever a nonblack card is put into a player's graveyard from anywhere, that player loses 1 life.
|
||||
SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredCardOwner | LifeAmount$ 1
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, each opponent discards a card.
|
||||
SVar:RolledChaos:AB$ Discard | Cost$ 0 | Mode$ TgtChoose | Defined$ Player.Opponent | NumCards$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/the_dark_barony.jpg
|
||||
Oracle:Whenever a nonblack card is put into a player's graveyard from anywhere, that player loses 1 life.\nWhenever you roll {C}, each opponent discards a card.
|
||||
SetInfo:HOP Common
|
||||
9
res/cardsfolder/t/the_eon_fog.txt
Normal file
9
res/cardsfolder/t/the_eon_fog.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Name:The Eon Fog
|
||||
ManaCost:no cost
|
||||
Types:Plane Equilor
|
||||
S:Mode$ Continuous | EffectZone$ Command | Affected$ Player | AddKeyword$ Skip your untap step. | Description$ Players skip their untap steps.
|
||||
T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, untap all permanents you control.
|
||||
SVar:RolledChaos:AB$ UntapAll | Cost$ 0 | ValidCards$ Permanent.YouCtrl
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/the_eon_fog.jpg
|
||||
Oracle:Players skip their untap steps.\nWhenever you roll {C}, untap all permanents you control.
|
||||
SetInfo:HOP Common
|
||||
@@ -2,7 +2,7 @@ Name:Underworld Dreams
|
||||
ManaCost:B B B
|
||||
Types:Enchantment
|
||||
T:Mode$ Drawn | ValidCard$ Card.OppOwn | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever an opponent draws a card, CARDNAME deals 1 damage to him or her.
|
||||
SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ Opponent | NumDmg$ 1
|
||||
SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredPlayer | NumDmg$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/underworld_dreams.jpg
|
||||
Oracle:Whenever an opponent draws a card, Underworld Dreams deals 1 damage to him or her.
|
||||
SetInfo:8ED Rare
|
||||
|
||||
@@ -2,8 +2,8 @@ Name:Yawgmoth's Edict
|
||||
ManaCost:1 B
|
||||
Types:Enchantment
|
||||
T:Mode$ SpellCast | ValidCard$ Card.White | ValidActivatingPlayer$ Opponent | TriggerZones$ Battlefield | Execute$ TrigDrain | TriggerDescription$ Whenever an opponent casts a white spell, that player loses 1 life and you gain 1 life.
|
||||
SVar:TrigDrain:AB$LoseLife | Cost$ 0 | Defined$ Opponent | LifeAmount$ 1 | SubAbility$ DBGainLife
|
||||
SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ 1
|
||||
SVar:TrigDrain:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredActivator | LifeAmount$ 1 | SubAbility$ DBGainLife
|
||||
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/yawgmoths_edict.jpg
|
||||
Oracle:Whenever an opponent casts a white spell, that player loses 1 life and you gain 1 life.
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:5 U
|
||||
Types:Creature Djinn
|
||||
PT:5/6
|
||||
K:Flying
|
||||
S:Mode$ Continuous | Affected$ Card.Self+MostProminentColor blue | AddPower$ -2 | AddToughness$ -2 | Description$ CCARDNAME gets -2/-2 as long as blue is the most common color among all permanents or is tied for most common.
|
||||
S:Mode$ Continuous | Affected$ Card.Self+MostProminentColor blue | AddPower$ -2 | AddToughness$ -2 | Description$ CARDNAME gets -2/-2 as long as blue is the most common color among all permanents or is tied for most common.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/zanam_djinn.jpg
|
||||
Oracle:Flying\nZanam Djinn gets -2/-2 as long as blue is the most common color among all permanents or is tied for most common.
|
||||
SetInfo:INV Uncommon
|
||||
@@ -13,7 +13,7 @@ Name=quest4003
|
||||
Title=Isperia
|
||||
Difficulty=hard
|
||||
Description=The dove from above
|
||||
Icon=Iseria.jpg
|
||||
Icon=Isperia.jpg
|
||||
Deck Type=constructed
|
||||
[main]
|
||||
1 Angel of Serenity|RTR
|
||||
|
||||
@@ -6646,6 +6646,18 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} else if (restriction.equals("EachTopLibrary")) {
|
||||
final List<Card> list = new ArrayList<Card>();
|
||||
for (Player p : Singletons.getModel().getGame().getPlayers()) {
|
||||
final Card top = p.getCardsIn(ZoneType.Library).get(0);
|
||||
list.add(top);
|
||||
}
|
||||
for (Card c : list) {
|
||||
if (this.sharesCardTypeWith(c)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (property.startsWith("sharesNameWith")) {
|
||||
|
||||
@@ -1071,7 +1071,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
|
||||
|
||||
if (tgt != null) {
|
||||
if (!tgt.getTargetPlayers().isEmpty()) {
|
||||
player = tgt.getTargetPlayers().get(0);
|
||||
player = player != null ? player : tgt.getTargetPlayers().get(0);
|
||||
if (!player.canBeTargetedBy(sa)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import forge.card.spellability.SpellAbilityStackInstance;
|
||||
import forge.card.spellability.Target;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.Zone;
|
||||
import forge.game.zone.ZoneType;
|
||||
@@ -523,7 +524,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
if (decider == null) {
|
||||
decider = player;
|
||||
}
|
||||
if (decider.isComputer()) {
|
||||
if (decider instanceof AIPlayer) {
|
||||
ChangeZoneAi.hiddenOriginResolveAI(decider, sa, player);
|
||||
} else {
|
||||
changeHiddenOriginResolveHuman(sa, player);
|
||||
@@ -547,11 +548,12 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
final Card card = sa.getSourceCard();
|
||||
final List<Card> movedCards = new ArrayList<Card>();
|
||||
final boolean defined = sa.hasParam("Defined");
|
||||
final boolean optional = sa.hasParam("Optional");
|
||||
|
||||
final Target tgt = sa.getTarget();
|
||||
if (tgt != null) {
|
||||
final ArrayList<Player> players = tgt.getTargetPlayers();
|
||||
player = players.get(0);
|
||||
player = player != null ? player : players.get(0);
|
||||
if (players.contains(player) && !player.canBeTargetedBy(sa)) {
|
||||
return;
|
||||
}
|
||||
@@ -595,6 +597,10 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
||||
int changeNum = sa.hasParam("ChangeNum") ? AbilityUtils.calculateAmount(card, sa.getParam("ChangeNum"),
|
||||
sa) : 1;
|
||||
|
||||
if (optional && !GuiDialog.confirm(card, "Search " + origin + "?")) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Card> fetchList;
|
||||
if (defined) {
|
||||
fetchList = new ArrayList<Card>(AbilityUtils.getDefinedCards(card, sa.getParam("Defined"), sa));
|
||||
|
||||
@@ -83,5 +83,6 @@ public class TriggerDrawn extends Trigger {
|
||||
@Override
|
||||
public final void setTriggeringObjects(final SpellAbility sa) {
|
||||
sa.setTriggeringObject("Card", this.getRunParams().get("Card"));
|
||||
sa.setTriggeringObject("Player", this.getRunParams().get("Player"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -486,7 +486,7 @@ public class GameState {
|
||||
|
||||
public String getOrdinalPosition(Player player, Player startingPlayer) {
|
||||
int startPosition = roIngamePlayers.indexOf(startingPlayer);
|
||||
int position = roIngamePlayers.indexOf(player) + startPosition + 1;
|
||||
int position = (roIngamePlayers.indexOf(player) + startPosition) % roIngamePlayers.size() + 1;
|
||||
String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
|
||||
switch (position % 100) {
|
||||
case 11:
|
||||
|
||||
@@ -1393,6 +1393,7 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
||||
final HashMap<String, Object> runParams = new HashMap<String, Object>();
|
||||
runParams.put("Card", c);
|
||||
runParams.put("Number", this.numDrawnThisTurn);
|
||||
runParams.put("Player", this);
|
||||
game.getTriggerHandler().runTrigger(TriggerType.Drawn, runParams, false);
|
||||
}
|
||||
// lose:
|
||||
@@ -2490,7 +2491,7 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
||||
} else if (property.startsWith("withMore")) {
|
||||
final String cardType = property.split("sThan")[0].substring(8);
|
||||
final List<Card> oppList = CardLists.filter(this.getCardsIn(ZoneType.Battlefield), CardPredicates.isType(cardType));
|
||||
final List<Card> yourList = CardLists.filter(source.getController().getCardsIn(ZoneType.Battlefield), CardPredicates.isType(cardType));
|
||||
final List<Card> yourList = CardLists.filter(sourceController.getCardsIn(ZoneType.Battlefield), CardPredicates.isType(cardType));
|
||||
if (oppList.size() <= yourList.size()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -404,7 +404,7 @@ public class CardDetailPanel extends FPanel {
|
||||
if ((card.hasKeyword("Play with the top card of your library revealed.") || card
|
||||
.hasKeyword("Players play with the top card of their libraries revealed."))
|
||||
&& (card.getController() != null)
|
||||
&& (card.isInZone(ZoneType.Battlefield) || (card.isType("Vanguard") && card.isInZone(ZoneType.Command)))
|
||||
&& (card.isInZone(ZoneType.Battlefield) || ((card.isType("Vanguard") || card.isType("Plane")) && card.isInZone(ZoneType.Command)))
|
||||
&& !card.getController().getZone(ZoneType.Library).isEmpty()) {
|
||||
area.append("\r\nTop card of your library: ");
|
||||
area.append(card.getController().getCardsIn(ZoneType.Library, 1));
|
||||
|
||||
Reference in New Issue
Block a user