- Fixed DamageDeal StackDescription string builder (to script Crush Underfoot)

- Initial commit of "TargetsWithSameController" (check the parent targets, might be used in Bioshift and Simic Guildmage in future)
- Added two Avatars: Sisters of Stone Death Avatar and Viridian Zealot Avatar
- Added some cards
This commit is contained in:
swordshine
2013-02-12 07:46:56 +00:00
parent 0e86afbf8c
commit c21689690f
54 changed files with 755 additions and 8 deletions

39
.gitattributes vendored
View File

@@ -640,6 +640,7 @@ res/cardsfolder/a/aven_liberator.txt -text
res/cardsfolder/a/aven_mimeomancer.txt -text svneol=unset#text/plain
res/cardsfolder/a/aven_redeemer.txt svneol=native#text/plain
res/cardsfolder/a/aven_riftwatcher.txt svneol=native#text/plain
res/cardsfolder/a/aven_shrine.txt -text
res/cardsfolder/a/aven_smokeweaver.txt svneol=native#text/plain
res/cardsfolder/a/aven_squire.txt svneol=native#text/plain
res/cardsfolder/a/aven_trailblazer.txt svneol=native#text/plain
@@ -1085,6 +1086,7 @@ res/cardsfolder/b/bloodstone_cameo.txt svneol=native#text/plain
res/cardsfolder/b/bloodthirsty_ogre.txt svneol=native#text/plain
res/cardsfolder/b/bloodthorn_taunter.txt svneol=native#text/plain
res/cardsfolder/b/bloodthrone_vampire.txt svneol=native#text/plain
res/cardsfolder/b/bloom_tender.txt -text
res/cardsfolder/b/blossoming_wreath.txt svneol=native#text/plain
res/cardsfolder/b/blowfly_infestation.txt -text
res/cardsfolder/b/blue_elemental_blast.txt svneol=native#text/plain
@@ -1140,6 +1142,7 @@ res/cardsfolder/b/bola_warrior.txt svneol=native#text/plain
res/cardsfolder/b/bold_defense.txt -text
res/cardsfolder/b/boldwyr_heavyweights.txt svneol=native#text/plain
res/cardsfolder/b/boldwyr_intimidator.txt -text
res/cardsfolder/b/bomb_squad.txt -text
res/cardsfolder/b/bomber_corps.txt -text
res/cardsfolder/b/bond_beetle.txt -text
res/cardsfolder/b/bond_of_agony.txt -text
@@ -1377,6 +1380,7 @@ res/cardsfolder/c/cabal_interrogator.txt -text
res/cardsfolder/c/cabal_patriarch.txt svneol=native#text/plain
res/cardsfolder/c/cabal_pit.txt svneol=native#text/plain
res/cardsfolder/c/cabal_ritual.txt svneol=native#text/plain
res/cardsfolder/c/cabal_shrine.txt -text
res/cardsfolder/c/cabal_slaver.txt svneol=native#text/plain
res/cardsfolder/c/cabal_surgeon.txt svneol=native#text/plain
res/cardsfolder/c/cabal_therapy.txt -text
@@ -1631,6 +1635,7 @@ res/cardsfolder/c/changeling_titan.txt svneol=native#text/plain
res/cardsfolder/c/channel.txt svneol=native#text/plain
res/cardsfolder/c/channel_the_suns.txt svneol=native#text/plain
res/cardsfolder/c/chant_of_the_skifsang.txt -text
res/cardsfolder/c/chant_of_vitu_ghazi.txt -text
res/cardsfolder/c/chaos_charm.txt svneol=native#text/plain
res/cardsfolder/c/chaos_harlequin.txt -text
res/cardsfolder/c/chaos_imps.txt -text
@@ -2012,6 +2017,7 @@ res/cardsfolder/c/court_homunculus.txt svneol=native#text/plain
res/cardsfolder/c/court_hussar.txt -text
res/cardsfolder/c/court_street_denizen.txt -text
res/cardsfolder/c/courtly_provocateur.txt -text
res/cardsfolder/c/covenant_of_minds.txt -text
res/cardsfolder/c/cover_of_darkness.txt svneol=native#text/plain
res/cardsfolder/c/covert_operative.txt svneol=native#text/plain
res/cardsfolder/c/covetous_dragon.txt svneol=native#text/plain
@@ -2036,6 +2042,7 @@ res/cardsfolder/c/cranial_plating.txt -text
res/cardsfolder/c/crash.txt svneol=native#text/plain
res/cardsfolder/c/crash_landing.txt svneol=native#text/plain
res/cardsfolder/c/crash_of_rhinos.txt svneol=native#text/plain
res/cardsfolder/c/crashing_boars.txt -text
res/cardsfolder/c/crashing_centaur.txt svneol=native#text/plain
res/cardsfolder/c/crater_hellion.txt svneol=native#text/plain
res/cardsfolder/c/craterhoof_behemoth.txt -text
@@ -2127,6 +2134,7 @@ res/cardsfolder/c/crusader_of_odric.txt -text
res/cardsfolder/c/crusading_knight.txt svneol=native#text/plain
res/cardsfolder/c/crush.txt svneol=native#text/plain
res/cardsfolder/c/crush_of_wurms.txt svneol=native#text/plain
res/cardsfolder/c/crush_underfoot.txt -text
res/cardsfolder/c/crusher_zendikon.txt svneol=native#text/plain
res/cardsfolder/c/crushing_pain.txt svneol=native#text/plain
res/cardsfolder/c/crushing_vines.txt -text
@@ -2510,6 +2518,7 @@ res/cardsfolder/d/descent_into_madness.txt -text
res/cardsfolder/d/desecrated_earth.txt svneol=native#text/plain
res/cardsfolder/d/desecration_demon.txt -text
res/cardsfolder/d/desecration_elemental.txt svneol=native#text/plain
res/cardsfolder/d/desecrator_hag.txt -text
res/cardsfolder/d/desert.txt svneol=native#text/plain
res/cardsfolder/d/desert_drake.txt svneol=native#text/plain
res/cardsfolder/d/desert_nomads.txt svneol=native#text/plain
@@ -2923,6 +2932,7 @@ res/cardsfolder/d/dwarven_pony.txt svneol=native#text/plain
res/cardsfolder/d/dwarven_recruiter.txt -text
res/cardsfolder/d/dwarven_ruins.txt svneol=native#text/plain
res/cardsfolder/d/dwarven_scorcher.txt -text
res/cardsfolder/d/dwarven_shrine.txt -text
res/cardsfolder/d/dwarven_soldier.txt svneol=native#text/plain
res/cardsfolder/d/dwarven_song.txt svneol=native#text/plain
res/cardsfolder/d/dwarven_strike_force.txt svneol=native#text/plain
@@ -3331,6 +3341,7 @@ res/cardsfolder/e/extraplanar_lens.txt -text svneol=unset#text/plain
res/cardsfolder/e/extravagant_spirit.txt -text
res/cardsfolder/e/extruder.txt svneol=native#text/plain
res/cardsfolder/e/exuberant_firestoker.txt svneol=native#text/plain
res/cardsfolder/e/eye_for_an_eye.txt -text
res/cardsfolder/e/eye_of_nowhere.txt svneol=native#text/plain
res/cardsfolder/e/eye_of_ramos.txt svneol=native#text/plain
res/cardsfolder/e/eye_of_the_storm.txt -text
@@ -4817,6 +4828,7 @@ res/cardsfolder/h/hillcomber_giant.txt svneol=native#text/plain
res/cardsfolder/h/hindering_light.txt svneol=native#text/plain
res/cardsfolder/h/hindering_touch.txt svneol=native#text/plain
res/cardsfolder/h/hindervines.txt -text
res/cardsfolder/h/hint_of_insanity.txt -text
res/cardsfolder/h/hinterland_harbor.txt -text
res/cardsfolder/h/hinterland_hermit_hinterland_scourge.txt -text
res/cardsfolder/h/hired_giant.txt svneol=native#text/plain
@@ -4838,6 +4850,7 @@ res/cardsfolder/h/hobgoblin_dragoon.txt svneol=native#text/plain
res/cardsfolder/h/hokori_dust_drinker.txt svneol=native#text/plain
res/cardsfolder/h/hold_the_gates.txt -text
res/cardsfolder/h/hold_the_line.txt svneol=native#text/plain
res/cardsfolder/h/holistic_wisdom.txt -text
res/cardsfolder/h/hollow_dogs.txt svneol=native#text/plain
res/cardsfolder/h/hollow_specter.txt -text
res/cardsfolder/h/hollow_trees.txt svneol=native#text/plain
@@ -5118,6 +5131,7 @@ res/cardsfolder/i/infantry_veteran.txt svneol=native#text/plain
res/cardsfolder/i/infected_vermin.txt svneol=native#text/plain
res/cardsfolder/i/infectious_horror.txt svneol=native#text/plain
res/cardsfolder/i/infectious_host.txt svneol=native#text/plain
res/cardsfolder/i/infectious_rage.txt -text
res/cardsfolder/i/infernal_caretaker.txt svneol=native#text/plain
res/cardsfolder/i/infernal_contract.txt svneol=native#text/plain
res/cardsfolder/i/infernal_genesis.txt svneol=native#text/plain
@@ -5641,6 +5655,7 @@ res/cardsfolder/k/knollspine_dragon.txt -text
res/cardsfolder/k/knotvine_mystic.txt svneol=native#text/plain
res/cardsfolder/k/knotvine_paladin.txt svneol=native#text/plain
res/cardsfolder/k/know_naught_but_fire.txt -text
res/cardsfolder/k/knowledge_exploitation.txt -text
res/cardsfolder/k/knowledge_pool.txt -text svneol=unset#text/plain
res/cardsfolder/k/knowledge_vault.txt -text svneol=unset#text/plain
res/cardsfolder/k/knucklebone_witch.txt svneol=native#text/plain
@@ -5929,6 +5944,7 @@ res/cardsfolder/l/lightning_bolt.txt svneol=native#text/plain
res/cardsfolder/l/lightning_cloud.txt svneol=native#text/plain
res/cardsfolder/l/lightning_coils.txt svneol=native#text/plain
res/cardsfolder/l/lightning_crafter.txt svneol=native#text/plain
res/cardsfolder/l/lightning_dart.txt -text
res/cardsfolder/l/lightning_dragon.txt svneol=native#text/plain
res/cardsfolder/l/lightning_elemental.txt svneol=native#text/plain
res/cardsfolder/l/lightning_greaves.txt svneol=native#text/plain
@@ -6380,6 +6396,7 @@ res/cardsfolder/m/melting.txt -text
res/cardsfolder/m/memnarch.txt svneol=native#text/plain
res/cardsfolder/m/memnite.txt svneol=native#text/plain
res/cardsfolder/m/memoricide.txt -text
res/cardsfolder/m/memory_crystal.txt -text
res/cardsfolder/m/memory_erosion.txt svneol=native#text/plain
res/cardsfolder/m/memory_jar.txt -text
res/cardsfolder/m/memory_lapse.txt svneol=native#text/plain
@@ -6597,6 +6614,7 @@ res/cardsfolder/m/misshapen_fiend.txt svneol=native#text/plain
res/cardsfolder/m/misstep.txt -text
res/cardsfolder/m/mist_dragon.txt -text
res/cardsfolder/m/mist_leopard.txt svneol=native#text/plain
res/cardsfolder/m/mist_of_stagnation.txt -text
res/cardsfolder/m/mist_raven.txt -text
res/cardsfolder/m/mistbind_clique.txt svneol=native#text/plain
res/cardsfolder/m/mistblade_shinobi.txt svneol=native#text/plain
@@ -6709,6 +6727,7 @@ res/cardsfolder/m/moonlit_strider.txt svneol=native#text/plain
res/cardsfolder/m/moonlit_wake.txt svneol=native#text/plain
res/cardsfolder/m/moonmist.txt -text
res/cardsfolder/m/moonring_island.txt -text
res/cardsfolder/m/moonring_mirror.txt -text
res/cardsfolder/m/moonsilver_spear.txt -text
res/cardsfolder/m/moonveil_dragon.txt -text
res/cardsfolder/m/moonwing_moth.txt svneol=native#text/plain
@@ -6905,6 +6924,7 @@ res/cardsfolder/n/nantuko_mentor.txt -text svneol=unset#text/plain
res/cardsfolder/n/nantuko_monastery.txt svneol=native#text/plain
res/cardsfolder/n/nantuko_shade.txt svneol=native#text/plain
res/cardsfolder/n/nantuko_shaman.txt svneol=native#text/plain
res/cardsfolder/n/nantuko_shrine.txt -text
res/cardsfolder/n/nantuko_tracer.txt svneol=native#text/plain
res/cardsfolder/n/nantuko_vigilante.txt svneol=native#text/plain
res/cardsfolder/n/narcissism.txt svneol=native#text/plain
@@ -7620,6 +7640,7 @@ res/cardsfolder/p/phyrexian_plaguelord.txt svneol=native#text/plain
res/cardsfolder/p/phyrexian_portal.txt -text
res/cardsfolder/p/phyrexian_processor.txt svneol=native#text/plain
res/cardsfolder/p/phyrexian_prowler.txt svneol=native#text/plain
res/cardsfolder/p/phyrexian_purge.txt -text
res/cardsfolder/p/phyrexian_rager.txt svneol=native#text/plain
res/cardsfolder/p/phyrexian_reaper.txt -text
res/cardsfolder/p/phyrexian_rebirth.txt svneol=native#text/plain
@@ -7709,6 +7730,7 @@ res/cardsfolder/p/planar_void.txt svneol=native#text/plain
res/cardsfolder/p/planeswalkers_favor.txt -text
res/cardsfolder/p/planeswalkers_fury.txt -text svneol=unset#text/plain
res/cardsfolder/p/planeswalkers_mirth.txt -text
res/cardsfolder/p/planeswalkers_mischief.txt -text
res/cardsfolder/p/planeswalkers_scorn.txt -text
res/cardsfolder/p/planewide_disaster.txt -text
res/cardsfolder/p/plant_elemental.txt -text
@@ -7878,6 +7900,7 @@ res/cardsfolder/p/prophecy.txt -text
res/cardsfolder/p/prophetic_bolt.txt svneol=native#text/plain
res/cardsfolder/p/prophetic_prism.txt svneol=native#text/plain
res/cardsfolder/p/prosperity.txt svneol=native#text/plain
res/cardsfolder/p/protean_hulk.txt -text
res/cardsfolder/p/protean_hydra.txt -text
res/cardsfolder/p/protective_bubble.txt svneol=native#text/plain
res/cardsfolder/p/proteus_machine.txt -text
@@ -7941,6 +7964,7 @@ res/cardsfolder/p/pure_intentions.txt -text svneol=unset#text/plain
res/cardsfolder/p/pure_reflection.txt -text
res/cardsfolder/p/puresight_merrow.txt svneol=native#text/plain
res/cardsfolder/p/puresteel_paladin.txt -text
res/cardsfolder/p/purgatory.txt -text
res/cardsfolder/p/purge.txt svneol=native#text/plain
res/cardsfolder/p/purge_the_profane.txt -text
res/cardsfolder/p/purify.txt svneol=native#text/plain
@@ -7995,6 +8019,7 @@ res/cardsfolder/q/quagmire_druid.txt svneol=native#text/plain
res/cardsfolder/q/quagmire_lamprey.txt svneol=native#text/plain
res/cardsfolder/q/quagnoth.txt svneol=native#text/plain
res/cardsfolder/q/quash.txt svneol=native#text/plain
res/cardsfolder/q/quenchable_fire.txt -text
res/cardsfolder/q/quest_for_ancient_secrets.txt svneol=native#text/plain
res/cardsfolder/q/quest_for_pure_flame.txt -text
res/cardsfolder/q/quest_for_renewal.txt svneol=native#text/plain
@@ -8376,6 +8401,7 @@ res/cardsfolder/r/retether.txt -text
res/cardsfolder/r/rethink.txt -text
res/cardsfolder/r/retraced_image.txt -text svneol=unset#text/plain
res/cardsfolder/r/retract.txt svneol=native#text/plain
res/cardsfolder/r/retribution.txt -text
res/cardsfolder/r/retribution_of_the_meek.txt svneol=native#text/plain
res/cardsfolder/r/retromancer.txt svneol=native#text/plain
res/cardsfolder/r/return_of_the_nightstalkers.txt -text
@@ -8400,9 +8426,11 @@ res/cardsfolder/r/reverse_polarity.txt -text
res/cardsfolder/r/revive.txt svneol=native#text/plain
res/cardsfolder/r/revive_the_fallen.txt svneol=native#text/plain
res/cardsfolder/r/reviving_dose.txt svneol=native#text/plain
res/cardsfolder/r/reviving_vapors.txt -text
res/cardsfolder/r/revoke_existence.txt svneol=native#text/plain
res/cardsfolder/r/reward_the_faithful.txt svneol=native#text/plain
res/cardsfolder/r/rewards_of_diversity.txt -text
res/cardsfolder/r/reweave.txt -text
res/cardsfolder/r/rewind.txt svneol=native#text/plain
res/cardsfolder/r/reya_dawnbringer.txt svneol=native#text/plain
res/cardsfolder/r/rhox.txt -text
@@ -8789,6 +8817,7 @@ res/cardsfolder/s/sanity_gnawers.txt svneol=native#text/plain
res/cardsfolder/s/sanity_grinding.txt svneol=native#text/plain
res/cardsfolder/s/sapling_of_colfenor.txt svneol=native#text/plain
res/cardsfolder/s/sapphire_charm.txt -text
res/cardsfolder/s/sapphire_drake.txt -text
res/cardsfolder/s/sapphire_leech.txt svneol=native#text/plain
res/cardsfolder/s/sapphire_medallion.txt svneol=native#text/plain
res/cardsfolder/s/saprazzan_bailiff.txt svneol=native#text/plain
@@ -8981,6 +9010,7 @@ res/cardsfolder/s/searchlight_geist.txt -text
res/cardsfolder/s/searing_blaze.txt -text
res/cardsfolder/s/searing_flesh.txt svneol=native#text/plain
res/cardsfolder/s/searing_meditation.txt svneol=native#text/plain
res/cardsfolder/s/searing_rays.txt -text
res/cardsfolder/s/searing_spear.txt -text
res/cardsfolder/s/searing_spear_askari.txt -text
res/cardsfolder/s/searing_touch.txt svneol=native#text/plain
@@ -9404,6 +9434,7 @@ res/cardsfolder/s/sisay.txt -text
res/cardsfolder/s/sisays_ingenuity.txt -text svneol=unset#text/plain
res/cardsfolder/s/sisays_ring.txt svneol=native#text/plain
res/cardsfolder/s/sisters_of_stone_death.txt -text svneol=unset#text/plain
res/cardsfolder/s/sisters_of_stone_death_avatar.txt -text
res/cardsfolder/s/sisters_of_the_flame.txt svneol=native#text/plain
res/cardsfolder/s/sivitri_scarzam.txt svneol=native#text/plain
res/cardsfolder/s/sivvi's_valor.txt -text
@@ -9830,6 +9861,7 @@ res/cardsfolder/s/sphere_of_resistance.txt svneol=native#text/plain
res/cardsfolder/s/sphere_of_safety.txt -text
res/cardsfolder/s/sphere_of_the_suns.txt svneol=native#text/plain
res/cardsfolder/s/sphere_of_truth.txt svneol=native#text/plain
res/cardsfolder/s/sphinx_ambassador.txt -text
res/cardsfolder/s/sphinx_bone_wand.txt svneol=native#text/plain
res/cardsfolder/s/sphinx_of_jwar_isle.txt svneol=native#text/plain
res/cardsfolder/s/sphinx_of_lost_truths.txt svneol=native#text/plain
@@ -10423,6 +10455,7 @@ res/cardsfolder/t/take_possession.txt svneol=native#text/plain
res/cardsfolder/t/takenos_cavalry.txt svneol=native#text/plain
res/cardsfolder/t/takenuma.txt -text
res/cardsfolder/t/takenuma_bleeder.txt svneol=native#text/plain
res/cardsfolder/t/talaras_bane.txt -text
res/cardsfolder/t/talaras_battalion.txt -text
res/cardsfolder/t/talas_air_ship.txt svneol=native#text/plain
res/cardsfolder/t/talas_explorer.txt svneol=native#text/plain
@@ -10634,6 +10667,7 @@ res/cardsfolder/t/the_unspeakable.txt svneol=native#text/plain
res/cardsfolder/t/the_very_soil_shall_shake.txt -text
res/cardsfolder/t/the_wretched.txt -text svneol=unset#text/plain
res/cardsfolder/t/theft_of_dreams.txt svneol=native#text/plain
res/cardsfolder/t/thelon_of_havenwood.txt -text
res/cardsfolder/t/thelonite_druid.txt -text
res/cardsfolder/t/thelonite_hermit.txt svneol=native#text/plain
res/cardsfolder/t/thelonite_monk.txt svneol=native#text/plain
@@ -11111,6 +11145,7 @@ res/cardsfolder/t/typhoon.txt svneol=native#text/plain
res/cardsfolder/t/tyrannize.txt -text
res/cardsfolder/t/tyrant_of_discord.txt -text
res/cardsfolder/t/tyrranax.txt svneol=native#text/plain
res/cardsfolder/u/mist_of_stagnation.txt -text
res/cardsfolder/u/uktabi_drake.txt svneol=native#text/plain
res/cardsfolder/u/uktabi_efreet.txt svneol=native#text/plain
res/cardsfolder/u/uktabi_faerie.txt svneol=native#text/plain
@@ -11166,6 +11201,7 @@ res/cardsfolder/u/unearth.txt svneol=native#text/plain
res/cardsfolder/u/unearthly_blizzard.txt svneol=native#text/plain
res/cardsfolder/u/unerring_sling.txt -text
res/cardsfolder/u/unexpected_results.txt -text
res/cardsfolder/u/unforge.txt -text
res/cardsfolder/u/unfulfilled_desires.txt svneol=native#text/plain
res/cardsfolder/u/unhallowed_pact.txt -text
res/cardsfolder/u/unhinge.txt svneol=native#text/plain
@@ -11489,6 +11525,7 @@ res/cardsfolder/v/viridian_revel.txt svneol=native#text/plain
res/cardsfolder/v/viridian_scout.txt svneol=native#text/plain
res/cardsfolder/v/viridian_shaman.txt svneol=native#text/plain
res/cardsfolder/v/viridian_zealot.txt svneol=native#text/plain
res/cardsfolder/v/viridian_zealot_avatar.txt -text
res/cardsfolder/v/virtues_ruin.txt svneol=native#text/plain
res/cardsfolder/v/virtuous_charge.txt svneol=native#text/plain
res/cardsfolder/v/virulent_sliver.txt svneol=native#text/plain
@@ -11724,6 +11761,7 @@ res/cardsfolder/w/warped_researcher.txt svneol=native#text/plain
res/cardsfolder/w/warren_instigator.txt svneol=native#text/plain
res/cardsfolder/w/warren_pilferers.txt -text
res/cardsfolder/w/warren_scourge_elf.txt svneol=native#text/plain
res/cardsfolder/w/warren_weirding.txt -text
res/cardsfolder/w/warrior_angel.txt svneol=native#text/plain
res/cardsfolder/w/warrior_en_kor.txt -text
res/cardsfolder/w/warriors_charge.txt svneol=native#text/plain
@@ -12026,6 +12064,7 @@ res/cardsfolder/w/worldfire.txt -text
res/cardsfolder/w/worldgorger_dragon.txt svneol=native#text/plain
res/cardsfolder/w/worldly_counsel.txt svneol=native#text/plain
res/cardsfolder/w/worldly_tutor.txt svneol=native#text/plain
res/cardsfolder/w/worldpurge.txt -text
res/cardsfolder/w/worldslayer.txt svneol=native#text/plain
res/cardsfolder/w/worldspine_wurm.txt -text
res/cardsfolder/w/worm_harvest.txt svneol=native#text/plain

