mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
- 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:
39
.gitattributes
vendored
39
.gitattributes
vendored
@@ -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
|
||||
|
||||
13
res/cardsfolder/a/aven_shrine.txt
Normal file
13
res/cardsfolder/a/aven_shrine.txt
Normal 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
|
||||
18
res/cardsfolder/b/bloom_tender.txt
Normal file
18
res/cardsfolder/b/bloom_tender.txt
Normal 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
|
||||
17
res/cardsfolder/b/bomb_squad.txt
Normal file
17
res/cardsfolder/b/bomb_squad.txt
Normal 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
|
||||
13
res/cardsfolder/c/cabal_shrine.txt
Normal file
13
res/cardsfolder/c/cabal_shrine.txt
Normal 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
|
||||
13
res/cardsfolder/c/chant_of_vitu_ghazi.txt
Normal file
13
res/cardsfolder/c/chant_of_vitu_ghazi.txt
Normal 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
|
||||
13
res/cardsfolder/c/covenant_of_minds.txt
Normal file
13
res/cardsfolder/c/covenant_of_minds.txt
Normal 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
|
||||
13
res/cardsfolder/c/crashing_boars.txt
Normal file
13
res/cardsfolder/c/crashing_boars.txt
Normal 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
|
||||
13
res/cardsfolder/c/crush_underfoot.txt
Normal file
13
res/cardsfolder/c/crush_underfoot.txt
Normal 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
|
||||
12
res/cardsfolder/d/desecrator_hag.txt
Normal file
12
res/cardsfolder/d/desecrator_hag.txt
Normal 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
|
||||
13
res/cardsfolder/d/dwarven_shrine.txt
Normal file
13
res/cardsfolder/d/dwarven_shrine.txt
Normal 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
|
||||
19
res/cardsfolder/e/eye_for_an_eye.txt
Normal file
19
res/cardsfolder/e/eye_for_an_eye.txt
Normal 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
|
||||
12
res/cardsfolder/h/hint_of_insanity.txt
Normal file
12
res/cardsfolder/h/hint_of_insanity.txt
Normal 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
|
||||
11
res/cardsfolder/h/holistic_wisdom.txt
Normal file
11
res/cardsfolder/h/holistic_wisdom.txt
Normal 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
|
||||
13
res/cardsfolder/i/infectious_rage.txt
Normal file
13
res/cardsfolder/i/infectious_rage.txt
Normal 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
|
||||
@@ -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
|
||||
|
||||
15
res/cardsfolder/k/knowledge_exploitation.txt
Normal file
15
res/cardsfolder/k/knowledge_exploitation.txt
Normal 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
|
||||
14
res/cardsfolder/l/lightning_dart.txt
Normal file
14
res/cardsfolder/l/lightning_dart.txt
Normal 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
|
||||
8
res/cardsfolder/m/memory_crystal.txt
Normal file
8
res/cardsfolder/m/memory_crystal.txt
Normal 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
|
||||
14
res/cardsfolder/m/mist_of_stagnation.txt
Normal file
14
res/cardsfolder/m/mist_of_stagnation.txt
Normal 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
|
||||
17
res/cardsfolder/m/moonring_mirror.txt
Normal file
17
res/cardsfolder/m/moonring_mirror.txt
Normal 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
|
||||
13
res/cardsfolder/n/nantuko_shrine.txt
Normal file
13
res/cardsfolder/n/nantuko_shrine.txt
Normal 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
|
||||
12
res/cardsfolder/p/phyrexian_purge.txt
Normal file
12
res/cardsfolder/p/phyrexian_purge.txt
Normal 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
|
||||
18
res/cardsfolder/p/planeswalkers_mischief.txt
Normal file
18
res/cardsfolder/p/planeswalkers_mischief.txt
Normal 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
|
||||
12
res/cardsfolder/p/protean_hulk.txt
Normal file
12
res/cardsfolder/p/protean_hulk.txt
Normal 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
|
||||
14
res/cardsfolder/p/purgatory.txt
Normal file
14
res/cardsfolder/p/purgatory.txt
Normal 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
|
||||
13
res/cardsfolder/q/quenchable_fire.txt
Normal file
13
res/cardsfolder/q/quenchable_fire.txt
Normal 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
|
||||
12
res/cardsfolder/r/retribution.txt
Normal file
12
res/cardsfolder/r/retribution.txt
Normal 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
|
||||
15
res/cardsfolder/r/reviving_vapors.txt
Normal file
15
res/cardsfolder/r/reviving_vapors.txt
Normal 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
|
||||
13
res/cardsfolder/r/reweave.txt
Normal file
13
res/cardsfolder/r/reweave.txt
Normal 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
|
||||
11
res/cardsfolder/s/sapphire_drake.txt
Normal file
11
res/cardsfolder/s/sapphire_drake.txt
Normal 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
|
||||
11
res/cardsfolder/s/searing_rays.txt
Normal file
11
res/cardsfolder/s/searing_rays.txt
Normal 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
|
||||
11
res/cardsfolder/s/sisters_of_stone_death_avatar.txt
Normal file
11
res/cardsfolder/s/sisters_of_stone_death_avatar.txt
Normal 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
|
||||
17
res/cardsfolder/s/sphinx_ambassador.txt
Normal file
17
res/cardsfolder/s/sphinx_ambassador.txt
Normal 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
|
||||
16
res/cardsfolder/t/talaras_bane.txt
Normal file
16
res/cardsfolder/t/talaras_bane.txt
Normal 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
|
||||
13
res/cardsfolder/t/thelon_of_havenwood.txt
Normal file
13
res/cardsfolder/t/thelon_of_havenwood.txt
Normal 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
|
||||
14
res/cardsfolder/u/mist_of_stagnation.txt
Normal file
14
res/cardsfolder/u/mist_of_stagnation.txt
Normal 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
|
||||
12
res/cardsfolder/u/unforge.txt
Normal file
12
res/cardsfolder/u/unforge.txt
Normal 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
|
||||
12
res/cardsfolder/v/viridian_zealot_avatar.txt
Normal file
12
res/cardsfolder/v/viridian_zealot_avatar.txt
Normal 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
|
||||
13
res/cardsfolder/w/warren_weirding.txt
Normal file
13
res/cardsfolder/w/warren_weirding.txt
Normal 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
|
||||
15
res/cardsfolder/w/worldpurge.txt
Normal file
15
res/cardsfolder/w/worldpurge.txt
Normal 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
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"))) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user