View File

@@ -0,0 +1,13 @@
Name:Aven Shrine
ManaCost:1 W W
Types:Enchantment
Text:no text
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigGainLifeRem | TriggerDescription$ Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigGainLifeRem:AB$ Pump | Cost$ 0 | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | Defined$ TriggeredActivator | LifeAmount$ X | References$ X | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/aven_shrine.jpg
Oracle:Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell.
End

View File

@@ -0,0 +1,18 @@
Name:Bloom Tender
ManaCost:1 G
Types:Creature Elf Druid
Text:no text
PT:1/1
A:AB$ Mana | Cost$ T | Produced$ W | ConditionCheckSVar$ CheckW | ConditionSVarCompare$ GE1 | SubAbility$ DBManaU | SpellDescription$ For each color among permanents you control, add one mana of that color to your mana pool.
SVar:DBManaU:DB$ Mana | Produced$ U | ConditionCheckSVar$ CheckU | ConditionSVarCompare$ GE1 | SubAbility$ DBManaB
SVar:DBManaB:DB$ Mana | Produced$ B | ConditionCheckSVar$ CheckB | ConditionSVarCompare$ GE1 | SubAbility$ DBManaR
SVar:DBManaR:DB$ Mana | Produced$ R | ConditionCheckSVar$ CheckR | ConditionSVarCompare$ GE1 | SubAbility$ DBManaG
SVar:DBManaG:DB$ Mana | Produced$ G | ConditionCheckSVar$ CheckG | ConditionSVarCompare$ GE1
SVar:CheckW:Count$Valid Permanent.YouCtrl+White
SVar:CheckU:Count$Valid Permanent.YouCtrl+Blue
SVar:CheckB:Count$Valid Permanent.YouCtrl+Black
SVar:CheckR:Count$Valid Permanent.YouCtrl+Red
SVar:CheckG:Count$Valid Permanent.YouCtrl+Green
SVar:Picture:http://www.wizards.com/global/images/magic/general/bloom_tender.jpg
Oracle:{T}: For each color among permanents you control, add one mana of that color to your mana pool.
End

View File

@@ -0,0 +1,17 @@
Name:Bomb Squad
ManaCost:3 R
Types:Creature Dwarf
Text:no text
PT:1/1
A:AB$ PutCounter | Cost$ T | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ FUSE | CounterNum$ 1 | IsCurse$ True | SpellDescription$ Put a fuse counter on target creature.
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigCounters | TriggerDescription$ At the beginning of your upkeep, put a fuse counter on each creature with a fuse counter on it.
SVar:TrigCounters:AB$ PutCounterAll | Cost$ 0 | ValidCards$ Creature.counters_GE1_FUSE | CounterType$ FUSE | CounterNum$ 1
T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Creature.counters_GE4_FUSE | PresentCompare$ GE1 | Execute$ TrigRepeatEach | TriggerDescription$ Whenever a creature has four or more fuse counters on it, remove all fuse counters from it and destroy it. That creature deals 4 damage to its controller.
SVar:TrigRepeatEach:AB$ RepeatEach | Cost$ 0 | RepeatCards$ Creature.counters_GE4_FUSE | RepeatSubAbility$ DBRemove
SVar:DBRemove:DB$ RemoveCounter | Defined$ Remembered | CounterType$ FUSE | CounterNum$ All | SubAbility$ DBDestroy
SVar:DBDestroy:DB$ Destroy | Defined$ Remembered | SubAbility$ DBDmg
SVar:DBDmg:DB$ DealDamage | Defined$ RememberedController | NumDmg$ 4 | DamageSource$ Remembered
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/bomb_squad.jpg
Oracle:{T}: Put a fuse counter on target creature.\nAt the beginning of your upkeep, put a fuse counter on each creature with a fuse counter on it.\nWhenever a creature has four or more fuse counters on it, remove all fuse counters from it and destroy it. That creature deals 4 damage to its controller.
End

View File

@@ -0,0 +1,13 @@
Name:Cabal Shrine
ManaCost:1 B B
Types:Enchantment
Text:no text
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDiscardRem | TriggerDescription$ Whenever a player casts a spell, that player discards X cards, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigDiscardRem:AB$ Pump | Cost$ 0 | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBDiscard
SVar:DBDiscard:DB$ Discard | Defined$ TriggeredActivator | NumCards$ X | References$ X | Mode$ TgtChoose | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/cabal_shrine.jpg
Oracle:Whenever a player casts a spell, that player discards X cards, where X is the number of cards in all graveyards with the same name as that spell.
End

View File

@@ -0,0 +1,13 @@
Name:Chant of Vitu-Ghazi
ManaCost:6 W W
Types:Instant
Text:no text
K:Convoke
A:SP$ Effect | Cost$ 6 W W | ReplacementEffects$ RepCombatDmg,RepNonCombatDmg | SVars$ GainLifeYou,X | RememberObjects$ You | SpellDescription$ Prevent all damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way.
SVar:RepCombatDmg:Event$ DamageDone | ValidSource$ Creature | ReplaceWith$ GainLifeYou | PreventionEffect$ True | IsCombat$ True | Description$ Prevent all combat damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way.
SVar:RepNonCombatDmg:Event$ DamageDone | ValidSource$ Creature | ReplaceWith$ GainLifeYou | PreventionEffect$ True | IsCombat$ False | Description$ Prevent all noncombat damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way.
SVar:GainLifeYou:AB$ GainLife | Cost$ 0 | Defined$ Remembered | LifeAmount$ X | References$ X
SVar:X:ReplaceCount$DamageAmount
SVar:Picture:http://www.wizards.com/global/images/magic/general/chant_of_vitu_ghazi.jpg
Oracle:Convoke (Each creature you tap while casting this spell reduces its cost by {1} or by one mana of that creature's color.)\nPrevent all damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way.
End

View File

@@ -0,0 +1,13 @@
Name:Covenant of Minds
ManaCost:4 U
Types:Sorcery
Text:no text
A:SP$ Dig | Cost$ 2 B | DigNum$ 3 | NoMove$ True | Reveal$ True | DestinationZone$ Library | LibraryPosition$ 0 | LibraryPosition2$ 0 | SubAbility$ DBChoice | RememberRevealed$ True | SpellDescription$ Reveal the top three cards of your library. Target opponent may choose to put those cards into your hand. If he or she doesn't, put those cards into your graveyard and draw five cards.
SVar:DBChoice:DB$ GenericChoice | ValidTgts$ Opponent | Choices$ CovenantDraw,CovenantMillDraw
SVar:CovenantDraw:DB$ Draw | Defined$ SourceController | NumCards$ X | References$ X | ChoiceDescription$ You may choose to put those cards into that player's hand.
SVar:CovenantMillDraw:DB$ Mill | Defined$ SourceController | NumCards$ X | References$ X | SubAbility$ DBDraw | ChoiceDescription$ If you don't, put those cards into that player's graveyard and that player draws five cards.
SVar:DBDraw:DB$ Draw | Defined$ SourceController | NumCards$ 5
SVar:X:Count$RememberedSize
SVar:Picture:http://www.wizards.com/global/images/magic/general/covenant_of_minds.jpg
Oracle:Reveal the top three cards of your library. Target opponent may choose to put those cards into your hand. If he or she doesn't, put those cards into your graveyard and draw five cards.
End

View File

@@ -0,0 +1,13 @@
Name:Crashing Boars
ManaCost:2 G
Types:Creature Snake Warrior
Text:no text
PT:1/3
T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigChoose | TriggerDescription$ Whenever CARDNAME attacks, defending player chooses an untapped creature he or she controls. That creature blocks CARDNAME this turn if able.
SVar:TrigChoose:AB$ ChooseCard | Cost$ 0 | Defined$ DefendingPlayer | Amount$ 1 | Choices$ Creature.untapped+DefenderCtrl | SubAbility$ DBMustBlock
SVar:DBMustBlock:DB$ MustBlock | Defined$ ChosenCard | SpellDescription$ Target creature blocks CARDNAME this turn if able.
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/crashing_boars.jpg
Oracle:Whenever Crashing Boars attacks, defending player chooses an untapped creature he or she controls. That creature blocks Crashing Boars this turn if able.
End

View File

@@ -0,0 +1,13 @@
Name:Crush Underfoot
ManaCost:1 R
Types:Tribal Instant Giant
Text:no text
A:SP$ ChooseCard | Cost$ 1 R | Defined$ You | Amount$ 1 | Choices$ Creature.Giant+YouCtrl | ChoiceTitle$ Choose a Giant creature you control | RememberChosen$ True | SubAbility$ DBDmg | SpellDescription$ Choose a Giant creature you control. It deals damage equal to its power to target creature.
SVar:DBDmg:DB$ DealDamage | NumDmg$ X | References$ X | DamageSource$ Remembered | ValidTgts$ Creature | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$CardPower
SVar:BuffedBy:Giant
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/crush_underfoot.jpg
Oracle:Choose a Giant creature you control. It deals damage equal to its power to target creature.
End

View File

@@ -0,0 +1,12 @@
Name:Desecrator Hag
ManaCost:2 BG BG
Types:Creature Hag
Text:no text
PT:2/2
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME enters the battlefield, return to your hand the creature card in your graveyard with the greatest power. If two or more cards are tied for greatest power, you choose one of them.
SVar:TrigReturn:AB$ ChooseCard | Cost$ 0 | Choices$ Creature.yardGreatestPower+YouOwn | Amount$ 1 | ChoiceZone$ Graveyard | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ChosenCard
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/desecrator_hag.jpg
Oracle:When Desecrator Hag enters the battlefield, return to your hand the creature card in your graveyard with the greatest power. If two or more cards are tied for greatest power, you choose one of them.
End

View File

@@ -0,0 +1,13 @@
Name:Dwarven Shrine
ManaCost:1 R R
Types:Enchantment
Text:no text
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigDmgRem | TriggerDescription$ Whenever a player casts a spell, CARDNAME deals X damage to that player, where X is twice the number of cards in all graveyards with the same name as that spell.
SVar:TrigDmgRem:AB$ Pump | Cost$ 0 | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBDmg
SVar:DBDmg:DB$ DealDamage | Defined$ TriggeredActivator | NumDmg$ X | References$ X | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered/Twice
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/dwarven_shrine.jpg
Oracle:Whenever a player casts a spell, Dwarven Shrine deals X damage to that player, where X is twice the number of cards in all graveyards with the same name as that spell.
End

View File

@@ -0,0 +1,19 @@
Name:Eye for an Eye
ManaCost:W W
Types:Instant
Text:no text
A:SP$ ChooseSource | Cost$ W W | Choices$ Card | RememberChosen$ True | AILogic$ NeedsPrevention | SubAbility$ DBEffect | SpellDescription$ The next time a source of your choice would deal damage to you this turn, instead that source deals that much damage to you and CARDNAME deals that much damage to that source's controller.
SVar:DBEffect:DB$ Effect | ReplacementEffects$ SelflessCombat,SelflessNonCombat | SVars$ CombatDmg,NonCombatDmg,ExileEffect,X,EyeforEyeCombat,EyeforEyenonCombat | RememberObjects$ Remembered | ImprintCards$ Self | SubAbility$ DBCleanup | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:SelflessCombat:Event$ DamageDone | ValidTarget$ You | ValidSource$ Card.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next time a source of your choice would deal damage to you this turn, instead that source deals that much damage to you and this card deals that much damage to that source's controller.
SVar:SelflessNonCombat:Event$ DamageDone | ValidTarget$ You | ValidSource$ Card.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next time a source of your choice would deal damage to you this turn, instead that source deals that much damage to you and this card deals that much damage to that source's controller.
SVar:CombatDmg:AB$ DealDamage | Cost$ 0 | Defined$ You | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | SubAbility$ EyeforEyeCombat
SVar:EyeforEyeCombat:DB$ DealDamage | Defined$ RememberedController | DamageSource$ Imprinted | CombatDamage$ True | NumDmg$ X | SubAbility$ ExileEffect
SVar:NonCombatDmg:AB$ DealDamage | Cost$ 0 | Defined$ You | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ EyeforEyenonCombat
SVar:EyeforEyenonCombat:DB$ DealDamage | Defined$ RememberedController | DamageSource$ Imprinted | CombatDamage$ False | NumDmg$ X | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:ReplaceCount$DamageAmount
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/eye_for_an_eye.jpg
Oracle:The next time a source of your choice would deal damage to you this turn, instead that source deals that much damage to you and Eye for an Eye deals that much damage to that source's controller.
End

View File

@@ -0,0 +1,12 @@
Name:Hint of Insanity
ManaCost:2 B
Types:Sorcery
Text:no text
A:SP$ RevealHand | Cost$ 2 B | ValidTgts$ Player | IsCurse$ True | RememberRevealed$ True | RememberTargets$ True | SubAbility$ DBRepeat | StackDescription$ SpellDescription | SpellDescription$ Target player reveals his or her hand. That player discards all nonland cards with the same name as another card in his or her hand.
SVar:DBRepeat:DB$ RepeatEach | RepeatCards$ Card.IsRemembered+nonLand | Zone$ Hand | RepeatSubAbility$ DBDiscard | UseImprinted$ True | SubAbility$ DBCleanup
SVar:DBDiscard:DB$ Discard | Mode$ Defined | Defined$ Remembered | DefinedCards$ ValidHand Card.sharesNameWith Imprinted+RememberedPlayerCtrl+IsNotImprinted
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/hint_of_insanity.jpg
Oracle:Target player reveals his or her hand. That player discards all nonland cards with the same name as another card in his or her hand.
End

View File

@@ -0,0 +1,11 @@
Name:Holistic Wisdom
ManaCost:1 G G
Types:Enchantment
Text:no text
A:AB$ Pump | Cost$ 2 ExileFromHand<1/Card> | RememberCostCards$ True | SubAbility$ DBChangeZone | ValidTgts$ Card.YouOwn | TgtZone$ Graveyard | StackDescription$ None | SpellDescription$ Return target card from your graveyard to your hand if it shares a card type with the card exiled this way. (Artifact, creature, enchantment, instant, land, planeswalker, sorcery, and tribal are card types.)
SVar:DBChangeZone:DB$ ChangeZone | Defined$ ParentTarget | Origin$ Graveyard | Destination$ Hand | ConditionDefined$ ParentTarget | ConditionPresent$ Card.sharesCardTypeWith Remembered | ConditionCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/holistic_wisdom.jpg
Oracle:{2}, Exile a card from your hand: Return target card from your graveyard to your hand if it shares a card type with the card exiled this way. (Artifact, creature, enchantment, instant, land, planeswalker, sorcery, and tribal are card types.)
End

View File

@@ -0,0 +1,13 @@
Name:Infectious Rage
ManaCost:1 R
Types:Enchantment Aura
Text:no text
K:Enchant creature
A:SP$ Attach | Cost$ 1 R | ValidTgts$ Creature | AILogic$ Pump
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ 2 | AddToughness$ -1 | Description$ Enchanted creature gets +2/-1.
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.AttachedBy | Execute$ TrigChangeZone | TriggerDescription$ When enchanted creature dies, choose a creature at random CARDNAME can enchant. Return CARDNAME to the battlefield attached to that creature.
SVar:TrigChangeZone:AB$ ChooseCard | Cost$ 0 | AtRandom$ True | Choices$ Creature.CanBeEnchantedBy | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ Self | AttachedTo$ ChosenCard
SVar:Picture:http://www.wizards.com/global/images/magic/general/infectious_rage.jpg
Oracle:Enchant creature\nEnchanted creature gets +2/-1.\nWhen enchanted creature dies, choose a creature at random Infectious Rage can enchant. Return Infectious Rage to the battlefield attached to that creature.
End

View File

@@ -4,7 +4,7 @@ Types:Creature Cat Soldier
Text:no text
PT:4/6
K:Vigilance
S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ CARDNAME can block an additional creature. | KeywordMultiplier$ X | Description$ Kemba's Legion can block an additional creature for each Equipment attached to Kemba's Legion.
S:Mode$ Continuous | Affected$ Card.Self | AddHiddenKeyword$ CARDNAME can block an additional creature. | KeywordMultiplier$ X | Description$ CARDNAME can block an additional creature for each Equipment attached to CARDNAME.
SVar:X:Count$Valid Equipment.Attached
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/kembas_legion.jpg

View File

@@ -0,0 +1,15 @@
Name:Knowledge Exploitation
ManaCost:5 U U
Types:Tribal Instant Rogue
Text:no text
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$ 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
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:Rare
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/knowledge_exploitation.jpg
SetInfo:MOR|Rare|http://magiccards.info/scans/en/mt/38.jpg
Oracle:Prowl {3}{U} (You may cast this for its prowl cost if you dealt combat damage to a player this turn with a Rogue.)\nSearch 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.
End

View File

@@ -0,0 +1,14 @@
Name:Lightning Dart
ManaCost:1 R
Types:Instant
Text:no text
A:SP$ Pump | Cost$ 1 R | ValidTgts$ Creature | IsCurse$ True | RememberObjects$ Targeted | SubAbility$ DBDmg | StackDescription$ SpellDescription | SpellDescription$ CARDNAME deals 1 damage to target creature. If that creature is white or blue, CARDNAME deals 4 damage to it instead.
SVar:DBDmg:DB$ DealDamage | Defined$ Remembered | NumDmg$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBDmgWU | StackDescription$ None
SVar:DBDmgWU:DB$ DealDamage | Defined$ Remembered | NumDmg$ 4 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$Valid Creature.IsRemembered+White,Creature.IsRemembered+Blue
SVar:RemAIDeck:True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/lightning_dart.jpg
Oracle:Lightning Dart deals 1 damage to target creature. If that creature is white or blue, Lightning Dart deals 4 damage to it instead.
End

View File

@@ -0,0 +1,8 @@
Name:Memory Crystal
ManaCost:3
Types:Artifact
Text:no text
S:Mode$ ReduceCost | ValidCard$ Card | Type$ Buyback | Activator$ Player | Amount$ 2 | Description$ Buyback costs cost 2 less.
SVar:Picture:http://www.wizards.com/global/images/magic/general/memory_crystal.jpg
Oracle:Buyback costs cost {2} less.
End

View File

@@ -0,0 +1,14 @@
Name:Mist of Stagnation
ManaCost:3 U U
Types:Enchantment
Text:Permanents don't untap during their controllers' untap steps.
K:Permanents don't untap during their controllers' untap steps:Permanent
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ TrigChoose | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, that player chooses a permanent for each card in his or her graveyard, then untaps those permanents.
SVar:TrigChoose:AB$ ChooseCard | Cost$ 0 | Defined$ TriggeredPlayer | Amount$ X | References$ X | Choices$ Permanent.ActivePlayerCtrl | ChoiceTitle$ Choose a permanent to untap | RememberChosen$ True | SubAbility$ DBUntap
SVar:DBUntap:DB$ UntapAll | ValidCards$ Permanent.IsRemembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$ValidGraveyard Card.ActivePlayerCtrl
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/mist_of_stagnation.jpg
Oracle:Permanents don't untap during their controllers' untap steps.\nAt the beginning of each player's upkeep, that player chooses a permanent for each card in his or her graveyard, then untaps those permanents.
End

View File

@@ -0,0 +1,17 @@
Name:Moonring Mirror
ManaCost:5
Types:Artifact
Text:no text
T:Mode$ Drawn | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Whenever you draw a card, exile the top card of your library face down.
SVar:TrigMill:AB$ Mill | Cost$ 0 | NumCards$ 1 | Defined$ You | Destination$ Exile | ExileFaceDown$ True | RememberMilled$ True
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChangeHandExile | TriggerDescription$ At the beginning of your upkeep, you may exile all cards from your hand face down. If you do, put all other cards you own exiled with CARDNAME into your hand.
SVar:TrigChangeHandExile:AB$ ChangeZoneAll | Cost$ 0 | Origin$ Hand | Destination$ Exile | ExileFaceDown$ True | ChangeType$ Card.YouCtrl | RememberChanged$ True | Imprint$ True | SubAbility$ ChangeBack
SVar:ChangeBack:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered+IsNotImprinted | Origin$ Exile | Destination$ Hand | ForgetChanged$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup2
SVar:DBCleanup2:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/moonring_mirror.jpg
Oracle:Whenever you draw a card, exile the top card of your library face down.\nAt the beginning of your upkeep, you may exile all cards from your hand face down. If you do, put all other cards you own exiled with Moonring Mirror into your hand.
End

View File

@@ -0,0 +1,13 @@
Name:Nantuko Shrine
ManaCost:1 G G
Types:Enchantment
Text:no text
T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigTokenRem | TriggerDescription$ Whenever a player casts a spell, that player puts X 1/1 green Squirrel creature tokens onto the battlefield, where X is the number of cards in all graveyards with the same name as that spell.
SVar:TrigTokenRem:AB$ Pump | Cost$ 0 | Defined$ TriggeredCard | PumpZone$ Stack | RememberObjects$ TriggeredCard | SubAbility$ DBToken
SVar:DBToken:DB$ Token | TokenAmount$ X | TokenName$ Squirrel | TokenTypes$ Creature,Squirrel | TokenOwner$ TriggeredActivator | TokenColors$ Green | TokenPower$ 1 | TokenToughness$ 1 | References$ X | SubAbility$ DBCleanup
SVar:X:Count$ValidGraveyard Card.sharesNameWith Remembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/nantuko_shrine.jpg
Oracle:Whenever a player casts a spell, that player puts X 1/1 green Squirrel creature tokens onto the battlefield, where X is the number of cards in all graveyards with the same name as that spell.
End

View File

@@ -0,0 +1,12 @@
Name:Phyrexian Purge
ManaCost:2 B R
Types:Sorcery
Text:no text
A:SP$ Destroy | Cost$ 2 B R PayLife<X> | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ MaxPayLifeLimit | References$ X,Y,MaxPayLifeLimit | SpellDescription$ Destroy any number of target creatures. CARDNAME costs 3 life more to cast for each target.
SVar:MaxPayLifeLimit:Count$YourLifeTotal/DivideEvenlyDown.3
SVar:X:SVar$Y/Times.3
SVar:Y:Targeted$Amount
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/phyrexian_purge.jpg
Oracle:Destroy any number of target creatures.\nPhyrexian Purge costs 3 life more to cast for each target.
End

View File

@@ -0,0 +1,18 @@
Name:Planeswalker's Mischief
ManaCost:2 U
Types:Enchantment
Text:no text
A:AB$ Reveal | Cost$ 3 U | Random$ True | RememberRevealed$ True | ValidTgts$ Opponent | TgtPrompt$ Select target opponent to reveal a card | SorcerySpeed$ True | SubAbility$ DBChangeZone | SpellDescription$ Target opponent reveals a card at random from his or her hand. If it's an instant or sorcery card, exile it. You may cast it without paying its mana cost for as long as it remains exiled. At the beginning of the next end step, if you haven't cast it, return it to its owner's hand. Activate this ability only any time you could cast a sorcery. (If it has X in its mana cost, X is 0.)
SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Instant.IsRemembered,Sorcery.IsRemembered | Origin$ Hand | Destination$ Exile | SubAbility$ DBForgetOther
SVar:DBForgetOther:DB$ Cleanup | ClearRemembered$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ0 | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | StaticAbilities$ MischiefPlay | Triggers$ TrigEOT,TrigChangesZone | SVars$ MischiefCleanup,MischiefReturn | RememberObjects$ Remembered | Permanent$ True | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:MischiefPlay:Mode$ Continuous | EffectZone$ Command | Affected$ Card.IsRemembered+OppOwn | AffectedZone$ Exile | AddHiddenKeyword$ May be played by your opponent without paying its mana cost | Description$ You may play that exiled card.
SVar:TrigEOT:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Command | Execute$ MischiefReturn | TriggerDescription$ At the beginning of the next end step, if you haven't cast it, return it to its owner's hand.
SVar:MischiefReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Hand |
SVar:TrigChangesZone:Mode$ ChangesZone | Origin$ Exile | Destination$ Any | Static$ True | ValidCard$ Card.IsRemembered | Execute$ MischiefCleanup
SVar:MischiefCleanup:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:X:Count$ValidExile Instant.IsRemembered,Sorcery.IsRemembered
SVar:Picture:http://www.wizards.com/global/images/magic/general/planeswalkers_mischief.jpg
Oracle:{3}{U}: Target opponent reveals a card at random from his or her hand. If it's an instant or sorcery card, exile it. You may cast it without paying its mana cost for as long as it remains exiled. At the beginning of the next end step, if you haven't cast it, return it to its owner's hand. Activate this ability only any time you could cast a sorcery. (If it has X in its mana cost, X is 0.)
End

View File

@@ -0,0 +1,12 @@
Name:Protean Hulk
ManaCost:5 G G
Types:Creature Beast
Text:no text
PT:6/6
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigChangeZone | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, search your library for any number of creature cards with total converted mana cost 6 or less and put them onto the battlefield. Then shuffle your library.
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeNum$ X | WithTotalCMC$ 6 | ChangeType$ Creature.YouCtrl | Optional$ True | References$ X
SVar:X:Count$ValidLibrary Creature.YouCtrl
SVar:SacMe:4
SVar:Picture:http://www.wizards.com/global/images/magic/general/protean_hulk.jpg
Oracle:When Protean Hulk dies, search your library for any number of creature cards with total converted mana cost 6 or less and put them onto the battlefield. Then shuffle your library.
End

View File

@@ -0,0 +1,14 @@
Name:Purgatory
ManaCost:2 W B
Types:Enchantment
Text:no text
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.nonToken+YouOwn | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ Whenever a nontoken creature is put into your graveyard from the battlefield, exile that card.
SVar:TrigChangeZone:AB$ ChangeZone | Cost$ 0 | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigReturn | TriggerDescription$ At the beginning of your upkeep, you may pay 4 and 2 life. If you do, return a card exiled with CARDNAME to the battlefield.
SVar:TrigReturn:AB$ ChooseCard | Cost$ 4 PayLife<2> | Defined$ You | Amount$ 1 | Choices$ Card.IsRemembered | ChoiceZone$ Exile | SubAbility$ DBChange
SVar:DBChange:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Exile | Destination$ Battlefield | ForgetChanged$ True | Hidden$ True
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | Static$ True | ValidCard$ Card.Self | Execute$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/purgatory.jpg
Oracle:Whenever a nontoken creature is put into your graveyard from the battlefield, exile that card.\nAt the beginning of your upkeep, you may pay {4} and 2 life. If you do, return a card exiled with Purgatory to the battlefield.
End

View File

@@ -0,0 +1,13 @@
Name:Quenchable Fire
ManaCost:3 R
Types:Sorcery
Text:no text
A:SP$ DealDamage | Cost$ 3 R | ValidTgts$ Player | TgtPrompt$ Select target player | NumDmg$ 3 | SubAbility$ DBEffect | SpellDescription$ CARDNAME deals 3 damage to target player. It deals an additional 3 damage to that player at the beginning of your next upkeep step unless he or she pays U before that step.
SVar:DBEffect:DB$ Effect | Name$ Quenchable Fire Effect | EffectOwner$ Targeted | Duration$ Permanent | Triggers$ UpkeepTrig | Abilities$ PayUp | SVars$ Bleed,ExileEffect | RememberObjects$ SourceController | ImprintCards$ Self
SVar:UpkeepTrig:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player.IsRemembered | TriggerZones$ Command | Execute$ Bleed | TriggerDescription$ It deals an additional 3 damage to you at the beginning of that player's next upkeep step unless you pay U before that step.
SVar:Bleed:AB$ DealDamage | Cost$ 0 | Defined$ You | NumDmg$ 3 | DamageSource$ Imprinted | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:PayUp:AB$ ChangeZone | Cost$ U | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True | ActivationZone$ Command | AILogic$ Always | SpellDescription$ Pay U to remove this effect.
SVar:Picture:http://www.wizards.com/global/images/magic/general/quenchable_fire.jpg
Oracle:Quenchable Fire deals 3 damage to target player. It deals an additional 3 damage to that player at the beginning of your next upkeep step unless he or she pays {U} before that step.
End

View File

@@ -0,0 +1,12 @@
Name:Retribution
ManaCost:2 R R
Types:Sorcery
Text:no text
A:SP$ Pump | Cost$ 2 R R | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select two target creature an opponent controls | TargetMin$ 2 | TargetMax$ 2 | TargetsFromSingleZone$ True | IsCurse$ True | RememberTargets$ True | SubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Choose two target creatures an opponent controls. That player chooses and sacrifices one of those creatures. Put a -1/-1 counter on the other.
SVar:DBChoose:DB$ ChooseCard | Defined$ TargetedController | Amount$ 1 | Choices$ Creature.IsRemembered | ChoiceTitle$ Choose one to sacrifice | ForgetChosen$ True | AILogic$ WorstCard | SubAbility$ DBSac | StackDescription$ None
SVar:DBSac:DB$ Destroy | Defined$ ChosenCard | Sacrifice$ True | SubAbility$ DBPutCounter | StackDescription$ None
SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ M1M1 | CounterNum$ 1 | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/retribution.jpg
Oracle:Choose two target creatures an opponent controls. That player chooses and sacrifices one of those creatures. Put a -1/-1 counter on the other.
End

View File

@@ -0,0 +1,15 @@
Name:Reviving Vapors
ManaCost:2 W U
Types:Instant
Text:no text
A:SP$ Dig | Cost$ 2 W U | DigNum$ 3 | Reveal$ True | ChangeNum$ 1 | LibraryPosition2$ 0 | RememberRevealed$ True | SubAbility$ DBimprint | StackDescription$ SpellDescription | SpellDescription$ Reveal the top three cards of your library and put one of them into your hand. You gain life equal to that card's converted mana cost. Put all other cards revealed this way into your graveyard.
SVar:DBimprint:DB$ Pump | ImprintCards$ ValidHand Card.IsRemembered | StackDescription$ None | SubAbility$ DBGainLife
SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | References$ X | SubAbility$ DBMill | StackDescription$ None
SVar:X:Imprinted$CardManaCost
SVar:DBMill:DB$ Mill | NumCards$ Y | References$ Y | SubAbility$ DBCleanup | StackDescription$ None
SVar:Y:Count$RememberedSize/Minus.1
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/reviving_vapors.jpg
Oracle:Reveal the top three cards of your library and put one of them into your hand. You gain life equal to that card's converted mana cost. Put all other cards revealed this way into your graveyard.
End

View File

@@ -0,0 +1,13 @@
Name:Reweave
ManaCost:5 U
Types:Instant Arcane
Text:no text
K:Splice onto Arcane 2 U U
A:SP$ Destroy | Cost$ 5 U | ValidTgts$ Permanent | Sacrifice$ True | SubAbility$ DBDigUntil | RememberDestroyed$ True | SpellDescription$ Target permanent's controller sacrifices it. If he or she does, that player reveals cards from the top of his or her library until he or she reveals a permanent card that shares a card type with the sacrificed permanent, puts that card onto the battlefield, then shuffles his or her library.
SVar:DBDigUntil:DB$ DigUntil | Defined$ TargetedController | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ1 | Valid$ Permanent.sharesCardTypeWith Remembered | ValidDescription$ permanent card that shares a card type with the sacrificed permanent | FoundDestination$ Battlefield | RevealedDestination$ Library | Shuffle$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/reweave.jpg
Oracle:Target permanent's controller sacrifices it. If he or she does, that player reveals cards from the top of his or her library until he or she reveals a permanent card that shares a card type with the sacrificed permanent, puts that card onto the battlefield, then shuffles his or her library.\nSplice onto Arcane {2}{U}{U} (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.)
End

View File

@@ -0,0 +1,11 @@
Name:Sapphire Drake
ManaCost:5 U
Types:Creature Drake
Text:no text
PT:4/4
K:Flying
S:Mode$ Continuous | Affected$ Creature.YouCtrl+counters_GE1_P1P1 | AddKeyword$ Flying | Description$ Each creature you control with a +1/+1 counter on it has flying.
SVar:Picture:http://www.wizards.com/global/images/magic/general/sapphire_drake.jpg
SetInfo:GTC|Uncommon|http://magiccards.info/scans/en/gtc/47.jpg
Oracle:Flying\nEach creature you control with a +1/+1 counter on it has flying.
End

View File

@@ -0,0 +1,11 @@
Name:Searing Rays
ManaCost:2 R
Types:Sorcery
Text:no text
A:SP$ ChooseColor | Cost$ 2 R | Defined$ You | SubAbility$ DBDmgEach | AILogic$ MostProminentHumanCreatures | SpellDescription$ Choose a color. CARDNAME deals damage to each player equal to the number of creatures of that color that player controls.
SVar:DBDmgEach:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBDmg
SVar:DBDmg:DB$ DealDamage | Defined$ Remembered | NumDmg$ X | References$ X
SVar:X:Count$Valid Creature.RememberedPlayerCtrl+ChosenColor
SVar:Picture:http://www.wizards.com/global/images/magic/general/searing_rays.jpg
Oracle:Choose a color. Searing Rays deals damage to each player equal to the number of creatures of that color that player controls.
End

View File

@@ -0,0 +1,11 @@
Name:Sisters of Stone Death Avatar
ManaCost:no cost
Types:Vanguard
Text:no text
HandLifeModifier:+1/-5
S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature.YouCtrl | AddHiddenKeyword$ CARDNAME must be blocked if able. | Description$ Each creature you control must be blocked if able.
A:AB$ ChangeZone | ActivationZone$ Command | Cost$ 4 | ValidTgts$ Creature.blockingCreatureYouCtrl | TgtPrompt$ Select target creature that's blocking a creature you control | Origin$ Battlefield | Destination$ Exile | SpellDescription$ Exile target creature that's blocking a creature you control.
SVar:Rarity:Special
SVar:Picture:http://www.cardforge.org/fpics/vgd-lq/sisters_of_stone_death_avatar.jpg
Oracle:Hand +1, life -5\nEach creature you control must be blocked if able.\n{4}: Exile target creature that's blocking a creature you control.
End

View File

@@ -0,0 +1,17 @@
Name:Sphinx Ambassador
ManaCost:5 U U
Types:Creature Sphinx
Text:no text
PT:5/5
K:Flying
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSearch | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, search that player's library for a card, then that player names a card. If you searched for a creature card that isn't the named card, you may put it onto the battlefield under your control. Then that player shuffles his or her library.
SVar:TrigSearch:AB$ ChangeZone | Cost$ 0 | ChangeType$ Card | Origin$ Library | Destination$ Library | DefinedPlayer$ DefendingPlayer | Chooser$ You | Shuffle$ False | RememberChanged$ True | SubAbility$ DBName
SVar:DBName:DB$ NameCard | Defined$ DefendingPlayer | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Battlefield | GainControl$ True | ConditionDefined$ Remembered | Shuffle$ False | ConditionPresent$ Card.NamedCard | ConditionCompare$ EQ0 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBShuffle
SVar:DBShuffle:DB$ Shuffle | Defined$ DefendingPlayer | SubAbility$ DBCleanup
SVar:X:Count$ValidLibrary Creature.IsRemembered
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sphinx_ambassador.jpg
Oracle:Flying\nWhenever Sphinx Ambassador deals combat damage to a player, search that player's library for a card, then that player names a card. If you searched for a creature card that isn't the named card, you may put it onto the battlefield under your control. Then that player shuffles his or her library.
End

View File

@@ -0,0 +1,16 @@
Name:Talara's Bane
ManaCost:1 B
Types:Sorcery
Text:no text
A:SP$ RevealHand | Cost$ 1 B | ValidTgts$ Opponent | RememberRevealed$ True | SubAbility$ DBChoose | StackDescription$ SpellDescription | SpellDescription$ Target opponent reveals his or her hand. You choose a green or white creature card from it. You gain life equal that creature card's toughness, then that player discards that card.
SVar:DBChoose:DB$ ChooseCard | ChoiceZone$ Hand | Amount$ 1 | Choices$ Creature.Green+IsRemembered,Creature.White+IsRemembered | SubAbility$ DBImprint | StackDescription$ None
SVar:DBImprint:DB$ Pump | Defined$ ChosenCard | PumpZone$ Hand | ImprintCards$ ChosenCard | SubAbility$ DBGainLife | StackDescription$ None
SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | References$ X | SubAbility$ DBDiscard | StackDescription$ None | ConditionDefined$ Imprinted | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:DBDiscard:DB$ Discard | DefinedCards$ Imprinted | Defined$ Targeted | Mode$ Defined | SubAbility$ DBCleanup | StackDescription$ None | ConditionDefined$ Imprinted | ConditionPresent$ Card | ConditionCompare$ GE1
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True
SVar:X:Imprinted$CardToughness
SVar:RemRandomDeck:True
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/talaras_bane.jpg
Oracle:Target opponent reveals his or her hand. You choose a green or white creature card from it. You gain life equal that creature card's toughness, then that player discards that card.
End

View File

@@ -0,0 +1,13 @@
Name:Thelon of Havenwood
ManaCost:G G
Types:Legendary Creature Elf Druid
Text:no text
PT:2/2
S:Mode$ Continuous | Affected$ Creature.Fungus | AffectedZone$ Battlefield | AddPower$ AffectedX | AddToughness$ AffectedX | Description$ Each Fungus creature gets +1/+1 for each spore counter on it.
A:AB$ PutCounterAll | Cost$ B G ExileFromGrave<1/Fungus> | ValidCards$ Fungus | CounterType$ SPORE | CounterNum$ 1 | SpellDescription$ Put a spore counter on each Fungus on the battlefield.
SVar:AffectedX:Count$CardCounters.SPORE
SVar:BuffedBy:Fungus
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/thelon_of_havenwood
Oracle:Each Fungus creature gets +1/+1 for each spore counter on it.\n{B}{G}, Exile a Fungus card from a graveyard: Put a spore counter on each Fungus on the battlefield.
End

View File

@@ -0,0 +1,14 @@
Name:Mist of Stagnation
ManaCost:3 U U
Types:Enchantment
Text:Permanents don't untap during their controllers' untap steps.
K:Permanents don't untap during their controllers' untap steps:Permanent
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ TrigChoose | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's upkeep, that player chooses a permanent for each card in his or her graveyard, then untaps those permanents.
SVar:TrigChoose:AB$ ChooseCard | Cost$ 0 | Defined$ TriggeredPlayer | Amount$ X | References$ X | Choices$ Permanent.ActivePlayerCtrl | ChoiceTitle$ Choose a permanent to untap | RememberChosen$ True | AILogic$ Untap | SubAbility$ DBUntap
SVar:DBUntap:DB$ UntapAll | ValidCards$ Permanent.IsRemembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Count$ValidGraveyard Card.ActivePlayerCtrl
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/mist_of_stagnation.jpg
Oracle:Permanents don't untap during their controllers' untap steps.\nAt the beginning of each player's upkeep, that player chooses a permanent for each card in his or her graveyard, then untaps those permanents.
End

View File

@@ -0,0 +1,12 @@
Name:Unforge
ManaCost:2 R
Types:Instant
Text:no text
A:SP$ Pump | Cost$ 2 R | ValidTgts$ Equipment | IsCurse$ True | SubAbility$ DBRem | StackDescription$ SpellDescription | SpellDescription$ Destroy target Equipment. If that Equipment was attached to a creature, CARDNAME deals 2 damage to that creature.
SVar:DBRem:DB$ PumpAll | ValidCards$ Creature.EquippedByTargeted | RememberAllPumped$ True | StackDescription$ None | SubAbility$ DBDestroy
SVar:DBDestroy:DB$ Destroy | Defined$ Targeted | SubAbility$ DBDmg | StackDescription$ None
SVar:DBDmg:DB$ DealDamage | Defined$ Remembered | NumDmg$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | StackDescription$ None | SubAbility$ DBCleanup
SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/unforge.jpg
Oracle:Destroy target Equipment. If that Equipment was attached to a creature, Unforge deals 2 damage to that creature.
End

View File

@@ -0,0 +1,12 @@
Name:Viridian Zealot Avatar
ManaCost:no cost
Types:Vanguard
Text:no text
HandLifeModifier:+0/+2
A:AB$ Destroy | ActivationZone$ Command | Cost$ 2 Sac<1/Creature> | RememberCostCards$ True | ValidTgts$ Artifact,Enchantment | TgtPrompt$ Select target artifact or enchantment | SubAbility$ DBChangeZone | SpellDescription$ Destroy target artifact or enchantment. Search your library for a card with the same name as the sacrificed creature, reveal that card, and put it into your hand. Then shuffle your library.
SVar:DBChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature.sharesNameWith Remembered | ChangeNum$ 1 | StackDescription$ Search your library for a card with the same name as the sacrificed creature, reveal that card, and put it into your hand. Then shuffle your library. | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:Rarity:Special
SVar:Picture:http://www.cardforge.org/fpics/vgd-lq/viridian_zealot_avatar.jpg
Oracle:Hand +0, life +2\n{2}, Sacrifice a creature: Destroy target artifact or enchantment. Search your library for a card with the same name as the sacrificed creature, reveal that card, and put it into your hand. Then shuffle your library.
End

View File

@@ -0,0 +1,13 @@
Name:Warren Weirding
ManaCost:1 B
Types:Tribal Sorcery Goblin
Text:no text
A:SP$ Sacrifice | Cost$ 1 B | ValidTgts$ Player | SacValid$ Creature | SacMessage$ Creature | RememberSacrificed$ True | SubAbility$ DBToken | SpellDescription$ Target player sacrifices a creature. If a Goblin is sacrificed this way, that player puts two 1/1 black Goblin Rogue creature tokens onto the battlefield, and those tokens gain haste until end of turn.
SVar:DBToken:DB$ Token | ConditionDefined$ Remembered | ConditionPresent$ Card.Goblin | ConditionCompare$ GE1 | TokenAmount$ 2 | TokenName$ Goblin Rogue | TokenTypes$ Creature,Goblin,Rogue | TokenOwner$ Targeted | TokenColors$ Black | TokenPower$ 1 | TokenToughness$ 1 | RememberTokens$ True | ForgetOtherRemembered$ True | SubAbility$ AdditionalPump
SVar:AdditionalPump:DB$ PumpAll | ValidCards$ Creature.IsRemembered | KW$ Haste | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/warren_weirding.jpg
Oracle:Target player sacrifices a creature. If a Goblin is sacrificed this way, that player puts two 1/1 black Goblin Rogue creature tokens onto the battlefield, and those tokens gain haste until end of turn.
End

View File

@@ -0,0 +1,15 @@
Name:Worldpurge
ManaCost:4 WU WU WU WU
Types:Sorcery
Text:no text
A:SP$ ChangeZoneAll | Cost$ 4 WU WU WU WU | ChangeType$ Permanent | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBRepeat | SpellDescription$ Return all permanents to their owners' hands. Each player chooses up to seven cards in his or her hand, then shuffles the rest into his or her library. Empty all mana pools.
SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose
SVar:DBChoose:DB$ ChooseCard | Amount$ 7 | Defined$ Remembered | Choices$ Card.RememberedPlayerCtrl | ChoiceZone$ Hand | SubAbility$ DBReturn | RememberChosen$ True
SVar:DBReturn:DB$ ChangeZone | Defined$ ValidHand Card.IsNotRemembered+RememberedPlayerCtrl | Origin$ Hand | Destination$ Library | Shuffle$ True | SubAbility$ DBEmpty
SVar:DBEmpty:DB$ DrainMana | Defined$ Remembered | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/worldpurge.jpg
Oracle:Return all permanents to their owners' hands. Each player chooses up to seven cards in his or her hand, then shuffles the rest into his or her library. Empty all mana pools.
End

View File

@@ -6547,8 +6547,21 @@ public class Card extends GameEntity implements Comparable<Card> {
}
}
} else if (property.startsWith("EquippedBy")) {
if (!this.equippedBy.contains(source)) {
return false;
if (property.substring(10).equals("Targeted")) {
for (final SpellAbility sa : source.getCharacteristics().getSpellAbility()) {
final SpellAbility saTargeting = sa.getSATargetingCard();
if (saTargeting != null) {
for (final Card c : saTargeting.getTarget().getTargetCards()) {
if (!this.equippedBy.contains(c)) {
return false;
}
}
}
}
} else {
if (!this.equippedBy.contains(source)) {
return false;
}
}
} else if (property.startsWith("Equipped")) {
if (!this.equipping.contains(source)) {
@@ -6778,6 +6791,24 @@ public class Card extends GameEntity implements Comparable<Card> {
return false;
}
}
} else if (property.startsWith("shareControllerWith")) {
if (property.equals("sharesControllerWith")) {
if (!this.sharesControllerWith(source)) {
return false;
}
} else {
final String restriction = property.split("sharesControllerWith ")[1];
if (restriction.equals("Remembered")) {
for (final Object rem : source.getRemembered()) {
if (rem instanceof Card) {
final Card card = (Card) rem;
if (!this.sharesControllerWith(card)) {
return false;
}
}
}
}
}
} else if (property.startsWith("SecondSpellCastThisTurn")) {
final List<Card> list = CardUtil.getThisTurnCast("Card", source);
if (list.size() < 2) {
@@ -6916,6 +6947,13 @@ public class Card extends GameEntity implements Comparable<Card> {
return false;
}
}
} else if (property.startsWith("yardGreatestPower")) {
final List<Card> list = CardLists.filter(sourceController.getCardsIn(ZoneType.Graveyard), Presets.CREATURES);
for (final Card crd : list) {
if (crd.getNetAttack() > this.getNetAttack()) {
return false;
}
}
} else if (property.startsWith("leastPower")) {
final List<Card> list = CardLists.filter(Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
for (final Card crd : list) {
@@ -7076,6 +7114,14 @@ public class Card extends GameEntity implements Comparable<Card> {
if (!this.isBlocking(source)) {
return false;
}
} else if (property.startsWith("blockingCreatureYouCtrl")) {
final List<Card> list = CardLists.filter(sourceController.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
for (final Card c : list) {
if (this.isBlocking(c)) {
return true;
}
return false;
}
} else if (property.startsWith("blockingRemembered")) {
for (final Object o : source.getRemembered()) {
if (o instanceof Card) {
@@ -7444,6 +7490,24 @@ public class Card extends GameEntity implements Comparable<Card> {
}
return false;
}
/**
* <p>
* sharesControllerWith.
* </p>
*
* @param c1
* a {@link forge.Card} object.
* @return a boolean.
*/
public final boolean sharesControllerWith(final Card c1) {
if (c1 == null) {
return false;
}
return this.getController().equals(c1.getController());
}
/**
* <p>

View File

@@ -246,6 +246,9 @@ public final class AbilityFactory {
if (mapParams.containsKey("TargetsWithDefinedController")) {
abTgt.setDefinedController(mapParams.get("TargetsWithDefinedController"));
}
if (mapParams.containsKey("TargetsWithSameController")) {
abTgt.setSameController(true);
}
if (mapParams.containsKey("TargetsWithDifferentControllers")) {
abTgt.setDifferentControllers(true);
}

View File

@@ -226,6 +226,20 @@ public class AbilityUtils {
list = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validDefined.split(","), hostCard.getController(), hostCard);
}
else if (defined.startsWith("ValidHand ")) {
String validDefined = defined.substring("ValidHand ".length());
GameState game = Singletons.getModel().getGame();
list = CardLists.getValidCards(game.getCardsIn(ZoneType.Hand), validDefined.split(","), hostCard.getController(), hostCard);
}
else if (defined.startsWith("ValidAll ")) {
String validDefined = defined.substring("ValidAll ".length());
GameState game = Singletons.getModel().getGame();
list = CardLists.getValidCards(game.getCardsInGame(), validDefined.split(","), hostCard.getController(), hostCard);
}
else {
return cards;
}
@@ -1113,6 +1127,11 @@ public class AbilityUtils {
for (final Card exiledAsCost : paidListExiled) {
host.addRemembered(exiledAsCost);
}
} else if (sa.getParam("Cost").contains("Sac")) {
final List<Card> paidListSacrificed = sa.getPaidList("Sacrificed");
for (final Card SacrificedAsCost : paidListSacrificed) {
host.addRemembered(SacrificedAsCost);
}
}
}
}

View File

@@ -1111,6 +1111,8 @@ public class ChangeZoneAi extends SpellAiLogic {
final String remember = sa.getParam("RememberChanged");
final String forget = sa.getParam("ForgetChanged");
final String imprint = sa.getParam("Imprint");
final String totalcmc = sa.getParam("WithTotalCMC");
int totcmc = AbilityUtils.calculateAmount(card, totalcmc, sa);
if (sa.hasParam("Unimprint")) {
card.clearImprinted();
@@ -1122,6 +1124,11 @@ public class ChangeZoneAi extends SpellAiLogic {
fetchList = CardLists.filter(fetchList, Predicates.not(CardPredicates.nameEquals(c.getName())));
}
}
if (totalcmc != null) {
if (totcmc >= 0) {
fetchList = CardLists.getValidCards(fetchList, "Card.cmcLE" + Integer.toString(totcmc), ai, card);
}
}
if ((fetchList.size() == 0) || (destination == null)) {
break;
}
@@ -1228,6 +1235,9 @@ public class ChangeZoneAi extends SpellAiLogic {
fetched.add(c);
fetchList.remove(c);
if (totalcmc != null) {
totcmc -= c.getCMC();
}
}
if (origin.contains(ZoneType.Library) && !defined && !"False".equals(sa.getParam("Shuffle"))) {

View File

@@ -56,6 +56,8 @@ public class ChangeZoneAllEffect extends SpellEffect {
}
final String remember = sa.getParam("RememberChanged");
final String forget = sa.getParam("ForgetChanged");
final String imprint = sa.getParam("Imprint");
final int libraryPos = sa.hasParam("LibraryPosition") ? Integer.parseInt(sa.getParam("LibraryPosition")) : 0;
@@ -94,6 +96,12 @@ public class ChangeZoneAllEffect extends SpellEffect {
if (remember != null) {
Singletons.getModel().getGame().getCardState(sa.getSourceCard()).addRemembered(c);
}
if (forget != null) {
Singletons.getModel().getGame().getCardState(sa.getSourceCard()).removeRemembered(c);
}
if (imprint != null) {
Singletons.getModel().getGame().getCardState(sa.getSourceCard()).addImprinted(c);
}
}
// if Shuffle parameter exists, and any amount of cards were owned by

View File

@@ -621,7 +621,9 @@ public class ChangeZoneEffect extends SpellEffect {
final String forget = sa.getParam("ForgetChanged");
final String imprint = sa.getParam("Imprint");
final String selectPrompt = sa.hasParam("SelectPrompt") ? sa.getParam("SelectPrompt") : "Select a card";
final String totalcmc = sa.getParam("WithTotalCMC");
int totcmc = AbilityUtils.calculateAmount(card, totalcmc, sa);
if (sa.hasParam("Unimprint")) {
card.clearImprinted();
}
@@ -632,6 +634,11 @@ public class ChangeZoneEffect extends SpellEffect {
fetchList = CardLists.filter(fetchList, Predicates.not(CardPredicates.nameEquals(c.getName())));
}
}
if (totalcmc != null) {
if (totcmc >= 0) {
fetchList = CardLists.getValidCards(fetchList, "Card.cmcLE" + Integer.toString(totcmc), card.getController(), card);
}
}
if ((fetchList.size() == 0) || (destination == null)) {
break;
}
@@ -764,7 +771,9 @@ public class ChangeZoneEffect extends SpellEffect {
if (imprint != null) {
card.addImprinted(movedCard);
}
if (totalcmc != null) {
totcmc -= movedCard.getCMC();
}
} else {
final StringBuilder sb = new StringBuilder();
final int num = Math.min(fetchList.size(), changeNum - i);

View File

@@ -108,6 +108,11 @@ public class ChooseCardEffect extends SpellEffect {
choices = CardLists.getValidCards(choices, "Permanent.YouDontCtrl,Permanent.nonLegendary", host.getController(), host);
}
choice = CardFactoryUtil.getBestAI(choices);
} else if (logic.equals("Untap")) {
if (!CardLists.getValidCards(choices, "Permanent.YouCtrl,Permanent.tapped", host.getController(), host).isEmpty()) {
choices = CardLists.getValidCards(choices, "Permanent.YouCtrl,Permanent.tapped", host.getController(), host);
}
choice = CardFactoryUtil.getBestAI(choices);
}
if (choice != null) {
chosen.add(choice);

View File

@@ -28,7 +28,9 @@ public class DamageDealEffect extends SpellEffect {
if (tgts.size() > 0) {
final List<Card> definedSources = AbilityUtils.getDefinedCards(sa.getSourceCard(), sa.getParam("DamageSource"), sa);
final Card source = definedSources.get(0);
if (!definedSources.isEmpty()) {
source = definedSources.get(0);
}
if (source != sa.getSourceCard()) {
sb.append(source.toString()).append(" deals");

View File

@@ -3,6 +3,8 @@ package forge.card.ability.effects;
import java.util.List;
import forge.Card;
import forge.CardCharacteristicName;
import forge.Singletons;
import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellEffect;
import forge.card.spellability.SpellAbility;
@@ -32,6 +34,11 @@ public class MillEffect extends SpellEffect {
for (final Player p : getTargetPlayers(sa)) {
if ((tgt == null) || p.canBeTargetedBy(sa)) {
final List<Card> milled = p.mill(numCards, destination, bottom);
if (destination.equals(ZoneType.Exile) && sa.hasParam("ExileFaceDown")) {
for (final Card c : milled) {
c.setState(CardCharacteristicName.FaceDown);
}
}
if (sa.hasParam("RememberMilled")) {
for (final Card c : milled) {
source.addRemembered(c);

View File

@@ -176,6 +176,7 @@ public class PumpEffect extends SpellEffect {
List<Player> tgtPlayers = new ArrayList<Player>();
String pumpRemembered = null;
String pumpForget = null;
String pumpImprint = null;
final List<String> keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList<String>();
final int a = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumAtt"), sa);
@@ -237,6 +238,17 @@ public class PumpEffect extends SpellEffect {
}
}
}
if (sa.hasParam("ImprintCards")) {
pumpImprint = sa.getParam("ImprintCards");
}
if (pumpImprint != null) {
for (final Card c : AbilityFactory.getDefinedCards(sa.getSourceCard(), pumpImprint, sa)) {
if (!sa.getSourceCard().getImprinted().contains(c)) {
sa.getSourceCard().addImprinted(c);
}
}
}
if (sa.hasParam("Radiance")) {
for (final Card c : CardUtil.getRadiance(sa.getSourceCard(), tgtCards.get(0), sa.getParam("ValidTgts")

View File

@@ -46,6 +46,7 @@ public class Target {
private boolean singleZone = false;
private boolean differentZone = false;
private boolean differentControllers = false;
private boolean sameController = false;
private boolean withoutSameCreatureType = false;
private String definedController = null;
private TargetChoices choice = null;
@@ -813,6 +814,24 @@ public class Target {
public void setDifferentControllers(boolean different) {
this.differentControllers = different;
}
/**
* Checks if is same controller.
*
* @return true, if it targets same controller
*/
public final boolean isSameController() {
return this.sameController;
}
/**
* Sets the same controller.
*
* @param same
* the new unique targets
*/
public final void setSameController(final boolean same) {
this.sameController = same;
}
/**
* @return the definedController

View File

@@ -269,9 +269,9 @@ public class TargetSelection {
List<Card> choices = CardLists.getTargetableCards(CardLists.getValidCards(Singletons.getModel().getGame().getCardsIn(zone), this.target.getValidTgts(), this.ability.getActivatingPlayer(), this.ability.getSourceCard()), this.ability);
ArrayList<Object> objects = new ArrayList<Object>();
ArrayList<Object> objects = getUniqueTargets(this.ability);
if (tgt.isUniqueTargets()) {
objects = getUniqueTargets(this.ability);
for (final Object o : objects) {
if ((o instanceof Card) && objects.contains(o)) {
choices.remove(o);
@@ -286,6 +286,24 @@ public class TargetSelection {
choices.remove(c);
}
}
// If all cards (including subability targets) must have the same controller
if (tgt.isSameController() && !objects.isEmpty()) {
final List<Card> list = new ArrayList<Card>();
for (final Object o : objects)
if (o instanceof Card) {
list.add((Card) o);
}
if (!list.isEmpty()){
final Card card = list.get(0);
choices = CardLists.filter(choices, new Predicate<Card>() {
@Override
public boolean apply(final Card c) {
return c.sharesControllerWith(card);
}
});
}
}
// If all cards must be from the same zone
if (tgt.isSingleZone() && !targeted.isEmpty()) {

View File

@@ -199,6 +199,10 @@ public class StaticAbilityCostChange {
if (!(sa instanceof AbilityActivated)) {
return originalCost;
}
} else if (params.get("Type").equals("Buyback")) {
if (!sa.isBuyBackAbility()) {
return originalCost;
}
} else if (params.get("Type").equals("Cycling")) {
if (!sa.isCycling()) {
return originalCost;